end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

pywinauto for python で、余計なアプリを終了させる

seleniumやpyautogui for python を用い、 windowsのタスクスケジューラから起動するRPAを書いています。

RPA処理完了後にRPAのwindowを残さない為、pythonw.exeで実行したいところですが RPA対象のアプリの中には、window表示を必要とするものもありますので、 python.exe で実行する必要があります。

そこで、pywinauto for python で 余計なアプリを終了させるようにしました。

以下のような感じです

#!python
# -*- coding: utf-8 -*-
import pywinauto

close_targets = [ "管理者: コマンド プロンプト" ]

def main():
    desktop = pywinauto.Desktop(backend="uia")
    for win in desktop.windows():
        win_name = win.window_text()
        if not win_name in close_targets:
            continue
        win.type_keys("%{F4}") # ALT + F4 によるclose

if __name__ == '__main__':
    main()