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

  • 相关阅读:
    一文梳理Ubuntu下Eigen矩阵运算库总结教程
    Ubuntu下安装与使用Eigen矩阵运算库教程
    Ubuntu下cmake教程实践从入门到会用
    collection of vim vim tutorial for beginner
    利用ipython实现多线程
    如何快速地从mongo中提取数据到numpy以及pandas中去
    Git Push 避免用户名和密码方法
    如何使用scikit—learn处理文本数据
    format格式
    fk输入地壳模型容易出错的地方
  • 原文地址:https://www.cnblogs.com/Jialiang/p/Win7ShellLibrary.html
Copyright © 2011-2022 走看看