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

C# 使用另一个可执行文件的命令行参数启动进程,c#,process,command-line-arguments,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 startIn

我正试图通过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时,它会提示输入文件名和目录


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




如何使用C#?

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

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中参数的方式相匹配

这将启动psm.exe并将参数传递给app.exe。exe不起作用。只需打开第一个.exe,然后终止。所以您没有编辑ps sim卡的代码?在这种情况下,像这样的东西怎么样:Process.Start(@“c:\sim\psm.exe”,“c:\mypath\app.exe”);如果您的路径中有空格,则可能必须在app.exe路径周围加上倒逗号,因为命令行参数通常不喜欢空格