用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实现监控windows服务并自动启动服务示例
Apr 17 Python
Python的Bottle框架中获取制定cookie的教程
Apr 24 Python
Python实现的微信公众号群发图片与文本消息功能实例详解
Jun 30 Python
python中的set实现不重复的排序原理
Jan 24 Python
pygame游戏之旅 添加键盘按键的方法
Nov 20 Python
python3.6使用urllib完成下载的实例
Dec 19 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
Jul 12 Python
TensorFlow实现简单的CNN的方法
Jul 18 Python
Python实现决策树并且使用Graphviz可视化的例子
Aug 09 Python
python 用户交互输入input的4种用法详解
Sep 24 Python
pycharm激活码快速激活及使用步骤
Mar 12 Python
python状态机transitions库详解
Jun 02 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读取和编写XML DOM的实现代码
2011/02/03 PHP
windows7下php开发环境搭建图文教程
2015/01/06 PHP
Yii2 rbac权限控制操作步骤实例教程
2016/04/29 PHP
javascript解决innerText浏览器兼容问题思路代码
2013/05/17 Javascript
alert中断settimeout计时功能
2013/07/26 Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
2014/04/23 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
深入浅出分析javaScript中this用法
2015/05/09 Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
2015/10/16 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
2015/10/23 Javascript
JS创建事件的三种方法(实例代码)
2016/05/12 Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
2017/03/27 Javascript
jQuery动态添加li标签并添加属性和绑定事件方法
2018/02/24 jQuery
vue-baidu-map 进入页面自动定位的解决方案(推荐)
2018/04/28 Javascript
NodeJs搭建本地服务器之使用手机访问的实例讲解
2018/05/12 NodeJs
详解vue-cli+element-ui树形表格(多级表格折腾小计)
2019/04/17 Javascript
webpack4 optimization使用总结
2019/11/10 Javascript
JS实现排行榜文字向上滚动轮播效果
2019/11/26 Javascript
javascript实现拖拽碰撞检测
2020/03/12 Javascript
Python 列表(List)操作方法详解
2014/03/11 Python
如何搜索查找并解决Django相关的问题
2014/06/30 Python
python实现删除文件与目录的方法
2014/11/10 Python
Python实现针对给定单链表删除指定节点的方法
2018/04/12 Python
python版百度语音识别功能
2019/07/09 Python
Python 堆叠柱状图绘制方法
2019/07/29 Python
python找出列表中大于某个阈值的数据段示例
2019/11/24 Python
Python 脚本的三种执行方式小结
2019/12/21 Python
python安装和pycharm环境搭建设置方法
2020/05/27 Python
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
OnePlus加拿大官网:中国国际化手机品牌
2020/10/13 全球购物
求职信写作要突出重点
2014/01/01 职场文书
2014年班主任自我评价范文
2014/04/23 职场文书
书香家庭事迹材料
2014/05/09 职场文书
文秘专业应届生求职信
2014/05/26 职场文书
药店收银员岗位职责
2015/04/07 职场文书
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
2021/04/04 Servers