• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:仮想キーコード、スキャンコードの拾い方)

仮想キーコード、スキャンコードを拾う方法

このQ&Aのポイント
  • Cで、ファンクションキーを含む、キーボードのオン・オフした際の、仮想キーコード、及び、スキャンコードを拾いたいんです。
  • 画面で何を押したか確認できるような簡単なAPを業務の必要にせまられて作りたいのですが、サンプルコードとかどこかに落ちていないでしょうか。
  • 仕様例えば、vf3, vf4, vf5の各キ-を押したとき、以下のスキャンコ-ドと仮想キ-コ-ドを発生する。vf3 : 0x45+E0, VK_NUMLOCK vf4 : 0x46, VK_OEM_SCROLL vf5 : 0x29, VK_DBE_SBCSCHAR/VK_DBE_DBCSCHAR雑誌の付録にあったよ、とか以前こんなの作ったことあるよ、とかどんな小さな情報でも結構です。ご存知の方がいましたらなにとぞよろしくお願いします。m(__)m m(__)m m(__)m

質問者が選んだベストアンサー

  • ベストアンサー
  • alfeim
  • ベストアンサー率58% (114/195)
回答No.1

仮想keyCodeはGetAsyncKeyState()APIを使えば取得可能です。 ScanCodeはMapVirtualKey()APIで出来そうですね。 ただ質問を見るとシステム全体のキーボード入力をトラップしたい様に見受けられます。 フック自体はSetWindowsHookEx()APIで出来ますが、システム全体にフックを掛ける場合、DLLでの実装が必要です。 確かなぜDLLでなければならないかの解説もwebにあったとおもったのですが・・・失念しました(^^; で、サンプルソースですが、webに結構転がってます。キーボードカスタマイズ系アプリケーションでソース公開されているものは大体同様の手法を取っているのでそれを探してくればOKではないかとおもいます。 とりあえずぱっと思い出した所で私が普段使ってるKeymacsというユーティリティのsrcが公開されているようです。確かこれもシステムフックを使っていたはずなので、これを参考にしてみるのはいかがでしょうか?

参考URL:
http://michiko.shiratori.riec.tohoku.ac.jp/~jir/windows/keymacs+/
naru
質問者

お礼

ご回答ありがとうございます!! 半ばあきらめていたのですが、ありがたい情報を いただきました。 連休明けにさっそく挑んでみたいと思います。 感謝いたします。

関連するQ&A