2010-09-23 3 views
1

Мне нужно создать дерево каталогов, подобное тому, которое показано в Проводнике Windows. Использование специальных папок не помогает, поскольку эти папки являются физическими папками. Итак, есть ли какое-либо представление этих виртуальных папок, таких как «Рабочий стол», «Компьютер» или «Сеть» в .NET?Как получить виртуальный «рабочий стол», как показано в проводнике Windows?

Кстати, есть решение этой проблемы в Java с помощью ShellFolders. Это в основном то, что мне нужно и в .NET.

ответ

3

Попробуйте

Environment.GetFolderPath(Environment.SpecialFolder.Desktop) 

Обратите внимание, что SpecialFolder enumeration позволяет задать множество «специальных» папок. Однако при переходе в значение «MyComputer» будет возвращена пустая строка, но для этого нет определенного пути.

Если вам нужен «MyComputer», вам, возможно, потребуется выполнить некоторую работу в режиме interop. См. this project on codeplex, который получает некоторые папки папок (включая Мой компьютер) таким образом.

+0

И именно проблема «MyComputer» - проблема. Единственный способ - прочитать диски и сам построить этот узел. Но это, похоже, не является общим. – tigger

+0

Добавлен указатель на проект на codeplex, который может делать то, что вы хотите. –

+0

Спасибо! Это именно то, что я искал! – tigger

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