使用另一个可执行文件的命令行参数启动进程

时间:2014-07-14 01:45:12

标签: c# process command-line-arguments

我正试图通过C#代码将.exe传递给另一个。

到目前为止,这是我的代码:

string ex1 = System.Windows.Forms.Application.StartupPath.ToString() + "\\dev\\psm.exe";
string ex2 = System.Windows.Forms.Application.StartupPath.ToString() + "\\dev\\Application\\app.exe";

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = false;
startInfo.UseShellExecute = false;
startInfo.FileName = ex1;
startInfo.WindowStyle = ProcessWindowStyle.Normal;
startInfo.Arguments = ex2;

try
{
    Process.Start(startInfo);
}
catch
{
}

哪个参数可以将文件拖到应用程序上?  
详细信息:
正常运行psm.exe时,会提示输入文件名和目录。
Running psm.exe


但是,当您在psm.exe上拖动已批准的应用程序时, Running file with psm.exe它自动加载应用。 Running app



如何用C#完成?

1 个答案:

答案 0 :(得分:0)

你可以像这样同步运行另一个应用程序:

System.Diagnostics.Process myapp = new System.Diagnostics.Process();
myapp.StartInfo.FileName = ex1;
myapp.StartInfo.Arguments = ex2;
myapp.Start();
myapp.WaitForExit();

根据您要启动的应用程序如何通过命令行参数传递,您可能需要以下参数:

myapp.StartInfo.Arguments = String.Format("/MyArgumentName={0}", ex2);

这相当于:

c:\MyApplicationStartupPath\dev\psm.exe /MyArgumentName=c:\MyApplicationStartupPath\Application\App.exe

确保匹配app.exe期望StartInfo.Arguments

中的参数的方式