delphi 记录鼠标点击坐标  
官方Delphi 学习QQ群: 682628230(三千人)
频道

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.

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.036733865737915 seconds