2009-12-23 4 views

ответ

0

Если вы хотите запустить программу или пакетный файл, это довольно просто.

Process myProcess = new Process(); 

myProcess.StartInfo.FileName = "MyProgram.exe"; 
myProcess.StartInfo.Arguments = "1st_argument 2nd_argument" 
myProcess.StartInfo.CreateNoWindow = false; 

try 
{ 
    myProcess.Start(); 
    myProcess.WaitForExit(); 
} 

Таким образом вы можете передать аргументы своей программе или партии и принять решение о том, чтобы показать или скрыть исполняющую консоль.

С уважением.

+0

если мой аргумент "-q -dNODISPLAY -dSAFER -dDELAYBIND -dWRITESYSTEMDICT -dSIMPLE -c save -f ps2ascii.ps" c: \ test.pdf "-c quit>" c: \ test.txt "" then myProcess.StartInfo.Arguments = "-q -dNODISPLAY -dSAFER -dDELAYBIND -dWRITESYSTEMDICT -dSIMPLE -c save -f ps2ascii.ps" c: \ test.pdf "-c quit>" c: \ test.txt ""? – aharon

+0

Это должно сделать трюк, попробуй! Очевидно, что использование аргументов не является проблемой. Класс Process предназначен для. – Ucodia

5

Если вы хотите запустить программу, так как из командной строки, вы должны использовать Process.Start

Он не покажет командную строку, хотя, если это не является консольным приложением.

+0

Чтобы обойти это, вы можете запустить 'cmd.exe' с помощью переключателя'/C' и передать имя программы, которую вы действительно хотите запустить. –

+0

Конечно, вы можете запустить его из cmd таким образом, но он не будет отображаться как консольное приложение или что-нибудь еще. Если вам нужно, чтобы он работал с cmd, вы можете сделать это, как говорит Anon. –

1

Process.Start, который находится в пространстве имен System.Diagnostics.

Обратите внимание, что вы можете предоставить объект ProcessStartInfo, если вы хотите настроить такие вещи, как перенаправление ввода-вывода.

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