5

我想将InitialDirectorya 的属性设置WindowsAPICodePack CommonOpenFileDialog我的计算机位置,我使用等效的CLSIDGUID或者这到底是什么,只是我想知道是否存在一种更本机/安全的方法来正确设置我的计算机位置,我试过这个但没有奏效:

.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer) 

这是我正在使用的代码:

Dim FolderPicker As New Microsoft.WindowsAPICodePack.Dialogs.CommonOpenFileDialog

With FolderPicker

    .IsFolderPicker = True
    .Title = "Folder Dialog Test"
    .InitialDirectory = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" ' My Computer
    .DefaultFileName = "C:\"

End With

更新:

我在 Windows 8 x64 上。

其他特殊文件夹(例如库和桌面)的工作方式如下:

.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) 
4

1 回答 1

4

Environment.GetFolderPath 永远不会返回 MyComputer 的路径,因为它实际上没有路径。

MSDN 文档

MyComputer 常量总是产生空字符串 (""),因为没有为 My Computer 文件夹定义路径。

这意味着您的解决方案是最好的(并且可能是没有太多人知道​​的)。为了将来感兴趣,这里是可用 CLSID 列表的链接。

于 2014-01-01T19:28:04.277 回答