delphi 简单判断程序30秒没有键盘和鼠标动作

以下为原代码:

(这里给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 简单判断程序30秒没有键盘和鼠标动作)