Вниз
Скачать: CL | DM;

как узнать Handle окна зная handle процесса   Найти похожие ветки 

← →
Polas   (2006-05-08 21:54) [0]

собственно сабж %)


← →
Eraser ©   (2006-05-08 22:00) [1]


> Polas   (08.05.06 21:54)

никак... т.к. у процесса может быть несколько окон. Какое интересует? )


← →
Polas   (2006-05-08 22:02) [2]

главное (единственное)


← →
Eraser ©   (2006-05-08 22:09) [3]


> Polas   (08.05.06 22:02) [2]

Если единственное - перечислить все окна в системе, и в этом списке найти то единственное, GetWindowThreadProcessId которого, возвращает ID нужного процесса.


← →
Polas   (2006-05-08 22:22) [4]

да но код не работает


Var
   Wd : HWnd;
   ProcessID: Integer;
   ProcessHandle : THandle;
begin
   Wd:=FindWindow(0,0);
   While (wd<>0) do
   Begin
   GetWindowThreadProcessID(Wd, @ProcessID);
   ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId);
   if ProcessHandle=Process then begin
  // blablabla
   end;
   Wd:=GetNextWindow(Wd,GW_HWNDNEXT);
   End;


где Process - хендл процеса чье окно надо найте!


← →
Polas   (2006-05-08 22:35) [5]

хотя работает, дело просто в ProcessId, я эту переменную обьявил раньше. и она использовалась!!
Eraser, спосибо за помощь! %)


← →
Eraser ©   (2006-05-08 23:09) [6]


> Polas   (08.05.06 22:35) [5]


> ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId);

вот это лишнее. Нужно сравнивать идентификатор, а не дескриптор, хотя всё зависит от того, что значит переменная Process.


← →
Polas   (2006-05-08 23:43) [7]

Process - хендл процеса чье окно надо найти!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.03 c
15-1154226584
SPeller
2006-07-30 06:29
2006.09.03
Не ту страну назвали гoндурacoм...


15-1155063322
Ketmar
2006-08-08 22:55
2006.09.03
delphi2006 -- чего нового по сравнению с d7.


15-1155203084
DmitryS
2006-08-10 13:44
2006.09.03
Дайте совет по написанию трехзвенки


9-1132964689
frame
2005-11-26 03:24
2006.09.03
Кому интересно


2-1154957234
Triton
2006-08-07 17:27
2006.09.03
Union




   Наверх