zoukankan      html  css  js  c++  java
  • 設置電源狀態

    //hibernate and standby
    int CAutoPowerOnShutdownDlg::SetPower(BOOL   bSuspend,BOOL   bForce)
    {            
     TOKEN_PRIVILEGES   tp;          
     HANDLE   hToken;  
     LUID   luid;  
     LPTSTR   MachineName=NULL;    

    //為當前進程獲得關閉系統休眠系統的特權
    // 取得当前进程的[Token](标识)句柄,(TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY) == 0x0028 

     if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken   ))  
     {  
      return   RTN_ERROR;  
     } 

    // 取得关闭系统的[LUID](本地唯一的标识符)值  
     if(!LookupPrivilegeValue(MachineName,   SE_SHUTDOWN_NAME,   &luid))  
     {  
      return   RTN_ERROR;  
     }  

    // 设置特权数组的元素个数 
     tp.PrivilegeCount   =   1;  

    //設置特權數組的luid
     tp.Privileges[0].Luid   =   luid;  

    // 设置[LUID]的属性值 
     tp.Privileges[0].Attributes   =   SE_PRIVILEGE_ENABLED; 

    // 为当前进程取得关闭系统的特权  
     AdjustTokenPrivileges(hToken,   FALSE,   &tp,   sizeof(TOKEN_PRIVILEGES),NULL,   NULL   );  
     SetSystemPowerState(bSuspend,bForce);  

     return   0;  
    }

  • 相关阅读:
    转载-MongoDB 分片集群技术
    EXT4参数优化及测试---转载
    9.16周记
    PHP优化思路
    2018.09.10-拾遗
    周记8
    落地成盒-发快递
    周记7
    GTX log 6
    Gitlab Jenkins WebHook 持续集成配置踩坑记
  • 原文地址:https://www.cnblogs.com/lzjsky/p/1879851.html
Copyright © 2011-2022 走看看