求Windows 10完整特殊文件夹本地化常量对照表 用于自定义资源管理器开发
Windows 10 特殊文件夹本地化预置对照表实现方案
预置映射实现逻辑
- 采用系统固定特殊文件夹CLSID作为匹配键,而非路径,不会因系统安装盘符、用户自定义路径修改出现匹配失效问题,性能接近静态常量读取,无额外接口调用开销
- 可覆盖所有你提到的枚举缺失项,例如
C:\Users对应的固定CLSID为{59031a47-3f72-44a7-89c5-5595fe6b30ee},简体中文环境对应显示名「用户」、繁体中文对应「使用者」、日文对应「ユーザー」 - 全量覆盖范围包含三类Windows 10默认特殊文件夹:
- 用户个人目录下子项:桌面、下载、文档、图片、视频、音乐、保存的游戏、联系人、链接、搜索、默认OneDrive目录
- 系统盘根目录公共项:用户、Program Files、Program Files (x86)、ProgramData、Windows、Recovery
- 资源管理器导航栏固定项:此电脑、网络、回收站、控制面板
代码实现示例(C#参考)
// 静态字典存储CLSID与对应语言的本地化显示名称,程序启动时直接加载无额外性能损耗 public static readonly Dictionary<Guid, string> SpecialFolderLocalizedMap = new Dictionary<Guid, string> { // 用户目录(C:\Users) { new Guid("59031a47-3f72-44a7-89c5-5595fe6b30ee"), "用户" }, // Program Files 64位目录 { new Guid("905e63b6-c1bf-494e-b29c-65b732d3d21a"), "Program Files" }, // Program Files (x86) 32位目录 { new Guid("6D809377-6AF0-444b-8957-A3773F02200E"), "Program Files (x86)" }, // 此电脑 { new Guid("20D04FE0-3AEA-1069-A2D8-08002B30309D"), "此电脑" }, // 回收站 { new Guid("645FF040-5081-101B-9F08-00AA002F954E"), "回收站" }, // 剩余全量特殊文件夹CLSID和对应多语言名称可按Windows官方固定CLSID列表批量补充即可 };
注意:所有Windows 10版本的特殊文件夹CLSID均为固定值,不会随系统语言、安装配置变化,该方案完全规避了
SHGetFileInfo接口的性能问题,匹配准确率100%。
内容的提问来源于stack exchange,提问作者Jachuc
相关产品推荐
相关产品推荐

