我正在尝试创建一个自修补应用程序,如下所示:
一切正常,即我可以看到正在按要求启动进程,但是当控制台应用程序启动WPF应用程序的新实例时,没有窗口可见 - 从用户的角度来看,它看起来好像什么都没有加载。 / p>
使用这种方法需要考虑的任何陷阱 - 使用控制台应用程序重新启动基于Windows的UI?
启动控制台的代码(在控制台端同样启动WPF应用程序)
var info = new ProcessStartInfo(commandFileName)
{
Arguments = args
}
Process.Start(info);
使用此功能无法看到控制台应用。
答案 0 :(得分:0)
This post可能会帮助您显示控制台。然后添加Console.ReadLine()应该保持窗口打开。
答案 1 :(得分:0)
好吧,我的错误 - 错过了这个难题的最关键部分......
这是一个Windows服务,它执行实际的Process.Start
调用,即原始WPF应用程序执行此服务的调用,启动控制台应用程序(然后最终重新启动WPF应用程序)。
因此很清楚问题是什么: Windows服务不会与桌面交互,因此尽管该过程实际启动,但不会显示任何窗口。
阅读以下文章后我解决了这个问题: http://www.codeproject.com/Articles/35773/Subverting-Vista-UAC-in-Both-32-and-64-bit-Archite