правильний аргумет при запуске приложения из С#

Тема в разделе ".NET", создана пользователем polishuchka, 30 июл 2011.

Статус темы:
Закрыта.
  1. polishuchka

    polishuchka Гость

    Такой кусос кода запускает Word (можно другое приложение, указав его в параметре для ProcessStartInfo ) и откривает файл с именем, заданным в docname:
    using System;
    using System.Diagnostics;
    .......
    ProcessStartInfo psi = new ProcessStartInfo( "C:\\Program Files\\Microsoft Office\\OFFICE11\\WINWORD.EXE");
    docname= "c:\Имя_файла" ;
    psi.Arguments = docname;
    Process p = new Process();
    p.StartInfo = psi;
    p.Start();
    Работает нормально, если имя файла не содержит пробел. Например
    если docname="c:\Имя_файла", то файл откривается, а если docname="c:\Имя файла", то Word интерпретирует
    его как 2 аргумента и начинает окривать сначала "Имя", а потом "файла" и не находит, естественно. Скобки как вот docname= "(c:\Имя файла)"; не помогают. Вопрос; Как передать аргумент с пробелами так, чтобы он интерпретировался как 1 аргумент, если он содержит пробелы.
     
  2. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Предлагаю вместо скобок попробовать кавычки:
    Код (Text):
    docname = "\"Какое-то имя файла\"";
     
  3. polishuchka

    polishuchka Гость

    Cпасибо большое! Помоголо! Хоть мне кажется, что я и сама так пробовала, но наверное только кажется ;)
     
Статус темы:
Закрыта.

Поделиться этой страницей