用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 实现数组list 添加、修改、删除的方法
Apr 04 Python
总结Python图形用户界面和游戏开发知识点
May 22 Python
解决Django中调用keras的模型出现的问题
Aug 07 Python
Python Web框架之Django框架cookie和session用法分析
Aug 16 Python
numpy.random.shuffle打乱顺序函数的实现
Sep 10 Python
Python自动化完成tb喵币任务的操作方法
Oct 30 Python
Python中低维数组填充高维数组的实现
Dec 02 Python
python实现一次性封装多条sql语句(begin end)
Jun 06 Python
浅谈Python中的模块
Jun 10 Python
python导入库的具体方法
Jun 18 Python
详解Django中异步任务之django-celery
Nov 05 Python
Python爬虫新手入门之初学lxml库
Dec 20 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 文件状态缓存带来的问题
2008/12/14 PHP
ThinkPHP采用模块和操作分析
2011/04/18 PHP
php中使用addslashes函数报错问题的解决方法
2013/02/06 PHP
php按百分比生成缩略图的代码分享
2014/05/10 PHP
PHP sleep()函数, usleep()函数
2016/08/25 PHP
PHP新特性之字节码缓存和内置服务器
2017/08/11 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
PHP array_reduce()函数的应用解析
2018/10/28 PHP
jquery下jstree简单应用 - v1.0
2011/04/14 Javascript
分享33个jQuery与CSS3实现的绚丽鼠标悬停效果
2014/12/15 Javascript
jquery实现对联广告的方法
2015/02/05 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
2015/10/31 Javascript
JS实现网页上随滚动条滚动的层效果代码
2015/11/04 Javascript
jQuery实现滚动鼠标放大缩小图片的方法(附demo源码下载)
2016/03/05 Javascript
详解springmvc 接收json对象的两种方式
2016/12/06 Javascript
js设置文字颜色的方法示例
2016/12/30 Javascript
JavaScript中in和hasOwnProperty区别详解
2017/08/04 Javascript
使用layui+ajax实现简单的菜单权限管理及排序的方法
2019/09/10 Javascript
如何利用node.js开发一个生成逐帧动画的小工具
2019/12/01 Javascript
[01:18:43]2014 DOTA2华西杯精英邀请赛5 24 iG VS DK
2014/05/25 DOTA
CentOS中使用virtualenv搭建python3环境
2015/06/08 Python
使用python实现个性化词云的方法
2017/06/16 Python
Python 实现使用dict 创建二维数据、DataFrame
2018/04/13 Python
对Python 除法负数取商的取整方式详解
2018/12/12 Python
python3实现字符串操作的实例代码
2019/04/16 Python
Python3安装模块报错Microsoft Visual C++ 14.0 is required的解决方法
2020/07/28 Python
浅谈cookie和localStorage那些事
2019/08/27 HTML / CSS
美国家具网站:Cymax
2016/09/17 全球购物
环境科学毕业生自荐信
2013/11/21 职场文书
市场专员岗位职责
2014/02/14 职场文书
5s推行计划书
2014/05/06 职场文书
销售口号大全
2014/06/11 职场文书
2015大学生求职信范文
2015/03/20 职场文书
纪录片信仰观后感
2015/06/08 职场文书
盲山观后感
2015/06/11 职场文书
浅谈MySQL表空间回收的正确姿势
2021/10/05 MySQL