char keyboardKeys_[256];
我还为我的目的设置了一个宏:
#define KEYDOWN(name, key) ( name[key] & 0x80 )
现在我尝试模拟关键字' A' (虚拟键码0x41),用这种方式:
keyboardKeys_[0] = 0x41;
但是如果我试图检测到按下的按键它不起作用:
if( KEYDOWN( keyboardKeys_, 0x41 ) )
{
MessageBox(NULL, "key pressed", "MessageBox caption", MB_OK);
}
这里有什么问题?消息框没有显示..
提前谢谢。
好的,我明白了,我试过的根本没有任何意义。考虑到我的情况,我想模拟关键字A'。在我的数组keyboardKeys_,' A'对应于项目编号30,同样,为了保持按下,我需要为此变量设置值0x80。 ' A'的虚拟键码是DIK_A
我的例子变成了:
keyboardKeys_[30] = 0x80;
if( KEYDOWN( keyboardKeys_, DIK_A ) )
{
MessageBox(NULL, "key pressed", "MessageBox caption", MB_OK);
}
我希望它对其他人有用,谢谢你指出我正确的方向!
答案 0 :(得分:1)
第1步
you set array position 0 to 65
第2步
you test bit 7 of array position 65
这不可能做你想的那样