当前位置 : 主页 > 编程语言 > c语言 >

.net – 在OpenFileDialog上设置“我的电脑”位置(WindowsAPICodePack)

来源:互联网 收集:自由互联 发布时间:2021-06-24
我想将 WindowsAPICodePack CommonOpenFileDialog的InitialDirectory属性设置为我的计算机位置,我是使用等效的CLSID或GUID做的,或者到底是什么,只是我想知道是否存在更原生/安全的方式来正确设置我的
我想将 WindowsAPICodePack CommonOpenFileDialog的InitialDirectory属性设置为我的计算机位置,我是使用等效的CLSID或GUID做的,或者到底是什么,只是我想知道是否存在更原生/安全的方式来正确设置我的电脑位置,我试过这个,但没有奏效:

.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

UPDATE:

我在Windows 8 x64上.

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

.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
Environment.GetFolderPath永远不会返回MyComputer的路径,因为它实际上没有路径.

从MSDN documentation:

The MyComputer constant always yields the empty string (“”) because no
path is defined for the My Computer folder.

这意味着您的解决方案是最好的(并且可能是没有太多人知道​​的解决方案).为了将来的兴趣,here is a link到可用的CLSID列表.

网友评论