在WPF中调用控制台应用程序的代码是什么?我在WPF中有一个你需要的应用程序:
这是必要的,因为我正在建立一个系统,其中应用程序的更新必须关闭要复制的文件。
对于关闭应用程序WPF,我使用以下内容:
Process wpfProc = Process.GetProcessesByName("MainWindow.exe").First();
wpfProc.Kill();
在控制台应用程序中返回:
Unhandled Exception: System.InvalidOperationException: Sequence sontains no elements
at System.Link.Enumerable.First[TSource]<IEnumerable'1 source>
at Updater.Program.Main<String[] args> in d:\endereçodoUpdater\Program.cs:line 17
第17行中的具有以下内容:
Process wpfProc = Process.GetProcessesByName("MainWindow").First();
如何解决此问题?
答案 0 :(得分:2)
您可以使用Process.Start执行此操作:
Process myProc = Process.Start("MyConsoleApp.exe");
//Close gracefully
Application.Exit();
在MyConsoleApp.exe中,您需要使用GetProcessByName来终止您的WPF应用程序,然后再次使用Process.Start重新启动它:
Process wpfProc = Process.GetProcessesByName("MyWpfApp.exe").First();
//If you want to directly kill it
wpfProc.Kill();
//Or be nice and let it kill itself
wpfProc.WaitForExit();
//Do stuff
Process.Start("MyWpfApp.exe");
上的System.Diagnostics.Process