我正在使用以下代码运行 .exe 文件:
Process proc = Process.Start("c:\program.exe");
proc.WaitForExit();
如果我Stopwatch
在开始进程之前开始并在行后停止它proc.WaitForExit();
,我可以获得用户使用该特定程序的时间。
我面临的问题是某些程序(和游戏)使用启动器 - 一些小的 .exe 文件通常会检查某些内容,然后启动另一个 .exe 文件,该文件实际上是用户想要运行的程序/游戏。在这些情况下,上面的代码不起作用,因为它在启动器存在后返回。
如何跟踪所有正在proc
运行的进程,并等待它们全部终止?