最近pythonをさわり始めました。
pythonで業務の自動化をしてみようとチャレンジしていますが、まずは簡単なキーボードやマウス操作を自動操作するようなものを作っていますが、ウィンドウのアクティブどうやるの?と気になりました。これが結構行き詰りましたが、答えがわかれば簡単。
今後のためにメモ残していきます。
1.ライブラリ「pywin32」をインストール(未導入時のみ)
事前に「pywin32」のライブラリがインストールされていることが前提です。
pip install pywin32
でインストールしておきましょう。
(win32guiはimportするがインストールはwin32guiではなくpywin32です)
サンプルソースコード紹介(開いているウィンドウをアプリ名を指定しアクティブ状態にする処理)
import pyautogui
import time
import win32gui
memoapp = win32gui.FindWindow(None,'無題 - メモ帳')
time.sleep(1)
win32gui.SetForegroundWindow(memoapp)
import time
import win32gui
memoapp = win32gui.FindWindow(None,'無題 - メモ帳')
time.sleep(1)
win32gui.SetForegroundWindow(memoapp)
短めのコードでかきました。実際はwin32guiがかいてる3行だけで動きます。
time.sleepもなくても大丈夫かもしれませんが実際の運用ではあった方がいいと思うので一応入れました。
また実用的にはキーボード自動操作を行いながらアクティブ変更などを行うので
1行目に import pyautogui もかいちゃってます。
'無題 - メモ帳'はアプリのタイトルバーに表記されている名称だと思っていただければOKです。
タイトルバーやタスクバーやタスクマネージャーのプロセスの表記をみたらわかります。
今回の記事は以上です。
コメント