Entwickler-Ecke

Windows API - FindWindow, aber unterschiedliche Fenstertitel


Crowbar - Do 27.10.05 11:00
Titel: FindWindow, aber unterschiedliche Fenstertitel
Hi,
mit FindWindow überprüft man, ob ein bestimmtes Programm (z.B. "Test") "aktiv" ist.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
begin
 wnd:=FindWindow('TMainForm','Test');
  if wnd <> 0 then
   begin
     showmessage('gefunden');
   end
  else
   showmessage('nicht gefunden');
end;


Soweit klappt das auch. Nun habe ich ein Problem, dass sich bei meinem Programm der Fenstertitel ändern kann:
z.B.
Titel "Test", aber auch Titel "Test - Dokument1"
Dadurch kann ich natürlich das Programm-Handle mit "FindWindow('TMainForm','Test')" nicht mehr finden.
Gibt es die Möglichkeit zu überprüfen, ob ein Programm aktiv ist, ohne eine Überprüfung des "Fenstertitels"?

Crowbar
P.S. Ich benötige jedoch das Handle ...


Delete - Do 27.10.05 11:03

Die einfachste Lösung wäre eine möglichst eindeutige Fensterklasse zu vergeben und die komplizierte mit EnumWindows alle Fenster raussuchen und sich das passende rauszupicken.


Crowbar - Do 27.10.05 12:13

Danke Luckie!
Damit klappt es! :D

Cu
Crowbar