下面介绍几种在Windows编程中关闭Windows的几种方式

首先介绍一个API

ExitWindowsEx

这个API是WIndows下为开发人员提供的对操作系统睡眠的几种方式

API介绍:

函数原型:

BOOL ExitWindowsEx(
UINT uFlags, // 关闭参数
DWORD dwReserved // 系统保留,一般取0
);

参数介绍:

uFlags
指定关闭的类型。此参数必须有下列值的组合:
EWX_FORCE
强制终止进程。当此标志设置,Windows不会发送消息WM_QUERYENDSESSION和WM_ENDSESSION的消息给目前在系统中运行的程序。这可能会导致应用程序丢失数据。因此,你应该只在紧急情况下使用此标志。
EWX_LOGOFF
关闭所有进程,然后注销用户。
EWX_POWEROFF
关闭系统并关闭电源。该系统必须支持断电。
Windows要求:
Windows NT中调用进程必须有 SE_SHUTDOWN_NAME 特权。
Windows 9X中:可以直接调用。
EWX_REBOOT
关闭系统,然后重新启动系统。
Windows要求:
Windows NT中:调用进程必须有SE_SHUTDOWN_NAME特权。
Windows 9X中:可以直接调用。
EWX_SHUTDOWN
关闭系统,安全地关闭电源。所有文件缓冲区已经刷新到磁盘上,所有正在运行的进程已经停止。
Windows要求:
Windows NT中:调用进程必须有SE_SHUTDOWN_NAME特权。
Windows 9X中:可以直接调用。
dwReserved
系统保留,这参数被忽略。一般取0。
返回值
如果函数成功,返回值为非零。
如果函数失败,返回值是零。想获得更多错误信息,请调用GetLastError函数。

1.注销

非常简单使用EWX_LOGOFF即可

ExitWindowsEx(EWX_LOGOFF,0);//注销当前用户

强制注销:

只需要将EWX_FORCE利用或运算符即可

ExitWindowsEx(EWX_FORCE|EWX_LOGOFF,0);//强制注销当前用户

2.重启

ExitWindowsEx(EWX_REBOOT, 0); //重启

强制重启

 ExitWindowsEx(EWX_FORCE|EWX_REBOOT, 0); //强制重启

3.关机

//此步骤需要提权,提权方法请参考我的其它文章

ExitWindowsEx(EWX_SHUTDOWN, 0); //关闭系统

强制关机

ExitWindowsEx((EWX_FORCE|EWX_SHUTDOWN, 0); //关闭系统

4.关闭电源

此步骤需要设备以及操作系统支持,和笔记本的关闭按钮一样,切断电源

ExitWindowsEx(EWX_POWEROFF, 0); //关闭系统并关闭电源

强制切断电源

ExitWindowsEx(EWX_FORCE|EWX_POWEROFF, 0); //强制关闭系统,并关闭电源

Windows核心编程_关闭Windows相关推荐

  1. Windows核心编程_设置Windows开机自动登录

    设置自动登录的方法在Windows中已经给出了非常方便的方法,当Windows内核进入登入界面时会检查HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ ...

  2. Windows核心编程_获取鼠标指定位置的RGB颜色值

    Windows核心编程_获取鼠标指定位置的RGB颜色值 大家平常会见到很多屏幕取色工具,其原理都是获取鼠标位置的屏幕像素点颜色! 一般思路都是:获取鼠标位置,然后取出鼠标指向的屏幕像素点颜色! Get ...

  3. windows核心编程--2、windows的画笔画刷以及一些简单的应用

    一.前言     该系列前几篇:      windows核心编程–1.使用vs2019编写第一个win32项目 二.相关工具     IDE:vs2019     其他格式图片转ico脚本(贴在文末 ...

  4. Windows核心编程_提权

    在Windows下编程有些涉及到硬件或者跨内存的API会发现失效了,原因是因为权限问题,这也是Windows出于安全的保护,但是事物都有两面性的,Windows又为我们提供了提权的API! 1.Adj ...

  5. 关闭windows安全警报_关闭 Windows 10 系统中自带 Defender 防病毒软件三种方法

    Windows Defender 以前它叫 Microsoft Anti Spyware,是一款杀毒程序,可以运行在 Windows XP 和 Windows Server 2003 操作系统上,并已 ...

  6. Windows核心编程_判断是否管理员权限运行

    在Windows安全性越来越强的情况下,不常于XP时代,几乎毫无安全可言,各种对内核文件操控的rin3API不需要权限就可以运行和随意修改,如常见的注册表需改! 但是Win8以后安全性得到了强力的提升 ...

  7. Windows核心编程_将窗口嵌入到桌面图标下面不被遮挡 spy 分析过程

    近年很流行动态视频桌面,实则上早期的windows vista系统上有一个Windows DreamScene软件将桌面壁纸设置成视频,但是是收费的! 首先先来观察一下Windows桌面的组成单元: ...

  8. Windows核心编程_窗口透明组件不透明

    经过前几篇对界面编程的学习,已经对Windows窗口消息有了更加深刻的理解,今天就教大家写一个窗口透明而组件却不透明的小示列! 这个demo并不难,而且还非常的简单,如果你看过我的前几篇针对界面编程写 ...

  9. Windows核心编程_窗口蒙版效果

    首先先看一下界面效果: 遮罩窗口: 模糊模态窗口: 保留特定控件 模糊保留特定控件: 遮罩+模糊效果: 遮罩模态效果: 怎么样是不是很炫酷,非常适合在提示用户新信息或者其它需要模态窗口时候展现的效果, ...

最新文章

  1. sql将一列拆分为多列_【Excel实用技巧】把一列数据拆分为多列的三个菜鸟招数,你还有更菜的方法吗?...
  2. IPSec ***基于ASA的配置(思科)
  3. 实战SSM_O2O商铺_25【商品类别】商品类别列表展示从Dao到View层的开发
  4. 老王学linux-ftp
  5. oralce load的时候使用触发器会导致load慢吗_你真的了解性能压测中的SLA吗?
  6. php获取数组中的全部可以吗,php获取数组中所有值的方法
  7. javascript技巧参考
  8. Redmi K50标准版工信部入网:搭载骁龙870 没有12GB内存
  9. 大家可以放心了!Redmi K20将配备双频GPS
  10. 骨牌覆盖问题总结!hihoCoder/ NYOJ-1273宣传墙1151
  11. 多个集合计算笛卡尔积-Python
  12. 监理延期 验收工程款制约三方
  13. Kotlin实战【四】迭代事物:while和for
  14. 基于单片机的KTV智能调光系统设计
  15. 计算机专业软件工程专业学科排名2015,软件工程专业排名
  16. UFS的Command Queue
  17. hadoop yarn web无法访问
  18. android气泡样式图片,Android实现三角形气泡效果方式汇总
  19. IDEA 2021 将分支代码合并到另一分支上
  20. java形参和实参的三种传递方式(值传递,地址传递,引用传递)

热门文章

  1. 用C语言解决狼羊白菜过河的思路,基于visual Studio2013解决C语言竞赛题之1079狼羊过河...
  2. php mysql难不难_PHP操作mysql数据库
  3. mysql怎么切换用户_DB2迁移到Mysql
  4. tomcat套接字接受失败_07 | What? 还有本地套接字?
  5. python设计选择题代码源_Python程序的设计试题库完整
  6. centos报acpi 错误解决方法实测有用
  7. python多元线性回归实例_关于多元线性回归分析——PythonSPSS
  8. python 表格格式输出_简单介绍python输出列表元素的所有排列形式
  9. 普通办公用计算机,工业计算机与普通办公用的电脑有什么区别?
  10. android 耗电量分析,使用能耗性能剖析器检查耗电量