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

实现关机重启机器(十一)

2014年03月05日 ⁄ 综合 ⁄ 共 808字 ⁄ 字号 评论关闭

 

实现关机重启机器(十一)
本文讲述,如何实现系统的关闭,重启,注销操作。
1.      创建一个对话框工程:ShutDownResetCompu
2.      OnInitDialog()中添加一下代码,来修改访问令牌,如下:
       staticHANDLEhToken;
       staticTOKEN_PRIVILEGEStp;
       staticLUIDluid;
 
       //获得进程访问令牌句柄,修改令牌TOKEN_ADJUST_PRIVILENGES
       OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken);
       //获取LUID的值
       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);
3.      添加一个“关闭计算机”按钮,代码如下:
       ExitWindowsEx(EWX_POWEROFF,0);
4.      添加一个“重启计算机”按钮,代码如下:
       ExitWindowsEx(EWX_REBOOT,0);
5.      添加一个“注销计算机”按钮,代码如下:
       ExitWindowsEx(EWX_LOGOFF,0);
完成,可以实现对操作系统的操作。

 

抱歉!评论已关闭.