我的winform应用程序由另一个应用程序(父代)启动,我需要确定应用程序的pid,它使用c#启动我的应用程序.
我所要做的就是发送一个用program.exe打开模型的命令,假设它非常简单!
例如:
"C:\Program Files (x86)\River Logic\Enterprise Optimizer 7.4 Developer\EO74.exe" "C:\PauloXLS\Constraint Sets_1.cor"
Run Code Online (Sandbox Code Playgroud)
如果粘贴在命令提示符窗口上,则上面的行很有效.但是,当我尝试在我的代码上传递相同的字符串时,它会卡在C:\ Program上
string EXE = "\"" + @tbx_base_exe.Text.Trim() + "\"";
string Model = "\"" + @mdl_path.Trim()+ "\"";
string ExeModel = EXE + " " + Model;
MessageBox.Show(ExeModel);
ExecuteCommand(ExeModel);
Run Code Online (Sandbox Code Playgroud)
ExeModel在Visual Studio上显示以下行:
"\"C:\\Program Files (x86)\\River Logic\\Enterprise Optimizer 7.4 Developer\\EO74.exe\" \"C:\\PauloXLS\\Constraint Sets_1.cor\""
Run Code Online (Sandbox Code Playgroud)
对我来说看起来像是我需要发送到以下方法的字符串:
public int ExecuteCommand(string Command)
{
int ExitCode;
ProcessStartInfo ProcessInfo;
Process Process;
ProcessInfo = new ProcessStartInfo("cmd.exe", "/K " + Command);
ProcessInfo.CreateNoWindow = true;
ProcessInfo.UseShellExecute = true;
Process = Process.Start(ProcessInfo);
Process.WaitForExit(); …Run Code Online (Sandbox Code Playgroud)