目前我正在使用以下代码从另一个WPF应用程序(4.0应用程序)运行一个WPF exe(在3.5框架中):
var processInfo = new ProcessStartInfo("WPFAPP1.exe", "param");
Process.Start(processInfo);
以上原因是:
我正在使用一些仅支持3.5框架的第三方,而我现有的应用程序是4.0。我无法更改当前的应用程序目标类型,因为它有大约200个项目,我需要更改。
现在问题是我想在WPFAPP1.exe中获取命令行参数(即我的情况下为“param”)。为此我在WPFAPP1应用程序中使用了以下代码(我从主应用程序调用的.exe应用程序),
public static String[] mArgs;
void Application_Startup(object sender, StartupEventArgs e)
{
if (e.Args.Length > 0)
{
mArgs = e.Args;
}
}
在MainWindow.xaml.cs中:
public MainWindow()
{
InitializeComponent();
String[] args = App.mArgs;
txtTest.Text = args[0];
}
我尝试了上面的代码,但没有得到相应的值(我从主应用程序传递的“param”)。我也没有得到任何异常或错误。任何帮助都会非常感激。
答案 0 :(得分:0)
查看System.Diagnostics.Process.GetCurrentProcess()。StartInfo。它是一个ProcessStartInfo实例,它具有Arguments属性,该属性包含当前进程的所有参数。
您可以创建一个新的ProcessStartInfo实例,并将参数传递给任何子流程。