I'm running .exe file using this code:
Process proc = Process.Start("c:program.exe");
proc.WaitForExit();
If I start Stopwatch
before starting the process and stop it after proc.WaitForExit();
line, I can get the time that user was using that particular program.
The problem I'm facing is that some programs (and games) use launchers - some small .exe file that usually checks something and then launches another .exe file that is actually the program/game that the user wants to run. In these cases the code above doesn't work because it returns after launcher exists.
How can I track all processes that proc
runs, and wait unitl all of them are terminated?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…