Как получить путь к рабочему столу для текущего пользователя в C #?

246

Как мне получить путь к рабочему столу для текущего пользователя на С#?

Единственное, что я смог найти, это только класс VB.NET SpecialDirectories, который обладает этим свойством:

My.Computer.FileSystem.SpecialDirectories.Desktop

Как это сделать на С#?

Теги:
directory
filesystems

2 ответа

567
Лучший ответ
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
  • 0
    Элементы, возвращаемые из этой папки, отличаются от того, что показывает Window Explorer. Например, в моем XP он не включает Мои документы, Мой компьютер, Мои сетевые объекты, Корзину и некоторые другие ярлыки. Есть идеи, как получить те же записи, что и в Windows Explorer?
  • 5
    Может быть, вы ищете SpecialFolder.DesktopDirectory? Это физическая папка, а не логическая.
18
 string filePath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
 string extension = ".log";
 filePath += @"\Error Log\" + extension;
 if (!Directory.Exists(filePath))
 {
      Directory.CreateDirectory(filePath);
 }
  • 7
    Не уверен, что это хорошая идея - создать каталог для рабочего стола ... но проверка существования пути 1st всегда хорошая идея.
  • 2
    Directory.CreateDirectory уже проверяет, существует ли каталог перед его созданием, поэтому ваш оператор if является избыточным. Не уверен, что эта функция из более поздней версии C #, но думал, что я упомянул об этом.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню