当前位置: 首页 > news >正文

C#实现windows系统重启、关机

1、C#实现windows系统重启、关机

实现原理,使用系统shutdown命令执行:

强制关机:

shutdown -s -f -t 0

强制重启:

shutdown -r -f -t 0

2、关于shutdown命令详解:

    C#实现控制Windows系统关机、重启和注销的方法:
    shutdown命令的参数:
     
    shutdown.exe -s:关机
    shutdown.exe -r:关机并重启
    shutdown.exe -l:注销当前用户
     
    shutdown.exe -s -t 时间:设置关机倒计时
    shutdown.exe -h:休眠
    shutdown.exe -t 时间:设置关机倒计时。默认值是 30 秒。
    shutdown.exe -a:取消关机
    shutdown.exe -f:强行关闭应用程序而没有警告
    shutdown.exe -m \计算机名:控制远程计算机
    shutdown.exe -i:显示“远程关机”图形用户界面,但必须是Shutdown的第一个参数
    shutdown.exe -c "消息内容":输入关机对话框中的消息内容
    shutdown.exe -d [u][p]:xx:yy :列出系统关闭的原因代码:u 是用户代码 ,p 是一个计划的关闭代码 ,xx 是一个主要原因代码(小于 256 的正整数) ,yy 是一个次要原因代码(小于 65536 的正整数)
     
    比如你的电脑要在12:00关机,可以选择“开始→运行”,输入“at 12:00 Shutdown -s",这样,到了12点电脑就会出现“系统关机”对话框,默认有30秒钟的倒计时并提示你保存工作。
    如果你想以倒计时的方式关机,可以输入 “Shutdown.exe -s -t 3600",这里表示60分钟后自动关机,“3600"代表60分钟。
    一键关机:
    1、首先在桌面的空白处单击鼠标右键,新建一个“快捷方式”。
    2、在创建快捷方式的“命令行”中输入以下的指令:
    “shutdown –s –t 0 ”。(在windows98按此输入“C:windowsRUNDLL32.EXE user,ExitWindows”。)
    3、按着鼠标选择“下一步”,在快捷方式的名称栏中输入“一键关机”或其他自己喜欢的名称。
    4、之后,你就会在桌面见到一个名为“一键关机”的快捷方式图标,在该图标上单击鼠标右键,选择“属性”,再进入“快捷方式”页,然后在“快速键一栏内随便按选一个功能键(如F1-F12)。建议大家最好选一个平时不常用的功能键,最后按确定退出即可。
    Windows系统通过一个名为shutdown.exe的程序来完成关机操作(位置Windows\System32下),一般情况下Windows系统的关机都可以由关机程序 shutdown.exe来实现的,关机的时候调用shutdown.exe。由此可知要阻止强行关机就是要取消对shutdown.exe的调用。
    使用C#代码实现控制Windows系统关机、重启和注销的方法,使用.NET和C#.NET,我们可以对当前PC执行关机,重启,注销操作,
    .NET Framework中,有一个命名空间System.Diagnostics具有所需的类和方法,从当前PC上运行.NET应用程序来执行这些操作 。一般使用System.Diagnostics.Process.Start()方法来启动shutdown.exe程序。

3,示例:

public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){//重启电脑//  APIHelper.ExitWindows(UFlag.EWX_REBOOT);//该方法无效string ss=  APIHelper.DOSCommand("shutdown -r -t 2");MessageBox.Show(ss);}private void button2_Click(object sender, EventArgs e){//注销电脑APIHelper.ExitWindows(UFlag.EWX_LOGOFF);}private void button3_Click(object sender, EventArgs e){//关闭电脑// APIHelper.ExitWindows(UFlag.EWX_SHUTDOWN);//无效string ss= APIHelper.DOSCommand("shutdown -s -t 2");MessageBox.Show(ss);}private void button4_Click(object sender, EventArgs e){string ss = APIHelper.DOSCommand("shutdown -a");MessageBox.Show(ss);}}/// <summary>/// PC操作功能代码/// </summary>enum UFlag{/// <summary>/// 强迫终止没有响应的进程/// </summary>EWX_FORCE=4,/// <summary>/// 注销/// </summary>EWX_LOGOFF=0,/// <summary>/// 重启/// </summary>EWX_REBOOT=2,/// <summary>/// 关闭系统/// </summary>EWX_SHUTDOWN=1}class APIHelper{/// <summary>/// 使用dos命令进行操作/// </summary>/// <param name="cmdStr"></param>/// <returns></returns>public static string DOSCommand(string cmdStr){System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo();info.CreateNoWindow =true;//不显示黑窗口info.FileName = "cmd.exe";info.RedirectStandardError = true;info.RedirectStandardInput = true;info.RedirectStandardOutput = true;info.UseShellExecute = false;var p = System.Diagnostics.Process.Start(info);//处理办法1://using (System.IO.TextWriter tw= p.StandardInput)//{//    tw.WriteLine(cmdStr);//}//处理办法2:在指令后添加:&exit。p.StandardInput.WriteLine(cmdStr + "&exit");p.WaitForExit();string str = "";using (System.IO.TextReader tr = p.StandardOutput){str = tr.ReadToEnd();}p.Close();return str;}public static int ExitWindows(UFlag flag){return ExitWindowsEx((int)flag, 0);}/// <summary>/// 注销,关闭,重启电脑/// </summary>/// <param name="uFlag">要执行的操作</param>/// <param name="dwReserved">保留值,一般设置为0</param>/// <returns></returns>[DllImport("user32.dll")]extern static int ExitWindowsEx(int uFlag, int dwReserved);}

相关文章:

C#实现windows系统重启、关机

1、C#实现windows系统重启、关机 实现原理&#xff0c;使用系统shutdown命令执行&#xff1a; 强制关机&#xff1a; shutdown -s -f -t 0 强制重启&#xff1a; shutdown -r -f -t 0 2、关于shutdown命令详解&#xff1a; C#实现控制Windows系统关机、重启和注销的方法&…...

JS中Set和Map用法详解

目录 1、Set 1.基本用法 2.Set 实例的属性和方法 3.遍历操作 2、Map 1、Set 1.基本用法 ES6 提供了新的数据结构 Set。它类似于数组&#xff0c;但是成员的值都是唯一的&#xff0c;没有重复的值。 Set本身是一个构造函数&#xff0c;用来生成 Set 数据结构。 const s …...

使用nginx对视频、音频、图片等静态资源网址,加token签权

目前很多静态资源&#xff0c;都可以无权限验证&#xff0c;进行访问或转发&#xff0c;对有价值的资源进行签权&#xff0c;限制转发无法在代码中实现拦截&#xff0c;我们可以使用nginx对视频、音频、图片等静态资源网址&#xff0c;加token签权 如&#xff1a; http://192…...

[每周一更]-(第86期):NLP-实战操作-文本分类

NLP文本分类的应用场景 医疗领域 - 病历自动摘要&#xff1a; 应用&#xff1a; 利用NLP技术从医疗文档中自动生成病历摘要&#xff0c;以帮助医生更快速地了解患者的状况。 法律领域 - 法律文件分类&#xff1a; 应用&#xff1a; 使用文本分类技术自动分类法律文件&#xf…...

【Springcloud篇】学习笔记五(十章):Gateway网关

第十章_Gateway新一代网关 1.Gateway简介 1.1官网 上一代zuul 1.X&#xff1a;https://github.com/Netflix/zuul/wiki 当前gateway&#xff1a;https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.1.RELEASE/reference/html/ 1.2是什么 SpringCloud …...

Linux开发工具

前言&#xff1a;哈喽小伙伴们&#xff0c;经过前边的学习我们已经掌握了Linux的基本指令和权限&#xff0c;相信大家学完这些之后都会对Linux有一个更加深入的认识&#xff0c;但是Linux的学习可以说是从现在才刚刚开始。 这篇文章&#xff0c;我们将讲解若干个Linux的开发工…...

C++ 动态规划 线性DP 最长共同子序列

给定两个长度分别为 N 和 M 的字符串 A 和 B &#xff0c;求既是 A 的子序列又是 B 的子序列的字符串长度最长是多少。 输入格式 第一行包含两个整数 N 和 M 。 第二行包含一个长度为 N 的字符串&#xff0c;表示字符串 A 。 第三行包含一个长度为 M 的字符串&#xff0c;表…...

【备战蓝桥杯】——循环结构终篇

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-yl4Tqejg4LkjZLAM {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…...

为什么说Python语法简单?

Python被广泛认为是一种语法简单、易学易用的编程语言&#xff0c;这种观点有几个关键的原因&#xff1a; 1、清晰简洁的语法结构&#xff1a; Python采用了清晰而简洁的语法结构&#xff0c;使得代码易于阅读和理解。Python的语法设计强调代码的可读性&#xff0c;采用了清晰…...

【HarmonyOS应用开发】ArkUI 开发框架-进阶篇-管理组件状态(九)

管理组件状态 一、概述 在应用中&#xff0c;界面通常都是动态的。下图所示&#xff0c;在子目标列表中&#xff0c;当用户点击目标一&#xff0c;目标一会呈现展开状态&#xff0c;再次点击目标一&#xff0c;目标一呈现收起状态。界面会根据不同的状态展示不一样的效果。 Ar…...

EF Core入门例子(以SqLite为数据库)

测试环境&#xff1a; visual studio 2017 .net core 2.1 具体步骤如下&#xff1a; 1 新增名称为EFCoreDemo的.net core控制台程序&#xff0c;版本选择.net core 2.1&#xff0c;项目不能放到带中文的目录下&#xff0c;不然到后面执行Add-Migration命令时会报如下的错误…...

centos7 安装nginx

在 CentOS 7 上安装 Nginx&#xff0c;你可以选择从官方仓库&#xff08;EPEL&#xff09;安装&#xff0c;或者手动编译安装。以下是通过 EPEL 安装 Nginx 的步骤&#xff1a; 方法一&#xff1a;通过 EPEL 仓库安装 添加 EPEL 仓库&#xff1a; sudo yum install epel-relea…...

【Linux Day14 UDP网络通讯】

UDP网络通讯 UDP报文结构&#xff1a; 16位源端口&#xff1a;用于记录发送端的端口号&#xff08;占用两个字节&#xff09;16位目的端口&#xff1a;用于记录接收端的端口号&#xff08;占用两个字节&#xff09;16位UDP长度&#xff1a;确定UDP报文总长度&#xff0c;&…...

指针的深入了解6

1.回调函数 回调函数就是一个通过函数指针调用的函数。 如果你把函数的指针&#xff08;地址&#xff09;作为参数传递给另一个函数&#xff0c;当这个指针被用来调用其所指向的函数 时&#xff0c;被调用的函数就是回调函数。回调函数不是由该函数的实现方直接调用&#xff0…...

PHP之PDO_MYSQL扩展安装步骤

1&#xff0c;如果有php源码包可以不用下载&#xff0c;在 源码包下的 ext/ 下面可以找到 cd php-8.1.9/ext/pdo_mysql 2,如果存在&#xff0c;直接安装 /usr/local/php-8.1.9/bin/phpize ./configure --with-php-config/usr/local/php-8.1.9/bin/php-config make &&a…...

【pytorch】nn.linear 中为什么是y=xA^T+b

我记得读教材的时候是yWxb, 左乘矩阵W&#xff0c;这样才能表示线性变化。 但是pytorch中的nn.linear中&#xff0c;计算方式是yxA^Tb&#xff0c;其中A是权重矩阵。 为什么右乘也能表示线性变化操作呢&#xff1f;因为pytorch中&#xff0c;照顾到输入是多个样本一起算的&…...

vite打包原理

vite 工程化开发&#xff1a;打包工具 启动速度很快 核心原理还是webpack 把webpack封装了&#xff0c;把webpack对象封装了 和vue2整体结构几乎一致 webpack两种模式&#xff1a;开发&生产 代码打包编译&#xff0c;本地起一个web服务器实时预览编译后的结果 build 命令模…...

导出pdf 加密、加水印、加页脚

1.依赖 <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.10</version> </dependency> <dependency> …...

Flutter 仿抖音 TikTok 上下滑动 播放视频

Flutter 仿抖音 TikTok 上下滑动 播放视频UI框架&#xff0c;视频播放使用 video_player github&#xff1a;GitHub - PangHaHa12138/TiktokVideo: Flutter 仿抖音 TikTok 上下滑动 播放视频UI框架 实现功能&#xff1a; 1.上下滑动自动播放切换视频&#xff0c;loading 封面…...

计算机网络——网络层(2)

计算机网络——网络层&#xff08;2&#xff09; 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU)前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff0c; [跳转到网站](https://www.captainbed.…...

Simulink电力电子主电路设计指南:从基础模块到桥臂搭建

1. Simulink电力电子主电路设计入门 第一次接触Simulink做电力电子设计时&#xff0c;我被它丰富的模块库震撼到了。作为一个从硬件电路转战仿真的工程师&#xff0c;我发现用Simulink搭建主电路比实际焊接电路板方便太多。比如设计一个简单的AC-DC转换器&#xff0c;在实验室可…...

Tickers:嵌入式无阻塞软件定时器库

1. 项目概述Tickers是一个轻量级、无阻塞的定时回调库&#xff0c;专为资源受限的嵌入式系统设计。其核心目标是彻底替代delay()函数&#xff0c;在不牺牲实时性、不引入线程调度开销的前提下&#xff0c;实现高精度、可重入、多实例的周期性函数调用。该库不依赖操作系统内核&…...

突破3D资产生产瓶颈:Hunyuan3D-2赋能企业级内容创作的实战案例

突破3D资产生产瓶颈&#xff1a;Hunyuan3D-2赋能企业级内容创作的实战案例 【免费下载链接】Hunyuan3D-2 High-Resolution 3D Assets Generation with Large Scale Hunyuan3D Diffusion Models. 项目地址: https://gitcode.com/GitHub_Trending/hu/Hunyuan3D-2 Hunyuan3…...

【数字运维合集】400余份数字运维、AI运维、智慧运维、数字化运维运营方案报告合集

数字化运维奠定数据基础&#xff0c;AI运维实现智能分析与主动预防&#xff0c;智慧运维达成人机协同与自主决策。三者层层递进&#xff0c;配合组织、流程、平台、数据“四位一体”运营方案&#xff0c;构建从被动救火到业务融合的智能化运维体系。AI Agent&#xff08;智能体…...

进程同步与互斥——理发师问题多线程优化实践(sleeping barber problem)

1. 理发师问题&#xff1a;从生活场景到多线程模型 想象一下周末去理发店的场景&#xff1a;推门进去发现理发师正在给一位顾客剪头发&#xff0c;旁边有5把等待椅。如果椅子都空着&#xff0c;你可以直接坐下等待&#xff1b;如果已经坐了5个人&#xff0c;你可能选择改天再来…...

从一张手机照片到4K电影:图解‘位深度’和‘图像大小’是怎么算出来的

从手机照片到4K电影&#xff1a;解码位深度与图像大小的数学之美 当你用手机拍下一张照片&#xff0c;或是观看一部4K电影时&#xff0c;屏幕上的每一个像素背后都隐藏着一套精密的数学逻辑。这些看似简单的色彩和画面&#xff0c;实际上是由无数个数字精心编织而成的视觉盛宴。…...

BLIP-2:如何通过Q-Former桥接冻结视觉与大语言模型实现高效多模态预训练

1. BLIP-2为什么能成为多模态预训练的里程碑 第一次看到BLIP-2论文时&#xff0c;最让我惊讶的是它用如此"简单"的方式解决了多模态预训练的两个核心痛点。传统方法就像要求一个厨师同时精通中餐和西餐&#xff0c;而BLIP-2的创新在于让中餐主厨和西餐主厨各司其职&a…...

HCIP IP-VLAN 实验报告

一、实验拓扑二、实验思路1、完成二层vlan的划分&#xff0c;实现二层隔离 2、三层IP配置 3、DHCP配置按照要求在拓扑图上标注了一下三、测试1、划分接口情况(display port vlan active)SW1SW2SW32、IP 配置情况 (display ip interface brief)R13、DHCPR1池塘配置(display ip p…...

InvoiceNet未来展望:AI发票解析技术的发展趋势和社区规划

InvoiceNet未来展望&#xff1a;AI发票解析技术的发展趋势和社区规划 【免费下载链接】InvoiceNet Deep neural network to extract intelligent information from invoice documents. 项目地址: https://gitcode.com/gh_mirrors/in/InvoiceNet InvoiceNet作为一款基于深…...

Pixel Epic智识终端部署教程:Streamlit CSS注入与16-bit视觉系统适配

Pixel Epic智识终端部署教程&#xff1a;Streamlit CSS注入与16-bit视觉系统适配 1. 项目介绍与核心价值 Pixel Epic智识终端是一款将专业研究报告生成与复古游戏美学完美融合的创新工具。它基于AgentCPM-Report大模型构建&#xff0c;通过独特的16-bit像素风格界面&#xff…...