【質問】
AutoMateの処理中において、現在フォーカスされているウィンドウのウィンドウタイトルを取得する方法は無いか?
背景としては、入力アクションでキーボード入力を行う前に正しいウィンドウがフォーカスされているかを確認したり、
入力対象画面の遷移先が正しいものになっているかを確認したりしたいためである。
【回答】
処理時に現在フォーカスされているウィンドウであれば、
以下のようにして現在フォーカスされているウィンドウの
ウィンドウタイトルを表示させることが可能です。
%GetWindowCaption(GetFocusedWindowHandle())%
内容としては:
GetWindowCaption関数:
ウィンドウハンドルをもとにして
ウィンドウ名を返す関数
GetFocusedWindowHandle関数:
引数なしで、現在フォーカスされているウィンドウの
ウィンドウハンドルを返す関数
この2段重ねにより、ダイアログ表示直前にフォーカスされている
ウィンドウのタイトルをダイアログ表示させることが可能です。
一方、バックグラウンドでひらすら動かすタイプのウィンドウですと
先にウィンドウハンドルを取得する必要がある為、
例としてIEの場合ですと、Webブラウザ - 開くアクションのオプションで
変数にウィンドウハンドルを設定しておき、その変数を
GetWindowCaption関数に渡すことによりタイトルの取得が可能になります。