Вниз
Скачать: 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.035 c
15-1155462132
ArtemESC
2006-08-13 13:42
2006.09.03
PhoneticTM


2-1155215797
MASTAFA
2006-08-10 17:16
2006.09.03
Проблема с компонентом TChart


15-1155480120
EhhhBedolaga
2006-08-13 18:42
2006.09.03
домен+хостинг


15-1154798853
lookin
2006-08-05 21:27
2006.09.03
Обращение к магнитогорцам


2-1155310398
Demand
2006-08-11 19:33
2006.09.03
Внешний IP




   Наверх