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