Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Как зная handle процесса определить его ID в Delphi. 03.11.02 17:59
Автор: DeCoDEr Статус: Незарегистрированный пользователь
|
|
|
[Win32] А как ты получил этот самый hProcess? 04.11.02 13:23
Автор: Cyril <sc> Статус: Member
|
|
| |
[Win32] А как ты получил этот самый hProcess? 05.11.02 21:08
Автор: DeCoDEr Статус: Незарегистрированный пользователь
|
Ну вроде как он получается таким образом:
VAR H:THandle;
begin
h:=FindWindow(nil,"notepad");
end;
|
| | |
[Win32] А как ты получил этот самый hProcess? 05.11.02 21:19
Автор: Cyril <sc> Статус: Member
|
> Ну вроде как он получается таким образом: > > 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
|
|
|
|