Environment.SpecialFolder.MyDocuments有效但是SpecialFolder.MyComputer不起作用?

gus*_*gus 2 c# windows special-folders visual-studio winforms

我正在使用VS2013 Express for Desktop并使用Windows窗体.

我正在关注这个MSDN演练"使用Designer使用ListView和TreeView控件创建资源管理器样式界面".所以我试图让树视图从"MyComputer"级别开始,以便所有驱动器号都可供用户选择.

它适用于MyDocuments,如下所示:

DirectoryInfo info = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments));
Run Code Online (Sandbox Code Playgroud)

但是当我从自动完成中选择MyComputer时,它不起作用:

DirectoryInfo info = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyComputer));
Run Code Online (Sandbox Code Playgroud)

我明白了:

mscorlib.dll中出现未处理的"System.ArgumentException"类型的异常附加信息:该路径不是合法格式.

这是令人惊讶的,因为"MyComputer"在自动完成中可用,但不像其他特殊文件夹那样工作.

谢谢.

更新: 谢谢ByteBlast和CodyGray.

在这里询问我应该做什么是不恰当的?

Use*_*678 6

文件指出:

MyComputer常量始终生成空字符串(""),因为没有为"我的电脑"文件夹定义路径.

DirectoryInfo构造函数提供空字符串是导致该字符串的原因ArgumentException.

在MSDN的其他地方,您可以找到有关返回空字符串的原因的说明:

如果操作系统未创建文件夹,现有文件夹已删除,或文件夹是虚拟目录(如"我的电脑"),则文件夹将不会物理存在,该目录与物理路径不对应.