ショートカットキーやホットキー、それからゲーム操作のカスタマイズ時にキー名を表示する事があると思いますが、キーコードからキー名を取得する方法をご紹介。

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キー等一部のキー名の取得がうまく行っていませんでした。
海外のサイトに解決策が載っていたので、そこから一部拝借してみました。
たぶんこれで良いと思います。




記事検索

アーカイブ