私は現在、あるアプリケーション用のプラグインを作成していますが、それは WM_MBUTTONDOWN メッセージを処理しないため、WNDPROC をフックすることにしましたが、別のプラグインもそれをフックしてこのメッセージを処理しているようです (アプリケーションはプラグインをアルファベット順にロードするため、 WNDPROC を最後にフックしない可能性があり、その結果、他のプラグインが最初にメッセージを処理することになります)。これは、WNDPROC をフックしてそれらのメッセージを取得できるようにする最後の 1 人になる必要があることを意味します。
では、プロシージャを最後にフックする信頼できる (アルファベット順などに依存しない) 方法はありますか?
編集: フックは、ウィンドウの DWL_WNDPROC プロパティを、SetWindowLong 関数を使用してアドレス フック プロシージャに変更することによって行われます。元の DWL_WNDPROC は、CallWindowProc を使用してフック プロシージャから呼び出されます。これを明確にせずに申し訳ありません!
ありがとう、トゥントゥニ。