У меня есть два приложения WPF.У них обоих есть окно со свойством Topmost
, установленным на true
.Окно первого приложения является полноэкранным окном, а второе приложение занимает только часть экрана.Важно также то, что второе приложение не может быть активировано (активация была заблокирована следующим кодом):
private const int GWL_EXSTYLE = -20;
private const int WS_EX_NOACTIVATE = 0x08000000;
[DllImport("user32.dll")]
public static extern IntPtr SetWindowLong(IntPtr hWnd, int nIndex,int dwNewLong);
[DllImport("user32.dll")]
public static extern int GetWindowLong(IntPtr hWnd,int nIndex);
protected override void OnSourceInitialized(EventArgs e)
{
WindowInteropHelper helper = new WindowInteropHelper(window);
SetWindowLong(helper.Handle, GWL_EXSTYLE, GetWindowLong(helper.Handle, GWL_EXSTYLE) | WS_EX_NOACTIVATE);
}
Я пытаюсь вывести на передний план второе приложение, когда пользователь нажимает кнопку, котораянаходится на первом заявлении.Я пытался добиться этого с помощью SetForegroundWindow и ShowWindow , но это не работает.У кого-нибудь есть решение этой проблемы?