【Python】指定のアプリ名ウィンドウを指定座標へ移動する簡単な方法

アプリの自動化を準備するため、マウス自動操作を行う時は座標を指定してボタンを押させるようなことはよくあることだと思われます。
ただアプリ起動時はウィンドウのxy座標を0,0にしてから、ボタンを押させないと、座標ズレちゃうよね?
そんなわけで今回はウィンドウを座標指定する方法をメモします。サンプルはメモ帳アプリでやります。

既に起動しているアプリウィンドウをアプリ名を指定しアクティブ状態してウィンドウを座標0,0に移動する

Win32guiライブラリを使うにはpywin32が入っていることが前提です。そこらへんは前回の記事を参考ください

import time
import win32gui# アプリウィンドウをアクティブさせる
memoapp = win32gui.FindWindow(None,'無題 - メモ帳')
time.sleep(1)
win32gui.SetForegroundWindow(memoapp)# アクティブしているアプリウィンドウ情報を取得しxy座標0,0へ
time.sleep(1)
hwnd = win32gui.GetForegroundWindow()
win32gui.MoveWindow(hwnd, 0, 0, 500, 500, True)

8行と短めのコードですがタイトル通りのことができます。
赤字の「無題 - メモ帳」の部分は動かしたいアプリのタイトルに書き換えればOKです。

また今回の例は事前にメモ帳が無題で起動していることが前提です。
# アプリウィンドウをアクティブさせる は前回の記事で紹介したものです。

その後、アクティブさせたウィンドウをhwndへ取得させて
win32gui.MoveWindowで座標指定して左端へ固定させています。(ちなみに500、500はウィンドウサイズです。実際はアプリウィンドウのサイズで調整しましょう)

 

これでアクティブしてウィンドウの座標の位置を固定させることができましたので、
キーボードやマウス操作による業務自動化がさらに実現性が増してきますね。

今回の記事は以上です。

コメント