привет всем, понадобилось в момент когда из диспетчера задач вызывают снять задачу записать в лог сообщение об этом, пытался вот так:
void __cdecl thr_wait_terminate_process(LPVOID ptr) {
DWORD dwPID = GetCurrentProcessId();
HANDLE hProcess = OpenProcess(SYNCHRONIZE | PROCESS_TERMINATE, TRUE, dwPID);
do {
if (!hProcess) {
t2f::T2F(err::GetErrMsg());
break;
}
} while (false);
DWORD dwErr = WaitForSingleObject(hProcess, INFINITE);
CString str; str.Format(L"Close process:%lu", dwErr);
t2f::T2F(str);
}
t2f::T2F — пишет лог
err::GetErrMsg() — вызывает GetLastError и форматирует сообщение из полученной ошибки
Это поточная функция, которая как мне казалось должна поймать TerminateProcess вызываемый для моего процесса диспетчером задач, но увы и поэтому прошу помощи у знающих людей как же правильно это сделать?