Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Tutorial fenster finden? (https://www.delphipraxis.net/3961-tutorial-fenster-finden.html)

sharkx 8. Apr 2003 21:32


Tutorial fenster finden?
 
huhu :>

hat zufällig jmd nen Tutorial über das finden von fenstern?
Also ich möchte das mirc fenster finden.
Hab auch gegoogelt, aber das was ich gefunden habe, war mir net so genau erklärt :(

Luckie 8. Apr 2003 21:52

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;

Jens Schumann 14. Jun 2003 18:19

Hallo Luckie,
das mit dem
Code:
Param: PMyEnumParam
als Paramter der CallBackfunktion ist cool.

Motzi 14. Jun 2003 19:38

Man könnte sich den Umweg über den Record aber auch sparen und gleich die TListbox als Parameter verwenden.. (Objekte sind schließlich auch nur Referenzen) :roll: ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz