お世話になります。
特定のウィンドウ(Excelなど)の画面の状態を取得し、処理を分岐させたく思っています。
例えば、「指定の画面が最小化されている場合は…」といった分岐です。
イメージとしては、WindowStateを用いて
If [指定のウィンドウ].WindowState = FormWindowState.Minimized
のように実装したいのですが、UiPath.Core.Window型では上手くいきません。
何か良い方法はありますでしょうか。
お世話になります。
特定のウィンドウ(Excelなど)の画面の状態を取得し、処理を分岐させたく思っています。
例えば、「指定の画面が最小化されている場合は…」といった分岐です。
イメージとしては、WindowStateを用いて
If [指定のウィンドウ].WindowState = FormWindowState.Minimized
のように実装したいのですが、UiPath.Core.Window型では上手くいきません。
何か良い方法はありますでしょうか。
@nittobo5 さん
UiPath.Core.Window型を取得してから、
それをElementインプットとして、
「Get Attribute」などのアクティビティより取得した
「aastate」、「visibility」或いは「position」の値で、
ウィンドウの画面状態を判断できると思います。
@wusiyangjia さん
回答ありがとうございます。
早速試してみましたが、
「aastate」及び「visibility」で判別できそうでした!
本当に助かりました!
こんにちは
すでに解決済みのようですが、
WndStyles属性で最大化/アイコン化の判断が直接できると思います。
一応以下の定数に沿って、現状の値を返してくれる挙動のようですので
WS_MINIMIZE 0x20000000L
WS_MAXIMIZE 0x01000000L
なので
GetAttributeでWndStylesの値をとってきて
最大化有無なら
(WndStyles.ToInt64(nothing) And &H01000000)<>0
アイコン化有無なら
(WndStyles.ToInt64(nothing) And &H20000000)<>0
で判断できるかと思います。
@Yoichi さん
こんにちは、ご回答ありがとうございます。
大変勉強になります。まさに私が求めていた完璧な判定です。
この属性での判断であれば最も汎用的に判断できそうなので、
こちらの案を採用させていただこうかと思います!
皆様本当にありがとうございました!
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.