应某人要求写了一个定时关机程序,用c#做的,本来想写成batch但是考虑到ui过于丑陋,是用不便,lz喜欢batch但是考虑到是用人是小白。就算是用c#界面依旧很丑,毕竟本人不是ui设计师。附代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Timers;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
System.Timers.Timer t = new System.Timers.Timer();
int last = 0;
public Form1()
{
InitializeComponent();
this.time.Text = "1800";
this.cancel.Enabled = false;
}
private void shutdown_Click(object sender, EventArgs e)
{
if (this.time.Text == null)
{
MessageBox.Show("time can not be empty","Error");
this.time.Focus();
}
else
{
t.Elapsed += new ElapsedEventHandler(t_Elapsed);
t.Interval = 60000;
t.Start();
this.count.Text ="Last time "+(Convert.ToInt32(time.Text) / 60).ToString()+" mins";
Process.Start(@"shutdown", @" -s -t" + " " + this.time.Text);
this.shutdown.Enabled = false;
this.time.Enabled = false;
this.cancel.Enabled = true;
}
}
void t_Elapsed(object sender, ElapsedEventArgs e)
{
last = Convert.ToInt32(this.time.Text) / 60;
--last;
this.count.Text = "Last time "+last.ToString()+" mins";
}
private void cancel_Click(object sender, EventArgs e)
{
Process.Start(@"shutdown", @"-a");
t.Stop();
this.count.Text = "Canceled";
this.shutdown.Enabled = true;
this.time.Enabled = true;
this.cancel.Enabled = false;
}
}
}点击打开链接