永发信息网

为什么VC中调用ExitWindowsEX(,)函数能够注销却不能进行关机和重启等操作

答案:2  悬赏:20  手机版
解决时间 2021-02-12 15:27
为什么MFC中调用ExitWindowsEX(,)函数能够注销却不能进行关机和重启等操作
最佳答案
ExitWindowsEx在Window98中可以直接调用实现windows的关闭,注销,重启

但在windows2000/XP中需要铜鼓AdjustTokenPrivileges来修改当前进程的令牌权限后才能实现关闭和重启

// 获取执行权限
void CWindowsOPDlg::AdjustToken()
{
// 该函数在OnInitDialog()函数中调用
static HANDLE hToken;
static TOKEN_PRIVILEGES tp;
static LUID luid;
::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);
}

// 重启
void CWindowsOPDlg::OnButton1()
{
::ExitWindowsEx(EWX_REBOOT, 0);
}

// 关闭
void CWindowsOPDlg::OnButton2()
{
::ExitWindowsEx(EWX_POWEROFF, 0);
}

// 注销
void CWindowsOPDlg::OnButton3()
{
::ExitWindowsEx(EWX_LOGOFF, 0);
}
全部回答
我是来看评论的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
平顺县农商银行24小时自助银行(东昇支行)地址
待浮花浪蕊俱尽,伴君幽独。谁的什么诗
襄阳浩强环保设备有限公司地址在什么地方,想
如何让步步高家教机恢复出厂设置
嗯嗯,不要太劳累了喔韩语
一个女孩子对男朋友没有期望了甚至绝望了变得
数理逻辑与密码学、信息安全有什么关系?
宝贝总动员儿童摄影国际连锁平顶山旗舰店我想
含有 秋华 的诗句
老公说他喜欢我的腿,什么意思
第一次在steam上买游戏 。银联支付已经扣款了
德法窗帘店怎么去啊,有知道地址的么
(9分)甲图表示缩手反射相关的结构,乙图表
74年虎人在2019年每月运势
吗噶有什么功效
推荐资讯
惠风酒店地址在什么地方,想过去办事
翼虎按ok键公里数不能清零怎么为
擀面皮在哪里啊,我有事要去这个地方
威海经区老虎山生态园内 威海真人CS实战俱乐
有扬心宇这个男主的小说
高弹性透明tpe果冻线 好在哪
天下夫妇多,珠联璧合少什么意思
【仿宋体】目前常用的字体有()、仿宋体、楷体
新雨茶业地址在什么地方,想过去办事
【singing怎么读】singing怎么读
超市散货柜员工作总结范文
确定企业生产能力的设备数量时不包括( )。A.
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?