Для того, чтобы из приложения написанного на c# запустить другое приложение, необходимо использовать класс Process пространства имен System.Diagnostics
using System.Diagnostics;
//создаем новый процесс Process proc = new Process(); //Запускаем Блокнто proc.StartInfo.FileName = @"Notepad.exe"; proc.StartInfo.Arguments=""; proc.Start();
Приведенный выше код, запускает пустой текстовый редактор. Если вы хотите запустить Блокнот с открытым файлом, то необходимо в метод Start передать параметры (например для Блокнота, необходимо передать путь к файлу, который необходимо открыть, для Internert Explorer – адрес URL):
//запускаем блокнот с файлом some.txt
Process.Start("Notepad.exe", "some.text");
//запускаем браузер с заданным адресом URL
Process.Start("iexplore.exe","csharpcoding.org");
Бывает ситуация, когда нужно запустить другое приложение из своей программы и не дать пользователю возможность закрыть нашу программу:
ProcessStartInfo stInfo =
new ProcessStartInfo(@"C:\windows\system32\notepad.exe");
stInfo.UseShellExecute = false;
stInfo.CreateNoWindow = true;
//создаем новый процесс
Process proc = new Process();
proc.StartInfo = stInfo;
//Запускаем процесс
proc.Start();
//Ждем, пока блокнот запущен
proc.WaitForExit();
MessageBox.Show("Код завершения: " + proc.ExitCode, "Завершение Код",
MessageBoxButtons.OK, MessageBoxIcon.Information);
Таким образом, пока не будет закрыт блокнот, нашу программу невозможно будет закрыть.
Материал взят из книги Александра Климова “C# советы программистам”
