Как отследить завершения процесса программы на С

Мне необходимо написать программу, которая будет что-либо делать после завершения процесса программы, например калькулятора. То есть вот работаю я с калькулятором, а потом его выключил, соответственно его процесс завершился и моя программа делает заданные мной действия. Как это сделать? Как отследить завершения процесса? Я гуглил и находил советы то что нужно создать отдельный процесс через функцию CreateProcess , а потом использовать WaitForSingleObject или GetExitCodeProcess, но это не то что мне нужно, потому что мне процесс не надо создавать он уже запущен, либо я не совсем понимаю как это работает


Ответы (1 шт):

Автор решения: user446300

Так работает, если PID известен

HANDLE  hProcess = OpenProcess(SYNCHRONIZE, TRUE, inProcessID); 

if (NULL != hProcess)
{
    WaitForSingleObject(hProcess,INFINITE);
}
→ Ссылка