2014-07-17 3 views
1

Я хочу, чтобы запустить программу, используя этот код:C# запустить программу с аргументами, содержащий строки

private void PBox_Banner_Click(object sender, EventArgs e) 
{ 
    string JavaPath = @"C:\Program Files\Java\jre8\bin\javaw.exe"; 
    ProcessStartInfo startInfo = new ProcessStartInfo(); 
    startInfo.FileName = JavaPath; 
    startInfo.Arguments = @"-Xmx1024-jar "D:\Log4-cg.jar""; 
    Process.Start(startInfo); 
} 

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

Я использую Microsoft Visual Studio Express 2012 для Windows Desktop.

+0

Would положить 'D: \ Log4-cg.jar? В «с вместо«Поможем –

+0

@ farhad-alinoo Нет, потому что тогда сбой Java. –

+1

Вы должны использовать символ '' -Xmx1024-jar \ "D: \\ Log4-cg.jar \" ";' – VahidNaderi

ответ

2

Удвоение на кавычки должно исправить это.

startInfo.Arguments = @"-Xmx1024-jar ""D:\Log4-cg.jar"""; 
+0

Спасибо, что это работает, но я должен ждать 8 минут undit я могу принять ответ. –

+0

Scarjit: Вы можете либо сделать, как предложено здесь, либо просто использовать апострофы, как указано в комментарии к вашему вопросу, by @FarhadAliNoo. –

0

Если решение Дэвида не работает, старая школа запасной вариант должен:

startInfo.Arguments = "-Xmx1024-jar \"D:\\Log4-cg.jar\""; 
Смежные вопросы