0

所以我正在尝试构建一个简单的输入处理程序来处理 Windows 消息循环。但是由于某种原因,当我测试 WM_MBUTTONDOWN 的情况时,我得到的 wParam 就像我按下“Shift-key”一样。尝试单击鼠标中键时得到的代码是十进制的 16 或十六进制的 0x10。当我查看它时,我可以看到 MBUTTON 应该是 0x04 但我不明白。

有人遇到过这个吗?

这是我在 Win32 应用程序的 WndProc 函数中使用的代码。(当然还有更多的案例可以检查它们是否启动等等,但觉得这与问题无关)

case WM_MBUTTONDOWN:
    if (wParam < 256)
    {
        globalInputManager.SetKeyIsDown(static_cast<uint8_t>(wParam));
        OutputDebugStringA(std::to_string(wParam).c_str());
    }
    break;
case WM_KEYDOWN:
    if (wParam < 256)
    {
        globalInputManager.SetKeyIsDown(static_cast<uint8_t>(wParam));
        OutputDebugStringA(std::to_string(wParam).c_str());
    }
    break;
4

0 回答 0