用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 smtplib模块发送SSL/TLS安全邮件实例
Apr 08 Python
Python的Flask框架与数据库连接的教程
Apr 20 Python
Python实现股市信息下载的方法
Jun 15 Python
Python 正则表达式入门(初级篇)
Dec 07 Python
Python使用三种方法实现PCA算法
Dec 12 Python
Python解决走迷宫问题算法示例
Jul 27 Python
Python搭建代理IP池实现获取IP的方法
Oct 27 Python
浅谈python 中的 type(), dtype(), astype()的区别
Apr 09 Python
matplotlib jupyter notebook 图像可视化 plt show操作
Apr 24 Python
python实现音乐播放和下载小程序功能
Apr 26 Python
Python数据清洗工具之Numpy的基本操作
Apr 22 Python
Python实现简单的俄罗斯方块游戏
Sep 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
discuz加密解密函数使用方法和中文注释
2014/01/21 PHP
PHP 之 写时复制介绍(Copy On Write)
2014/05/13 PHP
php简单压缩css样式示例
2016/09/22 PHP
yii2实现 &quot;上一篇,下一篇&quot; 功能的代码实例
2017/02/04 PHP
php获取数据库结果集方法(推荐)
2017/06/01 PHP
js的event详解。
2006/09/06 Javascript
jquery load()在firefox(火狐)下显示不正常的解决方法
2011/04/05 Javascript
jQuery Deferred和Promise创建响应式应用程序详细介绍
2013/03/05 Javascript
JS实现QQ图片一闪一闪的效果小例子
2013/07/31 Javascript
JS或jQuery获取ASP.NET服务器控件ID的方法
2015/06/08 Javascript
jquery UI Datepicker时间控件的使用方法(基础版)
2015/11/07 Javascript
javascript从定义到执行 你不知道的那些事
2016/01/04 Javascript
原生js实现class的添加和删除简单代码
2016/07/12 Javascript
Bootstrap中表单控件状态(验证状态)
2016/08/04 Javascript
jQuery实现的简单拖拽功能示例
2016/09/13 Javascript
Angular2实现自定义双向绑定属性
2017/03/22 Javascript
关于jQuery里prev()的简单操作代码
2017/10/27 jQuery
微信小程序wepy框架笔记小结
2018/08/08 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
swiperjs实现导航与tab页的联动
2020/12/13 Javascript
Python语言编写电脑时间自动同步小工具
2013/03/08 Python
对Python3中的input函数详解
2018/04/22 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
2019/02/13 Python
Python的numpy库下的几个小函数的用法(小结)
2019/07/12 Python
python自动化实现登录获取图片验证码功能
2019/11/20 Python
Python进程的通信Queue、Pipe实例分析
2020/03/30 Python
CSS3实现点击放大的动画实例代码
2017/02/27 HTML / CSS
美国高档百货Nordstrom的折扣店:Nordstrom Rack
2017/11/13 全球购物
惊艳的手工时装首饰:Migonne Gavigan
2018/02/23 全球购物
九年级家长会邀请函
2014/01/15 职场文书
小学生美德少年事迹
2014/02/02 职场文书
乔迁之喜主持词
2014/03/27 职场文书
药剂专业自荐信范文
2014/04/16 职场文书
办公室主任个人对照检查材料思想汇报
2014/10/11 职场文书
2015新年寄语(一句话)
2014/12/08 职场文书
2016抗战胜利71周年红领巾广播稿
2015/12/18 职场文书