Вниз
Скачать: 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.028 c
4-1147254508
QuickFinder
2006-05-10 13:48
2006.09.03
Определение операционной системы


2-1154699080
imbalacedees
2006-08-04 17:44
2006.09.03
USB


4-1147110870
Polas
2006-05-08 21:54
2006.09.03
как узнать Handle окна зная handle процесса


15-1155403783
VirEx
2006-08-12 21:29
2006.09.03
Система управления сайтом BinN S.Builder 3.6


2-1155141635
Johnny_Row
2006-08-09 20:40
2006.09.03
процедура в отдельном потоке выполняется медленнее в 2 раза




   Наверх