zoukankan      html  css  js  c++  java
  • Windows 7 新特性 Shell Library 编程接口介绍


    下文所用到的示例代码来源于
    微软一站式开发技术框架解决方案。你可以通过http://cfx.codeplex.com/Release/ProjectReleases.aspx下载到Windows 7 Shell Library相关的sample。其中包含C++、C#、VB.NET对Shell Library操作的示例代码:CppWin7ShellLibrary, C#Win7ShellLibrary, VBWin7ShellLibrary。

    为了帮助用户更加有效地对硬盘上的文件进行管理,Windows 7中引入了新的文件管理方式:库(Library)。库自然演化自以往操作系统中My Documents 文件夹这个概念。有了库,我们就可以将多个相关的文件夹组织到同一个库下,从而更快更便捷地管理和搜索数据。

    image

    创建Windows Shell Library

    Windows 7提供了SHCreateLibrary API用来创建一个Shell Library:

    C++ CreateShellLibrary
    /////////////////////////////////////////////////////////////////////
    // Create a shell library.
    // 

    using (ShellLibrary library = new ShellLibrary(libraryName, true))
    {
    }


    管理Windows Shell Library

    你可以通过调用SHShowManageLibraryUI API显示出Windows 标准的Shell Library管理对话框。值得注意的是,在调用SHShowManageLibraryUI前请确保 shell library没有被以可写方式打开。否则在SHShowManageLibraryUI中对shell library的修改将无法被保存。

    image

    C++ ShowManageLibraryUI


    C# ShowManageLibraryUI


    向Shell Library中添加文件夹
    SHAddFolderPathToLibrary可用来向指定的Shell Library中添加文件夹。

    C++ AddFolderToShellLibrary
    C# AddFolderToShellLibrary


    枚举Shell Library中的文件夹
    IShellLibrary::GetFolders可用来得到Shell Library中的文件夹。

    C++ ListFoldersInShellLibrary


    C# ListFoldersInShellLibrary

     
    删除一个Shell Library

    C++ DeleteShellLibrary


    C# DeleteShellLibrary


    更多关于Windows 7 Shell Library的操作请参见CppWin7ShellLibrary, CSWin7ShellLibrary和VBWin7ShellLibrary示例。

  • 相关阅读:
    (原)试问那些不劳而获的人?
    (原)资源互换原则
    (原)关于与人沟通时的几个中文语法
    osgviewer读取dxf文件,拣选高亮功能小结
    qt的OSG视图中拣选对象事件消息
    1)OSG与QT单文档视图的结合
    三维渲染引擎设计与实践(八)
    三维渲染引擎设计与实践(七)
    三维渲染引擎设计与实践(六)
    三维渲染引擎设计与实践(五)
  • 原文地址:https://www.cnblogs.com/Jialiang/p/Win7ShellLibrary.html
Copyright © 2011-2022 走看看