关机

来源:互联网 发布:工业大数据概念股 编辑:程序博客网 时间:2024/04/24 16:47
#include <stdio.h>
#include <windows.h>

void main()
{
HANDLE hToken;
TOKEN_PRIVILEGES tkp;

//打开当前进程令牌
if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken) == 0)
{
return ;
}

//查询 SE_SHUTDOWN_NAME 权限的ID
if(LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid) == 0)
{
return ;
}

//TOKEN_PRIVILEGES
tkp.PrivilegeCount = 1;//数组个数
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;//特权启用

//提权至 SE_SHUTDOWN_NAME
if(AdjustTokenPrivileges(hToken,false,&tkp,0,(PTOKEN_PRIVILEGES)NULL,0) == 0)
{
return ;
}

//执行关机
if(ExitWindowsEx(EWX_SHUTDOWN|EWX_FORCE,0) == 0)
{
return ;
}
return ;
}