当前位置: 移动技术网 > IT编程>脚本编程>Python > 用pywin32实现windows模拟鼠标及键盘动作

用pywin32实现windows模拟鼠标及键盘动作

2019年03月31日  | 移动技术网IT编程  | 我要评论

自然之道教学设计,干支论坛,留学生失联超1周

因为要批量用某软件处理一批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!"

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网