[Win32] Да раз плюнуть! Ну а что в моём случае — как же получить ID по хендлу, полученному через ShellExecuteEx. Помогите!!!!!!!!!06.11.02 05:28 Число просмотров: 1408 Автор: HandleX <Александр М.> Статус: The Elderman
> > Ну вроде как он получается таким образом: > > > > VAR H:THandle; > > begin > > > > h:=FindWindow(nil,"notepad"); > > > > end; > То что ты получил называется хэндлом окна (hWnd), а не > процесса > получить с помощью дескриптора окна PID ты не сможешь >
> Ну вроде как он получается таким образом: > > VAR H:THandle; > begin > > h:=FindWindow(nil,"notepad"); > > end; То что ты получил называется хэндлом окна (hWnd), а не процесса
получить с помощью дескриптора окна PID ты не сможешь
[Win32] Да раз плюнуть! Ну а что в моём случае — как же получить ID по хендлу, полученному через ShellExecuteEx. Помогите!!!!!!!!!06.11.02 05:28 Автор: HandleX <Александр М.> Статус: The Elderman
> > Ну вроде как он получается таким образом: > > > > VAR H:THandle; > > begin > > > > h:=FindWindow(nil,"notepad"); > > > > end; > То что ты получил называется хэндлом окна (hWnd), а не > процесса > получить с помощью дескриптора окна PID ты не сможешь >
GetWindowThreadProcessId помогает в этом случае.
[Win32] Да раз плюнуть! Ну а что в моём случае — как же получить ID по хендлу, полученному через ShellExecuteEx. Помогите!!!!!!!!!06.11.02 17:14 Автор: Cyril <sc> Статус: Member
> > > Ну вроде как он получается таким образом: > > > > > > VAR H:THandle; > > > begin > > > > > > h:=FindWindow(nil,"notepad"); > > > > > > end; > > То что ты получил называется хэндлом окна (hWnd), а не > > процесса > > получить с помощью дескриптора окна PID ты не сможешь > > > > GetWindowThreadProcessId помогает в этом случае. если ты сам запускаешь процесс, то что тебе мешает
по его имени найти ID?
Почему бы не использовать CreateProcess вместо ShellExecuteEx?
Функцию которая бы позволяла по hProcess получить ID процесса
не нашел ;-(
Мои извинения…07.11.02 19:52 Автор: HandleX <Александр М.> Статус: The Elderman
> если ты сам запускаешь процесс, то что тебе мешает > по его имени найти ID? В смысле, по какому имени? Если я буду юзать CreateProcess, то ID я получу в Process_Information.
> Почему бы не использовать CreateProcess вместо > ShellExecuteEx? ShellExecuteEx рулит тем, что можно сунуть ей в качестве параметра что-то вроде ReadMe.doc, и она откроет MSWord, более того, очень кайфно можно заюзать команды вместо 'Open' скажем, 'Print', а полученный дескриптор процесса использовать для ожидания конца завершения, вызвав WaitForSingleObject. Мне же идея получения ID по хендлу была интересна скорее теоретически. Так что sorry за кромкий крик «Help» ;-)
[win32] а, к примеру, через shellexecuteex с флагом see_mask_nocloseprocess. и всё-таки, как получить id по hprocess?04.11.02 21:58 Автор: HandleX <Александр М.> Статус: The Elderman