об окружающей среде. SpecialFolder - PullRequest
3 голосов
/ 18 мая 2011

Я хочу получить доступ к своей папке «Мои документы» из меню WinForms ToolStrip. Я заполняю ToolStrip XML-файлом. Я храню Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) в моем XML-файле. Это выбрасывает ошибку.

Может кто-нибудь помочь, пожалуйста.

Это часть моего xml-файла.

<item name="MSPowerpoint" action="%PROGRAMFILES%\Microsoft Office\office11\POWERPNT.exe" parameters="/n"/>
<item name="MyDocuments" action="Environment.GetFolderPath(Environment.SpecialFolder.Personal" parameters=""/>    
<item name="" text="-" />

Это метод для запуска приложений.

public void startapp(string s)
    {
        ProcessStartInfo pst = new ProcessStartInfo();

        pst.UseShellExecute = true;
        pst.FileName = s;
        Process.Start(pst);            
    }

Это ошибка, которую я получаю .. «Система не может найти указанный файл.»

Ответы [ 2 ]

4 голосов
/ 18 мая 2011

Вам нужно найти способ оценить путь до того, как вы начнете процесс: вы получаете сообщение об ошибке «не удается найти указанный файл», поскольку операционная система буквально ищет каталог или файл с именем «* 1001». * ', а не фактический каталог, который это представляет.

Может сработать какая-то кодировка, поэтому вместо ввода Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) в XML вставьте строку, представляющую это значение - например, '#MYDOCUMENTS' - вместо этого при создании ToolStrip вы можете извлечь значения.

// For example:

string fileName = GetFileNameFromXml(); // Or however you get it
if (fileName == "#MYDOCUMENTS")
{ 
    fileName = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
}

startapp(fileName);
0 голосов
/ 18 мая 2011

Какую ошибку вы получаете? И, кажется, вам не хватает

)

в файле XML.

действие = "Environment.GetFolderPath (Environment.SpecialFolder.Personal"

...