Ich versuche zu überprüfen, ob javaw.exe Fokus hat, führen Sie dann bestimmten Code aus, wenn es tut.Wie überprüfe ich, ob ein bestimmter Prozess den Fokus hat?
Früher hatte ich Code, der nach der Prozess-ID von javaw.exe suchen würde, dann vergleichen Sie es mit dem Prozess, der derzeit Fokus hatte, der für eine Weile arbeitete, aber dann bemerkte ich, wenn ich mehr als einen javaw.exe-Prozess hatte läuft, würde es nur auf einem dieser Prozesse funktionieren, während ich es brauche, wenn jeder javaw.exe-Prozess den Fokus hat.
Gibt es eine Möglichkeit, dies zu tun?
'System.Diagnostics.Process.GetCurrentProcess()' –
Whoops. Du hast Recht. Sie benötigen die Win32-API-Funktion "GetForgroundWindow" (die ein Fensterhandle zurückgibt), dann durchlaufen Sie die aktuell ausgeführten Prozesse, prüfen jeweils auf den Prozessnamen javaw.exe und vergleichen das Hauptfensterhandle mit dem Vordergrundfensterhandle. –
http://stackoverflow.com/questions/884256/how-to-determine-if-an-process-is-the-current-ly-active-foreground-application –