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示例。

  • 相关阅读:
    “C语言” 读书札记(七)之[自白]
    代码审查就是在排大便——你懂的!
    page事件顺序(.net2.0)
    ASP.NET Custom Error Pages (asp.net自定义错误页)
    26字母中文第一字母排序
    16.448.10
    江西师范大学失物招领网(beta1)版告一段落
    处理HTML代码的若干函数
    Understanding the Session Object in ASP.NET 2.0
    获得扩展名[.net2.0]
  • 原文地址:https://www.cnblogs.com/Jialiang/p/Win7ShellLibrary.html
Copyright © 2011-2022 走看看