在Windows资源管理器中打开Windows 7库

如何从我的应用程序中打开DocumentsPicturesMusicVideos和所有其他自定义库等Windows 7库?

图书馆

我尝试打开explorer.exe Libraries\Documents但它不起作用。

找到AppData目录:

 Dim appData As String = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) 

找到文档快捷方式并在资源管理器中打开它:

 For Each file As String In Directory.GetFiles(appData, "Documents.library-ms", SearchOption.AllDirectories) Process.Start(file) Next 

请查看此内容 ,了解如何在Windows 7库上执行最常见的操作。

编辑:

该示例使用适用于Micorosoft .Net FrameworkWindows API代码包 [编辑2015-09-24:以前的链接已经死了 – 使用此SO条目找到必要的Nuget包] (感谢MarkJ指出链接应该在那里) 。

至于大卫·赫弗南的问题……

您可以使用将ShellLibrary对象分配给Microsoft.WindowsAPICodePack.Dialogs.CommonFileDialogDefaultDirectoryShellContainer属性(例如Microsoft.WindowsAPICodePack.Dialogs.CommonOpenFileDialog )。

Windows API代码包提供托管API以与Windows 7库进行交互。 我认为这可能会有所帮助。

库存储在C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Libraries ,扩展名为.library-ms因此Documents将为Documents.library-ms

Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

将MyDocuments替换为您需要的文件夹,查看枚举以查看其中的文件夹。

这与LostInLib的post中的评论有关,因为解释时间太长,无法作为评论。

您需要了解库和文档文件夹之间的区别,因为它们不是同一个东西。 C:\ Users \ USERNAME \ Documents是默认文档文件夹C:\ Users \ USERNAME \ AppData \ Roaming \ Microsoft \ Windows \ Libraries \ Documents.library-ms是名为Documents的库,该库是所有位置的索引你添加它,它不必链接到C:\ Users \ USERNAME \ Documents,例如在我的网络上我将它设置为\ server \ users \ USERNAME,所以当用户转到文档库时开始菜单将它们重定向到服务器共享。 您还可以在库中拥有多个位置,这样我就可以在我的文档中使用本地文档和服务器我的文档,所以当我访问我的文档库时,它会在一个地方显示两个文件夹,所以它们看起来像是在我的docs文件夹中。

所以假设我的文档将在这里不好,因为它不必是C:\ Users \ USERNAME \ Documents,同样的方式库也不必在这里C:\ Users \ USERNAME \ AppData \ Roaming \ Microsoft \ Windows \ Libraries \ Documents.library-ms如果你重定向你的appdata文件夹,例如在网络上你的库也可以在这里:\ server \ users \ USERNAME \ AppData \ Roaming \ Microsoft \ Windows \ Libraries \ Documents.library -女士