zoukankan      html  css  js  c++  java
  • 软件在指定时间间隔内无鼠标移动键盘点击等动作自动锁定的实现

    /************************************************************************/
    /* 说明:
    调用函数GetLastInputInfo()以后, 结构成员lpi.dwTime 中的值并非上次输入事件
    发生以后的毫秒数。而是上次输入事件发生时的系统运行时间。相当于上次输入事件
    发生时执行了lpi.dwTime=::GetTickCount()。
    ::GetTickCount()-lpi.dwTime才是上次输入事件发生以后的毫秒数。
    */
    /************************************************************************/
    //注意:windows2000以上系统才支持函数GetLastInputInfo()因此有可能需要在StdAfx.h中加上如下语句:
    #define _WIN32_WINNT 0x0500
    //或者:
    #ifdef _WIN32_WINNT 
    #undef _WIN32_WINNT 
    #endif 
    #define _WIN32_WINNT 0x0500 
    
    //首先定义一个计时器计时事件的定义
    #define  GETLASTINPUTINFO  109
    
    //然后写一个Time计时器(具体计时器的生成步骤就不在叙述)
    
    //1、在程序初始化的时候调用
    m_uGetLastInputInfo = SetTimer(GETLASTINPUTINFO, 500, NULL);//设置获取键盘和鼠标处于空闲状态的时间的计时器
    
    
    //2、处理函数
    void CNetAppSoftDlg::OnTimer(UINT nIDEvent)
    {
    	LASTINPUTINFO lpi;
    	DWORD dwTime = 0;
    
    	switch(nIDEvent)
    	{
    	case GETLASTINPUTINFO://zhouzx 获取键盘和鼠标处于空闲状态的时间
    
    		lpi.cbSize = sizeof(lpi);
    		GetLastInputInfo(&lpi);//关于此windows API接口的介绍,参见同文件夹下的文档
    		dwTime = ::GetTickCount()-lpi.dwTime;
    
    		if (dwTime >= 30000)//30秒
    		{
    			if (m_uGetLastInputInfo)
    			{
    				KillTimer(GETLASTINPUTINFO);
    			}
    			OnBnClickedButtonLock();
    		}
    		break;
    	default:
    		break;
    	}
    	CDialog::OnTimer(nIDEvent);
    }
    
    //3、在软件解锁后的地方重新开始新的计时
    m_uGetLastInputInfo = SetTimer(GETLASTINPUTINFO, 500, NULL);
    
    //4、在推出软件的时候,如果计时器没有停止,要关闭计时器
    if (m_uGetLastInputInfo)
    {
    	//结束获取键盘和鼠标处于空闲状态的时间定时器
    	KillTimer(GETLASTINPUTINFO);
    }


  • 相关阅读:
    SQL Server数据库一直显示“正在还原”的解决方法
    查看MSSQL 数据表信息使用情况
    sql server 查询缺失的索引
    windows server2012R2 上 .net core IIS 部署--应用程序池 自动停止
    MSSQL 数据库日志文件收缩
    SQL Server GUID转19位字符串
    SQL SERVER 之全文索引使用
    MSSQL 统计整个数据库所有表数据记录数
    freePCRF免费版体验
    Hortonwork Ambari配置Hive集成Hbase的java开发maven配置
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13318778.html
Copyright © 2011-2022 走看看