public static API_InputSimulator mouse_MoveTo <T>(this API_InputSimulator inputSimulator, T control, bool animate)
     where T : Control
 {
     return((API_InputSimulator)control.invokeOnThread(
                () => {
         var location1 = control.PointToScreen(Point.Empty);
         var xPos = (double)location1.X + control.width() / 2;
         var yPos = (double)location1.Y + control.height() / 2;
         //return inputSimulator;
         return inputSimulator.mouse_MoveTo(xPos, yPos, animate);
     }));
 }
 public static API_InputSimulator mouse_MoveTo(this API_InputSimulator inputSimulator, double x, double y)
 {
     return(inputSimulator.mouse_MoveTo(x, y, true));
 }
 public static API_InputSimulator mouse_MoveTo(this API_InputSimulator inputSimulator, Point point, bool animate)
 {
     return(inputSimulator.mouse_MoveTo(point.X, point.Y, animate));
 }
 public static API_InputSimulator mouse_MoveTo(this API_InputSimulator inputSimulator, Point point)
 {
     return(inputSimulator.mouse_MoveTo(point, true));
 }
 public static API_InputSimulator mouse_MoveTo_Wpf(this API_InputSimulator inputSimulator, System.Windows.Point point)
 {
     return(inputSimulator.mouse_MoveTo(point.X + 10, point.Y + 2));
 }
 public static API_InputSimulator mouse_MoveTo <T>(this API_InputSimulator inputSimulator, T control)
     where T : Control
 {
     return(inputSimulator.mouse_MoveTo(control, true));
 }