我创建了一个Windows服务,用于检查特定应用程序是否正在运行,如果该应用程序之前未运行或用户已关闭,则该服务会尝试再次运行它。
但问题是,该服务在Windows 8上正常运行,当我关闭该Windows应用程序时,该服务尝试再次启动它,但此服务在Windows Server 2008 R2中不起作用并且当我关闭时应用程序,该服务无法启动应用程序
有没有人帮我这个?
我用Dot Net framework 4.5和VS 2013编写了应用程序
更新1:
Tick = new Timer();
Tick.Interval = 3000;
Tick.Elapsed += new System.Timers.ElapsedEventHandler(this.Tick_Elapsed);
Tick.Start();
/////
public void Tick_Elapsed(object sender, ElapsedEventArgs e)
{
List<IOTools.AppStruct> applist = new List<IOTools.AppStruct>();
applist = IOTools.GetApplicationList();
var NotRun = applist.Select(c => new { AppName = System.IO.Path.GetFileName(c.AppName).ToLower() })
.Except(System.Diagnostics.Process.GetProcesses().Select(r => new { AppName = r.ProcessName.ToLower() + ".exe"}));
var FinallList = from app in applist
join nr in NotRun on System.IO.Path.GetFileName(app.AppName).ToLower() equals nr.AppName
select app;
foreach (var app in FinallList)
{
Process.LaunchChildProcess(app.AppName, app.args);
}
}