c++ - Win32 API 中的 MK_CONTROL 和 VK_CONTROL 有什么区别?

标签 c++ winapi

Win32 API 中的 MK_CONTROL 和 VK_CONTROL 有什么区别?

首先,我检查了定义的值。

MK_CONTROL:0x0008 VK_CONTROL:0x11

其次,我在这样的简单代码中进行了测试。

case WM_MOUSEMOVE:
    if(wParam & MK_CONTROL)     // This works here.
        abort();
    if(wParam & VK_CONTROL)     // This doesn't work here.
        abort();    

case WM_KEYDOWN:
    if(wParam & MK_CONTROL)     // This doesn't work here.
        abort();
    if(wParam & VK_CONTROL)     // This works here.
        abort();    

case WM_LBUTTONDOWN:
    if(wParam & MK_CONTROL)     // This doens't work here.
        abort();
    if(wParam == VK_CONTROL)    // This doesn't work here.
        abort();

wParam 值是否取决于鼠标设备的状态?

MK_.. 和 VK_.. thing 有什么区别?

最佳答案

wParam 的含义完全取决于您发送的消息。每条消息的文档都会告诉您哪些值对该消息有意义。

关于c++ - Win32 API 中的 MK_CONTROL 和 VK_CONTROL 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27667431/

相关文章:

c++ - 如何从用户定义的函数返回一个 3D 数组?

c++ - QT 连接 - "No such slot"错误

c++ - 用于 Windows 10 开发的 DirectShow (Stream.h)

c++ - 我可以保留该指针的拷贝吗?

c++ - JavaScript 和 VBScript 中与 GetObject 等效的 C++ 是什么?

c++ - Win32 应用程序不在启动时运行

c++ - 此预处理器指令/C++ 需要解释

c++ - 移动语义如何在后台工作

c++ - Win32 选项卡控件灰色背景

c++ - 在 c++ win32 中绘制/打印具有透明背景的文本