【发布时间】:2021-11-12 05:17:37
【问题描述】:
有没有办法检测是否使用GetKeyState() 释放了密钥?我读过它,它只有 2 个状态,切换 0x8000 和按下 0x01。
我想要这样的东西:
short Input(int Key, int Mode)
{
if (Mode == KEY_RELEASE)
if (GetKeyState(Key) & KEY_PRESS)
//Wait for the key to be released
else
return GetKeyState(Key) & KEY_PRESS;
}
【问题讨论】:
-
没有。使用此函数检测键
release的唯一方法是缓存键值。如果您上次检查时按下了键,而现在没有按下,则它已被释放。考虑研究处理输入的其他方式。 -
你想解决什么问题?
-
@IInspectable 我正在尝试使用 GetKeyState 函数检测密钥释放,但它没有释放状态。
-
他的意思是在大局中,为什么您需要知道何时释放了密钥?你只关心你自己的窗口还是系统上的所有进程等等?
-
@Anders 我想知道密钥是否被释放,因为我正在为我正在开发的框架制作输入系统,我只关心我的窗口。
标签: c++ windows winapi input keyboard