如何从我的应用程序打开Windows 7库,如Documents
,Pictures
,Music
,Videos
和所有其他自定义库?在Windows资源管理器中打开Windows 7库
我试图打开explorer.exe Libraries\Documents
但它不工作。
如何从我的应用程序打开Windows 7库,如Documents
,Pictures
,Music
,Videos
和所有其他自定义库?在Windows资源管理器中打开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
这也看起来像它依赖于实现细节。肯定有这个API。 –
@大卫有一个适当的API和Obalix已经在他的答案中链接到它。 – MarkJ
库储存在C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Libraries
和具有扩展.library-ms
所以Documents
将Documents.library-ms
哦,硬编码路径和对实现细节的依赖。 –
我只是告诉他们为什么它不工作,它不一定是正确的编程方式,他们试图打开Libraries \ Documents时,它应该是库\ Documents.library-ms –
查看this以查看Windows 7库上最常见的操作是如何执行的。
编辑:
该示例使用Windows API Code Pack for Micorosoft .Net Framework[编辑2015年9月24日:一个链接是死的 - 使用this SO entry找到必要的NuGet包](感谢MarkJ指点该链接应该在那里)。
至于David Heffernan的问题...
您可以使用分配ShellLibrary
对象的Microsoft.WindowsAPICodePack.Dialogs.CommonFileDialog
的DefaultDirectoryShellContainer
特性(例如在Microsoft.WindowsAPICodePack.Dialogs.CommonOpenFileDialog
)。
使用[适当的API](http://archive.msdn.microsoft.com/WindowsAPICodePack)+1而不是依靠实现细节 – MarkJ
问题在于它对于我来说至少不是显而易见的,至少,在这个文件夹下打开一个资源管理器 –
@DavidHeffernan:见编辑。 – AxelEckenberger
Windows API Code Pack提供托管API与Windows 7库进行交互。我认为这可能会有所帮助。
这是关系到下LostInLib的文章的评论,因为对此的解释是太长以至于不能作为评论。
您需要了解库和文档文件夹之间的区别,因为它们不是同一件事。 C:\ Users \ USERNAME \ Documents是默认文档文件夹C:\ Users \ USERNAME \ AppData \ Roaming \ Microsoft \ Windows \ Libraries \ Documents.library-ms是名为Documents的库,该库是所有位置的索引您添加到它,它不必链接到C:\ Users \ USERNAME \ Documents,例如在我的网络上,我已将它设置为\ server \ users \ USERNAME,因此当用户转到文档库上开始菜单,他们被重定向到服务器共享。您也可以在一个库中拥有多个位置,这样我就可以将我的文档LOCAL和服务器中的文档关联起来,因此,当我访问我的文档库时,它会在一个位置显示这两个文件夹,因此它们似乎是在我的文档文件夹中。
因此,假设我的文档将在这里不是很好,因为它不一定是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-ms
请参阅http://www.codeproject.com/Articles/65535/Windows-7-Libraries-C-Quick-Reference – ken2k