gpt4 book ai didi

c++ - GetAsyncKeyState(int vKey) 中的点逗号减号

转载 作者:行者123 更新时间:2023-11-30 04:10:39 25 4
gpt4 key购买 nike

我正在尝试使用 GetAsyncKeyState(int vKey) 函数,但我遇到了一个小问题:它适用于字母、数字和按键(如 Enter 或 Space),但当我尝试使用例如逗号“,”时,该功能不起作用。

    #include <myHead.h>

int main()
{
char i = 44;

while(1)
{
Sleep(5);
if(GetAsyncKeyState(i)<0)
{
cout << "Got it!";
}
}

}

我应该补充一点,我使用的是 Windows 7 笔记本电脑

最佳答案

使用 VkKeyScanEx函数来了解给定字符的 VK 代码。

如果您只是对用户按下键盘上的相应键感兴趣,那应该可以解决问题。但是,如果您想区分移位/非移位和/或 ALT 的使用(如法语键盘上的欧元符号,Alt+E),事情就更复杂了。

简单的例子:

SHORT sRet = VkKeyScanEx( ',', 0 );
BYTE vk = LOBYTE( sRet );

在我的笔记本电脑上,vk 是 188 (0xBC) 并且 GetAsyncKeyState(188) 在我按下“,”键盘键(法语键盘)时返回 <0

(是的,VK_OEM_COMMA 是 0xBC)

关于c++ - GetAsyncKeyState(int vKey) 中的点逗号减号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20573137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com