wParam が提供する仮想キー コードを使用しようとしましたが、うまくいきませんでした。
- 複数のキーが同じキー コードにマッピングされている
- 一部のキーがまったく認識されませんでした
- 仮想キーはキーボード レイアウトに適合しているように見えます (これは必要ありません)。
次に、lParam が「拡張」フラグとともにスキャンコードを提供することを確認しました。これは、次のように計算すると、キーボードのすべてのキーに対して異なる値を生成するようです。
value = (lParam & 0x01FF0000) >> 16;
この値は、さまざまなキーボード/システム間であっても、キーボードの同じキーに対して常に同じですか?