ウィンドウとスピナー オブジェクトを取得しました。
var OrderWindow = AutomationElement.RootElement.FindFirst(TreeScope.Children, new PropertyCondition(AutomationElement.NameProperty, "*NAME*"));
var numberOfXX = OrderWindow.FindFirst(TreeScope.Descendants, new PropertyCondition(AutomationElement.AutomationIdProperty, "*NAME*"));
次に、スピナー RangeValuePatterm にアクセスしています。
RangeValuePattern value = numberOfXX.GetCurrentPattern(RangeValuePattern.Pattern) as RangeValuePattern;
そして、私はシンプルに使用できるはずです:
value.SetValue(5);
その値を変更しますが、機能していません。タイプ 'System.ArgumentOutOfRangeException' の例外が発生しています - 値が最大値を超えています。(本当ですが、最大許容値を変更する方法がわかりません...)。
また、単純なので、現在の値を取得する方法もわかりません。
value.Current.Value
入力された値に関係なく、常に 0 を返します。UIAutomationを介してアクセスする代わりに、キーを送信してスピナーの値を設定することはできますが、スピナーの実際の値を読み取る方法がわからないため、正しいかどうかを確認できません。