Список окон с кнопкой на панели задач

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Оформил: DeeCo

Автор: http://www.swissdelphicenter.ch

function GetText(Wnd: HWND): string;

var

textlength: Integer;

Text: PChar;

begin

textlength := SendMessage(Wnd, WM_GETTEXTLENGTH, 0, 0);

if textlength = 0 then Result := »

else

begin

GetMem(Text, textlength 1);

SendMessage(Wnd, WM_GETTEXT, textlength 1, Integer(Text));

Result := Text;

FreeMem(Text);

end;

end;

function EnumWindowsProc(Wnd: HWND; lParam: lParam): BOOL; stdcall;

begin

Result := True;

if (IsWindowVisible(Wnd) or IsIconic(wnd)) and

((GetWindowLong(Wnd, GWL_HWNDPARENT) = 0) or

(GetWindowLong(Wnd, GWL_HWNDPARENT) = GetDesktopWindow)) and

(GetWindowLong(Wnd, GWL_EXSTYLE) and WS_EX_TOOLWINDOW = 0) then

Form1.Listbox1.Items.Add(‘Handle: ‘ IntToStr(Wnd) ‘,Text: ‘ GetText(Wnd));

end;

procedure TForm1.Button1Click(Sender: TObject);

var

Param: Longint;

begin

EnumWindows(@EnumWindowsProc, Param);

end;

{/codecitation}

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