我一直在尝试获取给定键码的unicode字符,但我无法弄清楚为什么我必须提供这么多参数。来自MSDN:
int WINAPI ToUnicode(
_In_ UINT wVirtKey,
_In_ UINT wScanCode,
_In_opt_ const BYTE *lpKeyState,
_Out_ LPWSTR pwszBuff,
_In_ int cchBuff,
_In_ UINT wFlags
);
我有一个VirtualKeycode可以使用,但为什么我还需要给它一个扫描码呢?如果您还需要键盘上的扫描码,那么拥有virtualKeycode有什么意义呢?
到目前为止我尝试过:
const unsigned int BUFFER_LENGTH = 3;
WCHAR string[BUFFER_LENGTH];
const BYTE* keyboard = new BYTE[256];
unsigned int x = 0x50; //P virtualkeycode
ToUnicode(x,0,keyboard,string,1,0)
ToUnicode返回0,表示无法转换为Unicode。