C# 启动控制台应用程序作为新进程隐藏窗口
我正在尝试创建一个自修补应用程序,如下所示:C# 启动控制台应用程序作为新进程隐藏窗口,c#,.net,wpf,console-application,C#,.net,Wpf,Console Application,我正在尝试创建一个自修补应用程序,如下所示: .Net WPF应用程序确定是否存在新版本(自身) 此WPF应用程序启动.Net控制台应用程序(process.Start)以执行必要的操作 然后控制台应用程序执行一些任务并启动新版本的.Net WPF应用程序(process.Start) 所有这些都可以正常工作,也就是说,我可以看到进程按要求启动,但是当控制台应用程序启动WPF应用程序的新实例时,没有可见的窗口-从用户的角度看,似乎没有加载任何内容 我需要用这样的方法考虑任何缺陷——使用控制台应用
我需要用这样的方法考虑任何缺陷——使用控制台应用程序重新启动基于Windows的UI?< /P> 启动控制台的代码(控制台端相同,再次启动WPF应用程序)
控制台应用程序无法使用此选项显示。可能会帮助您显示控制台。然后添加Console.ReadLine()将保持窗口打开。好的,我的错误-错过了拼图中最关键的部分 它是一个Windows服务,执行实际的
过程。Start
调用,即原始WPF应用程序对该服务执行调用,该服务启动控制台应用程序(然后最终重新启动WPF应用程序)
因此,很清楚问题是什么:
Windows服务不会与桌面交互,因此尽管进程实际启动,但不会显示任何窗口
在阅读了以下文章后,我了解了这一点:
控制台应用程序是否可见?如果您需要适当的帮助,请向我们展示您的代码(例如,启动另一个流程的代码行)!
var info = new ProcessStartInfo(commandFileName)
{
Arguments = args
}
Process.Start(info);