WM_SYSKEYDOWN 没有更新
WM_SYSKEYDOWN not updating
我尝试使用 WM_SYSKEYDOWN 和 WM_SYSKEYUP 作为键盘输入。
这是重要的代码部分。
case WM_SYSKEYDOWN:
if (wParam == VK_MENU) // VK_MENU = 18 = alt keys
{
if (!(lParam & (1 << 30)))
{
std::cout << "Pressed left alt key" << std::endl;
}
};
break;
case WM_SYSKEYUP:
if (wParam == VK_MENU) // VK_MENU = 18 = alt keys
{
std::cout << "Released left alt key" << std::endl;
};
break;
如果我按下按钮,我尝试打印一次字符串,然后在释放键时打印另一个字符串。
释放有效,但按下响应 每 2 次按下一次 。
if (!(lParam & (1 << 30)))
这一行应该中断频繁再次发布字符串。
我不明白为什么...,但我希望如此。
提前致谢!
我没有使用我找到的这个功能。
if (GetAsyncKeyState(VK_LSHIFT) & 0x8000)
{
// Button pressed!
}
效果不错:D
我尝试使用 WM_SYSKEYDOWN 和 WM_SYSKEYUP 作为键盘输入。
这是重要的代码部分。
case WM_SYSKEYDOWN:
if (wParam == VK_MENU) // VK_MENU = 18 = alt keys
{
if (!(lParam & (1 << 30)))
{
std::cout << "Pressed left alt key" << std::endl;
}
};
break;
case WM_SYSKEYUP:
if (wParam == VK_MENU) // VK_MENU = 18 = alt keys
{
std::cout << "Released left alt key" << std::endl;
};
break;
如果我按下按钮,我尝试打印一次字符串,然后在释放键时打印另一个字符串。
释放有效,但按下响应 每 2 次按下一次 。
if (!(lParam & (1 << 30)))
这一行应该中断频繁再次发布字符串。
我不明白为什么...,但我希望如此。
提前致谢!
我没有使用我找到的这个功能。
if (GetAsyncKeyState(VK_LSHIFT) & 0x8000)
{
// Button pressed!
}
效果不错:D