我正在尝试关闭时关闭的窗口你点击它外面,目前我正在考虑通过处理WndProc功能来做到这一点。

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

有帮助吗?

解决方案

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

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

其他提示

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

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

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

修改

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top