添加一个timer1控件 button1
unit Unit1;interfaceuses
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;interfaceuses
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.
都没讲清楚...
加个公用变量 TEnabled : boolean 试试procedure TForm1.Button1Click(Sender: TObject);
begin
if TEnabled=true then
begin
i:=0;//清零
TEnabled:=false;
end
else
begin
i:=0;//清零
TEnabled:=true;
end;
end; procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled := false;
i:=i 1;
if i mod 10=0 then
keybd_event($72,0,0,0);//$72是H键的虚拟键值,若要h健则是改为$48
Timer1.Enabled := Enabled;
end;
第1秒i=1,到第10秒i=10了,就会按一下键了,然后一直要等到i=20才会再按次键,以此类推,我是这样理解的,
当然了看楼上的每隔10秒后让i=0这样会更好哦。不过我编译后运行EXE文件然后激活游戏窗口一点反应都没有。非常谢谢大家帮我找一下问题了哦。
你试一下,要按键的时候,把游戏窗口自动激活到最前页试试.
如果激活到游戏窗口,你的BUTTON摸似是无效的,如果有效,那么就是H键按下是在FORM中按下的.把你要打开的文件,用FORM打开,然后,登入,看一下放大缩小,噢就是用句柄操作是否有效.
如有效,那么,用消息传H键值模似,再写一个函数(不要用BUTTON按一下就种方式),运行一下函数.
我看最好是做成线程,TIMER不是很精确,有时不工作时,差几秒也会出现的.
我的用意是按下Button后开始通过Timer循环模拟按键等我不需要时再按下Button停止模拟,
时间不用那么精确哦。就是误差1分钟我也能接受,大师们的言语也太高深了,小弟看不大懂哦。
有谁帮我修改下代码我也好仔细琢磨下啊