Trae una ventana al frente en WPF
¿Cómo puedo llevar mi aplicación WPF al frente del escritorio? Hasta ahora he intentado:
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);
Ninguno de los cuales está haciendo el trabajo (Marshal.GetLastWin32Error()
dice que estas operaciones se completaron con éxito, y los atributos P / Invoke para cada definición tienenSetLastError=true
)
Si creo una nueva aplicación WPF en blanco y llamoSwitchToThisWindow
con un temporizador, funciona exactamente como se esperaba, por lo que no estoy seguro de por qué no funciona en mi caso original.
Editar: Estoy haciendo esto junto con una tecla de acceso rápido global.