1

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

4

0 回答 0