请参考下面的代码:
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
LUID sedebugnameValue;
if ( ! OpenProcessToken( GetCurrentProces(),TOKEN_ADJUST_PRIVILEGES
| TOKEN_QUERY, &hToken ) )
return;
if ( !LookupPrivilegeValue( NULL, SE_SHUTDOWN_NAME ,
&sedebugnameValue ) )
{ CloseHandle( hToken );
return;
}
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Luid = sedebugnameValue;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges( hToken, FALSE, &tkp, sizeof tkp, NULL, NULL);
CloseHandle( hToken );
if(!ExitWindowsEx(EWX_REBOOT,0L))
AfxMessageBox("重新启动失败!"); ////EWX_REBOOT可以用其它参数代替来实现关闭电源等功能。
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
LUID sedebugnameValue;
if ( ! OpenProcessToken( GetCurrentProces(),TOKEN_ADJUST_PRIVILEGES
| TOKEN_QUERY, &hToken ) )
return;
if ( !LookupPrivilegeValue( NULL, SE_SHUTDOWN_NAME ,
&sedebugnameValue ) )
{ CloseHandle( hToken );
return;
}
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Luid = sedebugnameValue;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges( hToken, FALSE, &tkp, sizeof tkp, NULL, NULL);
CloseHandle( hToken );
if(!ExitWindowsEx(EWX_REBOOT,0L))
AfxMessageBox("重新启动失败!"); ////EWX_REBOOT可以用其它参数代替来实现关闭电源等功能。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货