要用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,超强文件‘指纹’校验机

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

代码:

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程序,找到桌面文件,进行解析。

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

最新文章

  1. The World's Only Advanced Operating System
  2. java.sql.SQLException: 关闭的 Resultset: next
  3. Linux查看redis进程
  4. GDB 和 windbg 命令对照(转载)
  5. CentOS升级MySQL到5.5
  6. AudioManager音频管理器控制手机音频实例
  7. 简述oracle视图
  8. POJ 2823【单调队列】
  9. Matlab---size,length和numel函数的用法
  10. wifi mode: AP,Client,Ad-hoc,802.11s,Pseudo Ad-hoc(ahdemo),Monitor,AP(WDS),Client(WDS)
  11. spring cloud eureka显示ip
  12. Struts2文件上传--多文件上传(插件uploadify)
  13. python 基础部分重点复习整理2
  14. [PHP]获取静态方法调用者的类名和运用call_user_func_array代入对象作用域
  15. GMA Round 1 简单的线性规划
  16. Vue脚手架
  17. Error:Makefile:452: target 'config' given more than once in the same rule
  18. Go Revel - Templates(模板)
  19. Hibernate多对多双向关联需要注意的问题(实例说话)
  20. mongodb二进制安装与yum安装

热门文章

  1. Windows Store 应用获得设备 ID 的几种方案
  2. Swift-表格
  3. .Net CIL
  4. [原创] Debian9上配置Samba
  5. Linux命令之查看内存和CPU消耗命令TOP使用
  6. gitlab安装详解
  7. MVC:控制器名与被调用模型名称发生冲突的解决方案
  8. 验证tensorflow版本是GPU还是CPU
  9. ELF格式文件符号表全解析及readelf命令使用方法
  10. BestCoder Round #89 1002 Fxx and game