Я запускаю .exe файл, используя этот код:
Process proc = Process.Start("c:\program.exe");
proc.WaitForExit();
Если я запустил Stopwatch
перед запуском процесса и остановил его после строки proc.WaitForExit();
, я могу получить время, когда пользователь использовал эту конкретную программу.
Проблема, с которой я сталкиваюсь, заключается в том, что некоторые программы (и игры) используют пусковые установки - некоторый маленький .exe файл, который обычно что-то проверяет, а затем запускает другой .exe файл, который на самом деле является программой/игрой, которую пользователь хочет запустить. В этих случаях код выше не работает, потому что он возвращается после запуска.
Как я могу отслеживать все процессы, выполняемые proc
, и ждать unitl, все из них завершены?