Windows 7 Libraries .NET Sample Library – an Overview

    Windows 7 Libraries .NET Sample Library – an Overview


    Posted: 06 Apr 2009
    Libraries are the primary entry points to user data in Windows 7. They are the natural evolution from the user’s Known Folders, including those for documents, pictures, music, and videos. However, before jumping into the technicalities, let’s try to explain what a Library in Windows 7 is. A Windows 7 Library is a user-defined collection of content that represents the user’s data independently from the folder hierarchy. Users can unify and flatten the folder hierarchy by aggregating any number of physical locations (on their local machine or on remote machines) into a single view – which is the library. By including folders in Libraries, users tell Windows where their important data are located. In Windows 7 therefore, most applications should use a Library instead of the user’s Known Folders. It is important to note that as Libraries are an integral part of the Windows Shell, they play a greater role in the Windows 7 Explorer user experience. Accordingly, the importance and integration points of Libraries span multiple parts of the Windows Shell, including the Common File Dialog, Folder Picker, and the Windows Explorer Browser control (not Internet Explorer!).

    This is the first post in a series of Library posts. It provides an overview of both the Windows 7 Library functionality and the Libraries Sample .NET Interop Library, which is a managed code wrapper and part of the Windows 7 .NET Interop Sample Libraries. The second post is all about Understanding Windows 7 Libraries. In future posts, we will dive into the internal implementation of Libraries as well as how to use the Libraries programming model and APIs.

    If you are unfamiliar with and haven’t seen any demonstrations of the updated Windows 7 Shell and Libraries in action, I suggest you watch the Windows 7: Find and Organize Part 1 webcast on Channel 9. This will give you some context for the technical material we cover here.

    Let’s review the Windows 7 Libraries .NET Interop Sample Library architecture and note the important classes. Please remember that the Libraries sample is part of the Taskbar and Libraries assembly. Since both Taskbar and the Libraries share many common integration points with the Windows Shell, it makes sense to have them grouped together and use the same Shell structures and methods.

    Opening the solution reveals the following structure:


    • The Demos folder containing several demo projects that show the various aspects of both the Taskbar and Libraries wrappers as you can see from the image; we will focus on the Libraries
    • The Wrappers folder containing the Windows7.DesktopIntegration assembly, which is the main manager API for both the Taskbar and Libraries
    • A modified version of the Vista Bridge Sample Library - We based our code on the 1.4 version. And as mentioned before, the Windows Vista bridge Project will be superseded by the new Windows API Code Pack for the .NET Library
    Let’s take a quick look at the main class that enables developers to take advantage of the new Library functionality. The ShellLibrary.cs file contains the ShellLibrary class, which is the main entry point for managed code developers. Using the ShellLibrary, developers can programmatically perform all Library operations, including:


    • Create new library
    • Load existing library
    • Delete library
    • Add / remove folders from the library
    • Set the default save location of the library
    • Set the folder type
    • Show the library management dialog box
    • Set the library icon
    • Pin and unpin the library from the left navigation pan in Windows Explorer
     

    The demos in the Libraries folder highlight all the above-mentioned Library functionality. Let’s review them:


    • The LibraryManagerDemo is a Windows Presentation Foundation (WPF) application that showcases all the functionality offered by libraries. It is a very simple application that offers developers a great


     


    • The SLUtil (not Silverlight) is a command line interface that allows users and developers to manage their Libraries. Again, it offers all the above-mentioned Library functionality.


     

    Here are some additional resources for programming Windows 7 Libraries:


    View Channel 9 videos:


    Additional blog posts


     

    Alon Fliess contributed to this post


    More...
    z3r010's Avatar Posted By: z3r010
    06 Apr 2009



  1. Posts : 1,003
    Win7 Ultimate x64 on Desktop / Win7 Ultimate x86 on laptop / Win7 x86 Starter on Netbook
       #1

    Thanks, nice to have some more control. :)

    Looking at command line controls, do you think the DOS type commands will ever disappear?
      My Computer


  2. Posts : 1,519
    El Capitan / Windows 10
       #2

    Romulinx2 said:
    Thanks, nice to have some more control. :)

    Looking at command line controls, do you think the DOS type commands will ever disappear?
    Not as long as there are sysadmins that need to script stuff!
      My Computer


  3. Posts : 3,141
    Vista Ult 64 bit Seven Ult RTM x64
       #3

    Libraries are something I really like about W7. A real time saver for me.
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 23:23.
Find Us