Unicode /俄文字符和Win32 api [C ++]

时间:2010-11-13 14:53:14

标签: c++ unicode winapi

我试图用 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
...

1 个答案:

答案 0 :(得分:2)

GetAsyncKeyState()允许您检查虚拟键。在Windows通过TranslateMessage()处理WM_KEYDOWN消息之前,虚拟键不会成为俄语字形,并根据当前键盘布局将该消息转换为WM_CHAR。

使用VkKeyScanEx()可以将字形映射回虚拟键。如果字形是由死键生成的,则会迅速变得非常复杂。换句话说,需要多次击键。不知道俄语键盘布局是什么样的,ymmv。