WM_SYSCOMMAND 与 wParam 0xF063?

问题描述 投票:0回答:1

出于不相关的原因,我在 C# 应用程序中的 WinForm 中捕获

WM_SYSCOMMAND
消息。有时,我的处理程序会收到一条带有
wParam
WM_SYSCOMMAND
0xF063
消息。

文档中没有0xF063

将其传递给基本 Form 类的 WndProc 似乎会关闭窗口,我认为这有点意义,因为 wParamalmost

0xF060
SC_CLOSE
消息)。

那么...这个

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

c# winforms wndproc wm-syscommand
1个回答
7
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.