Запуск из программы другого приложения

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

Leave a Reply

Your email address will not be published. Required fields are marked *

http://csharpcoding.org/wp-content/plugins/wp-monalisa/icons/wpml_bye.gif  http://csharpcoding.org/wp-content/plugins/wp-monalisa/icons/wpml_good.gif  http://csharpcoding.org/wp-content/plugins/wp-monalisa/icons/wpml_negative.gif  http://csharpcoding.org/wp-content/plugins/wp-monalisa/icons/wpml_scratch.gif  http://csharpcoding.org/wp-content/plugins/wp-monalisa/icons/wpml_wacko.gif  http://csharpcoding.org/wp-content/plugins/wp-monalisa/icons/wpml_yahoo.gif 
http://csharpcoding.org/wp-content/plugins/wp-monalisa/icons/wpml_cool.gif  http://csharpcoding.org/wp-content/plugins/wp-monalisa/icons/wpml_heart.gif  http://csharpcoding.org/wp-content/plugins/wp-monalisa/icons/wpml_rose.gif  http://csharpcoding.org/wp-content/plugins/wp-monalisa/icons/wpml_smile.gif  http://csharpcoding.org/wp-content/plugins/wp-monalisa/icons/wpml_whistle3.gif  http://csharpcoding.org/wp-content/plugins/wp-monalisa/icons/wpml_yes.gif 
http://csharpcoding.org/wp-content/plugins/wp-monalisa/icons/wpml_cry.gif  http://csharpcoding.org/wp-content/plugins/wp-monalisa/icons/wpml_mail.gif  http://csharpcoding.org/wp-content/plugins/wp-monalisa/icons/wpml_sad.gif  http://csharpcoding.org/wp-content/plugins/wp-monalisa/icons/wpml_unsure.gif  http://csharpcoding.org/wp-content/plugins/wp-monalisa/icons/wpml_wink.gif