zoukankan      html  css  js  c++  java
  • Delphi中判断当前程序运行过程中长时间无鼠标与键盘操作

    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;      

  • 相关阅读:
    传统 Ajax 已死,Fetch 永生
    redux-thunk, redux-logger 阮一峰 ( react中间件 )
    flow类型检查
    svn删除项目
    svn导入项目
    ubantu搭建svn
    惠普uefi装系统
    win7跳过登陆界面
    phpstorm配置Xdebug进行调试PHP教程
    jquery 给下拉框赋值
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/2940660.html
Copyright © 2011-2022 走看看