vb.net Как передать строку с пробелами в командную строку

Я пытаюсь вызвать внешнюю программу, используя Process:

    Dim strExe As String = "E:\Projects\Common Files\mktorrent.exe"
    Dim p As New Process
    Dim pinfo As New ProcessStartInfo
    pinfo.UseShellExecute = False
    pinfo.RedirectStandardOutput = True
    pinfo.Arguments = " -a http://blah.com/announce.php -l " & FileSizeMarker & " " & fn
    pinfo.FileName = strExe
    pinfo.WorkingDirectory = fn.Substring(0, fn.LastIndexOf("\"))
    pinfo.WindowStyle = ProcessWindowStyle.Normal
    pinfo.CreateNoWindow = True
    p.StartInfo = pinfo
    p.Start()

Проблема с именем файла (переменная fn выше). Если у него есть пробелы, команда дросселей - без пробелов, работает нормально. Я попытался добавить 1, 2 или 3 цитаты, например:

    fn = Chr(34) & Chr(34) & Chr(34) & fn & Chr(34) & Chr(34) & Chr(34)

а также

    fn = "\") & Chr(34) & fn & "\"& Chr(34)

и многие другие комбинации, но это все равно дает мне ошибку. Любые мысли о том, как я могу заставить это работать? ТИА

Ответы на вопрос(5)

Ваш ответ на вопрос