Как перехватить событие «Показать рабочий стол»? - PullRequest
1 голос
/ 29 марта 2011

Я ищу способ перехватить событие ShowDesktop и установить мое окно впереди. Есть ли способ сделать это без использования хуков API? Спасибо, Омер.

1 Ответ

4 голосов
/ 30 марта 2011

Если вы пишете док-панель в стиле панели задач Windows, просто убедитесь, что в вашем окне установлен WS_EX_TOPMOST, и «Показать рабочий стол» оставит его в покое.В качестве альтернативы используйте SetWindowPos, чтобы сделать его самым верхним окном после его создания, например:

SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE); 

Обновление: для создания приложения в стиле «док» необходимо использовать API панели приложений Windows.См. здесь для получения более подробной информации.

Панели приложений также необходимо удалить из списка верхнего уровня, отображаемого при нажатии Alt + Tab и т. Д., Что можно сделать, добавив WS_EX_TOOLWINDOW иудаление WS_EX_APPWINDOW.

Я должен был прояснить это раньше, извинения.

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