用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!"

标签:pywin32,鼠标
0
投稿

猜你喜欢

  • Django中F函数的使用示例代码详解

    2023-11-21 00:56:06
  • python数组的复制与列表中的pop

    2021-07-10 12:05:24
  • Microsoft SQL Server数据库各版本下载地址集合

    2024-01-28 12:15:07
  • oracle学习笔记(二)

    2012-01-05 18:59:20
  • php引用传值实例详解学习

    2023-11-15 06:11:30
  • Access下如何使用通用对话框

    2008-11-20 16:41:00
  • python 读取DICOM头文件的实例

    2021-12-03 19:30:48
  • Navicat连接mysql报错2003(10060)的解决方法

    2024-01-25 06:08:14
  • Python图像处理模块ndimage用法实例分析

    2023-09-08 16:52:26
  • mysql8.0.21下载安装详细教程

    2024-01-26 15:40:00
  • MySql数据库基础知识点总结

    2024-01-18 13:30:20
  • Python3实现带附件的定时发送邮件功能

    2023-07-08 23:33:57
  • 详解vue3.0 的 Composition API 的一种使用方法

    2024-04-28 09:23:48
  • 使用Python+Appuim 清理微信的方法

    2021-05-24 12:22:05
  • Django unittest 设置跳过某些case的方法

    2022-02-28 21:46:13
  • python opencv根据颜色进行目标检测的方法示例

    2021-09-29 03:53:41
  • mysql 8.0.22 zip压缩包版(免安装)下载、安装配置步骤详解

    2024-01-15 21:19:16
  • AJAX初体验之上手篇

    2007-08-23 08:50:00
  • php过滤器使用详解

    2023-06-13 01:52:23
  • 基于Python实现简易的动漫图片转换器

    2022-12-25 23:23:11
  • asp之家 网络编程 m.aspxhome.com