"我的电脑"的路径是什么? Windows上的文件夹?

时间:2016-03-17 15:50:20

标签: windows winforms

我正在使用Visual Studio IDE开发C ++ windowsform项目   我使用CFileDialog类要求用户选择要打开的文件。  它显示常用的打开文件选择窗口。 我希望显示的默认文件夹与单击"我的电脑"时显示的默认文件夹相同,其中显示硬盘驱动器,USB驱动器,DVD驱动器等。

我可以通过将其路径写入lpstrInitialDir成员来定义默认文件夹,但我找不到此类文件夹的路径。我试过" \"," explorer.exe","",他们都没有给我预期的结果。 该应用程序将由多个用户使用,因此解决方案不得在路径中包含用户名。即" C:\ Documents and Settings [user] \ Desktop \ My Computer"可能有效,但对我的申请不正确。

有谁知道定义" root"窗口的路径(即C:\的根)?

我搜索了SO和互联网,但也许我使用了错误的关键字,因为我无法找到合适的内容。

3 个答案:

答案 0 :(得分:12)

My Computer是一个虚拟shell文件夹,与任何文件系统目录都不对应。没有与该位置对应的文件系统路径。

幸运的是,文件对话框确实说“shellese”,因此您可以使用shell文件夹的CLSID(不要与GUID KNOWNFOLDERID或CSIDL混淆)。 C#Winforms中的示例,但实际上,唯一重要的部分是::CLSID):

var ofd = new OpenFileDialog();
ofd.InitialDirectory = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}";
ofd.ShowDialog();

免责声明:我找不到虚拟文件夹CLSID的任何相关文档,或“文件”对话框的此行为。因此,这很可能不是契约性的,并且可能会在未来的Windows版本中发生变化。

答案 1 :(得分:1)

路径应为:C:\ Users \ UserName \ Desktop \ Computer.lnk

答案 2 :(得分:1)

在资源管理器中,在搜索栏中复制地址

This PC

然后选择文本

This PC

然后粘贴。通常我们会得到

Ce PC“ :: {CLSID}”

然后复制

:: {CLSID}

并将其粘贴到我们想要的任何地方。