用pywin32实现windows模拟鼠标及键盘动作
发布时间:2023-07-04 21:26:30
因为要批量用某软件处理一批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列表切片操作。分享给大家供大家参考,具体如下:切片指的是列表的一部分。1 基本用法指定第一个元素和最后一个元素的索
- 读写分离,顾名思义,我们可以把读和写两个操作分开,减轻数据的访问压力,解决高并发的问题。那么我们今天就Python两大框架来做这个读写分离的
- SQL Server 2005数据库中增加了XML类型,在创建表的时候可以指定某一列为XML类型,示例如下:CREATE TABL
- Sys.path 指定用于模块搜索路径的字符串列表也可以通过sys模块的append方法在Python环境中增加搜索路径。Sys.path.
- Matplotlib是一个很好的作图软件,但是python下默认不支持中文,所以需要做一些修改,方法如下:1.在python安装目录的Lib
- 一、卷积神经网络的概述卷积神经网络(ConvolutionalNeural Network,CNN)最初是为解决图像识别等问题设计的,CNN
- pandas每次多Sheet写入文件,只能一次性存入,不然每次会重写文件,最后只保留最后一次的写入。# !usr/bin env pytho
- Protobuf是什么Protobuf实际是一套类似Json或者XML的数据传输格式和规范,用于不同应用或进程之间进行通信时使用。通信时所传
- 摘要如何用beautifulsoup4解析各种情况的网页beautifulsoup4的使用关于beautifulsoup4,官网已经讲的很详
- 一、下载MySQL首先,去数据库的官网http://www.mysql.com下载MySQL。点击进入后的首页如下: 然后点击do
- 话不多说,请看代码------------------------------------------作者:张欣宇-----时间:2013-
- 本文介绍了Python中Selenium模拟JQuery滑动解锁实例,分享给大家,也给自己留个笔记滑动解锁一直做UI自动化的难点之一,我补一
- 死锁(Deadlock)所谓死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进
- 介绍图像分类器通常在训练更多的图像时表现得更好。在图像分类模型中,一个常见的问题是,模型不能正确地对图像进行分类,只是因为它没有针对同一图像
- windows系统下Python环境的搭建step1:下载Python程序 https://www.python.org/downloads
- 设计页面时,经常会从一个页面打开一个子窗口以供浏览者查看。通常,这种子窗口中的内容一经浏览者看过,对于浏览者而言就不再需要,而他们常常会忘记
- 开通QQ邮箱POP3/SMTP服务登录QQ邮箱网址,进入设置选择账户tab页翻到最低下开启此服务获取qq邮箱授权码搭建node接口服务思路创
- 本文实例为大家分享了python实现杨氏矩阵查找的具体代码,供大家参考,具体内容如下问题描述:在一个m行n列二维数组中,每一行都按照从左到右
- 如下所示:import matplotlib.pyplot as plt import tkinter import numpy as np
- button元素在过去一直没有被重视,其实它比<input type="button">的语义强许多,制定性