GetKeyState() 是否检测到密钥是否被释放?
Does GetKeyState() detect if the key is being released?
有没有办法检测密钥是否正在使用 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;
}
GetKeyState
returns 有关当前输入队列(您的线程和附加线程)的关键状态的信息。您可以使用 GetKeyboardState
.
获得所有键的类似信息
这两个函数应该只用于响应某些事件,你不应该一遍又一遍地轮询来检测变化。
在您控制的 windows 中检测键盘变化的最佳方法是处理 WM_KEYDOWN/UP 和 WM_CHAR 消息。
最坏的情况,使用 SetWindowsHookEx
捕获键盘事件或 window 消息。
有没有办法检测密钥是否正在使用 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;
}
GetKeyState
returns 有关当前输入队列(您的线程和附加线程)的关键状态的信息。您可以使用 GetKeyboardState
.
这两个函数应该只用于响应某些事件,你不应该一遍又一遍地轮询来检测变化。
在您控制的 windows 中检测键盘变化的最佳方法是处理 WM_KEYDOWN/UP 和 WM_CHAR 消息。
最坏的情况,使用 SetWindowsHookEx
捕获键盘事件或 window 消息。