2009-09-01 1 views
0

文字を対応するハードウェアスキャンコード(仮想キーコードではない)に変換する方法はありますか?私は古代のハードウェアデバイスと通信する必要があります。win32のハードウェアスキャンコードをハードウェアスキャンコードに変換する方法

+0

どの古代のハードウェアデバイスですか? – pavium

+0

古い手作りの組み込みシステム。それは生のキーボードスキャンコードを受け取ります。私はそれを制御するためにC#アプリケーションを作った。私はそれに送られたデータを読み込みたい。 –

答えて

1

VKコードからスキャンコードに変換するMapVirtualKeyまたはMapVirtualKeyExを使用するのが最も直接的な方法と思われます。

Vkスキャンコードへの文字は、VkKeyScan(MSの文書に従ってVKコードを含む下位バイトを抽出)を使用して取得できます。だから、 'X'のスキャンコードを取得する:

UINT VKCode=LOBYTE(VkKeyScan('X')); 
UINT ScanCode=MapVirtualKey(VKCode,0); 
+2

より完全な答えは、キーをvirtualkeycodeに変換するためにVkKeyScanを使用し、次にMapVirtualKeyを使ってそれをスキャンコードに変換することです –

+0

この改善を反映するように私のコードを変更しました - ありがとうElazar – Elemental

+0

実際にこれを実際に試してみました。 MSのドキュメントを読み直した後、上記のソリューションコードにLOBYTEを追加しました – Elemental

関連する問題