这些WndProc代码是什么意思?

时间:2008-11-18 12:44:54

标签: c# wndproc

我正在尝试制作a window that closes when you click outside it,目前我正在考虑通过处理WndProc函数来做到这一点。

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

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:2)

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

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

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

修改

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