pip install --upgrade pywinauto
目录
P1 自动化的切入点
-
确定应用程序的可访问技术
- Win32 API (backend = "win32") - 默认的backend
- MFC,VB6,VCL,简单的WinFOrms空间和大多数旧的应用程序
- MS UI Automation API(backend = "uia")
- WinForms,WPF,Store apps,Qt5,浏览器
- Win32 API (backend = "win32") - 默认的backend
-
启动应用程序
- Application:作用范围是一个进程。
- Desktop:作用范围可以跨程序。
P2 程序检查辅助工具
- Inspect.exe(C:\Program Files\Windows Kits\10\bin\x64)
- spy++.exe:能显示程序所有控件,即适合使用win32的backend。
- ViewWizard:(窗口信息查看精灵)
- Aibote Windows Tool:纯代码RPA办公自动化框架,支持Android、Browser和Windows 三大平台。
P3 打开指定程序
打开记事本
from pywinauto.application import Application
app = Application(bacckend = "uia").start("notpad.exe")
打开任意的windows程序
from pywinauto.application import Application
app = Application(bacckend = "后端类型").start("程序位置路径") //.strat(r"程序位置路径")
P4 连接已经打开的程序
-
通过进程号去进行连接
- 任务管理器 详细信息 PID
-
通过窗口句柄进行连接
- ViewWizard(窗口信息查看精灵)
from pywinauto.application import Application
app = Application("uia").connect(process = 4444) // 进程号
app = Application("uia").connect(handle = 1904040) // 窗口句柄
print(app) // 检测
P5 选择应用程序的窗口
- 根据窗口标题或类名选择
- dlg = app[窗口类名/标题]
- 根据窗口类名选择窗口
- dlg = app.窗口类名
from pywinauto.application import Application
app = Application(bacckend = "uia").start("notpad.exe") //打开程序
dlg = app["窗口类名/标题"] //方式一.选择窗口
dlg = app.窗口类名 //方式二.适合英文软件
dlg.print_control_identifiers() //打印窗口中所有的控件,检测是否选择窗口成功
P6 应用程序的窗口操作方法
from pywinauto.application import Application
app = Application(bacckend = "uia").start("notpad.exe") //打开程序
dlg = app["notepad"] //选择窗口
dlg = maximize() //窗口最大化
dlg = minimize() //窗口最小化
dlg = res

最低0.47元/天 解锁文章
4916

被折叠的 条评论
为什么被折叠?



