//1 关机 ExitWindowsEx(EWX_SHUTDOWN, 0); //2 提示进程权限 void CshutDlg::GetPower() { HANDLE hToken; LUID luid; TOKEN_PRIVILEGES tp; //获取此进程的令牌 ::OpenProcessToken(::GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken); //查询权限值:获取权限的唯一标识值 ::LookupPrivilegeValue(NULL,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); }