用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中的日期时间处理详解
Nov 17 Python
Python基于回溯法子集树模板解决找零问题示例
Sep 11 Python
python监测当前联网状态并连接的实例
Dec 18 Python
Python正则匹配判断手机号是否合法的方法
Dec 09 Python
Python pycharm 同时加载多个项目的方法
Jan 17 Python
Pandas中Series和DataFrame的索引实现
Jun 27 Python
python判断链表是否有环的实例代码
Jan 31 Python
tensorflow实现从.ckpt文件中读取任意变量
May 26 Python
详解pyinstaller生成exe的闪退问题解决方案
Jun 19 Python
python与pycharm有何区别
Jul 01 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
Feb 19 Python
Python接口自动化系列之unittest结合ddt的使用教程详解
Feb 23 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.MVC的模板标签系统(二)
2006/09/05 PHP
PHP中的正规表达式(二)
2006/10/09 PHP
在任意字符集下正常显示网页的方法二(续)
2007/04/01 PHP
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
2014/06/26 PHP
htm调用JS代码
2007/03/15 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
2015/04/12 Javascript
3个可以改善用户体验的AngularJS指令介绍
2015/06/18 Javascript
javascript仿百度输入框提示自动下拉补全
2016/01/07 Javascript
javascript实现数组去重的多种方法
2016/03/14 Javascript
JS判断图片是否加载完成方法汇总(最新版)
2016/05/13 Javascript
【经典源码收藏】基于jQuery的项目常见函数封装集合
2016/06/07 Javascript
axios学习教程全攻略
2017/03/26 Javascript
axios向后台传递数组作为参数的方法
2018/08/11 Javascript
浅谈微信JS-SDK 微信分享接口开发(介绍版)
2018/08/15 Javascript
基于JavaScript canvas绘制贝塞尔曲线
2018/12/25 Javascript
koa+mongoose实现简单增删改查接口的示例代码
2019/05/13 Javascript
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
python实现迭代法求方程组的根过程解析
2019/11/25 Javascript
PHP 502bad gateway原因及解决方案
2020/11/13 Javascript
用ReactJS和Python的Flask框架编写留言板的代码示例
2015/12/19 Python
解决python报错MemoryError的问题
2018/06/26 Python
python获取当前文件路径以及父文件路径的方法
2019/07/10 Python
pygame实现俄罗斯方块游戏(对战篇1)
2019/10/29 Python
Expedia意大利旅游网站:酒店、机票和租车预订
2017/10/30 全球购物
匡威德国官网:Converse德国
2019/01/26 全球购物
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
Java工程师面试集锦之Spring框架
2013/06/16 面试题
AJAX检测用户名是否存在的方法
2021/03/24 Javascript
节能减耗标语
2014/06/21 职场文书
学生党员一帮一活动总结
2014/07/08 职场文书
群众路线四风问题整改措施
2014/09/27 职场文书
绿色校园广播稿
2014/10/13 职场文书
党支部先进事迹材料
2014/12/24 职场文书
毕业生个人总结
2015/02/28 职场文书
小学体育组工作总结
2015/08/13 职场文书
FP-growth算法发现频繁项集——发现频繁项集
2021/06/24 Python