ich hab echt kA^^
habe grade ewig gesucht und dann sonen code gefunden
Delphi-Quellcode:
type
PMyEnumParam = ^TMyEnumParam;
TMyEnumParam = record
lb: TListbox;
end;
function TMainForm.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 TMainForm.Button2Click(Sender: TObject);
var
Param:PMyEnumParam;
begin
Param.lb := Listbox1;
EnumWindows(@GetWindows, LPARAM(@Param));
end;
der geht bei mir aber ÜBERHAUPT nicht
er zeigt bei
EnumWindows(@GetWindows, LPARAM(@Param));
immer an, dass er variablen will????
und generell habe ich kein Plan von EnumThreadWindows() etc^^ aber thx für eure mühen scho ma!
@bitsetter jo mit GetWindowText() komm ich klar^^ nur ich will ALLE WIndowNames die es zu einer bestimmten klasse gibt