这听起来难以置信,但我只是想问一下。
存在。NET应用程序中有一个按钮。我无法编辑此应用程序源,它是一个预先存在的应用程序。
我希望从我的应用程序中以程序方式引发该按钮的单击事件。
这可能吗?
进程需要运行才能执行事件,例如单击按钮。在这一点上,您有几个关于如何引发按钮单击事件的选项。
一种方法是IPC(进程间通信),在两个程序之间使用套接字或管道。如果您喜欢共享内存,也可以使用该选项。
基本上,您必须让带有按钮的应用程序侦听套接字或管道才能发送请求。一旦收到它,它就可以从那里调用自己的按钮点击事件。
关键是这两个进程必须都在运行,并且您必须以某种方式向另一个进程发送一个信号,告诉它启动按钮单击事件。
嗯。。
从前有一个名为spy++的应用程序。它允许您检查窗口并查看属性、对象名称等。
间谍++已移植到.net(请参阅[此处输入链接描述][1]
[1] :http://msdn.microsoft.com/en-us/magazine/cc163617.aspx)。你可以试一试。
如果你支持"其他控制代理方法"部分,它会指出:
"在ControlProxy。调用SendMessage方法将窗口消息发送到控件。如果要创建测试线束,这将非常有用。对于例如,可以发送WM_CLICK或WM_KEYDOWN消息进行模拟输入"。
当然,这不是一种优雅也不稳定的方法:)