要用python实现Windows窗口程序的自动化操作,可以用ctypes调用windowsapi来实现,还可以用pywin32+pywinauto来实现,后者是别人造的轮子。

pywinauto首页:https://github.com/pywinauto/pywinauto文档:http://pywinauto.readthedocs.io/en/latest/依赖:pywin32

一个例子(HashCalc.exe):打开一个文件,计算它的Hash值

所需环境:

Python ,安装有pywinauto

HashCalc.exe,超强文件‘指纹’校验机

pywinauto 的使用-LMLPHP

spy++:是一个基于 Win32 的实用工具,它提供系统的进程、线程、窗口和窗口消息的图形视图。使用 Spy++ 可以执行下列操作: 显示系统对象(包括进程、线程和窗口)之间关系的图形树。 搜索指定的窗口、线程、进程或消息。 查看选定的窗口、线程、进程或消息的属性。

pywinauto 的使用-LMLPHP

代码:

from pywinauto.application import Application
app= Application().start("F:\HashCalc\HashCalc.exe")#.exe的路径是正确的,修改自己的路径
form = app.window_(title_re=u"HashCalc", class_name="#32770")#
form[u"&;..."].Click()
dlg = app.window_(title_re=u"Find", class_name="#32770")
dlg.Edit.TypeKeys(r"C:\Users\Administrator\Desktop\test.txt")#在桌面上的一篇文章
dlg[u"打开"].Click()
form[u"Calculate"].Click()

执行代码之后,pc自动执行HashCalc程序,找到桌面文件,进行解析。

pywinauto 的使用-LMLPHP

更多函数功能,请查看官方文档。

05-28 21:51