以下为原代码:
(这里给timer设置了1000ms)的参数,表示30秒的间隔!!
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
procedure AppMessageHandler(var Msg:TMsg;var Handled:Boolean);
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TForm1 }
procedure TForm1.AppMessageHandler(var Msg: TMsg; var Handled: Boolean);
begin
if (msg.message=WM_MOUSEMOVE) or (msg.message=WM_KEYDOWN) then timer1.tag:=0;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
timer1.tag:=timer1.tag+1;
if Timer1.tag=30 then close;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end;
end.
该Delphi代码示例展示了一个应用程序如何通过TTimer组件监测用户在30秒内是否有键盘或鼠标活动。当检测到30秒无任何动作时,程序将自动关闭。主要函数包括AppMessageHandler处理鼠标移动和按键消息,以及Timer1Timer在计时器事件中累计时间,达到30秒则关闭程序。

993

被折叠的 条评论
为什么被折叠?



