ホームページ >バックエンド開発 >Python チュートリアル >pywin32 を使用して Windows でマウスとキーボードの操作をシミュレートする
EPS ファイルを一括処理するには特定のソフトウェアを使用する必要があるため、自動操作を可能にするためにマウスとキーボードの動きをシミュレートする必要があります。
#os.startfile("D:\artcut6\Prog\Artcut6.exe")
#time.sleep(1)
wdname1=u"Wen Tai Engraving 2009[] - [Untitled-1]"
w1hd=win32gui.FindWindow(0,wdname1)
print w1hd
w2hd=win32gui.FindWindowEx(w1hd, None ,なし,なし)
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"Open"
w3hd=win32gui.FindWindow(None,wdname3) #"Open" ウィンドウ ハンドル
#print w3hd
#win32gui.MoveWindow(w3hd, 50, 50, 300, 200, True)
if i msg="YC-00"+str(i)
elif 10
=i<=99:
msg="YC-0"+str(i)
else:
msg="YC-"+str(i)
editthd=win32gui.FindWindowEx(w3hd ,None,"編集",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()
#ショートカット キー F8 をシミュレート (元のページ サイズに戻す)
win32api.keybd_event(119,0,0,0) # F8
#キーボード イベントのシミュレート 削除
win32api.keybd_event(46,0,0,0) # 削除
win32api.keybd_event(46,0,win32con.KEYEVENTF_KEYUP,0) #キーを放す
for i in range(2,85):
aotohelper_wt(i)
print i
print "作業完了!"