見出し画像

「UWSCでダイアログのメッセージを取得したい」の解決方法を検討してみた話【UWSC】

Qiitaに「UWSCでダイアログのメッセージを取得したい」という記事があったようです。2017年頃の記事です。要約すると複数のダイアログが表示されるのですが、タイトルがどれも同じで区別がつかないが、判断をするための情報を取得したいということのようです。
情報を取得し、その後の設計に活かす方法を検討したいと思います。

解決方法として
2.画面を分析できるようにする
これを準備して欲しいですね。

使用方法
情報を取得したい状況を再現した状態で分析を実行し、出力されたログを確認します。それを踏まえてダイアログ出現前後の処理を設計する必要があります。

事例1
getid("タイトル","#32770")
普通にダイアログとして表示されるパターンです。
タイトルは、無い場合もありますので、「クラス」と他の情報を組み合わせて判断することもあると思います。

事例2
getid("開く","#32770")
getid("ダウンロード","#32770")
getid("保存","#32770")
など、ファイル選択ダイアログとして表示されるパターンです。
判断では迷いませんが、処理が異なるため例示しておきました。

事例3
変数タイトル="タイトル"
getid(変数タイトル,"#32770")
タイトルが変化して表示されるパターンです。
タイトル出現後に、表示された内容に応じて処理内容を変化させる必要があると思います。

事例4
getstr(id,0,STR_ACC_STATIC)="更新します。よろしいですか?"
pos("せん",getstr(id,0,STR_ACC_STATIC))>0
など、クラスがダイアログではないパターンです。
表示されるテキストの全部または一部を判断に利用する必要があると思います。

他にもあると思いますが、タイトルがないパターンやタイトル自体が変化するパターン、クラスがダイアログではないパターンなど色々なパターンがありますので、画面の情報を取得してその後の設計に活かしていただければと思います。

有料エリアには何も情報がありません
記事を評価してくれた方はサポートもお願いします

誰もが無料でWindows自動化を始め、生産性を向上し続けられるようにする」

ここから先は

15字

¥ 100

この記事が気に入ったらサポートをしてみませんか?