打印本文 打印本文  关闭窗口 关闭窗口  
C++使用当前进程关闭系统的实现方法
作者:佚名  文章来源:不详  点击数  更新时间:2008/11/1 20:41:12  文章录入:杜斌  责任编辑:杜斌

  BOOL OpenProcessToken(
  HANDLE ProcessHandle, // handle to process
  DWORD DesiredAccess, // desired access to process
  PHANDLE TokenHandle // pointer to handle of open access token
  );
  //GetCurrentProcess()
  TOKEN_PRIVILEGES tp;
  HANDLE hToken;
  OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken )
  LUID luid;
  LookupPrivilegeValue(MachineName, SE_SHUTDOWN_NAME, &luid)
  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);

考试大等级站收集整理!

打印本文 打印本文  关闭窗口 关闭窗口