C# 通过Process.Start()打开时收到错误“应用程序已停止工作”
我有一个第三方软件包。其文件夹包含要运行的.exe文件以及运行应用程序所需的一些其他文件。当我手动打开应用程序时,它工作正常,但当我试图通过Process.Start打开同一个应用程序时,我发现错误应用程序已停止工作C# 通过Process.Start()打开时收到错误“应用程序已停止工作”,c#,.net,C#,.net,我有一个第三方软件包。其文件夹包含要运行的.exe文件以及运行应用程序所需的一些其他文件。当我手动打开应用程序时,它工作正常,但当我试图通过Process.Start打开同一个应用程序时,我发现错误应用程序已停止工作 应用程序需要.NET4.0框架才能执行,所以我必须安装它。我试图使用的C代码位于.NET 3.5上,是使用Visual Studio 2008创建的。您可以尝试以下操作: var path = @"C:\Temp\test.exe"; FileInfo fi = n
应用程序需要.NET4.0框架才能执行,所以我必须安装它。我试图使用的C代码位于.NET 3.5上,是使用Visual Studio 2008创建的。您可以尝试以下操作:
var path = @"C:\Temp\test.exe";
FileInfo fi = new FileInfo(path);
ProcessStartInfo info = new ProcessStartInfo(path);
info.WorkingDirectory = fi.DirectoryName;
Process process = new Process();
process.StartInfo = info;
process.Start();
如果这不起作用,请尝试
Directory.SetCurrentDirectory(fi.DirectoryName);
直接在流程之前。开始
以后不要忘记重置当前目录!
在使用之前保存CurrentDirectory
var currentDirectory = Directory.GetCurrentDirectory();
显示用于创建进程的代码。请尝试检查windows事件日志,查看它是否给出错误日志。可能您使用了错误的当前目录。我们不能不看代码就知道。这东西很有效,谢谢你,巴德。有没有办法在后台与第三方软件进行通信,以发送和接收计算数据等?