Habs mal so gemacht. Ist allerdings in C, sollte aber ganz leicht übersetzt werden können
Code:
void mouseto(int x, int y, int speed){
POINT maus;
GetCursorPos(&maus);
double mx = maus.x;
double my = maus.y;
while(mx != x || my != y) {
double nx = x-mx;
double ny = y-my;
double len = sqrt(nx*nx + ny*ny);
if(len<=1){
mx=x;
my=y;
} else {
nx/=(len*0.5);
ny/=(len*0.5);
mx+=nx;
my+=ny;
}
SetCursorPos(ceil(mx),ceil(my));
Sleep(speed);
}
}
Es wird also bei jedem Durchgang (da der Benutzer die Maus bewegt haben könnte) ein Vektor gezogen und die x- bzw. y-Geschwindigkeit berechnet.
Kann sein, dass an der Abfrage in while noch gerundet werden muss und bei "0.5" ein bisschen was geändert werden muss. Konnte es gerade nicht testen.