• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Delphi中判断当前程序运行过程中长时间无鼠标与键盘操作

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

unit Unit1;
interface
uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, ExtCtrls, StdCtrls;
type
   TForm1 = class(TForm)
     Label1: TLabel;
     Timer1: TTimer;
     procedure Timer1Timer(Sender: TObject);
     procedure FormShow(Sender: TObject);
   private
     { Private declarations }
     procedure   Detect(var Msg:TMsg; var Handled:boolean);
   public
     { Public declarations }
     //--------------------------------------------------------------------------
     // 注释 :定义一变量,用来记录鼠标或键盘无操作记录的时间
     //--------------------------------------------------------------------------
     flag : integer;
   end;

var
   Form1: TForm1;

implementation


{$R *.dfm}
{-------------------------------------------------------------------------------
   过程名:     TForm1.Timer1Timer
   功能描述:   在Timer事件里记录无操作时间,并作相应的处理。
   参数:       Sender: TObject
   返回值:     无
-------------------------------------------------------------------------------}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
   Inc(flag);
   Label1.Caption := IntToStr(flag);
// 在此加上判断条件. 这儿设置的是120秒
   if flag>120 then
     close;
end;

{-------------------------------------------------------------------------------
   过程名:     TForm1.FormShow
   功能描述: 将系统消息设置为自定义消息。
   参数:       Sender: TObject
   返回值:     无
-------------------------------------------------------------------------------}
procedure TForm1.FormShow(Sender: TObject);
begin
   Application.OnMessage:=Detect;
end;
{-------------------------------------------------------------------------------
   过程名:     TForm1.Detect
   功能描述:   消息里处理的事件。如果有鼠标或键盘操作,则将时间标志置为0
   参数:       var Msg: TMsg; var Handled: boolean
   返回值:     无
-------------------------------------------------------------------------------}
procedure TForm1.Detect(var Msg: TMsg; var Handled: boolean);
begin
   if (Msg.message=WM_KEYDOWN)   or
     (Msg.message=WM_MOUSEMOVE)   then
   flag :=0;      


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
MATLAB学习#Day2发布时间:2022-07-18
下一篇:
BVLC官版caffe在win10x64下搭建matlab2016a支持库发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap