如何使pywinauto在后台工作?

时间:2019-01-25 09:27:49

标签: python pywinauto

我想在后台使用pywinauto以避免干扰我的工作。

自动化开始时,我需要停止所有工作。

如何使pywinauto在后台静默运行?

2 个答案:

答案 0 :(得分:1)

并非总是能够使所有内容保持安静。有些方法不需要真正的点击,但是无论如何您都必须重新编写脚本。

click_input和派生方法只能与聚焦窗口以及type_keys方法一起使用。某些其他方法可能取决于应用程序侧的实现,从而使窗口成为焦点(尤其是对于“ uia”后端)。

一个可能的解决方案是使用虚拟机或远程机,但是您必须将脚本复制到此VM并在那里准备Python环境。如需进一步的指导,我建议阅读pywinauto's Remote Execution Guide

几年前,backend="win32"的良好背景脚本示例已发布在StackOverflow上(Notepad ++自动化)。只需将其与pywinauto == 0.6.5对齐即可: https://stackoverflow.com/a/32847266/3648361

答案 1 :(得分:0)

我认为type_keys()需要为地面设置目标窗口。 send_keystrokes()保留目标窗口背景。 尚未测试鼠标单击,仅适用于键盘输入。 使用python3.7的window10

from pywinauto import Application
app = Application(backend="win32").connect(process=12345)
form = app.window(title_re="windowtitle")
for i in range(0,10):
    form.send_keystrokes(str(i))
    time.sleep(0.5)
    form.send_keystrokes('{ENTER}')