Delphi 定时鼠标模拟点击


本文整理自网络,侵删。

 
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.

相关阅读 >>

Delphi xe 枚举指定目录及子目录下的所有文件

Delphi ioutils单元3查找并搜索文件夹信息

Delphi 临时文件路径(支持安卓、ios)

Delphi 根据邮箱地址分离出@前的内容

Delphi combobox的属性和事件、及几个鼠标事件的触发

Delphi mainmenu控件 checkde属性用法

Delphi idtcp下载文件

Delphi将excel导入access

Delphi setprivilege 提权代码

Delphi 获取memo的行数与列数

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...