强制重启——让调试的小伙伴爽一爽
来源:互联网 发布:贵金属消息软件 编辑:程序博客网 时间:2024/04/29 09:26
#include <Windows.h>#include <stdio.h>bool EnableShutdownPrivilege(){HANDLE hProcess = NULL;HANDLE hToken = NULL;LUID uID = {0};TOKEN_PRIVILEGES stToken_Privileges = {0};hProcess = ::GetCurrentProcess(); //获取当前应用程序进程句柄if(!::OpenProcessToken(hProcess,TOKEN_ADJUST_PRIVILEGES,&hToken)) //打开当前进程的访问令牌句柄(OpenProcessToken函数调用失败返回值为零)return FALSE;if(!::LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&uID)) //获取权限名称为"SeShutdownPrivilege"的LUID(LookupPrivilegeValue函数调用失败返回值为零)return FALSE;stToken_Privileges.PrivilegeCount = 1; //欲调整的权限个数stToken_Privileges.Privileges[0].Luid = uID; //权限的LUIDstToken_Privileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; //权限的属性,SE_PRIVILEGE_ENABLED为使能该权限if(!::AdjustTokenPrivileges(hToken,FALSE,&stToken_Privileges,sizeof stToken_Privileges,NULL,NULL)) //调整访问令牌里的指定权限(AdjustTokenPrivileges函数调用失败返回值为零)return FALSE;if(::GetLastError() != ERROR_SUCCESS) //查看权限是否调整成功return FALSE;::CloseHandle(hToken);return TRUE;}//关机函数BOOL Shutdown(BOOL bForce){EnableShutdownPrivilege(); //使能关机特权函数if(bForce)return ::ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE,0); //强制关机elsereturn ::ExitWindowsEx(EWX_SHUTDOWN,0);}//注销函数BOOL Logoff(BOOL bForce){if(bForce)return ::ExitWindowsEx(EWX_LOGOFF | EWX_FORCE,0); //强制注销elsereturn ::ExitWindowsEx(EWX_LOGOFF,0);}//重启函数BOOL Reboot(BOOL bForce){EnableShutdownPrivilege(); //使能关机特权函数if(bForce)return ::ExitWindowsEx(EWX_REBOOT | EWX_FORCE,0); //强制重启elsereturn ::ExitWindowsEx(EWX_REBOOT,0);}int main(){//Logoff(FALSE); //注销//Reboot(FALSE); //重启Shutdown(FALSE); //关机//Logoff(TRUE); //强制注销//Reboot(TRUE); //强制重启//Shutdown(TRUE); //强制关机return 0;}
我的一个同学曾经在一个程序中这样做:如果检测OD/虚拟机,则调用这段代码。。。
说实话吓人一跳还是蛮实用的
0 0
- 强制重启——让调试的小伙伴爽一爽
- 我和我的小伙伴们一起学Unity3D(五)让角色更鲜活——刚体
- kali让局域网的内的小伙伴断网
- OpenGLES 的小伙伴 EGL
- 说精也很精,说傻也很傻的小伙伴
- 想念我的小伙伴
- 编程小伙伴的福音
- VC---强制重启电脑的代码
- VC 强制重启电脑的方法
- 小伙伴们的ceph源码分析二——monitor启动流程
- 小伙伴们的ceph源码分析三——monitor消息处理流程
- 2014编程之美第二题——大神和他的小伙伴
- 厦门深圳的小伙伴注意了,曝光手游黑老板——李思维
- docker实战——《第一节:给你的team小伙伴分配专有服务器》
- 强制重启Linux
- Linux 强制重启
- db2强制重启
- IPHONE强制重启
- 身在职场要做的10件事
- c# XML序列化与反序列化
- 单调递增最长子序列 && 拦截导弹(nyoj 17 && nyoj 79)
- 这里有挺多关于Android 的好资料
- linux 网桥代码分析 一 网桥概念与网桥相关的数据结构
- 强制重启——让调试的小伙伴爽一爽
- C#发邮件功能
- 受用不尽的文章
- Linux下core文件产生的一些注意问题
- JavaScript字符串函数大全
- IT工程师必看的绝世好文
- c#生成随机数(数字和字母)
- MyEclipse怎么导入导出项目
- 移动开发者必须了解的10大跨平台工具