На форму вынесите компонент TTimer и опишите его единственное событие следующим образом:
procedure TForm1.Timer1Timer(Sender: TObject); var x, y: Integer; begin x := random(Screen.Width); y := random(Screen.Height); sendmessage(Handle, WM_LBUTTONDOWN, MK_LBUTTON, x + y shl 16); sendmessage(Handle, WM_LBUTTONUP, MK_LBUTTON, x + y shl 16); end;
Для того, чтобы убедиться, что сообщения на самом деле посылаются, давайте обработаем событие OnMouseDown для формы. Мы попытаем обозначать те места, где якобы была нажата кнопка мыши.
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Form1.Canvas.Ellipse(x - 2, y - 2, x + 2, y + 2); end;