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

关机程序的实现

2018年06月06日 ⁄ 综合 ⁄ 共 458字 ⁄ 字号 评论关闭
//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);   
}

抱歉!评论已关闭.