Список окон

  • Автор темы konst_64
  • Дата начала
Статус
Закрыто для дальнейших ответов.
K

konst_64

Гость
#1
Всем привет.

Кто может сказать каким образом можно исзвлечь указатели на все окна в системе на текущий момент ( нужны полные цепочки указателей ).
Перечитал кучу доки, но результатов почти нет ...
 
B

Barmutik

Гость
#2
Что Вы подразумеваете под словом указатели?

Если это хэндлы окон то используйте FindWindow
 
S

spoiler

Гость
#3
Что Вы подразумеваете под словом указатели?

Если это хэндлы окон то используйте FindWindow
да именно указатели

использовал следующий алгоритм, но список указателей не полный.
Если несложно посоветуйте вариант поиска ВСЕХ указателей

Код:
function EnumProc (Wd: HWnd; Param: LongInt): Boolean; stdcall;
Begin
 form1.LD.Items.Add(IntToStr( GetWindowThreadProcessId( WD ) ));
 EnumProc := TRUE;
end;

procedure GetAllWindow;
Var
  WD : HWND;
  mProcessID,mThreadID : Dword;
begin
 form1.L5.Items.Clear;
 EnumWindows (@EnumProc, 0);
 Wd := FindWindow( 0, 0 );
 While ( Wd <> 0 ) do
   Wd:=GetNextWindow(Wd,GW_HWNDNEXT);
end;
 
M

mike.dld

Гость
#4
Что значит "всех"? Если имеются в виду и дочерние окна, для каждого окна испщльзуйте EnumChildWindows.
 
Статус
Закрыто для дальнейших ответов.