Win32 键盘组合



我需要组合 Alt +(左箭头、右箭头、向上箭头、向下箭头(键才能在 Win32 中移动窗口。

也许是这样的东西?

case WM_KEYDOWN:
    {
        if (GetKeyState(VK_MENU) < 0 && GetKeyState(VK_UP) < 0) {
        }
    }

我该怎么做?

在处理WM_SYSKEYDOWN消息期间,应使用 GetKeyState 函数。

case WM_SYSKEYDOWN:
{
    if ( GetKeyState ( VK_MENU ) < 0 && GetKeyState ( VK_UP ) < 0 )
    {
    }
}

请注意,当用户通过(uni(代码位置输入字符时,VK_UP可能来自数字键盘。Windows 上的预期行为是数字字符输入独立于 NumLock 状态工作。所以你必须跟踪这个:只有在释放 Alt 后才对 Alt+Numpad 输入做出反应 Alt:如果到目前为止输入了多个键,请忽略它并让 TranslateMessage(( 将其转换为 WM_CHAR(希望在您的主消息循环中(。

最新更新