gpt4 book ai didi

python - 用于自动化 Windows 应用程序的工具(最好是在 Python 中)?

转载 作者:可可西里 更新时间:2023-11-01 13:54:17 28 4
gpt4 key购买 nike

我有一个执行关键业务功能的遗留 Windows 应用程序。它没有 API 或对自动化的官方支持。该程序需要人工执行一系列操作,以便将特定输入格式的文件转换为 PDF,我们可以从中抓取内容,然后正常处理数据。

如果没有该软件执行的一些计算/报告,业务实际上无法运作,但不幸的是,人们对这些计算知之甚少,而且我们没有足够的研发预算来重新实现该软件。

该软件以专有文件格式读取并生成大量行业认可格式的 PDF 报告,我们可以从中抓取图像并以更传统的方式处理它们。

有人建议我们将应用程序封装在某种 API 中,我可以在其中将一些输入数据提交到队列中,然后在其中的某个深处,我们将软件自动化,就好像人类用户正在驱动它执行一样操作。

不幸的是,操作很复杂并且取决于大量输入,以及正在处理的文件的内容。这不是我们可以用简单的宏来做的事情——需要一些逻辑来模拟受过训练的人类运算符(operator)的行为。

那么有什么解决办法吗?我们希望能够尽快驱动软件,并且由于我们有许多 Python 开发人员,所以尽可能多地用 Python 实现是有意义的。该系统的外层也将使用 Python,这样可以降低复杂性。是否有任何工具已经提供了大部分此类行为?

最佳答案

使应用程序自动化的最简单方法是向其发送击键。如果您可以仅通过击键来驱动目标应用程序,那么操作它就变得易于管理,而无需与屏幕分辨率、大字体和鼠标位置作斗争。 [1]

较难的部分是识别应用程序的显示状态。理想情况下,您可以使用 Python [2] 读取控件的内容,以至少检测错误情况并将程序重置为已知的良好状态。如果通过常规导航重置程序失败,可以考虑杀掉目标进程并重启进程。

[1] How to send simulated keyboard strokes to the active window using SendKeys

[2] Problem when getting the content of a listbox with python and ctypes on win32

关于python - 用于自动化 Windows 应用程序的工具(最好是在 Python 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52832504/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com