zoukankan      html  css  js  c++  java
  • 监控系统是否空闲的三个方法屏幕保护,显示器,键盘鼠标

    屏保,关闭显示器,其实都是在鼠标键盘长时间不操作的情况下执行的功能。但既然要做就干脆3个都做吧。

    首先是键盘鼠标是否空闲,从WIN2000开始就有了这样一个函数

    BOOL GetLastInputInfo(      
        PLASTINPUTINFO plii
    );
    此函数只会获得最近一次操作的时间。所以具体输入的内容是获取不到滴!

    其次是屏保信息的获得调用的是 SystemParametersInfo 函数。这个没有太多难度,一会直接贴代码。

    然后是显示器是否开启。通过网上查资料发现有两个函数,分别是枚举显示器EnumDisplayMonitors和通过窗体获得显示器信息MonitorFromWindow。但不幸的这2个函数我都试了,与GetDevicePowerState函数的句柄需求不同。最后还是采用了CREATEFILE来打开串口。关于此,第一个参数也有讲究,CreateFile("\\.\LCD\" ...) 在XP上实验成功.还有个参数CreateFile("\\.\Display\"...)这在XP上实验失败,但根据网上的说法,此参数可以应用在其他系统中。

    最后是代码,另需注意一点。在VC6.0的环境下一定要加个宏 #define _WIN32_WINNT 0x0500  越靠前越好,否则可能编译ERROR找不到函数定义。换句话说WIN2000以下的系统不能用这些函数。最后补充一句这三个函数都来自User32.dll。根据测试如果写成服务,在用户未登录的情况下通过以上三个方法都能检测到系统是否空闲。

    Code
  • 相关阅读:
    vue项目总结,所用到的技术点
    豆瓣电影个人项目总结
    博学谷项目总结,个人总结经验
    JavaScript数组的常用方法
    移动端base.css的内容,
    normalize.css可以对css初始化,不同浏览器可以统一初始样式
    jsp第十次作业
    jsp第九次作业
    jsp第八次作业
    jsp第七次作业
  • 原文地址:https://www.cnblogs.com/oplusx/p/1588275.html
Copyright © 2011-2022 走看看