2012-07-13 52 views
-1

我有第三方软件包。其文件夹包含要运行的.exe文件以及运行该应用程序所需的其他一些文件。当我手动打开应用程序时,它工作正常,但是当我尝试通过Process.Start()打开相同的应用程序时,出现“应用程序已停止工作”错误。通过Process.Start()打开时出现“应用程序停止工作”接收错误

应用程序需要.NET 4.0框架才能执行,所以我必须安装它。 C#代码我试图运行它是基于.NET 3.5和使用Visual Studio 2008

+1

显示您用于创建您的过程的代码。 – 2012-07-13 18:09:01

+2

尝试检查Windows事件日志并查看它是否给出错误日志记录 – Phil 2012-07-13 18:09:30

+2

也许您正在使用错误的当前目录。没有看到代码我们就看不出来。 – 2012-07-13 18:10:35

回答

2

你可以尝试以下方法创建:

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); 

直接前process.Start();

不要忘了之后重置当前目录! 之前保存CurrentDirectory与

var currentDirectory = Directory.GetCurrentDirectory(); 
+0

这件事情非常感谢芽。有什么方法可以在后台与第三方软件进行通信以发送和接收计算的数据等? – Karthik 2012-07-15 04:04:35

相关问题