请问如何用delphi 模拟移动点击鼠标,
请问如何用delphi模拟移动点击鼠标,实现后台的并且要将这个delphi程序插入到需要点击的进程里...
请问如何用delphi 模拟移动点击鼠标,实现后台的 并且要将这个delphi程序插入到需要点击的进程里
展开
4个回答
展开全部
添加一个timer1控件+button1,将里面的代码全替换如下就可以了
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Timer1: TTimer;
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
i:integer;//模拟按键时间
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if Timer1.Enabled=true then
begin
i:=0;//清零
Timer1.Enabled:=false;
end
else
begin
i:=0;//清零
Timer1.Enabled:=true;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
i:=i+1;
if i mod 10=0 then
keybd_event($72,0,0,0);//$72是H键的虚拟键值,若要h健则是改为$48
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
i:=0;//初始化i
Timer1.Enabled:=false;
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Timer1: TTimer;
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
i:integer;//模拟按键时间
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if Timer1.Enabled=true then
begin
i:=0;//清零
Timer1.Enabled:=false;
end
else
begin
i:=0;//清零
Timer1.Enabled:=true;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
i:=i+1;
if i mod 10=0 then
keybd_event($72,0,0,0);//$72是H键的虚拟键值,若要h健则是改为$48
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
i:=0;//初始化i
Timer1.Enabled:=false;
end;
end.
展开全部
调用windows的API——SendInput,自己到MSDN中看看帮助吧,具有一定背景知识的话,不超过一小时应能掌握。
若需示例代码,可追问,但不建议轻易这样,自己理解和实验下来的,掌握才牢靠。
若需示例代码,可追问,但不建议轻易这样,自己理解和实验下来的,掌握才牢靠。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//在坐标X,Y处按下鼠标左键
postMessagea(H,WM_LBUTTONDOWN,MK_LBUTTON,MakeLParam(x,y));
//放开鼠标左键
postMessagea(H,WM_LBUTTONUP, MK_LBUTTON,MakeLParam(x,y));
H为需要点的的窗口的句柄
postMessagea(H,WM_LBUTTONDOWN,MK_LBUTTON,MakeLParam(x,y));
//放开鼠标左键
postMessagea(H,WM_LBUTTONUP, MK_LBUTTON,MakeLParam(x,y));
H为需要点的的窗口的句柄
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个问题太难了,恐怕没人能回答!我学了几年了,还没弄过后台点击鼠标的,呵呵,爱莫能助!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询