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 10.2 ide界面

Delphi tstrings 随机打乱

Delphi 子界判断的举例

Delphi 全局钩子锁定键盘

Delphi 本地数据库备份与还原(Delphi)

Delphi win10系统已管理员的权限运行应用程序

Delphi和c++指针详解

Delphi 控制台 输入输出实例代码

Delphi idhttp 断开连接/超时读取

Delphi读写utf-8、unicode格式文本文件

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...