我试图用 GetAsyncKeyState() win32 api捕捉俄语字符,但显然除了英语外它似乎不起作用。
任何想法??
CODE:
for(unsigned char c = 1; c < 255; c++){
SHORT rv = GetAsyncKeyState(c);
if(rv & 1){ // on press button down
string out = "";
if(c == 1)
out = "[LMOUSE]"; // mouse left
...
答案 0 :(得分:2)
GetAsyncKeyState()允许您检查虚拟键。在Windows通过TranslateMessage()处理WM_KEYDOWN消息之前,虚拟键不会成为俄语字形,并根据当前键盘布局将该消息转换为WM_CHAR。
使用VkKeyScanEx()可以将字形映射回虚拟键。如果字形是由死键生成的,则会迅速变得非常复杂。换句话说,需要多次击键。不知道俄语键盘布局是什么样的,ymmv。