Выключение компьютера в указанное время - C#
Формулировка задачи:
здравствуйте. создаю программу, которая выключает компьютер через определённое число часов.
а как сделать так, чтоб он выключался в указанное время? ну например если сейчас 17.00 то надо чтоб он сам выключился? как задать такое время? и желательно, чтоб например до 18.00 он не включался. т.е. комп выключился, его обратно включают, программа видит что ещё нет 18.00 и выключает его обратно
как это реализовать?
using System.Diagnostics;
namespace WindowsFormsApplication5
{
public partial class Form1 : Form
{
DateTime mShutdownTime;
public Form1()
{ InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//mShutdownTime = DateTime.Now.AddHours(1); //выключение компьютера через час
mShutdownTime = DateTime.Now.AddSeconds(10);//через 10 сек
label1.Visible = true;
label1.Text = "";
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
if (DateTime.Now < mShutdownTime)
{
TimeSpan ts = mShutdownTime - DateTime.Now;
label1.Text = "Выключение произойдёт через: " + ts.Minutes + " минут " + ts.Seconds + " секунд";
}
else
{
Close(); //закрытие программы
// Process.Start("shutdown.exe", "-h"); //gibernaciya
}
}
}
}Решение задачи: «Выключение компьютера в указанное время»
textual
Листинг программы
void Btn_shdownClick(object sender, EventArgs e)
{
dt = DateTime.Parse(dateTimePicker_time.Text);//в dateTimePicker_time я указываю время выключения
timer1.Start();
}
void Timer1Tick(object sender, EventArgs e)
{
TimeSpan diff = dt-DateTime.Now;
if((diff.Hours*24+diff.Minutes*60+diff.Seconds*60)<=0){
Close();
}
}