Для того, чтобы из приложения написанного на 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# советы программистам”