ショートカットキーやホットキー、それからゲーム操作のカスタマイズ時にキー名を表示する事があると思いますが、キーコードからキー名を取得する方法をご紹介。
TCHAR szBuf[128];
UINT nScanCode = MapVirtualKey(btKeyCode, 0);
if (nScanCode) {
switch (btKeyCode) {
case VK_LEFT:
case VK_UP:
case VK_RIGHT:
case VK_DOWN:
case VK_PRIOR:
case VK_NEXT:
case VK_END:
case VK_HOME:
case VK_INSERT:
case VK_DELETE:
case VK_DIVIDE:
case VK_NUMLOCK:
nScanCode |= 0x100;
break;
}
if (GetKeyNameText(nScanCode << 16, szBuf, sizeof(szBuf))) {
// szBufにキー名が入る
}
}
日本のサイトで方法を紹介されているページも有ったのですが、Homeキー等一部のキー名の取得がうまく行っていませんでした。
海外のサイトに解決策が載っていたので、そこから一部拝借してみました。
たぶんこれで良いと思います。







