3

私は単純な音楽プレーヤーを書いています。WM_APPCOMMANDグローバルメッセージ(APPCOMMAND_MEDIA_PLAY、、、...)APPCOMMAND_MEDIA_PAUSEをフックしたい。 これを行う方法を教えてください。どうもありがとうございました!APPCOMMAND_MEDIA_NEXTTRACK

4

1 に答える 1

4

これには、SetWindowsHookEx() によって設定される WH_SHELL フックが必要です。フック コールバックはHSHELL_APPCOMMAND 通知を受け取ります。

このフックには、実行中のすべてのプロセスに挿入できる DLL が必要です。このような DLL を C# のようなマネージ言語で作成することはできません。挿入しようとするプロセスには、CLR が読み込まれません。アンマネージ コードが必要です。C が一般的な選択肢です。 このプロジェクトは、そのような DLL を実現するのに役立つはずです。64 ビット オペレーティング システムではかなり複雑になることに注意してください。32 ビット プロセスと 64 ビット プロセスの両方を挿入できるようにするには、2 つのヘルパー プログラムが必要です。

于 2012-12-30T09:59:39.543 に答える