C# 当目标exe显示gui和模式对话框时运行进程
我有一个应用程序,我想从C#调用它,使用类似于:C# 当目标exe显示gui和模式对话框时运行进程,c#,user-interface,process,modal-dialog,C#,User Interface,Process,Modal Dialog,我有一个应用程序,我想从C#调用它,使用类似于: Process process = new Process(); process.StartInfo.FileName = exe; process.StartInfo.Arguments = args; process.StartInfo.CreateNoWindow = true; process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; process.ErrorDataRecei
Process process = new Process();
process.StartInfo.FileName = exe;
process.StartInfo.Arguments = args;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.ErrorDataReceived += new DataReceivedEventHandler(ErrorDataHandler);
process.OutputDataReceived += new DataReceivedEventHandler(OutputDataHandler);
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.RedirectStandardOutput = true;
process.Start();
我事先知道调用的应用程序有一个gui,可能会弹出模型对话框。我调用应用程序的方式永远不需要gui,它将一直运行到完成。最后会弹出一个模型对话框,简单地询问用户是否要关闭gui(因为它被调用以自动运行)
有没有一种方法可以从c#调用该应用程序
a) 模式对话框被忽略?b) 实际上没有显示GUI 最后,我希望在外部应用程序将控制权返回到我的应用程序之前,不中断地运行该应用程序
编辑:更多的澄清。我没有第三方应用程序,因此我无法控制它的行为。CreateNoWindow仅适用于控制台应用程序。GUI应用程序通常会忽略请求的窗口样式。不能抑制模态对话框。与该程序的所有者交谈以取得进展,你无能为力。这不是我想听到的,但c'est la vie:)最后的模态对话框有一个唯一的进程名称,因此我认为我可以在该进程启动时引发事件并终止它。供应商不可能更改任何内容。CreateNoWindow仅适用于控制台应用程序。GUI应用程序通常会忽略请求的窗口样式。不能抑制模态对话框。与该程序的所有者交谈以取得进展,你无能为力。这不是我想听到的,但c'est la vie:)最后的模态对话框有一个唯一的进程名称,因此我认为我可以在该进程启动时引发事件并终止它。供应商不可能更改任何内容。