我需要访问没有公共COM或API的.net应用程序。显然,唯一的访问方式是Forms GUI。
基本上,我需要模拟用户填写并提交表单。在这里输入文字,在那里输入其他内容,然后提交。
我们有一个“点击此位置并模拟输入此文本”的机器人类型,但它不能很好地处理该表单的新版本。
是否可以以编程方式与这样的GUI(或应用程序?)进行交互,而不依赖于组件的确切位置?理想情况下,例如:“在地址字段中输入bla-bla-bla并单击”提交“按钮。
答案 0 :(得分:2)
这是一个有趣的问题。虽然我自己没有尝试过这种方法,但我认为应该很可能编写另一个将托管现有应用程序的应用程序。
WinForms表单只是类,字段和按钮只是类,事件(onClick等)处理程序只是方法,您可以从托管应用程序访问和操作(您可能需要借助反射来访问某些私有成员)但那应该不是什么大事。)
<强>更新强>
实际上我认为White可能是一个很好的工具来帮助你完成这项任务。我从来没有使用它,但是入门示例代码看起来很有趣。