用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函数中return后的语句一定不会执行吗?
Jul 06 Python
python实现简单点对点(p2p)聊天
Sep 13 Python
pandas数据预处理之dataframe的groupby操作方法
Apr 13 Python
Python实现获取邮箱内容并解析的方法示例
Jun 16 Python
详解python运行三种方式
May 13 Python
使用Python做定时任务及时了解互联网动态
May 15 Python
详解10个可以快速用Python进行数据分析的小技巧
Jun 24 Python
PyTorch中的padding(边缘填充)操作方式
Jan 03 Python
使用Python爬虫库requests发送表单数据和JSON数据
Jan 25 Python
在python3中实现查找数组中最接近与某值的元素操作
Feb 29 Python
python excel和yaml文件的读取封装
Jan 12 Python
Pandas自定义选项option设置
Jul 25 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中用PHPMailer来发送邮件的示例(126.com的例子)
2013/06/24 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
2016/09/22 PHP
showModalDialog 和 showModelessDialog
2007/01/22 Javascript
javascript 同时在IE和FireFox获取KeyCode的代码
2010/02/07 Javascript
jQeury淡入淡出需要注意的问题
2010/09/08 Javascript
jquery 插件学习(二)
2012/08/06 Javascript
js点击更换背景颜色或图片的实例代码
2013/06/25 Javascript
把input初始值不写value的具体实现方法
2013/07/04 Javascript
JavaScript数组前面插入元素的方法
2015/04/06 Javascript
JavaScript动态创建div等元素实例讲解
2016/01/06 Javascript
JS中使用DOM来控制HTML元素
2016/07/31 Javascript
jquery将标签元素的高设为屏幕的百分比
2017/04/19 jQuery
AngularJS中的promise用法分析
2017/05/19 Javascript
微信小程序 跳转传递数据的实例
2017/07/06 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
在Vue.js中使用TypeScript的方法
2020/03/19 Javascript
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
js实现微信聊天效果
2020/08/09 Javascript
深入源码解析Python中的对象与类型
2015/12/11 Python
Python 反转字符串(reverse)的方法小结
2018/02/20 Python
python判断数字是否是超级素数幂
2018/09/27 Python
详解Python传入参数的几种方法
2019/05/16 Python
Python通用函数实现数组计算的方法
2019/06/13 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
Python批量启动多线程代码实例
2020/02/18 Python
Python super()函数使用及多重继承
2020/05/06 Python
西海岸男士和男童服装:Johnnie-O
2018/03/15 全球购物
求职简历推荐信范文
2013/12/02 职场文书
在校学生职业规划范文
2014/01/08 职场文书
电子信息工程专业推荐信
2014/02/14 职场文书
担保书格式及范文
2014/04/01 职场文书
本科毕业生求职自荐信
2014/04/09 职场文书
小学三年级学生评语
2014/04/22 职场文书
庆国庆活动总结
2014/08/28 职场文书
合伙购房协议样本
2014/10/06 职场文书
python爬虫之利用selenium模块自动登录CSDN
2021/04/22 Python