Einzelnen Beitrag anzeigen

Innos

Registriert seit: 5. Jun 2007
142 Beiträge
 
#4

Re: Alle Handles eines Classname auflisten

  Alt 22. Jan 2008, 21:12
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
  Mit Zitat antworten Zitat