Wie bringe ich eine nicht verwaltete Anwendung Fenster nach vorne, und machen Sie das aktive Fenster für die (simulierte) user-Eingabe
Ich bin angenommen, ich brauche zur Verwendung von pinvoke, aber ich bin nicht sicher, welche Funktionsaufrufe benötigt werden.
Detaillierten Szenario. Eine legacy-Anwendung ausgeführt wird. Ich Handle für diese Anwendung. Ich brauche:
a) bringen, dass die Anwendung auf die oben (vor allen anderen Fenstern).
b) Machen Sie das aktive Fenster.
Dem windows-Funktionsaufrufe sind erforderlich?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie nicht über ein handle zu dem Fenster, benutzen Sie diese vor :
Nun vorausgesetzt, Sie haben einen handle auf das Fenster Anwendung :
Damit wird die Taskleiste blinkt, wenn ein anderes Fenster den Tastaturfokus besitzt.
Wenn Sie erzwingen möchten, dass das Fenster, um nach vorne zu kommen, verwenden Sie ForceForegroundWindow (Beispiel-Implementierung).
Diese hat sich als äußerst zuverlässig sein. Die ShowWindowAsync-Funktion ist speziell für windows erstellt wurden, in einem anderen thread. Die SW_SHOWDEFAULT stellt sicher, dass die Fenster wiederhergestellt vor zu zeigen, dann ist die Aktivierung.
Dann die Anrufe:
ShowWindowAsync-Methode wird verwendet, um zu zeigen, minimiert die Anwendung und SetForegroundWindow-Methode wird verwendet, um bringen auf der Vorderseite, der Rückseite Anwendung.
Sie können diese Methoden verwenden, wie ich in meiner Anwendung zu bringen, die skype vor meiner Bewerbung. auf Schaltfläche klicken Sie auf