0

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 );

簡単すぎるように見えますが、どこに問題があるのか​​ わかりません。

4

1 に答える 1

1

メッセージ フィルタをまだ適用していますか? それはメッセージの送信を妨げませんか? 他の可能性としては、問題のメッセージを送信するのではなく、投稿する必要がある可能性があります。または、ターゲット ウィンドウの正しいスレッドからメッセージを送信する必要がある場合があります。

于 2009-06-08T08:23:22.227 に答える