实现定时程序
例:定时关机 定时打铃
- 实例化计数器
//定时关机
Timer time = new Timer(); //实例化一个计数器
DateTime ds;//定时变量
string path = @"c:/windows/system32/shutdown.exe";//路径
//定时打铃
Timer time2 = new Timer(); //实例化一个计数器
int count;//用于定时器计数
int ds2;//存储设定的定时值
2.初始化计数器
//定时关机
time.Interval = 800;//计时器 每800毫秒 发生一下 Tick 事件。
time.Start();//启动计时器
time.Tick += time_Tick;//计时器Tick事件,当指定的计时器间隔已过去而且计时器处于启用状态时发生。
//定时打铃
time2.Interval = 800;//计时器 每800毫秒 发生一下 Tick 事件。
time2.Start();//启动计时器
time2.Tick += time2_Tick;//计时器Tick事件,当指定的计时器间隔已过去而且计时器处于启用状态时发生。
- 设定定时变量
textBox1.Text = ConfigurationManager.AppSettings["SystemSettingPagetextBox1"];
ds = Convert.ToDateTime(textBox1.Text);
textBox2.Text = ConfigurationManager.AppSettings["SystemSettingPagetextBox2"];
string str = textBox2.Text;//将文本框内容添加到一个变量中
string data = str.Substring(0, 2);
ds2 = Convert.ToInt16(data);//得到设定定时值(整形)
- 保存设置
具体做法如winform C# 保存设置按键功能实现
注意:需要设置时间的格式
<appSettings>
<add key="SystemSettingPagetextBox1" value="18:00:00" />
<add key="SystemSettingPagetextBox2" value="10秒" />
</appSettings>
- 定时函数
private void time_Tick(object sender, EventArgs e)//time.Tick 事件处理器.(每800毫秒 调用一次)
{
DateTime dq = Convert.ToDateTime(DateTime.Now.ToString("HH:mm:ss"));//将 当前时间 文本框 的时间(字符串) 转换为 Datetime 类型,并且赋值给 dq 变量
if (dq == ds)//判断当前时间 是否 等于 定时时间
{
//Process.Start(path, "-s -t 10");//相等则调用进程,关机程序,在10毫秒后关机.
MessageBox.Show("即将关机");
}
}
private void time2_Tick(object sender, EventArgs e)//定时器事件
{
count++;//记当前秒
if (count == ds2)
{
time2.Stop();//时间到,停止计时
MessageBox.Show("打铃了");
}
}