给自己写的定时关机程序 效果图连接:http://http://bbs.csdn.net/topics/new?forum_id=CSharp 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 额,多了httphttp://bbs.csdn.net/topics/new?forum_id=CSharp 凌乱了http://download.csdn.net/detail/wltica/4803757 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace AotuShutdownPC{ public partial class Shutdown : Form { public Shutdown() { InitializeComponent(); } int Delay; private void button1_Click(object sender, EventArgs e) { System.Diagnostics.Process myProcess = new System.Diagnostics.Process(); myProcess.StartInfo.FileName = "cmd.exe"; myProcess.StartInfo.UseShellExecute = false; myProcess.StartInfo.RedirectStandardInput = true; myProcess.StartInfo.RedirectStandardOutput = true; myProcess.StartInfo.RedirectStandardError = true; myProcess.StartInfo.CreateNoWindow = true; myProcess.Start(); if (tabControl1.SelectedIndex == 0) { DateTime From = System.DateTime.Now.Date; DateTime To = dateTimePicker1.Value.Date; TimeSpan ts =To.Subtract(From); Delay = ts.Days * 24 * 3600-System.DateTime.Now.Hour * 3600 - System.DateTime.Now.Minute * 60 - System.DateTime.Now.Second + Convert.ToInt32(comboBoxH.Text) * 3600 + Convert.ToInt32(comboBoxM.Text) * 60 + Convert.ToInt32(comboBoxS.Text); if (Delay >= 0) { myProcess.StandardInput.WriteLine("shutdown -s -t " + Delay); } else { MessageBox.Show("不能回到以前帮你关机,别傻了!"); } } if(tabControl1.SelectedIndex==1) { Delay = Convert.ToInt32(textBox1.Text); myProcess.StandardInput.WriteLine("shutdown -s -t " + Delay); } } private void buttonCancel_Click(object sender, EventArgs e) { System.Diagnostics.Process myProcess = new System.Diagnostics.Process(); myProcess.StartInfo.FileName = "cmd.exe"; myProcess.StartInfo.UseShellExecute = false; myProcess.StartInfo.RedirectStandardInput = true; myProcess.StartInfo.RedirectStandardOutput = true; myProcess.StartInfo.RedirectStandardError = true; myProcess.StartInfo.CreateNoWindow = true; myProcess.Start();//启动进程 myProcess.StandardInput.WriteLine("shutdown -a");//执行关机命令 } private void Shutdown_Load(object sender, EventArgs e) { timer1.Interval = 1000; timer1.Enabled = true; timer1.Start(); label2.Text = "关机时间为: " + System.DateTime.Now.ToString(); label1.Text = "当前时间: "+System.DateTime.Now.ToString(); for (int h = 0; h < 25; h++) { comboBoxH.Items.Add(h.ToString()); } comboBoxH.Text = comboBoxH.Items[0].ToString(); for (int m = 0; m < 61; m++) { comboBoxM.Items.Add(m.ToString()); } comboBoxM.Text = comboBoxM.Items[0].ToString(); for(int s=0;s<61;s++) { comboBoxS.Items.Add(s.ToString()); } comboBoxS.Text = comboBoxS.Items[0].ToString(); } private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (!(Char.IsNumber(e.KeyChar)) && e.KeyChar != (char)13 && e.KeyChar != (char)8) { e.Handled = true; } } private void textBox1_TextChanged(object sender, EventArgs e) { if (textBox1.Text.ToString() != "" && Convert.ToInt32(textBox1.Text.Trim()) > 30758400) { MessageBox.Show("你确定要在一年以后关机???"); textBox1.Text = ""; } int LaterH=0; string ymd = System.DateTime.Today.ToString("yyyy/MM/dd"); ; int s=0; try { s = Convert.ToInt32(textBox1.Text.Trim()); int NowS, NowM, NowH, NowD; int LaterS = 0; int LaterM = 0; NowD = System.DateTime.Now.Second; NowH = System.DateTime.Now.Hour; NowM = System.DateTime.Now.Minute; NowS = System.DateTime.Now.Second; LaterS = NowS + s % 60; LaterM = NowM + (s / 60)%60; LaterH = NowH +(s/60)/60; if (LaterS > 60) { LaterS = LaterS - 60; LaterM++; } if (LaterM > 60) { LaterM = LaterM - 60; LaterH++; } if (LaterH > 23) { int i = LaterH / 24; ymd = System.DateTime.Now.AddDays(i).ToShortDateString(); LaterH = LaterH % 24; } label2.Text = "关机时间为:"+ymd+" "+ LaterH + ":" + LaterM + ":" + LaterS; } catch { label2.Text = "关机时间为:" + System.DateTime.Now.ToString(); } } private void timer1_Tick(object sender, EventArgs e) { showLocalTime(); } private void showLocalTime() { this.label1.Text = "当前时间: " + System.DateTime.Now.ToString(); } private void comboBoxH_Leave(object sender, EventArgs e) { if (Convert.ToInt32(comboBoxH.Text) > 23 && comboBoxH.Text != "") { MessageBox.Show("火星来的吧!地球一天只有24小时"); comboBoxH.Text = "0"; comboBoxH.Focus(); } } private void comboBoxM_Leave(object sender, EventArgs e) { if (Convert.ToInt32(comboBoxM.Text) > 59 && comboBoxM.Text != "") { MessageBox.Show("火星来的吧!地球一小时只有60分"); comboBoxM.Text = "0"; comboBoxM.Focus(); } } private void comboBoxS_Leave(object sender, EventArgs e) { if (Convert.ToInt32(comboBoxS.Text) > 59 && comboBoxS.Text != "") { MessageBox.Show("火星来的吧!地球一分钟只有60秒"); comboBoxS.Text = "0"; comboBoxS.Focus(); } } }} 如何计算 中间值 呢? 如何检测是否存在XX对象? 简单?不简单!算法问题 vs2005发布问题! 关于XML的查询 怎么改变button的外观让它好看点? 关于生成dll文件的问题 ini文件有字节限制吗? 高手们请进!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 怎么才能编写这样的程序 combobox1中的items 高手速来~~~~~~~~~~~~~~ C# 获取404 不存在后的URL
http://bbs.csdn.net/topics/new?forum_id=CSharp
http://download.csdn.net/detail/wltica/4803757
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace AotuShutdownPC
{
public partial class Shutdown : Form
{
public Shutdown()
{
InitializeComponent();
}
int Delay;
private void button1_Click(object sender, EventArgs e)
{
System.Diagnostics.Process myProcess = new System.Diagnostics.Process();
myProcess.StartInfo.FileName = "cmd.exe";
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.RedirectStandardInput = true;
myProcess.StartInfo.RedirectStandardOutput = true;
myProcess.StartInfo.RedirectStandardError = true;
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();
if (tabControl1.SelectedIndex == 0)
{
DateTime From = System.DateTime.Now.Date;
DateTime To = dateTimePicker1.Value.Date;
TimeSpan ts =To.Subtract(From);
Delay = ts.Days * 24 * 3600-System.DateTime.Now.Hour * 3600 - System.DateTime.Now.Minute * 60 - System.DateTime.Now.Second
+ Convert.ToInt32(comboBoxH.Text) * 3600 + Convert.ToInt32(comboBoxM.Text) * 60
+ Convert.ToInt32(comboBoxS.Text);
if (Delay >= 0)
{
myProcess.StandardInput.WriteLine("shutdown -s -t " + Delay);
}
else
{
MessageBox.Show("不能回到以前帮你关机,别傻了!");
}
}
if(tabControl1.SelectedIndex==1)
{
Delay = Convert.ToInt32(textBox1.Text);
myProcess.StandardInput.WriteLine("shutdown -s -t " + Delay);
}
} private void buttonCancel_Click(object sender, EventArgs e)
{
System.Diagnostics.Process myProcess = new System.Diagnostics.Process();
myProcess.StartInfo.FileName = "cmd.exe";
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.RedirectStandardInput = true;
myProcess.StartInfo.RedirectStandardOutput = true;
myProcess.StartInfo.RedirectStandardError = true;
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();//启动进程
myProcess.StandardInput.WriteLine("shutdown -a");//执行关机命令
}
private void Shutdown_Load(object sender, EventArgs e)
{
timer1.Interval = 1000;
timer1.Enabled = true;
timer1.Start();
label2.Text = "关机时间为: " + System.DateTime.Now.ToString();
label1.Text = "当前时间: "+System.DateTime.Now.ToString();
for (int h = 0; h < 25; h++)
{
comboBoxH.Items.Add(h.ToString());
}
comboBoxH.Text = comboBoxH.Items[0].ToString();
for (int m = 0; m < 61; m++)
{
comboBoxM.Items.Add(m.ToString());
}
comboBoxM.Text = comboBoxM.Items[0].ToString();
for(int s=0;s<61;s++)
{
comboBoxS.Items.Add(s.ToString());
}
comboBoxS.Text = comboBoxS.Items[0].ToString();
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(Char.IsNumber(e.KeyChar)) && e.KeyChar != (char)13 && e.KeyChar != (char)8)
{
e.Handled = true;
}
} private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text.ToString() != "" && Convert.ToInt32(textBox1.Text.Trim()) > 30758400)
{
MessageBox.Show("你确定要在一年以后关机???");
textBox1.Text = "";
}
int LaterH=0;
string ymd = System.DateTime.Today.ToString("yyyy/MM/dd"); ;
int s=0;
try
{
s = Convert.ToInt32(textBox1.Text.Trim());
int NowS, NowM, NowH, NowD;
int LaterS = 0;
int LaterM = 0;
NowD = System.DateTime.Now.Second;
NowH = System.DateTime.Now.Hour;
NowM = System.DateTime.Now.Minute;
NowS = System.DateTime.Now.Second;
LaterS = NowS + s % 60;
LaterM = NowM + (s / 60)%60;
LaterH = NowH +(s/60)/60;
if (LaterS > 60)
{
LaterS = LaterS - 60;
LaterM++;
}
if (LaterM > 60)
{
LaterM = LaterM - 60;
LaterH++;
}
if (LaterH > 23)
{
int i = LaterH / 24;
ymd = System.DateTime.Now.AddDays(i).ToShortDateString();
LaterH = LaterH % 24;
}
label2.Text = "关机时间为:"+ymd+" "+ LaterH + ":" + LaterM + ":" + LaterS;
}
catch
{
label2.Text = "关机时间为:" + System.DateTime.Now.ToString();
}
} private void timer1_Tick(object sender, EventArgs e)
{
showLocalTime();
}
private void showLocalTime()
{
this.label1.Text = "当前时间: " + System.DateTime.Now.ToString();
}
private void comboBoxH_Leave(object sender, EventArgs e)
{
if (Convert.ToInt32(comboBoxH.Text) > 23 && comboBoxH.Text != "")
{
MessageBox.Show("火星来的吧!地球一天只有24小时");
comboBoxH.Text = "0";
comboBoxH.Focus();
}
} private void comboBoxM_Leave(object sender, EventArgs e)
{
if (Convert.ToInt32(comboBoxM.Text) > 59 && comboBoxM.Text != "")
{
MessageBox.Show("火星来的吧!地球一小时只有60分");
comboBoxM.Text = "0";
comboBoxM.Focus();
}
} private void comboBoxS_Leave(object sender, EventArgs e)
{
if (Convert.ToInt32(comboBoxS.Text) > 59 && comboBoxS.Text != "")
{
MessageBox.Show("火星来的吧!地球一分钟只有60秒");
comboBoxS.Text = "0";
comboBoxS.Focus();
}
}
}
}