如何在WPF应用程序中调用.exe

时间:2011-04-24 17:49:29

标签: c#

如何从另一个WPF应用程序(4.0应用程序)运行一个WPF exe(在3.5框架中)。

以上原因是:
我正在使用一些仅支持3.5框架的第三方,而我现有的应用程序是4.0。我不能改变我目前的应用目标类型b'coz它有大约200个我需要改变的项目。

我遇到了这个问题,我也需要传递字符串作为参数。

下面是我尝试的代码,但没有得到任何好运:

var processInfo = new ProcessStartInfo(path, param);
 Process.Start(processInfo);

编辑: 我改变了路径,它对我有用。但现在问题是我无法在.exe应用程序中获取命令行参数。就像目前我传递的“param”(它是一个字符串类型的数组)作为我的.exe的参数。但任何人都可以帮助我,如何在.exe文件中获取此参数。 window.Loaded handler中的意思我想得到这个参数,并根据我想要执行一些动作。

3 个答案:

答案 0 :(得分:1)

如果您提供的路径是相对路径,那么检查工作目录(Environment.CurrentDirectory)此API以及许多其他API将使用此作为在提供相对路径时创建绝对路径的基本路径。

答案 1 :(得分:0)

启动另一个进程将为该应用程序加载所需的.NET CLR版本。启动需要与当前版本不同的.NET应用程序没有问题。

检查路径是否具有正确的值。

请发布您遇到的任何例外情况。

答案 2 :(得分:0)

您应该能够在不使用Process.Start()的情况下从.Net 4.0应用程序调用.Net 3.5应用程序。只需将3.5 exe添加到您的引用中,现在您可以使用该程序集中的类型。

相关问题