ОБСУЖДЕНИЕ

Список окон

4 ответов 5 тыс.
Статус
Закрыто для дальнейших ответов.
Автор темы
Всем привет.

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

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

Если это хэндлы окон то используйте 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;
 
Что значит "всех"? Если имеются в виду и дочерние окна, для каждого окна испщльзуйте EnumChildWindows.
 
Всем БАЛЬшое спасибо, проблема решена
 
Статус
Закрыто для дальнейших ответов.