用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之正规地说一句话
Sep 28 Python
Python实现115网盘自动下载的方法
Sep 30 Python
Python实时获取cmd的输出
Dec 13 Python
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
Jan 20 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
Jul 20 Python
Python实现的概率分布运算操作示例
Aug 14 Python
使用Python写一个小游戏
Apr 02 Python
Python函数返回不定数量的值方法
Jan 22 Python
python3实现zabbix告警推送钉钉的示例
Feb 20 Python
python字符串替换第一个字符串的方法
Jun 26 Python
Python 实现加密过的PDF文件转WORD格式
Feb 04 Python
python中 _、__、__xx__()区别及使用场景
Jun 30 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
php实现的一个简单json rpc框架实例
2015/03/30 PHP
深入浅析Yii admin的权限控制
2016/08/31 PHP
PHP的微信支付接口使用方法讲解
2019/03/08 PHP
使用jquery给input和textarea设定ie中的focus
2008/05/29 Javascript
IE图片缓存document.execCommand(&quot;BackgroundImageCache&quot;,false,true)
2011/03/01 Javascript
简单谈谈javascript代码复用模式
2015/01/28 Javascript
Vue.js绑定HTML class数组语法错误的原因分析
2016/10/19 Javascript
JavaScript设计模式之单例模式详解
2017/06/09 Javascript
JavaScript中严格判断NaN的方法
2018/02/16 Javascript
vue实现弹框遮罩点击其他区域弹框关闭及v-if与v-show的区别介绍
2018/09/29 Javascript
详解Node.js读写中文内容文件操作
2018/10/10 Javascript
浅析Proxy可以优化vue的数据监听机制问题及实现思路
2018/11/29 Javascript
JointJS流程图的绘制方法
2018/12/03 Javascript
微信小程序云开发之模拟后台增删改查
2019/05/16 Javascript
解决antd的Form组件setFieldsValue的警告问题
2020/10/29 Javascript
Python全局变量操作详解
2015/04/14 Python
Python创建模块及模块导入的方法
2015/05/27 Python
简述:我为什么选择Python而不是Matlab和R语言
2017/11/14 Python
PyQt5下拉式复选框QComboCheckBox的实例
2019/06/25 Python
Python 没有main函数的原因
2020/07/10 Python
python基于socket模拟实现ssh远程执行命令
2020/12/05 Python
html5拖曳操作 HTML5实现网页元素的拖放操作
2013/01/02 HTML / CSS
结构工程个人自荐信范文
2013/11/30 职场文书
化学教学随笔感言
2014/02/19 职场文书
关于建议书的格式范文
2014/05/20 职场文书
节能标语大全
2014/06/21 职场文书
幸福家庭标语
2014/06/27 职场文书
国际贸易系求职信
2014/08/09 职场文书
销售人员工作自我评价
2014/09/21 职场文书
税务干部个人整改措施思想汇报
2014/10/10 职场文书
傅雷家书读书笔记
2015/06/29 职场文书
朋友聚会祝酒词
2015/08/10 职场文书
学校2016年九九重阳节活动总结
2016/04/01 职场文书
公司要求试用期员工提交“述职报告”,该怎么写?
2019/07/17 职场文书
OpenCV-Python模板匹配人眼的实例
2021/06/08 Python
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技