积累系统性知识
积聚技术精华
  首页    个人中心    撰写积文    建立课题    订立目标    整理积文    管理课题    管理目标    技能Get    代码积累 
windows200/Xp关机重起代码
error997 (error997)    2014-11-20 21:09:50      目标    课题
   1. 关机代码
切换到: 纯代码  
   
   TOKEN_PRIVILEGES tp;
    HANDLE hToken; 
    LUID luid; 
    LPTSTR MachineName=NULL; 
    if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken ))
 {
       // PERR("OpenProcessToken",GetLastError());
        return ;
 }
    if(!LookupPrivilegeValue(MachineName, SE_SHUTDOWN_NAME, &luid))
 {
      //  PERR("LookupPrivilegeValue", GetLastError());
        return ; 
 }
    tp.PrivilegeCount = 1; 
    tp.Privileges[0].Luid = luid; 
    tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; 
    AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(TOKEN_PRIVILEGES),NULL, NULL ); //到这里,是取得权限///
    ExitWindowsEx(EWX_POWEROFF,EWX_FORCE);

   2.重起代码
切换到: 纯代码  
   
   TOKEN_PRIVILEGES tp;
    HANDLE hToken; 
    LUID luid; 
    LPTSTR MachineName=NULL; 
    if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken ))
 {
       // PERR("OpenProcessToken",GetLastError());
        return ;
 }
    if(!LookupPrivilegeValue(MachineName, SE_SHUTDOWN_NAME, &luid))
 {
      //  PERR("LookupPrivilegeValue", GetLastError());
        return ; 
 }
    tp.PrivilegeCount = 1; 
    tp.Privileges[0].Luid = luid; 
    tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; 
    AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(TOKEN_PRIVILEGES),NULL, NULL ); //到这里,是取得权限///
    ExitWindowsEx(EWX_REBOOT,EWX_FORCE);


转自 http://blog.csdn.net/y___y/article/details/1198358
(+0)技能Get

建议楼主:搜索关键字 |参考其他资源 |回复 |追问
  error997(error997):   个人中心    课题    目标    代码积累