ショートカットキーやホットキー、それからゲーム操作のカスタマイズ時にキー名を表示する事があると思いますが、キーコードからキー名を取得する方法をご紹介。
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キー等一部のキー名の取得がうまく行っていませんでした。
海外のサイトに解決策が載っていたので、そこから一部拝借してみました。
たぶんこれで良いと思います。