/
githubmirror
/
PowerToys
Обзор
Документация
Войти
/
githubmirror
/
PowerToys
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/common/utils/ProcessWaiter.h
53 строки
1 KB
Kai Tao
UT: Add ut to protect common utils codes (#45290)
03 фев 2026, 10:12
Не верифицирован
03 фев 2026, 10:12
27ba536
Код
Авторство
О чём код?
#include <functional> #include <string> #include <Windows.h> #include <thread> namespace ProcessWaiter { void OnProcessTerminate(std::wstring parent_pid, std::function<void(DWORD)> callback) { DWORD pid = 0; try { pid = std::stol(parent_pid); } catch (...) { if (callback) { callback(ERROR_INVALID_PARAMETER); } return; } std::thread([=]() { HANDLE process = OpenProcess(SYNCHRONIZE, FALSE, pid); if (process != nullptr) { if (WaitForSingleObject(process, INFINITE) == WAIT_OBJECT_0) { CloseHandle(process); if (callback) { callback(ERROR_SUCCESS); } } else { CloseHandle(process); if (callback) { callback(GetLastError()); } } } else { if (callback) { callback(GetLastError()); } } }).detach(); } }