![]() |
alle handles und captions herausfinden
Also...ich will von allen fenstern die handles bekommen und dann die titel dieser fenster in einem Memo anzeigen lassen... aber warum funktioniert mein code nicht?
Delphi-Quellcode:
:wiejetzt:
function GetWindow (Handle: HWND; LParam: longint): bool; stdcall;
begin Result := true; WindowList.Add (Pointer(Handle)); end; procedure TForm1.Button1Click(Sender: TObject); var i: Integer; hWindowHandle: HWND; Buffer: array [0..255] of char; sTitle: String; begin WindowList:= TList.Create; EnumWindows(@GetWindow, 0); for i := 0 to WindowList.Count - 1 do begin hWindowHandle:= HWND(WindowList[i]); if IsWindowVisible (hWindowHandle) then begin GetWindowText(hWindowHandle, Buffer, SizeOf(Buffer) - 1); if Buffer[0] <> #0 then begin sTitle:= Copy(StrPas(Buffer),1,22); end; memo1.Lines.Add(stitle); end; end; end; |
Re: alle handles und captions herausfinden
Das schon probiert:
![]() |
Re: alle handles und captions herausfinden
Du mußt noch ein EnumChildWindows über die ganzen Handles (rekursiv) machen, damit du auch die Labels bekommst.
|
Re: alle handles und captions herausfinden
Wieso rekursiv? davon steht nichts in seinem Posting. Und wenn dannmüsste er EnumChildWindows benutzten.
|
Re: alle handles und captions herausfinden
Arg, hab nur den Topic gelesen :wall:
aber dann brauch er doch auch kein EnumChildWindows... alle fenster finden macht es doch schon - also wo ist da ein Problem?! |
Re: alle handles und captions herausfinden
Dass sein Code nicht funktioniert, was auch immer das heißen mag, darüber schweigt er sich ja leider aus. :roll:
Im übrigen Funktioniert er bei mir:
Delphi-Quellcode:
:roll:
var
WindowList: TList; function GetWindow(Handle: HWND; LParam: longint): bool; stdcall; begin Result := true; WindowList.Add(Pointer(Handle)); end; procedure TForm1.Button1Click(Sender: TObject); var i: Integer; hWindowHandle: HWND; Buffer: array[0..255] of char; sTitle: string; begin WindowList := TList.Create; EnumWindows(@GetWindow, 0); for i := 0 to WindowList.Count - 1 do begin hWindowHandle := HWND(WindowList[i]); if IsWindowVisible(hWindowHandle) then begin GetWindowText(hWindowHandle, Buffer, SizeOf(Buffer) - 1); if Buffer[0] <> #0 then begin sTitle := Copy(StrPas(Buffer), 1, 22); end; Form1.memo1.Lines.Add(stitle); end; end; end; |
Re: alle handles und captions herausfinden
Zitat:
Vorher war bei mir nie was im Memo1 drin und jetzt schon... :roll: komisch...aber egal DANKE @all |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz