zoukankan      html  css  js  c++  java
  • Visual C++ 201166

    一.(Un)RegisterPowerSettingNotification(Vista+)

    注册电源事件,允许用WM_POWERBROADCAST捕获消息,如笔记本电脑电量的使用,百分比发生变化会发送消息,还有一些键盘的物理按键

    Registers the application to receive power setting notifications for the specific power setting event.

    二.GetSystemPowerStatus 获取电源状态

    SYSTEM_POWER_STATUS status;
    GetSystemPowerStatus(&status);
    

    比如查看电池现在的百分比及可用时间

    三.GetDevicePowerState获取设备电源状态

    Retrieves the current power state of the specified device. This function cannot be used to query the power state of a display device.

    BOOL WINAPI GetDevicePowerState(
      __in   HANDLE hDevice,
      __out  BOOL* pfOn
    );
    

    四.WTS(Un)RegisterSessionNotification

    http://hi.baidu.com/lifuchao2008/blog/item/efc44150d3691665843524d4.html

    http://tech.ddvip.com/2006-04/11444382604312.html

    但切换用户时,如用户锁定,远程登录触发消息

    switch(message)
     {
      case WM_WTSSESSION_CHANGE:
       {
    switch(wParam)
       {
       case WTS_CONSOLE_CONNECT:
        MessageBox("WTS_CONSOLE_CONNECT", "Esmile", MB_OK );
        break;
       case WTS_CONSOLE_DISCONNECT:
        MessageBox("WTS_CONSOLE_DISCONNECT",
        "Esmile", MB_OK );
        break;
       case WTS_SESSION_LOCK:
        MessageBox("WTS_SESSION_LOCK",
        "Esmile", MB_OK );
        break;
       case WTS_SESSION_UNLOCK:
        MessageBox("WTS_SESSION_UNLOCK",
        "Esmile", MB_OK );
        break;
       case WTS_SESSION_LOGOFF:
        MessageBox("WTS_SESSION_LOGOFF",
        "Esmile", MB_OK );
        break;
       case WTS_SESSION_LOGON:
        MessageBox("WTS_SESSION_LOGON",
        "Esmile", MB_OK );
        break;
       default:
        break;
       }
    }
       break;
    default:
       break;
     }
    

    五.WTSGetActiveConsoleSessionId

    得到当前登录用户的会话ID

    DWORD WTSGetActiveConsoleSessionId(void);

    六.ProcessIdToSessionId

    根据进程ID获取SessionId

    DWORD a=WTSGetActiveConsoleSessionId();
    DWORD b=0;
    ProcessIdToSessionId(GetCurrentProcessId(),&b);
    a==b;
    

    七.POWERBROADCAST_SETTING

    当在WM_POWERBROADCAST消息中捕获消息时可以转化成这个结构体

    参考:http://blog.csdn.net/breeze_vickie/archive/2009/07/09/4334257.aspx

  • 相关阅读:
    从人群中看出真正优秀的人!
    新东方在厦门大学演讲--笔摘
    vuepress+gitee 构建在线项目文档
    二维码科普
    Linux访问Window共享文件夹的配置步骤
    SQL Server使用笔记
    Progress笔记
    Linux使用笔记
    Linux下配置mail使用外部SMTP发送邮件
    SaaS、PaaS、IaaS的含义与区别
  • 原文地址:https://www.cnblogs.com/Clingingboy/p/2073608.html
Copyright © 2011-2022 走看看