Когда я открываю окно WPF в своем приложении, другие системные окна также выходят на передний план вместе с моим окном [C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Когда я открываю окно WPF в своем приложении, другие системные окна также выходят на передний план вместе с моим окном [

Сообщение Anonymous »

У меня есть сценарий, в котором, если я открываю дочернее окно WPF из своего приложения, если были открыты другие системные окна, такие как MSpaint, проводник или любое другое приложение, то вместе с моим дочерним окном также открываются все эти окна. на передний план.
Я устанавливаю владельца окна для главного окна приложения. Я попробовал несколько способов явно активировать дочернее окно через Win32 API, но это не сработало.
Я явно использовал приведенные ниже API, чтобы держать дочернее окно впереди:

Код: Выделить всё

[DllImport("user32.dll", SetLastError = true)]
internal static extern IntPtr SetFocus(IntPtr hWnd);

[DllImport("user32.dll", SetLastError = true)]
internal static extern IntPtr SetActiveWindow(IntPtr hWnd);

[DllImport("user32.dll")]
internal static extern bool SetForegroundWindow(IntPtr hWnd);
Я пытался сделать:

Код: Выделить всё

var dialogHandle =
new WindowInteropHelper(dialogWindow).Handle;
Win32Api.SetForegroundWindow(dialogHandle);
Win32Api.SetActiveWindow(dialogHandle);
Однако это не сработало. Есть идеи, что может пойти не так в таком рабочем процессе?
Я ожидаю, что только дочернее окно, которое я открываю, должно оставаться открытым и оставаться впереди, а не другие окна.

Подробнее здесь: https://stackoverflow.com/questions/787 ... come-to-fr
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»