delphi - 有哪些解决方案可用于自动执行按键和输入递增文件名?

标签 delphi shell scripting ui-automation

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

这些图像是由用 Java 编写的工具生成的。无法访问此工具的源代码。此外,该工具是用源自 Unix 世界的 GUI 风格编写的。这意味着该工具不一定能够识别普通的 Windows 快捷方式(例如,Alt-F 用于文件菜单;某些按钮没有快捷方式;等等)。该工具提供两个窗口 - 一个控制窗口和一个图像窗口。

我需要执行以下操作来获取图像:

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

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

重复步骤是:

  1. 按图像窗口中的按钮生成图像
  2. 在出现的对话框中输入文件名。该文件名需要具有适用于序列的根以及特定于图像的唯一递增数字(字符串形式的 5 位数字)。
  3. 按控制窗口中的按钮可前进日志文件

最后一个变化 - 确定序列结束的唯一方法是该工具通过禁用控制窗口上的按钮来指示日志文件的结尾。没有其他可用的 EOF 指示。

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

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

什么方法和/或工具将使我能够自动执行此任务。作为一名独立开发人员,我更喜欢免费或廉价的工具。

最佳答案

<强> AutoHotkey 是一个功能强大的工具,可以满足您的需求。

关于delphi - 有哪些解决方案可用于自动执行按键和输入递增文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6541743/

相关文章:

delphi - 从 Delphi 2010 IDE 打印格式化源代码

shell - 如何提前知道apt-get要安装的某个包的版本?

linux - bash 脚本中的 IFS

shell - 从 shell 脚本到 cshell 脚本的语法变化是什么?

linux - 用于选择单词中特定字母并打印该单词的 Shell 脚本忽略 linux 中的其他字母

delphi - 自动生成和自动递增内部版本号有什么区别?

delphi - 我应该害怕使用 UDP 进行客户端/服务器广播通话吗?

delphi - 如何抑制加载 Delphi 包时出现入口点未找到错误?

linux - 如何使用 parted 编写自动任务脚本(更新 gpt 表)

bash - 正确对齐列的 Shell 脚本