嘿伙计我正在使用C中的Codeblocks。我读了https://msdn.microsoft.com/en-us/library/windows/desktop/ms646301(v=vs.85).aspx但我无法理解我需要在此代码中进行更改以使其区分大小写。
void getInput()
{
while(1)
{
if((GetAsyncKeyState('A') & 0x8008)) {
printf("qwe");
}
}
}
代码有效,我没有收到任何错误。唯一的问题是,这并不区分按a
或A
,它会在两种情况下都打印qwe
。我该如何解决这个问题?
答案 0 :(得分:1)
感谢@EugeneSh。,解决方案是检查VK_CAPITAL
的状态,看看是否 Shift :
if((GetAsyncKeyState('A') & 0x41) && GetKeyState(VK_CAPITAL)) {
key_pressed=KEY_A; printf("qwe");
}
if((GetAsyncKeyState('B') & 0x8008) && !GetKeyState(VK_CAPITAL)) {
key_pressed=KEY_B; printf("asd");
}