特殊文件夹常量的本地化



有人知道是否有Windows 10本地化文件夹的完整列表吗?我正在尝试创建一个自定义资源管理器,其中文件夹应该以用户的母语显示。

我已经尝试使用ShellSpecialFolderConstants enumerationEnvironment.SpecialFolder enumeration获取本地化文件夹的完整列表。但是仍然有一些缺失(例如C:\Users(。

不幸的是,SHGetFileInfo也是不可能的,因为否则性能将受到严重影响。

我曾想过简单地为它设计一个长选择语句,其中存储所有本地化的文件夹。如果已经有一个等价物的表格,那么知道它当然会很方便。

提前感谢!

Microsoft不提供列表,因为您不应该知道,您应该使用特殊/已知文件夹API。这是为了防止人们对c:Program files等进行硬编码。在旧版本的Windows中,磁盘上的文件夹通常是本地化的。在Vista中,情况发生了变化,现在的真名是英语。

如果您正在构建一个自定义资源管理器,那么您应该处理IShellFolder/IShellItem,它们可以提供显示名称。

如果您在较低级别工作并忽略shell命名空间,则可以调用SHGetLocalizedName。此名称可以应用于任何文件夹,而不仅仅是特殊文件夹。

如果出于某种原因只关心特殊文件夹而不关心一般路径,IKnownFolder::GetFolderDefinition会声明返回一个包含本地化名称的结构。

最新更新