现在的位置: 首页 > 综合 > 正文

VC 强制重启电脑的方法

2013年01月01日 ⁄ 综合 ⁄ 共 613字 ⁄ 字号 评论关闭

BOOL RestartWindows()
{
HANDLE   hToken;
TOKEN_PRIVILEGES   tkp;
//获取系统信息
OSVERSIONINFO   osvi;
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
if( GetVersionEx( &osvi ) == 0 ) return FALSE;

if( !OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY, &hToken ) ) return FALSE;

LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1;     //   one   privilege   to   set
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges( hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL,0);
ExitWindowsEx(EWX_REBOOT|EWX_FORCEIFHUNG,   0);
return TRUE;
}

相关内容可查询:http://baike.baidu.com/view/1304692.htm

抱歉!评论已关闭.