Как я могу перенести приложение WPF на переднюю панель рабочего стола? До сих пор я пробовал:
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);
Ни один из них не выполняет задание (Marshal.GetLastWin32Error()
говорит, что эти операции завершены успешно, а атрибуты P/Invoke для каждого определения имеют SetLastError=true
).
Если я создаю новое пустое приложение WPF и вызываю SwitchToThisWindow
с помощью таймера, он работает точно так, как ожидалось, поэтому я не уверен, почему он не работает в моем исходном случае.
Изменить. Я делаю это в сочетании с глобальной горячей клавишей.