Einzelnen Beitrag anzeigen

Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#6

Re: MainWindow anhand der ProcessID ermitteln ?

  Alt 13. Jun 2007, 23:27
also diese IsMainWindow Funktion funktioniert nur bedingt.
Sehr viele programme zeigen auch gar nicht mehr das Mainwindow als HAuptfenster.
Das HAuptfenster ist irgendwo im Hintergrund.
MAn muss da wohl unterscheiden, ob man wirklich das Mainwindow sucht, oder das sichtbare Fenster von dem Prozess.

Ich benutze jetzt folgende Funktion, um das sichtbare fenster zu bekommen;

Delphi-Quellcode:
function IsValidWindow(wnd : HWND) : boolean;//
begin
 result := false;
 if wnd <> 0 then begin
   result := (GetSystemMenu(Wnd, false) <>0);
 end; // wnd <> 0

end; // IsValidWindow
und prüfe noch:

Delphi-Quellcode:
  if (ProcessID = EWD.ProcessID) and
     IsValidWindow(AHandle) and
     IsWindowVisible(AHandle) then begin

    end;
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.
  Mit Zitat antworten Zitat