2010-01-05 94 views
2

早些时候,我向automate processing of a file in InfoPath询问了一个关于命令行参数的问题。我可能会得到那个Tumbleweed徽章。以编程方式通过其UI访问应用程序

而不是通过命令行试图批量解决方案,有人可以建议一个很好的资源来开发一个解决方案,将打开一个应用程序,然后通过应用程序的用户界面执行操作,如打开文件,打印和关闭文件?

我曾经见过一个遗留应用程序在过去将它打开Attachmate并通过Attachmate的接口执行I/O操作 - 但我从未看过代码。

一个限制是该过程将从现有的.NET解决方案(即处理10,000个文件)开始。我也无法依靠像Excel中那样的传统Office宏 - InfoPath似乎不支持它们。

+2

决不它的工作,但InfoPath中应该有一个COM接口的Word/Excel中/ Outlook和Office套件的其余部分做了同样的方式。这可能是一个选择。 – 2010-01-05 16:44:03

+0

是的,使用COM接口也是一个选项。我在其他问题中发布了一个示例(http://stackoverflow.com/questions/2006519/automated-conversion-of-infopath-forms-to-pdf/2007797#2007797)。对不起,对你没有风声;-) – 2010-01-05 17:25:01

回答

3

自动化基于GUI的应用程序的一种选择是使用AutoIT。它将允许您编写单击菜单界面,使用对话框等操作所需的操作。

根据您的需要,您可以在开发机器上创建AutoIT脚本,将其编译为标准EXE,然后使用.NET项目的已编译构件进行部署。要将数据传递给它,要么有AutoIT脚本获取命令行参数,要么将.NET解决方案写入包含所有输入文件参数的文件,并在文件中读取AutoIT脚本以处理它。根据你在问题中的数字,我会选择写入一个文件。

+0

AutoIT,以前称为AutoHotKey(对吧?)是一个不错的解决方案,+1! – 2010-01-05 16:49:28

+1

@Carl:AutoIT和AutoHotKey是两种完全不同的产品,可以处理类似的事情。 AutoIT的设计更适用于应用程序的完全自动化,无需用户执行任何操作(或在其中创建完整的应用程序)。 AutoHotKey通过键盘快捷键设计更多用户启动的自动化。 – 2010-01-05 16:53:48

+0

我现在正在查看此解决方案 - 看起来非常有前途。 – Mayo 2010-01-05 16:59:50

0

Attachmate有一个脚本语言,一个API和各种其他的东西来帮助实现自动化。所以这可能不是典型的应用。

另一方面,Attachmate产品(IMO)极端可怕,我将竭尽全力避免与他们合作。

相关问题