以下注册表项包含许多系统默认文件夹位置。转换“用户外壳文件夹”注册表值
HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的Windows \ CurrentVersion \ Explorer中\用户文件夹壳
为所有用户的桌面,这是在那里发现的路径值,如下:
XP or earlier : [%ALLUSERSPROFILE%\Desktop]
Vista or later: [%PUBLIC%\Desktop]
尽管所有用户桌面的实际路径,分别如下:
XP or earlier : "C:\Documents and Settings\All Users\Desktop"
Vista or later: "C:\Users\Public\Desktop"
现在,如果你使用复制和粘贴在Windows上面的注册表值资源管理器和命中输入它会带你到实际的文件夹。例如,如果将[%PUBLIC%\ Desktop]粘贴到Vista的Windows资源管理器中,它会将您带到[“C:\ Users \ Public \ Desktop”]。
我的问题是这样的;如何从C#程序中重现此行为?更具体地说,如果我用一个C#程序检索注册表值[%PUBLIC%\ Desktop],我可以轻松地做到这一点,我该如何将它转换为[“C:\ Users \ Public \ Desktop”]?显然,我不是在寻找字符串替换,我需要做Windows的工作。