用pywin32实现windows模拟鼠标及键盘动作


Posted in Python onApril 22, 2014

因为要批量用某软件处理一批eps文件,所以要模拟鼠标及键盘动作,使其能够自动化操作。

#-*-coding:utf-8-*-
import os
import time
import win32gui
import win32api
import win32con
from PIL import ImageGrab
#os.startfile("D:\\artcut6\\Prog\\Artcut6.exe")
#time.sleep(1)
wdname1=u"文泰刻绘2009[] - [无标题-1]"
w1hd=win32gui.FindWindow(0,wdname1)
print w1hd
w2hd=win32gui.FindWindowEx(w1hd,None,None,None)
print w2hd
def aotohelper_wt(i):
 #获取窗口焦点
 win32gui.SetForegroundWindow(w2hd)
 #快捷键Alt+F
 win32api.keybd_event(18,0,0,0)      # Alt
 win32api.keybd_event(70,0,0,0)     # F
 win32api.keybd_event(70,0,win32con.KEYEVENTF_KEYUP,0)  #释放按键
 win32api.keybd_event(18,0,win32con.KEYEVENTF_KEYUP,0)
 #快捷键I
 win32api.keybd_event(73,0,0,0)     # I
 win32api.keybd_event(73,0,win32con.KEYEVENTF_KEYUP,0)
 time.sleep(0.2)
 wdname3=u"打开"
 w3hd=win32gui.FindWindow(None,wdname3)  #”打开“ 窗口句柄   
 #print w3hd
 #win32gui.MoveWindow(w3hd, 50, 50, 300, 200, True)
 if i<=9:
  msg="YC-00"+str(i)
 elif 10<=i<=99:
  msg="YC-0"+str(i)
 else:
  msg="YC-"+str(i)
 edithd=win32gui.FindWindowEx(w3hd,None,"Edit",None)
 win32api.SendMessage(edithd,win32con.WM_SETTEXT,None,msg)
 time.sleep(0.1)
 #btnhd=win32gui.FindWindowEx(w3hd,None,"BUTTON",None)
 #print btnhd
 #模拟快捷键Alt+O
 win32api.keybd_event(18,0,0,0)      # Alt
 win32api.keybd_event(79,0,0,0)     # O
 win32api.keybd_event(79,0,win32con.KEYEVENTF_KEYUP,0)  #释放按键
 win32api.keybd_event(18,0,win32con.KEYEVENTF_KEYUP,0)
 time.sleep(0.1)
 #模拟鼠标操作
 win32api.SetCursorPos([30,150])    #为鼠标焦点设定一个位置
 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0,0,0) 
 win32api.SetCursorPos([500,500])
 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0,0,0)
 time.sleep(0.1)
 #模拟快捷键F7(极限观察)
 win32api.keybd_event(118,0,0,0)     # F7
 win32api.keybd_event(118,0,win32con.KEYEVENTF_KEYUP,0)  #释放按键
 time.sleep(0.2)
 #利用PIL截屏
 path="C:\\Users\\LY\\Desktop\\pic\\"
 filename="YC-"+str(i)+".jpg"
 im=ImageGrab.grab()
 im.save(path+filename)
 #模拟快捷键F8(回到原页面大小)
 win32api.keybd_event(119,0,0,0)     # F8
 win32api.keybd_event(119,0,win32con.KEYEVENTF_KEYUP,0)  #释放按键
 #模拟键盘事件delete
 win32api.keybd_event(46,0,0,0)     # Delete
 win32api.keybd_event(46,0,win32con.KEYEVENTF_KEYUP,0)  #释放按键
 time.sleep(1)
for i in range(2,85):
 aotohelper_wt(i)
 print i
print "work done!"
Python 相关文章推荐
Python Deque 模块使用详解
Jul 04 Python
python的变量与赋值详细分析
Nov 08 Python
Python2.7+pytesser实现简单验证码的识别方法
Dec 29 Python
python 多维切片之冒号和三个点的用法介绍
Apr 19 Python
详解python读取image
Apr 03 Python
Pandas删除数据的几种情况(小结)
Jun 21 Python
python 中pyqt5 树节点点击实现多窗口切换问题
Jul 04 Python
python爬虫 爬取58同城上所有城市的租房信息详解
Jul 30 Python
分享PyCharm的几个使用技巧
Nov 10 Python
python psutil监控进程实例
Dec 17 Python
Python搭建Keras CNN模型破解网站验证码的实现
Apr 07 Python
Python读取和写入Excel数据
Apr 20 Python
python实现linux服务器批量修改密码并生成execl
Apr 22 #Python
python中精确输出JSON浮点数的方法
Apr 18 #Python
python中使用OpenCV进行人脸检测的例子
Apr 18 #Python
在python的WEB框架Flask中使用多个配置文件的解决方法
Apr 18 #Python
Python操作json数据的一个简单例子
Apr 17 #Python
python使用ctypes模块调用windowsapi获取系统版本示例
Apr 17 #Python
python调用windows api锁定计算机示例
Apr 17 #Python
You might like
PHP4在WinXP下IIS和Apache2服务器上的安装实例
2006/10/09 PHP
PHP中的一些常用函数收集
2015/05/26 PHP
php文件上传的两种实现方法
2016/04/04 PHP
PHP经典算法集锦【经典收藏】
2016/09/14 PHP
PHP文件操作实例总结
2016/09/27 PHP
PHP中file_put_contents追加和换行的实现方法
2017/04/01 PHP
php readfile()修改文件上传大小设置
2017/08/11 PHP
php写入txt乱码的解决方法
2019/09/17 PHP
IE JS无提示关闭窗口不提示的方法
2010/04/29 Javascript
中文路径导致unitpngfix.js不正常的解决方法
2013/06/26 Javascript
JavaScript动态插入script的基本思路及实现函数
2013/11/11 Javascript
JQuery中serialize()用法实例分析
2015/02/06 Javascript
JavaScript实现多个重叠层点击切换效果的方法
2015/04/24 Javascript
jQuery mobile 移动web(6)
2015/12/20 Javascript
js中使用使用原型(prototype)定义方法的好处详解
2016/07/04 Javascript
聊一聊Vue.js过渡效果
2016/09/07 Javascript
jQuery Mobile和HTML5开发App推广注册页
2016/11/07 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
2017/04/21 jQuery
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
详解JavaScript中的六种错误类型
2017/09/21 Javascript
Angular中管道操作符(|)的使用方法
2017/12/15 Javascript
ant design中upload组件上传大文件,显示进度条进度的实例
2020/10/29 Javascript
python中的字典详细介绍
2014/09/18 Python
Django基础之Model操作步骤(介绍)
2017/05/27 Python
Python实现k-means算法
2018/02/23 Python
python sorted函数的小练习及解答
2019/09/18 Python
Python3 main函数使用sys.argv传入多个参数的实现
2019/12/25 Python
Python 调用有道翻译接口实现翻译
2020/03/02 Python
VSCode配合pipenv搞定虚拟环境的实现方法
2020/05/17 Python
pyqt5 textEdit、lineEdit操作的示例代码
2020/08/12 Python
Myprotein蛋白粉美国官网:欧洲畅销运动营养品牌
2016/11/15 全球购物
100%法国制造的游戏和玩具:Les Jouets Français
2021/03/02 全球购物
个人查摆剖析材料
2014/10/16 职场文书
2015年小学辅导员工作总结
2015/05/27 职场文书
三十年再续同学情倡议书
2019/11/27 职场文书
Python实现批量将文件复制到新的目录中再修改名称
2022/04/12 Python