Bringen Sie in WPF ein Fenster nach vorne

Wie kann ich meine WPF-Anwendung auf den Desktop bringen? Bisher habe ich versucht:

SwitchToThisWindow(new WindowInteropHelper(Application.Current.MainWindow).Handle, true);

SetWindowPos(new WindowInteropHelper(Application.Current.MainWindow).Handle, IntPtr.Zero, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);

SetForegroundWindow(new WindowInteropHelper(Application.Current.MainWindow).Handle);

Keiner von denen macht den Job Marshal.GetLastWin32Error() besagt, dass diese Operationen erfolgreich abgeschlossen wurden und die P / Invoke-Attribute für jede Definition @ habeSetLastError=true).

Wenn ich eine neue leere WPF-Anwendung erstelle und @ aufruSwitchToThisWindow mit einem Timer funktioniert es genau wie erwartet, daher bin ich mir nicht sicher, warum es in meinem ursprünglichen Fall nicht funktioniert.

Bearbeite: Ich mache das in Verbindung mit einem globalen Hotkey.

Antworten auf die Frage(18)

Ihre Antwort auf die Frage