2010-07-04 3 views
15

Как запустить внешнюю программу, такую ​​как «Блокнот» или «Калькулятор» с помощью программы C#?Как запустить внешнюю программу с помощью программы на C#?

+3

Добро пожаловать на Stack Overflow. Я думаю, можно с уверенностью предположить, что английский - ваш второй язык. Чтобы увеличить ваши шансы получить ответ, я бы переписал заголовок вопроса, чтобы сказать «Как открыть внешнюю программу из программы C#?». Также это консольное приложение, Winforms, Web (надеюсь, нет)? Предоставьте немного больше информации и убедитесь, что вы просматриваете FAQ по переполнению стека. – Marko

+0

@ Майкл Я предполагаю, что hw - это просто как. – Mathias

+2

Я ... просто ... не мог оставить это так ... – codekaizen

ответ

22

Использование System.Diagnostics.Process.Start

Вероятная дубликат: How to start a process from C# (WinForms)

+0

FYI «Пример» - это мертвая ссылка. Всегда недостаток при указании ссылок. –

+1

Не мертв для меня ..... –

+0

Может быть, это просто мое неудачное зрение, а затем –

7

К примеру, как это:

// run notepad 
System.Diagnostics.Process.Start("notepad.exe"); 

//run calculator 
System.Diagnostics.Process.Start("calc.exe"); 

Следуйте по ссылкам в Mitchs ответ.

10

Привет, это пример консольного приложения для вызова Notepad.exe, пожалуйста, проверьте это.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Diagnostics; 

namespace Demo_Console 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Process ExternalProcess = new Process(); 
      ExternalProcess.StartInfo.FileName = "Notepad.exe"; 
      ExternalProcess.StartInfo.WindowStyle = ProcessWindowStyle.Maximized; 
      ExternalProcess.Start(); 
      ExternalProcess.WaitForExit(); 
     } 
    } 
} 
16

Может быть, это поможет вам:

System.Diagnostics.Process pProcess = new System.Diagnostics.Process(); 
pProcess.StartInfo.FileName = @"C:\Users\Vitor\ConsoleApplication1.exe"; 
pProcess.StartInfo.Arguments = "olaa"; //argument 
pProcess.StartInfo.UseShellExecute = false; 
pProcess.StartInfo.RedirectStandardOutput = true; 
pProcess.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; 
pProcess.StartInfo.CreateNoWindow = true; //not diplay a windows 
pProcess.Start(); 
string output = pProcess.StandardOutput.ReadToEnd(); //The output result 
pProcess.WaitForExit(); 
+3

Не забудьте удалить этот процесс или использовать его в 'using (Process pProcess = new Process()) {}' block – pKami

+0

в этом случае не было необходимости. Но спасибо –

Смежные вопросы