Einzelnen Beitrag anzeigen

Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#9

AW: Wie findet man Fenster, deren Namen man nicht genau kennt?

  Alt 14. Sep 2011, 13:19
Könnte man nicht die Taskliste durchgehen (z.B. mit CreateToolhelp32Snapshot), nach dem entsprechenden Prozess suchen und bei Fund die ProcessID ermitteln? Anschließend dann mit EnumWindows alle Fenster durchlaufen und mit GetWindowThreadProcessID vergleichen. Allerdings bin ich mir gerade nicht sicher, ob die erforderlichen Angaben auch wirklich im TProcessEntry32-Record stehen, denke aber schon.
Ja, stehen sie (sofern ich Dich recht verstand), wobei man GetWindowThreadProcessID nach meiner Erinnerung allerdings extra aufrufen muß. In meinem Programm mit dem einfallslosen Namen "Prozesse" (auch hier im Forum zu finden) wird auch demonstriert, wie man die Fenster selektiv eines Prozesses finden bzw. sich auflisten lassen kann (ein einfacher Filter tut es, alternativ könnte man mit Enmthreadwindows alle Fenster aller Threads eines Prozesses erhalten). Ansonsten empfehle ich Luckies Programm "WinInfo", von dem ich einige Anregungen übernahm.

Geändert von Delphi-Laie (14. Sep 2011 um 14:21 Uhr)
  Mit Zitat antworten Zitat