【日記】Pythonでwindows操作メモ
Pythonを使ってWinowsのアプリを操作することがあったのでその際調べた内容のメモです。
環境
・Windows10
・Python3.7
必要なライブラリ
・win32gui
・pyautogui
・opencv_python
アプリケーションを起動する
subprocess.Popen([r"アプリケーションのフルパス",])
アプリケーションのウィンドウハンドルを取得する
import win32gui
hwnd = win32gui.FindWindow(None, "ウィンドウタイトル")
アプリケーションのウィンドウサイズを取得する
import win32gui
(x1, y1, x2, y2) = win32gui.GetWindowRect(hwnd)
width = x2 - x1
height = y2 - y1
マウスクリック
import pyautogui
pyautogui.click(x, y)
マウスカーソル移動
import pyautogui
pyautogui.moveTo(x, y)
用意した画像と一致する座標を検索する
import pyautogui
import win32gui
# 用意した画像ファイルのパス
# パスにマルチバイトが含まれると失敗したはず
image_path = r"path_to_image"
# ウィンドウハンドルを取得
hwnd = win32gui.FindWindow(None, "ウィンドウタイトル")
# ウィンドウの座標を取得
region = win32gui.GetWindowRect(hwnd)
# 画像の一致率。0.0~1.0の間で指定。
# 小さい値を指定すると多少違っても判定してくれるが、誤検出が増える。
confidence = 0.9
x, y = pyautogui.locateCenterOnScreen(path_to_image, region=region, confidence=confidence)
pyautogui.click(x, y)