Libraries are the primary entry points to user data in Windows 7. They are the natural evolution from the users Known Folders, including those for documents, pictures, music, and videos. However, before jumping into the technicalities, lets try to explain what a Library in Windows 7 is. A Windows 7 Library is a user-defined collection of content that represents the users 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 users 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 havent 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.
Lets 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:
|
Lets 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. Lets 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:
- Download Documentation and samples from the Windows 7 Libraries: Developer Resources page on MSDN.
View Channel 9 videos:
- Windows 7: Find and Organize Part 1 The User Experience
- Windows 7: Empower users to find, visualize and organize their data with Libraries and the Explorer
Additional blog posts
0 Responses to "Windows 7 Libraries .NET Sample Library an Overview"
Post a Comment