Добавить комментарий

Delphi

Получить список всех окон

uses
    WinAPI.Windows;

function NextWindow(h: HWnd; L: Longint): Boolean; stdcall;
begin
  ...   // Предпринимаем желаемые действия.
        // h - хэндл очередного окна.
  NextWindow := true; // Согласие принять следующее окно.
end;

var
  EnumProc : TFarProc;
begin
  EnumWindows(@NextWindow, 0);
end;

Через L, в функцию можно передать дополнительные параметры.

Например, форма может запустить перечисление окон и передать ссылку на себя, чтобы обработчик NextWindow получил доступ к атрибутам формы:

uses
    WinAPI.Windows;

function NextWindow(Wnd: HWnd; Form: TMyForm): Boolean; stdcall;
begin
  // Выводим на форму хэндлы обнаруженных окон
  Form.Memo3.Lines.Add(IntToStr(Wnd));

  NextWindow := true;
end;


procedure TMyForm.Button14Click(Sender: TObject);
var
  EnumProc: TFarProc;
begin
  EnumWindows(@NextWindow, LongInt(Self));
end;
Метки:

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Допустимые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и абзацы переносятся автоматически.
  • Вы можете цитировать другие сообщения, используя тэг [quote]

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и абзацы переносятся автоматически.