0

我想向我的 winforms 应用程序重复发送 Windows 消息。现在,我有一个实现“IMessageFilter”的类,它将选定的消息(WM _KEYDOWN、WM _LBUTTONDOWN 等)保存到列表中。

在“暂停/中断”键上,我复制消息列表,清除原始列表,然后重新发送消息。

在我的测试项目中,只有一个表单,一个菜单项,一个选项卡和一个富文本框。在保存和重复消息期间,控件的 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 回答