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