有一个 SO 答案 here 使用 SHGetFileInfo 函数读取 C# 中文件夹的本地化名称,这可能会帮助您。
现在我知道你没有问,但如果你想知道信息存储在哪里...它在目录中,在 Desktop.ini 文件中。
例如,我的 Windows 10 安装中包含“用户”:
[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21813
这适用于我的用户文件夹中的 Images 文件夹(将其显示给您其他键):
[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21779
InfoTip=@%SystemRoot%\system32\shell32.dll,-12688
IconResource=%SystemRoot%\system32\imageres.dll,-113
IconFile=%SystemRoot%\system32\shell32.dll
IconIndex=-236
@%SystemRoot%\system32\shell32.dll,-21813 指向必须读取给定文件的MUI (multilingual user interface) resources,键 21813(大概@ 表示它在这个文件中,而不是这个字面值,但不要引用我的话)。 %SystemRoot% 是指向 Windows 目录的环境变量。
实际的 MUI 文件及其位置由 Windows 处理(请参阅上面的 MSDN 链接),但我们碰巧知道 shell32.dll 的美国英语本地化的 MUI 文件是 system32\en-US\shell32.dll.mui。
用Resource Hacker打开那个文件,我们可以搜索21813——瞧!我们可以找到STRINGTABLE resource#1364,其中包含:
[...snip...]
21812, "Extras and Upgrades"
21813, "Users"
21814, "Saved Games"
[...snip...]
很遗憾,我没有可用的tr-TR/shell32.dll.mui,所以你只需要相信我,你会在那里找到Kullanıcılar 字符串。