ホームページ >バックエンド開発 >Python チュートリアル >pywin32 を使用して Windows でマウスとキーボードの操作をシミュレートする

pywin32 を使用して Windows でマウスとキーボードの操作をシミュレートする

WBOY
WBOYオリジナル
2016-06-16 08:44:283481ブラウズ

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"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()

im.save(パス+ファイル名)


#ショートカット キー F8 をシミュレート (元のページ サイズに戻す)
win32api.keybd_event(119,0,0,0) # F8

win32api.keybd_event(119,0,win32con.KEYEVENTF_KEYUP,0) #ボタンを放す


#キーボード イベントのシミュレート 削除
win32api.keybd_event(46,0,0,0) # 削除
win32api.keybd_event(46,0,win32con.KEYEVENTF_KEYUP,0) #キーを放す

時間。睡眠(1)


for i in range(2,85):
aotohelper_wt(i)
print i
print "作業完了!"

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。