1

Acer Aspire 5740Gを持っていて、ハードウェアボタンをインターセプトしたいと思います。を使用してC#アプリケーションを作成しSetWindowsHookEx()ました。

たとえば、私が受信VolumeUpVolumeDownたメッセージや音量ボタンの場合、すべて問題ありません。しかし、wifiボタンbluetoothボタンLBUTTONの場合、私はOEMCLEAR(KeyCode255)しか受け取りません。では、どうすればこれら2つを区別できますか?

また、OSの下にあるFnキーのように扱われるため、ボタンにアクセスできない可能性があることも読みました。しかし、OSDメッセージを表示し、Bluetooth/Wi-Fiロゴを表示するLaunchManagerと呼ばれるAcerソフトウェアがあります。したがって、(少なくとも理論的には)これらのボタンをOSレベルで区別できる必要があります。

では、これらのキーをフックする方法は?

4

1 に答える 1

2

ここに関連する質問があります

Windows ドライバーを作成したことがあるかどうかはわかりません。

Windows ドライバーは長い歴史があります。

最新の Windows には、デバイス ドライバーの 2 つのモードがあります。

これら 2 つのボタンの Windows メッセージが同一であることがわかったため、カーネル モード ドライバーによって制御されている可能性があります。

一部のハードウェア シグナルにはWM_メッセージ定義がなく、1 つの同一の Windows メッセージにマッピングされているだけの場合もありますが、カーネル モード ドライバーはそれらを区別できます。たとえば、Kebla bla とIRP_bla bla のようなものはたくさんあります。C/C++、つまりネイティブ コードでしか記述できないものもあります。ドライバーを調べる以外に方法がないかもしれません。

Windows ドライバーに本当に興味がある場合は、Windows Driver Developmentを参照してください。WDK(Windows Driver Kit) は無料でダウンロードできます。

最後に、製造元 (Acer) からのテクニカル サポートがどうしても必要な場合はコメントを残して、連絡を取るかどうかをお知らせください。メールで返信します。

于 2013-02-24T10:25:28.183 に答える