どのRPAツール、プログラムでも欠かせないのが「このウィンドウに対して〇〇する」という、ウィンドウを指定することです。ウィンドウを指定することで、非アクティブウィンドウに対しても操作することが出来ます。
というかこれが出来ないと、例えばAcrobatReaderに命令を送っているのに、他のアプリがアクティブになってしまい、そちらに命令が送られてしまった、ということをなくせます。
1. Au3Info.exeを立ち上げる
C:\Program Files (x86)\AutoIt3\Au3Info.exe (x64.exe)を立ち上げます。

2. 使い方は簡単。ドラッグして知りたいウィンドウにマウスを合わせるだけ
下図のように、ウィンドウアイコンをドラッグしてみましょう。すると、ウィンドウ情報が各欄に表示されます。
これをスクリプトで使えばいいだけです。

Acrobat Readerのウィンドウ情報を見てみましたが、Acrobat Readerは結構独自クラスやスタイルを使っていて操作が面倒だったりします・・・PDFドキュメント印刷はAlt+F+Pを送って印刷ダイアログ出す・・よりはコマンド送ったほうがはるかに楽なので、操作するアプリについてGUI操作は最終手段として考え、コマンド操作できるか調べてからのほうが良さそうです。
3. UIAutomationも使えてInspect.exeのようなツールもある
下記に記事をまとめました。より正確にウィンドウオブジェクトをハンドリングするなら下記一択な感じです。その分気軽に使うにはwrapper作ったほうがいいですが、細かく制御できる分、万が一ハンドリング出来ない場合の処理が少なくて済みますね。
自動化なのにオブジェクトハンドリングが微妙だと大変です。
コメント