Чтобы запустить из кода приложение, необходимо воспользоваться классом Process:
Код | using System.Diagnostics; |
Код | Process.Start ("firefox.exe"); |
Для передачи параметров командной строки запускаемому приложению следует использовать перегруженную версию метода Start, принимающую два параметра:
Код | Process.Start ("firefox.exe", "-ProfileManager");
|
Этот код просто запускает программу. Если необходимо дождаться окончания выполнения процесса, нужно получить экземпляр созданного объекта Process и вызвать его метод WaitForExit:
Код | using (p = new Process ("firefox.exe")) { p.Start (); p.WaitForExit (); }
|
Метод WaitForExit также позволяет устанавливать время (в милисекундах), через которое ожидание прекращается (например, если процесс "завис"):
Код | using (p = new Process ("firefox.exe")) { p.Start (); if (p.WaitForExit (10000)) { Console.WriteLine ("Браузер был закрыт в течение 10 секунд с момента запуска"); } else { Console.WriteLine ("10 секунд прошли!"); } }
|
Не забывайте вызывать метод Dispose или заключать код работы с процессом в конструкцию using!
Для установки каких-либо дополнительных параметров запуска следует использовать класс ProcessStartInfo:
Код | ProcessStartInfo startInfo = new ProcessStartInfo ("firefox.exe"); startInfo.WindowStyle = ProcessWindowStyle.Minimized; Process.Start (startInfo); startInfo.Arguments = "http://forum.vingrad.ru/"; Process.Start (startInfo);
|
http://msdn2.microsoft.com/en-us/library/system.diagnostics.process.aspx. |