Ich gehe davon aus, dass ich pinvoke verwenden muss, aber ich bin mir nicht sicher, welche Funktionsaufrufe benötigt werden.
Detailliertes Szenario. Eine ältere Anwendung wird ausgeführt. Ich werde Handle für diese Anwendung haben. Ich muss einfach: a) Bringen Sie diese Anwendung an die Spitze (vor allen anderen Fenstern). b) Machen Sie es zum aktiven Fenster.
Welche Windows-Funktionsaufrufe werden benötigt?
Wenn Sie kein Handle für das Fenster haben, verwenden Sie dies vor:
%Vor%Wenn Sie jetzt ein Handle für das Anwendungsfenster haben:
%Vor%Dies wird die Taskleiste blinken lassen, wenn ein anderes Fenster den Tastaturfokus hat.
Wenn Sie das Fenster in den Vordergrund drängen möchten, verwenden Sie ForceForegroundWindow (Beispielimplementierung).
Die ShowWindowAsync-Methode wird verwendet, um die minimierte Anwendung anzuzeigen, und die SetForegroundWindow-Methode wird verwendet, um die Back-Anwendung vorzuschalten.
Sie können diese Methoden verwenden, wie ich sie in meiner Anwendung verwendet habe, um den Skype vor meiner Anwendung zu bringen. auf Knopf klicken
%Vor%Dies hat sich als äußerst zuverlässig erwiesen. Die ShowWindowAsync-Funktion ist speziell für Fenster entworfen, die von einem anderen Thread erstellt werden. Der SW_SHOWDEFAULT stellt sicher, dass das Fenster vor dem Anzeigen wiederhergestellt wird und dann aktiviert wird.
%Vor%Dann machen Sie die Anrufe:
%Vor%