标签:style blog color for sp div log amp ad
1 //关机函数 2 BOOL CShutdownDlg::SystemShutdown(void){ 3 HANDLE hToken; 4 TOKEN_PRIVILEGES tkp;//设置访问特权变量 5 //OpenProcessToken 获取进程的访问令牌 6 if (!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,&hToken)) 7 { 8 MessageBox("获取访问令牌失败!"); 9 return FALSE; 10 } 11 // LookupPrivilegeValue查看系统的特权值 12 LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid); 13 tkp.PrivilegeCount = 1; // 指定特权数组个数1 14 tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;//启用特权 15 // AdjustTokenPrivileges的作用是通知Windows NT修改本进程的权利 16 AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,(PTOKEN_PRIVILEGES)NULL, 0);//启用当前访问令牌的特权 17 if (GetLastError() != ERROR_SUCCESS) //失败 18 { 19 MessageBox("获取权限失败!"); 20 return FALSE; 21 } 22 if (!ExitWindowsEx(EWX_SHUTDOWN, 0)) //参数在这里设置。EWX_SHUTDOWN 为正常关机,强行退出为WINDOWSEWX_FORCE。 23 return FALSE; 24 return TRUE; 25 }
标签:style blog color for sp div log amp ad
原文地址:http://www.cnblogs.com/kingbin/p/4040112.html