A través de este código, podras programar tu raton, para que se mueva y pulse cualquier botón automaticamente.
procedure TFrmPrincipal.ClickBotonIzquierdo(X, Y: Integer);
// Esta rutina sirve para hacer un click en las coordenadas
// X-Y de la pantalla.
var
ClientX, ClientY: Integer;
Window, Parent: HWnd;
WindowRect: TRECT;
begin
// Primero situa el cursor del ratón en la posición deseada
SetCursorPos(X, Y);
// Averiguamos el identificador del objeto que se encuentra
// en dichas coordenadas. (No funciona para ventanas ocultas
// o deshabilitadas)
Window := WindowFromPoint(Point(X, Y));
// Si el identificador devuelto es distinto de 0 es que
// realmente hay un objeto en dichas coordenadas
if (Window <> 0) then begin
// Averiguamos las coordenadas del objeto
GetWindowRect(Window, WindowRect);
// y trasladomos las coordenadas del punto donde se desea
// hacer click a las coordenadas del objeto encontrado
ClientX := X - WindowRect.Left;
ClientY := Y - WindowRect.Top;
// Ahora averiguamos si el objeto tiene padre, por ejemplo,
// si el objeto es un botón o una lista
Parent := GetAncestor(Window, GA_ROOT);
// Si el objeto no tiene padre, es que es una ventana. Si
// tiene padre (una ventana), utilizamos este, ya que el
// mensaje debe pasarse a una ventana.
if (Parent = 0) then
Parent := Window;
// Comprobamos que la ventana esta en primer plano, es decir,
// que es la ventana activa. Si no es así, la activamos
if (Parent <> GetForegroundWindow()) then begin
SetForegroundWindow(Parent);
end;
// Y ahora le enviamos a la ventana los mensajes correspondientes
// para obtener un click del ratón
SendMessage(Window, WM_LBUTTONDOWN, MK_LBUTTON, ClientX or (ClientY shl 16));
SendMessage(Window, WM_LBUTTONUP, 0, ClientX or (ClientY shl 16));
end;
end;
Espero que te sea util