Убийство дочерних процессов
От: Rognar  
Дата: 11.08.06 22:34
Оценка:
Доброго времени суток.
Столкнулся с такой проблемой: моя программа(MY.exe) запускает другую, скажем notepad.exe и ждет ее завершения работы


    if( !CreateProcess("notepad.exe", NULL, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) 
    {
        MessageBox(NULL, "Unspecified error. Exit.", "Error", MB_OK | MB_ICONERROR);
        return 0;
    }
    WaitForSingleObject(pi.hProcess, INFINITE);
    CloseHandle(pi.hProcess);
    CloseHandle(pi.hThread);
    return 0;



как можно реализовать следующее: если кто-то пытается "убить" MY.exe через диспетчера задач или еще как, то и notepad.exe тоже должна завершится. как это отследить?
мне нужно контролировать время жизни notepad.exe, т.е. при любом раскладе сначала должена завершится notepad.exe, потом My.exe.
Была еще мысль запусть дополнительный процесс My.exe и чтоб они друг друга контролировали, т.е. если одного убивают, то другой запускает его опять и так до тех пор пока "живет" notepad.exe, но что-то я не осилил, как это можно сделать
Может у коге есть какие-нибудь идеи?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.