说到代码控制Windows关机/注销/重启嘚方式有很多种,最简单的不过就是控制电脑cmd命令关机行使用system(“pause”)函数执行一个shutdown -s -t 0,关机就完成了但这种方式还要借助于电脑cmd命令关機行的方式解决问题。而Windows早就提供给我们直接控制关机/注销/重启的API了在WindwosNT系统之前,只需调用ExitWindowsEx()就OK了但自从出现了WindowsNT系统后,权限意识大大提高为了提高系统的安全性,微软要求Windows执行关机/重启这类电脑cmd命令关机时一定要先提升进程权限再执行ExitWindowsEx()函数。所以在NT代表的系统中提升权限就得用到OpenProcessToken()函数打开进程的权限令牌,然后使用LookupPrivilegeValue()函数提取出关机权限所对应的Luid再调用AdjustTokenPrivileges()函数修改对应权限即可。虽然操作繁琐了一些但是并不复杂,相对于执行电脑cmd命令关机行的关机指令而言更加具有健壮性不容易被拦截。