如何從虛擬鍵碼獲取關鍵文字?如何從虛擬鍵碼獲取密鑰文本?
KBDLLHOOKSTRUCT * kbhook = (KBDLLHOOKSTRUCT *) lParam;
cout << kbhook->vkCode <<endl;
例如,對於q
虛擬鍵代碼來是81.我要回q
。我怎麼做 ?
Using UnicodeEx我該怎麼辦?
如何從虛擬鍵碼獲取關鍵文字?如何從虛擬鍵碼獲取密鑰文本?
KBDLLHOOKSTRUCT * kbhook = (KBDLLHOOKSTRUCT *) lParam;
cout << kbhook->vkCode <<endl;
例如,對於q
虛擬鍵代碼來是81.我要回q
。我怎麼做 ?
Using UnicodeEx我該怎麼辦?
閱讀ToUnicodeEx documentation,我會用這樣的嘗試:
wchar_t buff[10];
BYTE keyState[256] = {0};
int result = ToUnicodeEx(
kbhook->vkCode,
kbhook->scanCode,
keyState,
buff,
_countof(buff),
0,
NULL);
成功時,buff
應該包含Unicode字符(S)。
我得到[這種類型的輸出](http://i48.tinypic.com/357frky.jpg)for [this](http://i49.tinypic.com/35kkbo6.jpg) – saplingPro
@grassPro:不要向'cout'寫'wchar_t []'。你需要'wcout'作爲'wchar_t []'。 – MSalters
啊..這是一個錯誤!但程序不能區分大寫字母和小寫字母,不能說出特殊字符,不能分辨是否按下了換檔等。有什麼辦法呢? – saplingPro
可能重複的[如何將虛擬鍵碼轉換爲字符碼?](http://stackoverflow.com/questions/2309132/how-to-convert-virtual-key-code-to-character-code) – RedX
答案就在你自己發佈的鏈接中......只需使用'ToUnicodeEx'和谷歌例子來開始。 – RedX