Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 

EnumWindows & Co gekapselt

  Alt 29. Jul 2004, 10:27
Die Unit EnumWindowUtil im Anhang enthält eine Kapselung für die Windows-API Funktionen
EnumWindows, EnumChildWindows, EnumDesktopWindows, EnumThreadWindows und EnumWindowStations.
Es handelt sich dabei um eine Klasse, die von TStringList abgeleitet wurde.
Folgendes Beispiel zeigt, wie einfach man damit arbeiten kann:
Delphi-Quellcode:
var
  wlist : TWindowList;
begin
  wlist := TWindowList.Create; // Objekt erzeugen
  try
    wlist.AddClassname := True; // zusätzlich den Windows-Classname anfügen
    wlist.EnumTopLevelWindows; // Alle Windows auflisten
    ListBox1.Items.Assign(wlist); // Ergebnis in eine Listbox kopieren
  finally
    wlist.Free;
  end;
end;
Natürlich kann man so nicht nur den WindowsText (Caption des Window) abfragen, sondern man
kommt auch ganz einfach an die Handles der Windows heran.
(Der Trick dabei ist, dass die Handles intern im Property Objects[] gespeichert werden)
Delphi-Quellcode:
// Alle Fenster minimieren
for i := 0 to wlist.Count-1 do
begin
  ShowWindow(wlist.Handles[i], SW_MINIMIZE);
end;
Angehängte Dateien
Dateityp: pas enumwindowutil.pas (3,1 KB, 829x aufgerufen)
Andreas
  Mit Zitat antworten Zitat