有哪些解决方案可用于自动化键盘和输入递增文件名?

时间:2011-06-30 22:17:40

标签: delphi shell scripting ui-automation

我正在组装图像序列,每个序列由1-5K png图像组成。然后对每个序列进行大量图像处理。这些操作对于每个图像是相同的,但是可能在序列与序列之间略有不同。我希望自动完成整个操作。我可以使用我拥有的工具(PaintShop Photo Pro,IrfanView32等)自动完成所有图像处理。我遇到的问题是自动完成第一步 - 最初组装图像。

图像是用Java编写的工具生成的。无法访问此工具的来源。此外,该工具是在Unix世界中派生的GUI样式中编写的。这样做的含义是该工具不一定能识别正常的Windows快捷方式(例如文件菜单的Alt-F;某些按钮没有快捷方式;等等)。该工具提供了两个窗口 - 控制窗口和图像窗口。

我需要执行的动作序列如下:

初始步骤(无需自动化)。

  1. 运行工具
  2. 从控制窗口加载初始化文件
  3. 使用图像窗口以所需的放大率全屏设置图像
  4. 从控制窗口加载日志文件(工具外部不可用的格式)
  5. 重复的步骤是:

    1. 按图像窗口中的按钮生成图像
    2. 在结果对话框中输入文件名。此文件名需要具有适用于序列的根以及特定于图像的唯一递增数字(字符串形式的5位数字)。
    3. 按控制窗口中的按钮以推进日志文件
    4. 最后一个转折 - 确定序列结束的唯一方法是该工具通过禁用控制窗口上的按钮来指示日志文件的结束。没有其他迹象表明EOF随时可用。

      我的第一个想法是使用微软的Powershell,但我对该工具的有限理解表明Unix / Windows / GUI不兼容以及缺乏java对象的可用性,排除了这种方法。

      我的环境是Windows 7 Ultimate 64;我可以使用的开发工具是Delphi XE,2006,7;安装了许多其他语言(Java,Python,Haskell)。

      哪些方法和/或工具可以让我自动执行此任务。作为唯一的开发人员,我更喜欢免费或廉价的工具。

1 个答案:

答案 0 :(得分:2)

AutoHotkey 是一款功能强大的工具,可满足您的需求。