unit frmAutoClick;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TFormAutoClick = class(TForm)
ClickTimer: TTimer;
EditX: TEdit;
Label1: TLabel;
btnStart: TButton;
Label2: TLabel;
procedure btnStartClick(Sender: TObject);
procedure ClickTimerTimer(Sender: TObject);
private
{ Private declarations }
FStart: Boolean;
FPos: TPoint;
FLeftPos: Boolean;
public
{ Public declarations }
end;
var
FormAutoClick: TFormAutoClick;
implementation
{$R *.dfm}
procedure TFormAutoClick.btnStartClick(Sender: TObject);
begin
FStart := False;
ClickTimer.Enabled := not ClickTimer.Enabled;
if ClickTimer.Enabled then
btnStart.Caption := 'Stop'
else begin
ClickTimer.Interval := StrToInt(EditX.Text);
btnStart.Caption := 'Start';
end;
end;
procedure TFormAutoClick.ClickTimerTimer(Sender: TObject);
begin
ClickTimer.Enabled := False;
try
if FStart = False then
begin
FStart := True;
FLeftPos := True;
GetCursorPos(FPos); // 取开始位置
end;
// 移动鼠标指针
if FLeftPos then
begin
FLeftPos := False;
SetCursorPos(FPos.X, FPos.Y);
end else
begin
FLeftPos := True;
SetCursorPos(FPos.X + 100, FPos.Y);
end;
Sleep(30);
// 单击
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
Sleep(30);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
finally
ClickTimer.Enabled := True;
end;
end;
end.