zoukankan      html  css  js  c++  java
  • 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程序。
    下面是一个winform程序说明,使用按钮来执行关机,重启和注销。

     1         //关机 和 计时关机
     2         private void btnShutDown_Click(object sender, EventArgs e)
     3         {
     4             if (checkBox1.Checked)
     5             {
     6                 if (MessageBox.Show("将要设定计划关机,是否确认操作?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
     7                 {
     8                     decimal decl = numericUpDown1.Value * 3600 + numericUpDown2.Value * 60 + numericUpDown3.Value;
     9                     string str = decl.ToString();
    10                     Process.Start("shutdown.exe", "-s -t " + str);//计时关机
    11                 }
    12             }
    13             else
    14             {
    15                 if (MessageBox.Show("是否确认关机?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
    16                 {
    17                     Process.Start("shutdown.exe", "-s");//关机
    18                     //Process.Start("shutdown.exe", "-s -t xx");
    19                 }
    20             }
    21         }
    22         //重启
    23         private void butRestar_Click(object sender, EventArgs e)
    24         {
    25             if (MessageBox.Show("是否确认重启?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
    26             {
    27                 Process.Start("shutdown.exe", "-r");//重启
    28                 Process.Start("shutdown.exe", "-r -t 10");
    29             }
    30         }
    31         //注销
    32         private void butLogOff_Click(object sender, EventArgs e)
    33         {
    34             if (MessageBox.Show("是否确认注销?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
    35                 Process.Start("shutdown.exe", "-l");//注销
    36         }
    37 
    38 
    39 
    40 
    41 
    42  
    View Code

     完整示例

  • 相关阅读:
    SCAU 9504 面试
    SCAU 9503 懒人选座位
    SCAU 8628 相亲
    SCAU 10691 ACM 光环
    SCAU 8626 原子量计数
    SCAU 10674 等差对
    HDU ACM 1048 The Hardest Problem Ever (水题)
    SCAU 9502 ARDF
    SCAU 10686 DeathGod不知道的事情
    SCAU 8629 热身游戏(高精度)
  • 原文地址:https://www.cnblogs.com/xifengyeluo/p/5914883.html
Copyright © 2011-2022 走看看