【发布时间】:2009-01-10 21:44:36
【问题描述】:
是否有用于 C++ Win32 中的仅消息窗口的类/示例应用程序?
【问题讨论】:
-
你能澄清一下你的意思吗? gamedev.net/reference/articles/article1810.asp">This article 向您展示了如何制作一个封装窗口并以面向对象的方式处理窗口消息的 C++ 类。这就是您要找的吗?
是否有用于 C++ Win32 中的仅消息窗口的类/示例应用程序?
【问题讨论】:
来自CreateWindow 的文档:
hWndParent [在]正在创建的窗口的父窗口或所有者窗口的句柄。到 创建子窗口或拥有的 窗口,提供一个有效的窗口句柄。 该参数对于弹出窗口是可选的 窗户。
Windows 2000/XP:要创建仅消息窗口,请提供 HWND_MESSAGE 或 处理现有的仅消息窗口。
Here 是一些我认为来自 WebKit 的代码,它为计时器事件设置了一个仅消息窗口。
这里有一篇文章展示了一种(可能过于)奇特的方式来创建一个不可见的、仅限消息的窗口:http://www.codeguru.com/cpp/w-p/win32/tutorials/article.php/c12689
【讨论】:
如果我记得,标准的解决方案是像往常一样创建一个带有消息泵的基本无样式窗口,但永远不要在其上调用 ShowWindow。这样您就可以接收和处理发送到所有窗口的标准消息,例如 WM_QUERYENDSESSION。
【讨论】:
当您需要在线程中处理窗口消息,但您实际上不想在屏幕上显示窗口时,使用仅消息窗口。
例如,如果您想使用 Windows 计时器,但没有您可以锁定的现有 UI 窗口。
【讨论】: