I'm struggling to figure out why the below function is only ever moving my mouse from 0, 0 screen coords, to my final destination, even though Cursor.Position is returning the correct screen coords. If anybody could enlighten me i'd be most grateful.
public void MoveAndClick(int x, int y, int steps)
{
Point start = Cursor.Position;
PointF iterPoint = start;
PointF slope = new PointF(x - start.X, y - start.Y);
slope.X = slope.X / steps;
slope.Y = slope.Y / steps;
for(int i=0; i<steps; i++)
{
iterPoint = new PointF(iterPoint.X + slope.X, iterPoint.Y + slope.Y);
inputSim.Mouse.MoveMouseTo(iterPoint.X, iterPoint.Y);
Thread.Sleep(10);
}
inputSim.Mouse.MoveMouseTo(x, y);
inputSim.Mouse.RightButtonDown();
inputSim.Mouse.RightButtonUp();
}
Taken from https://stackoverflow.com/a/913703/2014393