我想从 C# 代码运行 ANSYS Fluent exe file
现在为了比较,我举两个例子
Process fluent = Process.Start(@"C:\Program Files\ANSYS Inc\v130\fluent\ntbin\win64\fluent.exe", @"2ddp file.jou");
Process browser = Process.Start("IExplorer.exe", "http://www.google.com");
为什么 C# 代码中的 browser.ID
与 TaskManager 中的相同?为什么代码中的 Fluent.ID
与 TaskManager 中的不同?
是因为Fluent的特性还是我犯了一些错误?
主要问题:如何运行 Fluent 并在 C# 代码中捕获其 ID?
最佳答案
这几乎可以肯定与 Fluent 的特性有关。如果您无法从 Process.Start 中获取(相关的)PID,您可能需要启动进程,然后进入等待循环并尝试按名称检索进程(请参阅:Process.GetProcessesByName - I认为您会传递 EXE 名称而不带 .exe)。
这个解决方案的鲁棒性到底有多强取决于您预测 Fluent 特性的能力,这看起来已经相当困难了。我绝对推荐使用 Process Explorer(如上所述),并熟悉其他 SysInternals 工具,它们在这些情况下提供了大量的见解。
关于c# - Process.Start 中的 ID 有时匹配,有时不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6189590/