基本上我需要我的应用程序从系统启动到系统关闭运行。我想出了以下方法:
- 创建 MyApp.exe 和 MyService.exe
- MyApp 应该将 MyService 安装为服务
- MyService 应该在启动时运行并定期检查 MyApp 是否正在运行。如果不是,那就开始吧。
这是我为我的服务编写的代码:
protected override void OnStart(string[] args)
{
while(true)
{
int processesCount =
Process.GetProcessesByName(Settings.Default.MyAppName).Count() +
Process.GetProcessesByName(Settings.Default.MyAppName + ".vshost").Count() +
Process.GetProcessesByName(Settings.Default.MyAppUpdaterName).Count();
if(processesCount==0)
{
//restore
var p = new Process { StartInfo = { FileName = Settings.Default.MyAppName, Arguments = "" } };
p.Start();
}
else
{
}
System.Threading.Thread.Sleep(3000);
}
}
- 如何安装此过程以使其在 Windows 启动时启动?
- 我不确定 OnStart 方法中的这个无限循环是否是个好主意。是吗?
- 总体思路可以吗?