zoukankan      html  css  js  c++  java
  • C# 简单的定时关机

      1 using System;
      2 using System.Collections.Generic;
      3 using System.ComponentModel;
      4 using System.Data;
      5 using System.Drawing;
      6 using System.Linq;
      7 using System.Text;
      8 using System.Windows.Forms;
      9 
     10 namespace AutoCloseComputer
     11 {
     12     public partial class Form1 : Form
     13     {
     14         public Form1()
     15         { 
     16 
     17             InitializeComponent();
     18             
     19             //设置默认时间为当前时间
     20             nud_hour.Value = Convert.ToDecimal(DateTime.Now.Hour);
     21             nud_min.Value = Convert.ToDecimal(DateTime.Now.Minute);
     22 
     23             txt_sencods.Text = "600";  //设置默认时间为10*60秒
     24             
     25         }
     26 
     27         /// <summary>
     28         /// 启动定时关机程序
     29         /// </summary>
     30         /// <param name="sender"></param>
     31         /// <param name="e"></param>
     32         private void btnCloseComputer_Click(object sender, EventArgs e)
     33         {
     34             lab_result.Text = "";
     35 
     36             string str = txt_sencods.Text.Trim();
     37             if (string.IsNullOrEmpty(str))
     38             {
     39                 lab_result.Text = "时间不能为空";
     40                 return;
     41             }
     42 
     43             int seconds = 0;
     44             if (int.TryParse(str, out seconds))
     45             { 
     46                 OperateComputer("shutdown -s -t " + seconds); 
     47             }
     48             else
     49             {
     50                 lab_result.Text = "时间格式只能输入数字";
     51             }
     52         }
     53 
     54         /// <summary>
     55         /// 取消关机命令
     56         /// </summary>
     57         /// <param name="sender"></param>
     58         /// <param name="e"></param>
     59         private void btnCancelClose_Click(object sender, EventArgs e)
     60         {
     61             OperateComputer("shutdown -a"); 
     62         }
     63 
     64 
     65         /// <summary>
     66         /// 操作电脑命令
     67         /// </summary>
     68         /// <param name="command"></param>
     69         private void OperateComputer(string command)
     70         {
     71             var startInfo = new System.Diagnostics.ProcessStartInfo("cmd.exe");
     72             startInfo.UseShellExecute = false;
     73             startInfo.RedirectStandardInput = true;
     74             startInfo.RedirectStandardOutput = true;
     75             startInfo.RedirectStandardError = true;
     76             startInfo.CreateNoWindow = true;
     77             var myProcess = new System.Diagnostics.Process();
     78             myProcess.StartInfo = startInfo;
     79             myProcess.Start();
     80             myProcess.StandardInput.WriteLine(command);
     81         }
     82 
     83 
     84         /// <summary>
     85         /// 指定时间关机
     86         /// </summary>
     87         /// <param name="sender"></param>
     88         /// <param name="e"></param>
     89         private void btnTimeClose_Click(object sender, EventArgs e)
     90         {
     91             int hour = Convert.ToInt32(nud_hour.Value);
     92             int min = Convert.ToInt32(nud_min.Value);
     93 
     94             DateTime closedt = DateTime.Now;
     95 
     96             //当时间小于当前时认为是第二天的时间
     97             if(hour<DateTime.Now.Hour)
     98             {
     99                 string strdt = DateTime.Now.AddDays(1D).ToString("yyyy-MM-dd") + " " + hour.ToString().PadLeft(2,'0') + ":" + min.ToString().PadLeft(2,'0');
    100                 closedt = Convert.ToDateTime(strdt);
    101 
    102             }else
    103             {
    104                 string strdt = DateTime.Now.ToString("yyyy-MM-dd") + " " + hour.ToString().PadLeft(2, '0') + ":" + min.ToString().PadLeft(2, '0');
    105                 closedt = Convert.ToDateTime(strdt);
    106             }
    107             //计算出时间差
    108             int total = Convert.ToInt32((closedt - DateTime.Now).TotalSeconds);
    109             OperateComputer("shutdown -s -t " + total);
    110 
    111             //一下命令没有效果
    112             //string command = "at " + hour + ":" + min + " shutdown -s";
    113             //OperateComputer(command); 
    114 
    115         }
    116          
    117     }
    118 }

    此程序是VS2013编写的。

    提供程序的下载链接:https://pan.baidu.com/s/1slpGGsl

  • 相关阅读:
    Java Web 笔记(3)
    Java Web笔记(2)
    AndroidSystemDebug官方指导
    Android系统研究资料收集---站在前人的肩膀上
    算法--求出子序列中最大的和
    【CTS】几个serialno失败项
    GMS测试常用命令CTS&GTS&VTS
    cts-verifier测试流程
    通过例子手撕架构模式
    从0系统学Android--3.2四种基本布局
  • 原文地址:https://www.cnblogs.com/wind-wang/p/5644445.html
Copyright © 2011-2022 走看看