用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实现dnspod自动更新dns解析的方法
Feb 14 Python
python基础教程之数字处理(math)模块详解
Mar 25 Python
qpython3 读取安卓lastpass Cookies
Jun 19 Python
使用Python的Tornado框架实现一个Web端图书展示页面
Jul 11 Python
python读取图片并修改格式与大小的方法
Jul 24 Python
python实现烟花小程序
Jan 30 Python
详解Python 解压缩文件
Apr 09 Python
windows上安装python3教程以及环境变量配置详解
Jul 18 Python
Python bytes string相互转换过程解析
Mar 05 Python
python获取响应某个字段值的3种实现方法
Apr 30 Python
用Python提取PDF表格的方法
Apr 11 Python
十个Python自动化常用操作,即拿即用
May 10 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正则的Unknown Modifier错误解决方法
2010/03/02 PHP
php中将地址生成迅雷快车旋风链接的代码[测试通过]
2011/04/20 PHP
php实现向javascript传递数组的方法
2015/07/27 PHP
繁简字转换功能
2006/07/19 Javascript
Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
2010/06/11 Javascript
解析window.open的使用方法总结
2013/06/19 Javascript
20行代码实现的一个CSS覆盖率测试脚本
2013/07/07 Javascript
JS实现在网页中弹出一个输入框的方法
2015/03/03 Javascript
innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解
2015/03/13 Javascript
JSON字符串和对象之间的转换详解
2015/05/26 Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
2015/07/17 Javascript
详解JavaScript的流程控制语句
2015/11/30 Javascript
浅谈jquery页面初始化的4种方式
2016/11/27 Javascript
利用js给datalist或select动态添加option选项的方法
2018/01/25 Javascript
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
Nodejs使用Mongodb存储与提供后端CRD服务详解
2018/09/04 NodeJs
Fetch超时设置与终止请求详解
2019/05/18 Javascript
js删除指定位置超链接中含有百度与360的标题
2021/01/06 Javascript
跟老齐学Python之不要红头文件(2)
2014/09/28 Python
Python的Django框架中的Context使用
2015/07/15 Python
Centos Python2 升级到Python3的简单实现
2016/06/21 Python
Django Rest framework认证组件详细用法
2019/07/25 Python
如何通过python的fabric包完成代码上传部署
2019/07/29 Python
CSS3 Pie工具推荐--让IE6-8支持一些优秀的CSS3特性
2014/09/02 HTML / CSS
为世界各地的女性设计和生产时尚服装:ROMWE
2016/09/17 全球购物
英国首屈一指的票务公司:See Tickets
2019/05/11 全球购物
东南亚冒险旅行与活动:Adventoro
2019/10/16 全球购物
大学生职业生涯规划范文
2014/01/22 职场文书
社区工作者演讲稿
2014/05/23 职场文书
2014年社区工会工作总结
2014/12/18 职场文书
先进党支部事迹材料
2014/12/24 职场文书
创先争优承诺书
2015/01/20 职场文书
2016年春节慰问信息
2015/03/25 职场文书
结婚仪式主持词
2015/06/29 职场文书
2016党员学习心得体会范文
2016/01/23 职场文书
MySQL的索引你了解吗
2022/03/13 MySQL