MyComputer作为初始目录

7

是否有一种方法可以让打开文件对话框使用“我的电脑”而不是特定路径。在这个例子中,W:驱动器是初始目录。

Dim dlgOpen As New Microsoft.Win32.OpenFileDialog

dlgOpen.Filter = "Bases de données Access(*.mdb)|*.mdb"
dlgOpen.InitialDirectory = "W:"

我猜肯定有一个值或函数可以返回“我的电脑”路径,但是它是什么呢?

谢谢

2个回答

26

我的电脑是一个虚拟文件夹,它有一个预定义的GUID。以下是获取我的电脑的方法:

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

如果你想了解特殊文件夹的相关信息

http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx

但需要注意:

MyComputer常量始终返回空字符串(""),因为没有定义“我的电脑”文件夹的路径。


1
哇...把像“我的电脑”这样的东西改成更加清晰易懂的东西,真是太棒了 :) - David Brunelle
1
或者您可以尝试使用shell快捷方式d.InitialDirectory = "shell:MyComputerFolder"; - CommonSense

4

处理这个问题的好方法是使用.NET环境库中的“特殊文件夹”。

例如,“我的文档”(个人)将使用以下内容:

Environment.GetFolderPath(Environment.SpecialFolder.Personal)

1
我尝试了这个,但似乎不太好使: dlgOpen.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer) - David Brunelle
Svetlozar Angelov 是正确的,看起来 "我的电脑" 实际上是未定义的... - chills42
2
猜想我的电脑不工作,因为我用“个人”替换“MyComputer”时得到了“”。我将使用“桌面”代替。谢谢。 - David Brunelle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接