Вопрос

Существует ли класс / пример приложения для окна только для сообщений на C ++ Win32?

Это было полезно?

Решение

Если я вспоминаю, стандартное решение состоит в том, чтобы создать простое окно без стилей с насосом сообщений, как обычно, но никогда не вызывать ShowWindow для него. Таким образом, вы можете получать и обрабатывать стандартные сообщения, такие как WM_QUERYENDSESSION, которые отправляются во все окна.

Другие советы

Из документов для Создать окно:

hwndParent [in] Дескриптор родительского окна или окна владельца создаваемого окна.Чтобы создать дочернее окно или принадлежащее окно, укажите допустимый дескриптор окна.Этот параметр необязателен для всплывающих окон .

Windows 2000/XP: Чтобы создать окно только для сообщений, укажите HWND_MESSAGE или дескриптор для существующего окна только для сообщений.

Здесь это какой-то код, по-моему, из WebKit, который настраивает окно только для сообщений для событий таймера.

Вот статья, в которой показан (возможно, чрезмерно) причудливый способ создания невидимого окна только для сообщений: http://www.codeguru.com/cpp/w-p/win32/tutorials/article.php/c12689

Окно только для сообщений используется, когда вам нужно обрабатывать сообщения Windows в потоке, но на самом деле вы не хотите отображать окно на экране.

Например, если вы хотите использовать таймер Windows, но у вас нет существующего окна пользовательского интерфейса, к которому можно привязаться.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top