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

  • 相关阅读:
    C++易错处总结
    Dev-C++debug使用方法
    IDEA使用心得
    记录零碎ACM小知识
    Div3 C good number easy version
    cin,scanf后使用getline() 函数的易错点
    while中同时使用scanf和break的易错点
    聚集表索引优化
    .net中不能在DropDownList中选中多个项的解决方法
    MVC3 带查询的分页Helper
  • 原文地址:https://www.cnblogs.com/Clingingboy/p/2073608.html
Copyright © 2011-2022 走看看