Python3ではpywin32パッケージを使うとウィンドウの操作ができます。pywin32パッケージのみで動作しますが、PyCharmでインポート文にエラーがでました。そのためwin32guiをインストールするとこのエラーもなくなりました。
- pip install pywin32
- pip install win32gui
まずはPopen関数で、サブプロセスとしてメモ帳を起動します。起動したアプリはフォアグラウンドにくるので、Win32APIのGetForegroundWindow関数で、ウィンドウハンドル(=ID番号のようなもの)を取得し、MoveWindow関数に、このIDと、XY座標、縦幅、横幅を渡し、移動とリサイズをします。
また、subprocessパッケージには、pollでサブプロセスの生存確認ができ、wait関数でサブプロセスが終了するまで待機できます。今回はメモ帳が閉じるまでこのPythonスクリプトは動作していて、メモ帳が閉じたら、done.をコンソールに表示し終了します。