Windows メッセージを winforms アプリケーションに繰り返し送信したい。これで、選択したメッセージ (WM _KEYDOWN、WM _LBUTTONDOWN など) をリストに保存する「IMessageFilter」を実装するクラスができました。
キー「一時停止/ブレーク」で、メッセージのリストをコピーし、元のリストをクリアして、メッセージを再送信します。
私のテスト プロジェクトでは、1 つの menuitem、1 つのタブ、および 1 つの richtextbox を持つ 1 つのフォームのみです。コントロールの hWnd は、メッセージの保存時と繰り返し時に同じです。
すべて正常に動作しますが、メッセージの送信には効果がありません :/.
サンプルコード:
[System.Runtime.InteropServices.DllImport( "user32" )]
public static extern int SendMessage( IntPtr hwnd, int msg, IntPtr wparam, IntPtr lparam );
// ... in some method ...
SendMessage( msg.HWnd, msg.Msg, msg.WParam, msg.LParam );
簡単すぎるように見えますが、どこに問題があるのか わかりません。