我正在尝试制作a window that closes when you click outside it,目前我正在考虑通过处理WndProc函数来做到这一点。
到目前为止我收到的所有消息都没有用,但有一些我根本不理解。代码0x0118,0xC123,0xC128和0xC12E代表什么?
答案 0 :(得分:4)
0x0118:用于插入符号闪烁的WM_SYSTIMER(未记录)
其他三个应该是应用程序定义的消息(0xC000到0xFFFF范围内的任何内容),因此您不会在任何地方找到那些定义的消息。
答案 1 :(得分:2)
一种简单的方法就是捕获鼠标。捕获鼠标后,您可以在窗口外单击一次,然后关闭捕获。
更难的方法是设置一个低级鼠标窗口挂钩。要执行全局钩子,您必须将钩子代码放在非托管DLL中。
非常简单的方法就是在停用时关闭您的表单。
修改强>:
糟糕。我刚刚意识到我没有回答你关于消息ID的直接问题。消息0x118未在winuser.h中定义,因此我假设它是未记录的消息ID。 0xC000到0xFFFF范围内的消息ID是应用程序定义的消息。这些ID由RegisterWindowMessage
返回。