求Timer的使用方法 编写一个监控程序,在其中使用Timer控件,每隔10秒检查一个指定的进程是否存在,如可检查记事本.如果进程已退出,则自动启动该进程. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private static System.Timers.Timer aTimer; public static void Main() { aTimer = new System.Timers.Timer(10000); aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent); aTimer.Interval = 10000; aTimer.Enabled = true; }private static void OnTimedEvent(object source, ElapsedEventArgs e) { Process[] myProcesses; myProcesses = Process.GetProcessesByName("NotePad.exe"); if (myProcesses.Length == 0) { p = Process.Start"NotePad.exe"); } } 可以實現,只是myProcesses = Process.GetProcessesByName("NotePad.exe"); 改成myProcesses = Process.GetProcessesByName("NotePad"); private static System.Timers.Timer aTimer; public static void Main() { aTimer = new System.Timers.Timer(10000); aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent); aTimer.Interval = 10000; aTimer.Enabled = true; } private static void OnTimedEvent(object source, ElapsedEventArgs e) { Process[] myProcesses; myProcesses = Process.GetProcessesByName("NotePad"); if (myProcesses.Length == 0) { Process.Start("NotePad.exe"); } } 是这样的效果了,谢谢!!但是为什么要去了.exe后缀呢?这个不明白? 谢谢,是这样的效果了但是为什么要去点.exe后缀呢?这个不是很懂~~~ 见MSDN : ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/fxref_system/html/9c254511-d3d5-3b30-df2d-8a79afae262e.htmProcess..::.GetProcessesByName 方法 (String) 该进程名是不包括 .exe 扩展名或路径的进程友好名称,如 Outlook。GetProcessesByName 对于获取和操作与同一可执行文件关联的所有进程非常有用。例如,可以将可执行文件名作为 processName 参数传递,以便关闭该可执行文件的所有运行中的实例。 ComboBox如何实现选择项后修改文本值 寻求一个快速系列化的方法,要求码流缩小到最低 .Net如何连接Derby数据库?或者.Net如何使用JDBC 郁闷那,为什么MSDN装不上呢? 友情送分榜-穷人问题贴-最后一贴-by-lycoo 如何取得服务器上的时间 是不是微软的BUG? 求教将EXCEL的单元格数据转为string类型 Listbox最多只能选中20条记录的问题 新手的问题! 泛型方法参数 的一个问题 一个线程的问题,一定给分!
{
aTimer = new System.Timers.Timer(10000);
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
aTimer.Interval = 10000;
aTimer.Enabled = true;
}
private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
Process[] myProcesses;
myProcesses = Process.GetProcessesByName("NotePad.exe");
if (myProcesses.Length == 0)
{
p = Process.Start"NotePad.exe");
}
}
可以實現,只是myProcesses = Process.GetProcessesByName("NotePad.exe");
改成myProcesses = Process.GetProcessesByName("NotePad");
private static System.Timers.Timer aTimer; public static void Main()
{
aTimer = new System.Timers.Timer(10000);
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
aTimer.Interval = 10000;
aTimer.Enabled = true;
}
private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
Process[] myProcesses;
myProcesses = Process.GetProcessesByName("NotePad");
if (myProcesses.Length == 0)
{
Process.Start("NotePad.exe");
}
}
但是为什么要去了.exe后缀呢?这个不明白?
但是为什么要去点.exe后缀呢?这个不是很懂~~~
该进程名是不包括 .exe 扩展名或路径的进程友好名称,如 Outlook。GetProcessesByName 对于获取和操作与同一可执行文件关联的所有进程非常有用。例如,可以将可执行文件名作为 processName 参数传递,以便关闭该可执行文件的所有运行中的实例。