Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Здравствуйте, Flammable, Вы писали:
F>>Запускаю из своего приложения процесс A, который в свою очередь запускает другой процесс B. Сразу после запуска процесса B процесс A завершает работу. Как, зная id процесса A, узнать id процесса B?
PD>До окончания A или после ?
PD>Если после — задача некорректно поставлена. id после окончания не валиден
PD>Если до окончания —
PD>В Win32 есть Process32First/Process32Next. Они заполняют структуру PROCESSENTRY32, в которой есть
PD>DWORD th32ParentProcessID;
PD>The identifier of the process that created this process (its parent process).
PD>Перебирая эти процессы, можно найти тот, у которого th32ParentProcessID == id A.
PD>Почему-то это поле не присутствует в классе .NET Process.
Естественно, до окончания А.
Я пробовал способ с WinAPI, описанный здесь:
http://blogs.msdn.com/b/toffer/archive/2005/07/21/441540.aspx , но функции CreateToolHelp32Snapshot в kernel32.dll у меня нет. Операционная система — Windows 7 x64.
Или можно обойтись без этой функции?