c# - WM_SYSCOMMAND 与 wParam 0xF063?

标签 c# winforms wndproc wm-syscommand

出于不相关的原因,我在 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 完全相同,为什么还要拥有它呢?似乎没有关于此值的文档。

最佳答案

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

In WM_SYSCOMMAND messages, the four low-order bits of the wParam parameter are used internally by the system. To obtain the correct result when testing the value of wParam, an application must combine the value 0xFFF0 with the wParam value by using the bitwise AND operator.

关于c# - WM_SYSCOMMAND 与 wParam 0xF063?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27670575/

相关文章:

c# - 在 ASP.NET 应用程序中使用 System.Diagnostics.Debug

c# - 使 dataGridView 大小适合行和列的总大小

winforms - 从编码 UI 测试中的文本框中读取文本

c# - native 窗口 : Release Handle On Close

c# - 从 LINQ ExecuteMethodCall 中提取 SQL 'print' 消息

c# - 如何使用 Reactive Extensions 对状态进行轮询?

c# - 事件默认初始化器

c# - 从组合框中获取所选项目或输入文本的最佳方法

winapi - WindowProc 和 CallWindowProc 之间的区别?