2

由于不相关的原因,我在 C# 应用程序的 WinForm 中捕获 WM_SYSCOMMAND 消息。有时,我的处理程序会收到带有 wParam 0xF063 的 WM_SYSCOMMAND 消息。

文档中没有 0xF063:http: //msdn.microsoft.com/en-us/library/windows/desktop/ms646360 (v=vs.85).aspx

将它传递给基 Form 类的 WndProc 似乎关闭了窗口,我认为这有点意义,因为 wParam几乎是0xF060,即 SC_CLOSE 消息。

那么...这个 0xF063 消息到底是什么,它与正常的 SC_CLOSE 有什么区别?如果它似乎与 SC_CLOSE 做同样的事情,为什么还要拥有它?似乎没有关于这个值的文档。

4

1 回答 1

7

是的,它是 SC_CLOSE 命令。来自 WM_SYSCOMMAND 的 MSDN 文章:

在 WM_SYSCOMMAND 消息中,wParam 参数的四个低位由系统内部使用。为了在测试 wParam 的值时获得正确的结果,应用程序必须使用按位与运算符将值 0xFFF0 与 wParam 值组合。

于 2014-12-27T19:14:30.153 回答