我获得了窗口和微调器对象:
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 访问它,但我不知道如何读取微调器的实际值→因此无法检查它是否正确。