Delphi 记录鼠标点击坐标


本文整理自网络,侵删。

 
unit Main;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls, System.DateUtils;

type
  TfrmMain = class(TForm)
    Timer1: TTimer;
    Memo1: TMemo;
    procedure FormShow(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    sd: TTime;
    ls: integer;
    { Public declarations }
  end;

var
  frmMain: TfrmMain;

implementation

{$R *.dfm}

procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    Memo1.Lines.SaveToFile('d:\temp.txt');
end;

procedure TfrmMain.FormShow(Sender: TObject);
begin
  Memo1.Clear;
  sd := now();
  Timer1.Enabled := true;
end;

procedure TfrmMain.Timer1Timer(Sender: TObject);
var
  ks: integer;
  r: string;
  t: int64;
begin
  if GetKeyState(vk_NumLock)=1 then
  begin
    ks := GetKeyState(1);
    if ks <> ls then
    begin
      ls := ks;

      t := MilliSecondsBetween(now(), sd);
      sd := now();
      Memo1.Lines.Add('Delay ' + t.ToString + ' ms');

      if ks < 0 then
      begin
        Memo1.Lines.Add('MoveTo ' + Mouse.CursorPos.X.ToString + ' ' + Mouse.CursorPos.Y.ToString);
      end;

      if ks < 0 then
        r := 'LeftDown 1';
      if ks >= 0 then
        r := 'LeftUp 1';

      Memo1.Lines.Add(r);
    end;
  end;
end;

end.

相关阅读 >>

Delphi 获取外部程序句柄与发送消息

Delphi 如何取得系统中的桌面的路径

Delphi通过ip或机器名获取局域网mac地址

Delphi使用edge browser浏览器组件

Delphi改变文件夹图标

Delphi webbroker 制作网站

Delphi读取android设备联系人.Delphixe6中编译通过

Delphi 判断timage是否为空及注意事项

Delphi建立快捷方式的函数:createshortcut()

Delphi中的free和nil

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



打赏

取消

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

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

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

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

评论

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