【发布时间】:2021-05-09 16:25:00
【问题描述】:
我试图只在按下它时才获得键输入,而不是在我们按住它的情况下。
我希望它停止输入,直到它再次“释放”和“按下”,但我无法做到。
我的代码:
while(isRunning)
{
if(GetKeyState('K') & 0x8000)
{
std::cout << "K is Pressed" << std::endl;
}
}
按下时输出:
K 被按下
K 被按下
K 被按下
K 被按下
K 被按下
K 被按下
K 被按下
K 被按下
K 被按下
K被按下
但我希望自己成为一个
K 被按下
当我“释放”它并再次“按下”它时,我希望它再次打印它。
【问题讨论】:
-
你应该拦截和处理像
WM_KEYDOWN这样的windows消息 -
@MatG 我在这里查看了这个文档:我提到的链接之一是docs.microsoft.com/en-us/windows/win32/inputdev/wm-keydown,但是你如何获得 UINT 消息和 WPARAM wparam。我好像找不到他们