C# 等待特定过程完成

C# 等待特定过程完成,c#,.net,windows,C#,.net,Windows,我有一个C#.NET应用程序。程序将打开.bat文件,并应等待完成后继续。问题是.bat文件正在打开另一个文件(PowerShell脚本)。PowerShell脚本必须从.bat文件内部运行。C#程序在.bat执行后不久继续运行,因为它会打开PowerShell文件并关闭 即使我从未从C#程序内部启动过PowerShell文件,也可以让我的C#程序等待PowerShell进程退出吗 代码: C# 如果该过程需要一段时间才能显示,则可能需要进行调整。可能需要等待它运行,然后运行上面的操作,等待它再

我有一个C#.NET应用程序。程序将打开.bat文件,并应等待完成后继续。问题是.bat文件正在打开另一个文件(PowerShell脚本)。PowerShell脚本必须从.bat文件内部运行。C#程序在.bat执行后不久继续运行,因为它会打开PowerShell文件并关闭

即使我从未从C#程序内部启动过PowerShell文件,也可以让我的C#程序等待PowerShell进程退出吗

代码:

C#


如果该过程需要一段时间才能显示,则可能需要进行调整。可能需要等待它运行,然后运行上面的操作,等待它再次消失。

是否可以让C#程序监视一个进程并在它结束时继续,就像您可以在Taskmanager中监视自己一样?发布bat文件的内容,ps文件和cs文件我编辑了这个问题,这样你就有了所需的所有代码:)上面写着过期、不可用或已删除
.cs

https://pastebin.com/fL0BDc0Q

.bat

https://pastebin.com/S8EvWHhn

.ps1

https://pastebin.com/Jbbr5K0F
Process.GetProcessesByName("PowershellGUI.exe").FirstOrDefault()?.WaitForExit();