FindWindow,
EnumWindows.
Allesweitere hier:
www.msdn.microsoft.com
Es kann auch sein, dass hier in den FAQ was steht, wahrscheinlich sogar von mir.
Falls nicht: Alle fenster in einer Listbox:
Delphi-Quellcode:
type
PMyEnumParam = ^TMyEnumParam;
TMyEnumParam = record
lb: TListbox;
end;
function GetWindows(const hWnd : Longword; Param: PMyEnumParam): LongBool; stdcall;
var
Len : Longint;
S : String;
begin
Result := True;
if not ( IsWindow(hWnd) and IsWindowVisible(hWnd) ) then Exit;
Len := SendMessage(hWnd, WM_GETTEXTLENGTH, 0, 0);
if Len > 0 then
begin
SetLength(S, Len);
SendMessage(hWnd, WM_GETTEXT, Len + 1, Longint(Pchar(S)));
Param.lb.Items.Add(s);
end;
// mit Result = False kann die Callbackfunktion vorzeitig verlassen werden
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Param: TMyEnumParam;
begin
Param.lb := Listbox1;
EnumWindows(@GetWindows, LPARAM(@Param));
end;