用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使用random和tertools模块解一些经典概率问题
Jan 28 Python
Python中的元类编程入门指引
Apr 15 Python
简单介绍Python中的floor()方法
May 15 Python
深入解析Python编程中super关键字的用法
Jun 24 Python
python3调用R的示例代码
Feb 23 Python
pandas中apply和transform方法的性能比较及区别介绍
Oct 30 Python
详解python中__name__的意义以及作用
Aug 07 Python
Python任务调度模块APScheduler使用
Apr 15 Python
Python用户自定义异常的实现
Dec 25 Python
python实现马丁策略的实例详解
Jan 15 Python
Django框架之路由用法
Jun 10 Python
LyScript实现绕过反调试保护的示例详解
Aug 14 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变量存储的详解
2013/06/13 PHP
php5.2 Json不能正确处理中文、GB编码的解决方法
2014/03/28 PHP
smarty自定义函数htmlcheckboxes用法实例
2015/01/22 PHP
php利用反射实现插件机制的方法
2015/03/14 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
2015/11/16 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
2016/07/06 PHP
js indexOf()定义和用法
2012/10/21 Javascript
兼容IE和FF的图片上传前预览js代码
2013/05/28 Javascript
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
javascript数组去重方法终极总结
2014/06/05 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
node.js中的fs.rmdirSync方法使用说明
2014/12/16 Javascript
HTML5之WebSocket入门3 -通信模型socket.io
2015/08/21 Javascript
用director.js实现前端路由使用实例
2017/01/27 Javascript
vue打包使用Nginx代理解决跨域问题
2018/08/27 Javascript
React 项目迁移 Webpack Babel7的实现
2018/09/12 Javascript
跨域请求两种方法 jsonp和cors的实现
2018/11/11 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
jQuery冲突问题解决方法
2021/01/19 jQuery
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
2016/11/16 Python
Python 从attribute到property详解
2020/03/05 Python
详解Pycharm与anaconda安装配置指南
2020/08/25 Python
PyTorch中clone()、detach()及相关扩展详解
2020/12/09 Python
浅谈HTML5中dialog元素尝鲜
2018/10/15 HTML / CSS
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
美国婚礼装饰和活动用品批发供应商:Event Decor Direct
2018/10/12 全球购物
GOLFINO英国官网:高尔夫服装
2020/04/11 全球购物
医学毕业生自我鉴定
2013/10/30 职场文书
运动会致辞稿50字
2014/02/04 职场文书
网络工程专业自荐信范文
2014/03/16 职场文书
投资合作协议书
2014/04/17 职场文书
民主评议党员总结
2014/10/20 职场文书
任命书怎么写
2015/03/02 职场文书
2015年结对帮扶工作总结
2015/05/04 职场文书
2016暑期校本培训心得体会
2016/01/08 职场文书
Python 流媒体播放器的实现(基于VLC)
2021/04/28 Python