WPF скрытое приложение и MainWindowHandle - PullRequest
0 голосов
/ 30 августа 2018

У меня есть приложение WPF, которое запускается как обычно. Пользователь может затем скрыть приложение. Когда они скрывают приложение, оно больше не отображается на панели задач, а главное окно скрывается вызовом Hide ().

В какой-то момент в будущем пользователь запускает другое приложение, которое должно показать первое приложение. Я попытался показать первое приложение со следующим кодом:

        private const int SW_SHOWNORMAL =1; 

        Process[] processes = Process.GetProcessesByName(ProcessName);

        int nProcessID = Process.GetCurrentProcess().Id;

        foreach (Process p in processes)
        {
            if (nProcessID != p.Id)
            {
                p.Refresh();
                ShowWindow(p.MainWindowHandle, SW_SHOWNORMAL);

                SetForegroundWindow(p.MainWindowHandle);
            }
        }

Однако это не работает, потому что MainWindowHandle всегда равен нулю. Я понимаю, что это потому, что приложение больше не отображается на панели задач и, следовательно, больше не имеет дескриптора.

Есть ли другой способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...