这些WndProc代码是什么意思?

我正在尝试创建一个窗口,当您在外部单击时关闭 ,此时我正在考虑通过处理WndProc函数来完成此操作。

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

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

其他三个应该是应用程序定义的消息(0xC000到0xFFFF范围内的任何内容),因此您将无法找到任何定义的消息。

一种简单的方法就是捕获鼠标。 捕获鼠标后,您可以在窗口外单击一次,然后关闭捕获。

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

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

编辑

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