Chinaunix首页 | 论坛 | 博客
  • 博客访问: 75078
  • 博文数量: 24
  • 博客积分: 89
  • 博客等级: 民兵
  • 技术积分: 135
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-04 01:14
文章分类
文章存档

2012年(13)

2011年(11)

分类:

2012-02-24 07:07:38

1、记得要加入头文件:#include
2、代码
bool MainForm::shutDownSystem()
{
    HANDLE hToken;
    TOKEN_PRIVILEGES tkp;
    //获取进程标志
        if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
            return false;
        //获取关机特权的LUID
        LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,    &tkp.Privileges[0].Luid);
        tkp.PrivilegeCount = 1;
        tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
        //获取这个进程的关机特权
        AdjustTokenPrivileges(hToken, false, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0);
        if (GetLastError() != ERROR_SUCCESS) return false;
        // 强制关闭计算机
        //if (  !ExitWindow***(EWX_SHUTDOWN | EWX_FORCE,
            // SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_UPGRADE |  SHTDN_REASON_FLAG_PLANNED))
        if (  !ExitWindow***(EWX_REBOOT | EWX_FORCE, 0))
             return false;
        return true;
}
阅读(5564) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

xhy2008ok2013-02-27 15:00:00

正在做这个功能,可以交流下么,QQ:601940596

虾米小2012-03-25 22:51:58

#include <windows.h>恩,挺重要的头文件……