Как просимулировать нажатие кнопок мыши
|
Один приятель тащит несколько сумок с "железом", и что бы как-то облегчить ношу передает другу коробку с клавой, со словами:
- Hа, возьми хоть коробку подмышку.
- Хм... зачем это для мыши такая коробка?
|
На форму вынесите компонент 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;
|
|