構造を操作する小さなWIN32CアプリケーションがありKBDLLHOOKSTRUCT
ます。この構造には、押されたキーのVKコードが含まれています。
これをASCII文字に変換しようとしています。このために、私は関数MapVirtualKey
を使用します。これはうまく機能します。
唯一の問題は、1つのVKコードが複数の文字に対応できることです。例:
私のキーボード(スイスドイツ語)にはkey-charがあり.ます。Shift+を押す.と、が作成されます:
。VKコードは同じです。それは問題ありません、そして私はまたShift押されているか、またはCaps Lockアクティブにされているかどうかを確認することができます。
私の唯一の問題は:どうすればchar':'を取得できますか?このような関数が必要です:
GetKeyChar(vkCode, shift)
キーボードの「通常」と「シフト」の値を取得するためにこれが必要です。もちろん、これをハードコーディングすることはできますが、この方法で行うのは好きではありません。