获取Windows特殊文件夹的当前名称

本文关键字:文件夹 Windows 获取 | 更新日期: 2023-09-27 18:19:58

用户可以轻松地将计算机、网络等特殊文件夹重命名为他们喜欢的任何文件夹。此外,如果计算机使用不同的区域设置,则这些文件夹的名称也将不同。

我想在我的应用程序中获得所有特殊文件夹的当前名称,如计算机、回收站、网络等。有办法做到这一点吗?具体的API?注册表值?

例如,用户将My Computer重命名为Super Computer。我的应用程序应该显示My Computer的名称为Super Computer

获取Windows特殊文件夹的当前名称

他不是在寻找目录路径,他只是想要"我的电脑"快捷方式的当前名称。

请考虑是否右键单击"我的电脑",然后单击"重命名"并将名称设置为"真棒电脑"。如何通过C#找到这个值?

如果我打开regedit并在"真棒计算机"上进行"查找",则返回以下内容:

HKEY_CURRENT_USER'Software'Microsoft'Windows'CurrentVersion'Explorer'CLSID'{20D04FE0-3AEA-1069-A2D8-08002B30309D}

您可以使用Registry.GetValue方法在C#中检索此值。您可以使用将网络、回收站等设置为唯一名称并运行注册表搜索的相同方法来查找它们的注册表路径。

更新

如果用户没有重命名"我的电脑",并且它仍然设置为默认值,则注册表值将为null。在这种情况下,您可以查看以下注册表值来查找默认名称:

HKEY_USERS'S-1-5-21-1070759151-1144338347-1905203885-52919'Software'Microsoft'Windows'ShellNoRoam'MUICache
@C:'WINDOWS'system32'SHELL32.dll,-9216

以下是不同默认值的列表:

8503S&搜索。。。8964回收站9216我的电脑9217我的网上邻居9227我的文档9319打印机和传真

只需在注册表中搜索值@C:''WINDOWS''system32''SHELL32.dll即可找到所有值。