我一直在尝试获取给定键码的 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。