用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发送邮件示例(支持中文邮件标题)
Feb 16 Python
python2.7无法使用pip的解决方法(安装easy_install)
Apr 03 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
Apr 28 Python
opencv python 2D直方图的示例代码
Jul 20 Python
Python3实现取图片中特定的像素替换指定的颜色示例
Jan 24 Python
python 通过手机号识别出对应的微信性别(实例代码)
Dec 22 Python
使用keras实现BiLSTM+CNN+CRF文字标记NER
Jun 29 Python
PyTorch实现重写/改写Dataset并载入Dataloader
Jul 14 Python
Python 如何测试文件是否存在
Jul 31 Python
openstack中的rpc远程调用的方法
Jul 09 Python
Python使用华为API为图像设置多个锚点标签
Apr 12 Python
python高温预警数据获取实例
Jul 23 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
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
2011/08/12 PHP
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
2011/09/19 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
2014/02/18 PHP
PHP中的Session对象如何使用
2015/09/25 PHP
php使用curl并发减少后端访问时间的方法分析
2016/05/12 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
2016/09/11 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
2016/10/31 PHP
php apache开启跨域模式过程详解
2019/07/08 PHP
JQuery对checkbox操作 (循环获取)
2011/05/20 Javascript
动态加载jquery库的方法
2014/02/12 Javascript
JavaScript数组去重的五种方法
2015/11/05 Javascript
Spring mvc 接收json对象
2015/12/10 Javascript
JS编写函数实现对身份证号码最后一位的验证功能
2016/12/29 Javascript
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
2017/08/09 jQuery
JavaScript文本特效实例小结【3个示例】
2018/12/22 Javascript
vue中node_modules中第三方模块的修改使用详解
2019/05/31 Javascript
VUE实现移动端列表筛选功能
2019/08/23 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
Vue中keep-alive组件的深入理解
2020/08/23 Javascript
Python读写docx文件的方法
2018/05/08 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
对DJango视图(views)和模版(templates)的使用详解
2019/07/17 Python
django如何自己创建一个中间件
2019/07/24 Python
python图形用户接口实例详解
2019/12/16 Python
删除pycharm鼠标右键快捷键打开项目的操作
2021/01/16 Python
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)
2014/04/14 HTML / CSS
HTML5新增属性data-*和js/jquery之间的交互及注意事项
2017/08/08 HTML / CSS
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
美国最大点评网站:Yelp
2018/02/14 全球购物
劳动竞赛活动方案
2014/02/20 职场文书
教师自我剖析材料范文
2014/09/30 职场文书
离婚财产处理协议书
2014/09/30 职场文书
法务专员岗位职责
2015/02/14 职场文书
食堂卫生管理制度
2015/08/04 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
情况说明书格式及范文
2019/06/24 职场文书