首页 > 编程语言 >C# 代码实现关机

C# 代码实现关机

时间:2023-05-30 11:24:54浏览次数:26  
标签:关机 C# 代码 Vanara TOKEN User32 PInvoke var AdvApi32

AdvApi32.LookupPrivilegeValue(null, "SeShutdownPrivilege", out var lpLuid);

using var t = AdvApi32.SafeHTOKEN.FromThread(Kernel32.SafeHTHREAD.Current,
AdvApi32.TokenAccess.TOKEN_ADJUST_PRIVILEGES | AdvApi32.TokenAccess.TOKEN_QUERY);

var ptp = new AdvApi32.TOKEN_PRIVILEGES(luid:lpLuid, AdvApi32.PrivilegeAttributes.SE_PRIVILEGE_ENABLED);

AdvApi32.AdjustTokenPrivileges(t,false,ptp,out var old);
User32.ExitWindowsEx(User32.ExitWindowsFlags.EWX_POWEROFF | User32.ExitWindowsFlags.EWX_FORCE,
          SystemShutDownReason.SHTDN_REASON_MAJOR_NONE);

需要在nuget上下载:
Vanara.PInvoke.Kernel32
Vanara.PInvoke.User32
Vanara.PInvoke.Security

标签:关机,C#,代码,Vanara,TOKEN,User32,PInvoke,var,AdvApi32
From: https://www.cnblogs.com/sesametech-netcore/p/17442705.html

相关文章

  • 1万7千道法律职业考试题ACCESS\EXCEL数据库
    今天这个《1万7千道法律职业考试题ACCESS数据库》集收了海量的法考题库试题,是从法律职业考试软件取提出来的,让你备考通关更加高效。今天这个《1万7千道法律职业考试题ACCESS数据库》集收了海量的法考题库试题,是从法律职业考试软件取提出来的,让你备考通关更加高效。包含分类:1.法......
  • Vulnhub之Decoy靶机-详细提权过程补充
    VulnhubDecoy提权补充在拿到用户296640a3b825115a47b68fc44501c828的密码server后,为了方便观察现象,同时开启两个shell,并且需要指定-t"bash--noprofile"以逃避受限shell,登录成功后,要修改PATH环境变量,使其包含正常的环境变量:PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:......
  • 对抗精神内耗?把他们都当成npc吧!【法学博士杂谈02】
    来源:博士阿辉-BV1b24y1x7Gg大家好我是法学博士阿辉,今天和大家聊一个与精神内耗有关的话题,一句话对抗精神内耗最好的方式,就是把所有不重要的人全都当成NPC,废话不说咱们开始,当然如果这个观点让您觉得有点意思。并且您愿意刺个赞那就太感谢了,祝您发财,咱们这期视频谈的不......
  • 为什么HashMap可以存null,而ConcurrentHashMap不可以?
    HashMap中,null可以作为键也可以做为值。而在ConcurrentHashMap中,Key和Value都不允许为null。ConcurrentMap(如ConcurrentHashMap、ConcurrentSkipListMap)不允许使用null值的主要原因是,在非并发的Map中(如HashMap),是可以容忍模糊性(二义性)的,而在并发Map中是无法容忍的。假如说,所有的......
  • 《asyncio 系列》3. 详解 Socket(阻塞、非阻塞),以及和 asyncio 的搭配
    楔子在前面两篇文章中,我们介绍了协程、任务和事件循环,研究了如何同时运行长耗时的操作,并探索了一些可以优化此操作的asyncioAPI。然而,到目前为止,我们只是用asyncio.sleep函数模拟了长时间的操作。由于我们想要构建的不仅是演示应用程序,因此我们将使用一些真实世界的阻塞操作......
  • Centos7 安装 npm 学习
    #系统环境Centos7#!/bin/bashCentos7一键安装npm地址列表地址列表���地址列表官网node.js站点链接:https://nodejs.org淘宝node.js镜像站点链接:https://npm.taobao.org/mirrors/node安装安装安装������#下载安装npmmkdir/usr/local/nodejs-v12&&\wgethttps://np......
  • 2万多公务员考试宝典题库ACCESS\EXCEL\SQLite3数据库
    虽然之前弄到过《1万多公务员考试基础知识题库ACCESS数据库》,但完全没有今天这份数据库那么美。今天这份数据是从一款考试学习类的软件中破解提取出来的,据数非常不错,不但有大小分类,而且题型包含:单项选择题(25575条)、简答题(942条)。题库中有些包含图片问答,或者选项中有含图片,如:......
  • c语言学习day2(定义变量)
    1.常量const是constant的缩写表示常量 浮点数   double 当输入输出整数时使用%d当输入输出浮点型数时使用%lf数据类型 ......
  • centos 7.9安装KVM虚拟化
    一、操作步骤1.1开启CPU虚拟化此处以vmwareworkstation举例,虚拟机关机状态,勾选这两项即可。1.2验证虚拟化是否开启成功有回显说明虚拟化开启成功,这样才支持安装和使用KVM虚拟化。cat/proc/cpuinfo|grepvmxcat/proc/cpuinfo|grepnxcat/proc/cpuinfo|grepsvm......
  • java 网络通讯:tcp,upd,http
    java网络通讯:tcp,upd,http1.TCP通信服务端用的代表类:ServerSocket类,注册端口。调用accept()方法阻塞等待接收客户端连接。得到Socket对象。TCP通信的基本原理?客户端怎么发,服务端就应该怎么收。客户端如果没有消息,服务端会进入阻塞等待。Socket一方关闭或者出现异常、对方......