因為要批量用某軟件處理一批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
新聞熱點
疑難解答