提升另一个应用程序的Button_Click()事件

时间:2013-02-19 16:04:53

标签: .net windows events cross-process

这对我来说听起来不可信,但我以为我会问。

存在一个带有按钮的.NET应用程序。我无法编辑此应用程序源,它是一个预先存在的应用程序。

我希望从我的应用程序中以编程方式提升该按钮的click事件。

这可能吗?

2 个答案:

答案 0 :(得分:0)

需要运行该进程才能执行事件,例如单击按钮。此时,您可以选择如何引发按钮单击事件。

一种方法是IPC(进程间通信),在两个程序之间使用套接字或管道。如果您更喜欢该选项,也可以使用共享内存。

您基本上必须让应用程序使用按钮监听套接字或管道以发送请求。收到后,它可以从那里调用自己的按钮点击事件。

关键是两个进程必须正在运行,你必须以某种方式向另一个进程发送一个信号,告诉它启动它的按钮点击事件。

答案 1 :(得分:0)

Mmmmmaybe ..

有一次,有一个名为spy ++的应用程序。它允许您检查窗口并查看属性,对象名称等。

间谍++已被移植到.net(参见[此处输入链接描述] [1]

[1]:http://msdn.microsoft.com/en-us/magazine/cc163617.aspx)。你可以去吧。

如果您使用“其他ControlProxy方法”部分,则说明:

  

“还有一些值得一看的其他方法   的ControlProxy。调用SendMessage方法发送窗口消息   控制。如果要创建测试工具,这非常有用。对于   例如,您可以发送WM_CLICK或WM_KEYDOWN消息进行模拟   输入”。

当然,这不是一种优雅而稳定的方法:)