Неанглийские имена специальных папок в Vista / Win7

В неанглоязычных версиях Windows Vista и Windows 7 обычные специальные папки (например, папка «Мои документы») имеют двойное имя: например, «Мои документы» могут быть доступны (в немецких системах) через

C:\Users\Username\Documents

Но отображается (в диалогах проводника и выбора файла) как

C:\Benutzer\Username\Eigene Dokumente

В моем приложении (C #) я хотел бы отобразить вторую форму, но мне нужно использовать первую для внутренних целей. Итак, я ищу какую-то функцию для преобразования, например. результат Environment.GetFolderPath() (которое всегда является английским именем) в локализованную форму.

Так как я не знаю, как называется эта функция (а мой английский как-то ограничен), я даже не знаю, как ее погуглить.

Любые подсказки очень ценятся!

Спасибо Мартин


person MartinStettner    schedule 14.01.2011    source источник


Ответы (2)


Хорошо, после некоторого дополнительного исследования я выяснил сам: концепции, которые я искал, были

  • Точки соединения
  • Desktop.ini с использованием (недокументированного) LocalizedResourceName запись (задокументирована только для Windows CE)

Я открою отдельный вопрос о функции для автоматического получения этого "LocalizedResourceName" (я не хочу искать его вручную для каждого каталога на моем пути ...)

person MartinStettner    schedule 14.01.2011

Вы можете использовать Environment.SpecialFolder.MyDocuments. Он должен вернуть локализованный путь.

Ссылка: Environment.SpecialFolder Enumeration

person makes    schedule 14.01.2011