我正在尝试使用 Process.Start
启动 wpf 应用程序。当我通过在explorer.exe
中双击它来启动该过程时,它会正确启动;但是,当我尝试使用以下代码片段时:
var programPath = @"C:UsersuserDocumentsProgram Directoryprogram.exe";
if(!File.Exists(programPath))
{
MessageBox.Show("The program.exe file does not exist! Cannot launch.");
return;
}
Process.Start(programPath);
我的 WPF 进程在任务管理器中短暂闪烁,然后立即关闭。
我以这种方式解决了问题:
Process proc = new Process();
proc.StartInfo.FileName = programPath;
proc.StartInfo.WorkingDirectory = Path.GetDirectoryName(programPath);
proc.Start();
诀窍是将工作目录设置为 WPF 应用程序的路径,而不是启动应用程序的工作目录。