定时启动 运行20分钟后关闭

waslee 2007-10-24 01:36:57
7:10
7:20
8:40
8:50
13:30
18:50

我用timer控件 1秒钟监测一次只要等于上面的时间的时候执行事件启动一个BAT文件;
我想当启动20分钟关闭这个BAT文件
7:10启动bat运行20分钟再把bat给关闭 7:20再启动bat 7:30执行 Killcmd()这个方法把所有的CMD都给关闭了,导致7:20启动的BAT没有运行20分钟就给关闭了。怎么样才能保证BAT运行20分钟在关闭本身?高手帮忙?以下是我的代码。
System.Timers.Timer t = new System.Timers.Timer(1000);
t.Elapsed += new System.Timers.ElapsedEventHandler(TaskingArgs);//到达时间的时候执行事件;
private void TaskingArgs(object source, System.Timers.ElapsedEventArgs e)
{
//等于上面的时间后运行
Process.Start(Application.StartupPath + @"\Bat\cod.bat");//启动bat文件
System.Timers.Timer RunTime = new System.Timers.Timer(RunTime_Times);//运行20分钟
RunTime.Elapsed += new System.Timers.ElapsedEventHandler(RunTimeing);
}
void RunTimeing(object sender, System.Timers.ElapsedEventArgs e)
{
//关闭bat文件
Killcmd();
}
//杀掉进程
public void Killcmd()
{
System.Diagnostics.Process[] ps = System.Diagnostics.Process.GetProcesses();
foreach (System.Diagnostics.Process p in ps)
{
if (p.ProcessName.ToLower().CompareTo("cmd") == 0)
p.Kill();
}

}
...全文
254 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyf850 2011-04-22
  • 打赏
  • 举报
回复
计划任务不就完了
netbor 2007-10-30
  • 打赏
  • 举报
回复

string time1 = "7:10:00";
string time2 = "7:20:00";
string time3 = "8:40:00";
......
DateTime dt1 = Convert.ToDateTime(time1);
DateTime dt2 = Convert.ToDateTime(time2);
DateTime dt3 = Convert.ToDateTime(time3);
......
if(...)
{
...
}
else if(...)
{
...
}
.......
heqi915 2007-10-30
  • 打赏
  • 举报
回复
别1秒钟就检查一次了,这样的话服务器负担太重了

从bat启动,你倒数20分钟好了(换成秒),一旦变为0,bat终止运行
waslee 2007-10-30
  • 打赏
  • 举报
回复
好心人。。。。。
waslee 2007-10-26
  • 打赏
  • 举报
回复
HELP...........ME............
waslee 2007-10-26
  • 打赏
  • 举报
回复
我在写一个录制电视节目的小程序,BAT文件控制那个视频采集卡,我并须通过WINFORM来调用BAT。
由于我接触.NET时间不长技术水平不够高手帮忙。。。
waslee 2007-10-25
  • 打赏
  • 举报
回复
好心人呢?
liuxp1987 2007-10-25
  • 打赏
  • 举报
回复
你准备干嘛?写病毒啊?如果是这样的话,你的问题,不予以解决。

110,555

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧