/// <summary> /// Gets the value of the current slider control /// </summary> /// <param name="controlHandle">NativeWindowHandle to the target control</param> /// <returns> /// Value of the control /// </returns> /// <exception cref="ProdOperationException">Examine inner exception</exception> /// <remarks> /// Invalid for WPF controls /// </remarks> public static double SliderGetValue(IntPtr controlHandle) { try { AutomationElement control = CommonUIAPatternHelpers.Prologue(RangeValuePattern.Pattern, controlHandle); StaticEvents.RegisterEvent(RangeValuePattern.ValueProperty, control); double retVal = RangeValuePatternHelper.GetValue(control); if (retVal == -1) { ProdSliderNative.GetValueNative(controlHandle); } LogController.ReceiveLogMessage(new LogMessage(control.Current.Name + " Value: " + retVal)); return(retVal); } catch (InvalidOperationException err) { throw new ProdOperationException(err.Message, err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err.Message, err); } catch (ArgumentException err) { throw new ProdOperationException(err.Message, err); } }
private static double UiaGetValue(BaseProdControl control) { double retVal = RangeValuePatternHelper.GetValue(control.UIAElement); LogController.ReceiveLogMessage(new LogMessage(retVal.ToString())); return(retVal); }