Мое приложение может получать сообщение от другого приложения. Если приложение сведено к минимуму, я хочу восстановить его в предыдущем состоянии, не сосредотачиваясь на нем.SW_SHOWNOACTIVATE не работает, если программа сведена к минимуму, нажав кнопку на панели задач
Я делаю это по телефону
::ShowWindow(hWnd, SW_SHOWNOACTIVATE);
Он хорошо работает, если приложение было сведено к минимуму с помощью кнопки в строке заголовка Минимизация, но если приложение было сведено к минимуму, нажав соответствующую кнопку на панели задач Windows, , то приложение получит фокус.
Можно ли это исправить или обойти?
Так на самом деле это действительно работает, но вы хотите, чтобы он вел себя по-другому? –
Просто быстрая проверка. Вы можете сделать одну кнопку в пользовательском интерфейсе и добавить код для минимизации окна вручную, т. Е. ':: ShowWindow (.., SW_MINIMIZE);' – hypheni
Попробуйте 'PostMessage (hWnd, WM_SYSCOMMAND, SC_RESTORE, 0);' и посмотрите, иначе. –