1

我正在尝试制作一个在您在外部单击时关闭的窗口,目前我正在考虑通过处理 WndProc 函数来实现这一点。

到目前为止,我收到的所有消息似乎都没有用,但有一些我根本不明白。代码 0x0118、0xC123、0xC128 和 0xC12E 代表什么?

4

2 回答 2

4

0x0118:WM_SYSTIMER(未记录)用于插入符号闪烁

其他三个应该是应用程序定义的消息(0xC000 到 0xFFFF 范围内的任何消息),因此您不会在任何地方找到那些定义的消息。

于 2008-11-18T13:22:55.597 回答
2

一个简单的方法是只捕获鼠标。当您捕获鼠标时,您会在窗口外获得一个单击事件,然后捕获被关闭。

更难的方法是设置低级鼠标窗口挂钩。要进行全局挂钩,您必须将挂钩代码放在非托管 DLL 中。

一个非常简单的方法是在停用时关闭您的表单。

编辑

哎呀。我刚刚意识到我没有回答您关于消息 ID 的直接问题。消息 0x118 未在 winuser.h 中定义,因此我假设它是未记录的消息 ID。0xC000 到 0xFFFF 范围内的消息 ID 是应用程序定义的消息。这些 ID 由RegisterWindowMessage.

于 2008-11-18T12:55:54.123 回答