用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 变量类型及命名规则介绍
Jun 08 Python
python执行外部程序的常用方法小结
Mar 21 Python
分析Python编程时利用wxPython来支持多线程的方法
Apr 07 Python
pygame加载中文名mp3文件出现error
Mar 31 Python
一个基于flask的web应用诞生 使用模板引擎和表单插件(2)
Apr 11 Python
Python3之文件读写操作的实例讲解
Jan 23 Python
Python 微信之获取好友昵称并制作wordcloud的实例
Feb 21 Python
Python类的继承、多态及获取对象信息操作详解
Feb 28 Python
python简单鼠标自动点击某区域的实例
Jun 25 Python
python字符串的index和find的区别详解
Jun 20 Python
关于python的缩进规则的知识点详解
Jun 22 Python
在pytorch中动态调整优化器的学习率方式
Jun 24 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
ThinkPHP在新浪SAE平台的部署实例
2014/10/31 PHP
PHP SPL标准库之接口(Interface)详解
2015/05/11 PHP
Jqyery中同等与js中windows.onload的应用
2011/05/10 Javascript
jquery easyui中treegrid用法的简单实例
2014/02/18 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
jQuery实现的多屏图像图层切换效果实例
2015/05/07 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
2016/03/07 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
jQuery事件的绑定、触发、及监听方法简单说明
2016/05/10 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
2016/12/14 Javascript
vue和better-scroll实现列表左右联动效果详解
2019/04/29 Javascript
[04:13]2014DOTA2国际邀请赛 专访DC目前形势不容乐观
2014/07/12 DOTA
[01:33]真香警告!DOTA2勇士令状不朽珍藏Ⅱ饰品欣赏
2018/06/26 DOTA
[01:00:14]DOTA2官方TI8总决赛纪录片 真视界True Sight
2019/01/16 DOTA
Django实现快速分页的方法实例
2017/10/22 Python
numpy中以文本的方式存储以及读取数据方法
2018/06/04 Python
Python实现的爬取网易动态评论操作示例
2018/06/06 Python
利用pandas将numpy数组导出生成excel的实例
2018/06/14 Python
python3.5基于TCP实现文件传输
2020/03/20 Python
Python OpenCV利用笔记本摄像头实现人脸检测
2020/08/20 Python
python统计文章中单词出现次数实例
2020/02/27 Python
CSS3教程(1):什么是CSS3
2009/04/02 HTML / CSS
Mio Skincare法国官网:身体紧致及孕期身体护理
2018/04/04 全球购物
财务经理的岗位职责
2013/12/17 职场文书
幼儿园老师辞职信
2014/01/20 职场文书
狼和鹿教学反思
2014/02/05 职场文书
1亿有多大教学反思
2014/05/01 职场文书
我的中国心演讲稿
2014/09/04 职场文书
意外伤害赔偿协议书范文
2014/09/23 职场文书
文明单位创建材料
2014/12/24 职场文书
开天辟地观后感
2015/06/09 职场文书
解除合同协议书范本
2016/03/21 职场文书
详解JSON.parse和JSON.stringify用法
2022/02/18 Javascript
nginx中封禁ip和允许内网ip访问的实现示例
2022/03/17 Servers