CynicRus
01-23-2013, 06:30 PM
Hey. I present to you a simple implementation of the function the mouse movement.
Maybe it would be useful to someone.
program SimplyMouse;
function randomFloat(aMin,aMax:double):double;
begin
result:=randomRange(trunc(aMin*1000),trunc(aMax*10 00))/1000
end;
procedure SimplyMouseMove(StartPt,EndPt:TPoint;Direct: boolean);
var
nmouseX,nMouseY: integer;
incX,incY: double;
begin
incX:=(EndPt.x - StartPt.x)/(EndPt.y - StartPt.y);
incY:= (EndPt.y - StartPt.y)/(EndPt.x - StartPt.x);
nmouseX:=StartPt.x;
nmouseY:=StartPt.y;
if Direct then
repeat
nmouseX:=nmouseX+Trunc(incX);
nmouseY:=nmouseY+Trunc(incY);
MoveMouse(nmouseX,nmouseY);
Wait(RandomRange(1,6));
until (nmouseX >= EndPt.x) Or (nmouseY>= EndPt.y)
else
repeat
nmouseX:=nmouseX+round(incX*randomFloat(0.5,1.5));
nmouseY:=nmouseY+round(incY*randomFloat(0.5,1.5));
MoveMouse(nmouseX,nmouseY);
Wait(RandomRange(1,6));
until (nmouseX >= EndPt.x) Or (nmouseY>= EndPt.y);
end;
begin
SimplyMouseMove(Point(20,20),Point(60,230),false);
end.
Cheers,
Cynic.
Maybe it would be useful to someone.
program SimplyMouse;
function randomFloat(aMin,aMax:double):double;
begin
result:=randomRange(trunc(aMin*1000),trunc(aMax*10 00))/1000
end;
procedure SimplyMouseMove(StartPt,EndPt:TPoint;Direct: boolean);
var
nmouseX,nMouseY: integer;
incX,incY: double;
begin
incX:=(EndPt.x - StartPt.x)/(EndPt.y - StartPt.y);
incY:= (EndPt.y - StartPt.y)/(EndPt.x - StartPt.x);
nmouseX:=StartPt.x;
nmouseY:=StartPt.y;
if Direct then
repeat
nmouseX:=nmouseX+Trunc(incX);
nmouseY:=nmouseY+Trunc(incY);
MoveMouse(nmouseX,nmouseY);
Wait(RandomRange(1,6));
until (nmouseX >= EndPt.x) Or (nmouseY>= EndPt.y)
else
repeat
nmouseX:=nmouseX+round(incX*randomFloat(0.5,1.5));
nmouseY:=nmouseY+round(incY*randomFloat(0.5,1.5));
MoveMouse(nmouseX,nmouseY);
Wait(RandomRange(1,6));
until (nmouseX >= EndPt.x) Or (nmouseY>= EndPt.y);
end;
begin
SimplyMouseMove(Point(20,20),Point(60,230),false);
end.
Cheers,
Cynic.