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 = ""; //设置默认时间为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 = ;
  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. /// <summary>
  65. /// 操作电脑命令
  66. /// </summary>
  67. /// <param name="command"></param>
  68. private void OperateComputer(string command)
  69. {
  70. var startInfo = new System.Diagnostics.ProcessStartInfo("cmd.exe");
  71. startInfo.UseShellExecute = false;
  72. startInfo.RedirectStandardInput = true;
  73. startInfo.RedirectStandardOutput = true;
  74. startInfo.RedirectStandardError = true;
  75. startInfo.CreateNoWindow = true;
  76. var myProcess = new System.Diagnostics.Process();
  77. myProcess.StartInfo = startInfo;
  78. myProcess.Start();
  79. myProcess.StandardInput.WriteLine(command);
  80. }
  81.  
  82. /// <summary>
  83. /// 指定时间关机
  84. /// </summary>
  85. /// <param name="sender"></param>
  86. /// <param name="e"></param>
  87. private void btnTimeClose_Click(object sender, EventArgs e)
  88. {
  89. int hour = Convert.ToInt32(nud_hour.Value);
  90. int min = Convert.ToInt32(nud_min.Value);
  91.  
  92. DateTime closedt = DateTime.Now;
  93.  
  94. //当时间小于当前时认为是第二天的时间
  95. if(hour<DateTime.Now.Hour)
  96. {
  97. string strdt = DateTime.Now.AddDays(1D).ToString("yyyy-MM-dd") + " " + hour.ToString().PadLeft(,'') + ":" + min.ToString().PadLeft(,'');
  98. closedt = Convert.ToDateTime(strdt);
  99.  
  100. }else
  101. {
  102. string strdt = DateTime.Now.ToString("yyyy-MM-dd") + " " + hour.ToString().PadLeft(, '') + ":" + min.ToString().PadLeft(, '');
  103. closedt = Convert.ToDateTime(strdt);
  104. }
  105. //计算出时间差
  106. int total = Convert.ToInt32((closedt - DateTime.Now).TotalSeconds);
  107. OperateComputer("shutdown -s -t " + total);
  108.  
  109. //一下命令没有效果
  110. //string command = "at " + hour + ":" + min + " shutdown -s";
  111. //OperateComputer(command);
  112.  
  113. }
  114.  
  115. }
  116. }

此程序是VS2013编写的。

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

C# 简单的定时关机的更多相关文章

  1. 利用DOS批处理实现定时关机操作

    10月1放假回来,寝室晚上10:30就停电了,最无法让人理解的是第二天早上8:00才来电.原来晚上电脑都是不关机的,开着WiFi一直到天亮,可是现在不行了,电脑如果一直开着第二天早上起来电脑肯定没电, ...

  2. Linux系统Shutdown命令定时关机详解

    转自:http://www.bootf.com/490.html Linux系统下的shutdown命令用于安全的关闭/重启计算机,它不仅可以方便的实现定时关机,还可以由用户决定关机时的相关参数.在执 ...

  3. XP的定时关机命令?

    Windows XP的关机是由Shutdown.exe程序来控制的,位于Windows/System32文件夹中.如 果想让Windows 2000也实现相同的效果,能够把Shutdown.exe拷贝 ...

  4. Mac定时关机、重启、休眠命令行

    由于一些原因,需要在不上班的时间去连公司电脑来做一些事.所以公司电脑很少关机.但是在没多天没有关机以后电脑会变得很卡.所以现在每天早上去公司的第一件事情就是先重启一下电脑.人工重启,太不符合程序员的作 ...

  5. python制作电脑定时关机办公神器,另含其它两种方式,无需编程!

      小编本人目前就是在电脑面前工作,常常会工作到凌晨两三点还在为自己的梦想奋斗着.有时在办公椅上就稀里糊涂睡着了,我相信有很多朋友和我一样,这样是很不好的.第一对身体不好,第二对电脑不好.   对身体 ...

  6. MFC入门(二)-- 提取输入框的字符串(定时关机的小程序)

    上篇文章已经让我们有了对于MFC最简单直观的认识,但貌似并无太大的交互性可言,而且其实也没有涉及到数据的交互,所以本文通过做一个时间可以调节的定时关机的Demo来演示. MFC入门(一)地址:http ...

  7. windows批处理定时关机

    2017-04-11 windows bat文件可以简化很多cmd命令,为我们提供很多方便.今天介绍定时关机的批处理代码实现: 我们知道windows下的定时关机可以通过shutdown命令实现,如果 ...

  8. python:基于tkinter的定时关机程

    本人使用python3 from tkinter import* import os from PIL import Image, ImageTk root=Tk() a=Label(root,tex ...

  9. 手机控制电脑定时关机,重启WiFi

    需求 晚上上床,电脑开着WiFi让手机上网.要么上床之前就给电脑设置定时关机:要么就电脑开通宵:要么就待会下来关电脑.这3种情况都非常不好,要么麻烦,要么浪费. 最无奈的是电脑刚开好WiFi,上床后才 ...

随机推荐

  1. 字符串格式化format使用

    顺序传参 '{}....{}'.format(value1, value2) 索引传参 '{0}....{1}'.format(value1, value2) 关键字传参 '{k1}....{k2}' ...

  2. 用微信小程序连接WordPress网站

    随着微信小程序的功能越来越强,特别对个人开发者的开放,让个人开发者有机会尝试微信小程序.如果你有自己的个人网站,就可以把个人网站搬到微信小程序里,通过小程序直接访问网站的内容. 要想微信小程序可以获取 ...

  3. (转)C# WebApi 接口返回值不困惑:返回值类型详解

    原文地址:http://www.cnblogs.com/landeanfen/p/5501487.html 正文 前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi ...

  4. C# ORM修改实体层

    实体层:[数据库中是么以偶Contents2这个字段的],之所以在实体层添加一个Contents2,是因为: 所以在添加之后: 返回json形式,就用Contents,后台添加就用Contents2. ...

  5. 带约束的粒子群优化算法C++实现

    2018年1月份给师姐做的一个小项目,本来不打算写的,因为论文还没发表,涉及查重等乱七八糟的问题.... 感觉现在不写,以后应该来不及了,因为已经在实习岗位了.... 不做过多介绍,只做大概的描述,我 ...

  6. IntelliJ Idea设置Could not autowire. No beans of 'xxx' type found

    1.问题描述 在Idea的spring工程里,经常会遇到Could not autowire. No beans of ‘xxxx’ type found的错误提示.但程序的编译和运行都是没有问题的, ...

  7. 登录iOS Dev Center

    打开网站iOS Dev Center使用苹果开发者账号登录iOS Dev Center:登录成功后在页面右侧选择“Certificates, Identifiers & Profiles”:在 ...

  8. iPhone may be running a version of iOS that is not supported by this version of Xcode

    Xcode6.0.1对ios8.1真机不识别,升级Xcode6.0.1为Xcode6.1,就行了.也可以,降低手机版本为以前的版本,想要降低手机版本请看我的另一片博客<iphone手机版本降级& ...

  9. 一个不错的PHP二维数组排序函数简单易用存用

    一个不错的PHP二维数组排序函数简单易用存用 传入数组,传入排序的键,传入排序顺序 public function array_sort($arr,$keys,$type='asc') { $keys ...

  10. C# 设计模式-策略者模式(Strategy)

    策略模式的用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换.策略模式使得算法可以在不影响到客户端的情况下发生变化. 策略模式是对算法的包装,是把使用算法的责任和 ...