我有一个服务,用于跟踪计算机上是否运行着WPF应用程序。如果发现此类应用程序已关闭,则会再次打开它。这是在循环中完成的。
是的,我知道对于大多数用户来说这是不好的做法,但有些情况下确实需要这样做。
我的做法是创建一个服务来确保运行WPF应用程序。结果是,我可以在任务管理器中看到此应用程序,但在屏幕上看不到。我还知道,在App.xaml.cs中的构造函数被触发,因为我在那里添加了测试代码,用于创建一个空文件。
以下是服务源代码:
我只想打开一个带有可见窗口的WPF应用程序。
是的,我知道对于大多数用户来说这是不好的做法,但有些情况下确实需要这样做。
我的做法是创建一个服务来确保运行WPF应用程序。结果是,我可以在任务管理器中看到此应用程序,但在屏幕上看不到。我还知道,在App.xaml.cs中的构造函数被触发,因为我在那里添加了测试代码,用于创建一个空文件。
以下是服务源代码:
private Timer timer;
protected override void OnStart(string[] args)
{
timer = new Timer();
timer.Interval = 3000;
timer.Elapsed += this.Timer_Elapsed;
timer.Enabled = true;
}
private void Timer_Elapsed(object sender, ElapsedEventArgs e)
{
if (!this.CheckIfRunning("Application"))
{
ProcessStartInfo psi = new ProcessStartInfo();
psi.CreateNoWindow = false;
psi.FileName = @"D:\Application.exe";
psi.WindowStyle = ProcessWindowStyle.Normal;
Process proc = new Process();
proc.StartInfo = psi;
proc.Start();
}
}
protected override void OnStop()
{
timer.Enabled = false;
}
我只想打开一个带有可见窗口的WPF应用程序。