Когда я открываю реестр «Software \Microsoft \Windows \CurrentVersion \Explorer \User Shell Folders» в HKEY_CURRENT_USER
некоторые имена являются обычными строками, такими как "AppData", "Desktop", "My Music" и т.д., А некоторые другие отображаются в шестнадцатеричном формате, например "{374DE290-123F-4565-9164-39C4925E467B}"
который представляет папку "Загрузки". есть ли разница в таких именах? В чем преимущество предоставления таких имен вместо загрузок? как мне построить такие имена?
1 ответ
Подобные числа (этой длины с дефисами) называются GUID. Папки, на которые вы смотрите, - это специальные папки, распознаваемые Windows.
Документация: MSDN: известный идентификатор папки
есть ли разница в таких именах?
Самый большой из них, о котором я могу легко подумать, описан ответом на следующий вопрос:
В чем преимущество предоставления таких имен вместо загрузок?
На нескольких языках. Папка «Загрузки» может быть {374DE290-123F-4565-9164-39C4925E467B} как в английских выпусках Microsoft Windows (что, вероятно, предпочитает Microsoft в процессе разработки), так и в других языках.
Сделав так, чтобы код опирался на что-то вроде 374DE290-123F-4565-9164-39C4925E467B, многоязыковая поддержка - это простой вопрос преобразования 374DE290-123F-4565-9164-39C4925E467B в слово "загрузки" на любом языке, копию Windows предназначена для использования. Идея состоит в том, чтобы помочь Microsoft отделить имя папки (например, "Загрузки" на английском языке) от логики, используемой с поведениями, связанными с этой папкой (которая в основном использует 374DE290-123F-4565-9164-39C4925E467B). Когда программисты разделяют такие вещи, многоязычная функциональность становится проще для создания / поддержки.
как мне построить такие имена?