При поиске определенной папки (например, Мои документы), не используйте жестко заданный путь. Пути могут меняться от версии к версии Windows (C:\Documents and Settings\
против C:\Users\
) и были локализованы в более старых версиях (C:\Users\user\Documents\
против C:\Usuarios\user\Documentos\
).В зависимости от конфигурации профили пользователей могут находиться на диске, отличном от Windows.Windows может быть не установлена там, где вы ожидаете (она не должна быть в \Windows\
).Вероятно, есть другие случаи, о которых я не знаю.
Вместо этого используйте Shell API (SHGetKnownFolderPath
), чтобы получить фактический путь.В .NET эти значения легко получить из Environment.GetFolderPath
.Если вы ищете папку Мои документы пользователя:
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
Полный список специальных папок