Shell SDK Samples

This section describes the individual Shell samples included in the Windows Software Development Kit (SDK) and, in most cases, downloadable from the MSDN Code Gallery.

  • Windows SDK Locations
  • MSDN Code Gallery Locations
  • Shell Samples

Windows SDK Locations

When you download and install the Windows 7 SDK, samples are included in that installation. Use of the default SDK installation path results in the samples being placed under C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\. Using the default installation path, the Shell samples listed below are found in the following folders:

  • C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\WinUI\Shell\AppPlatform
  • C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\WinUI\Shell\AppShellIntegration
  • C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\WinUI\Shell\LegacySamples
  • C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\WinUI\Shell\ShellExtensibility

Shell samples can also be individually downloaded through the MSDN Code Gallery. Most Shell samples listed below can be found on the following pages:

Shell Samples

Topic Contents
Aero Wizards Sample Demonstrates how to migrate Wizard 97 software to the Aero Wizard.
Application User Model ID (AppUserModelID) Window Property Sample Demonstrates how to control the taskbar grouping behavior of an application's windows through the System.AppUserModel.ID property.
Automatic Jump List Sample Demonstrates how to add items to the automatic Jump List for an application, including switching between the display of the Frequent and Recent categories.
Change Notify Watcher Sample Demonstrates how to listen to Shell change notifications on a folder or item in the Windows Explorer namespace.
Common File Dialog Modes Sample Demonstrates how to use the Common File Dialog in different modes to pick files, containers (folders) or both files and folders (basket mode) without dismissing the dialog.
Common File Dialog Sample Demonstrates how to create a custom file open/save dialog by using different Common File Dialog APIs.
CreateProcess Verb Sample Demonstrates how to implement a Shell verb using the CreateProcess method.
Custom Jump List Sample Demonstrates how to create a custom Jump List for an application, including adding a custom category and tasks.
Drag-and-Drop Visuals Sample Demonstrates how to use the Shell drag-and-drop services to get the presentation features that Shell drag-and-drop supports for both targets and sources.
DropTarget Verb Sample Demonstrates how to implement a Shell verb using the DropTarget method.
Execute Command Verb Sample Demonstrates how to implement a Shell verb using the ExecuteCommand method.
Execute In Explorer Sample Demonstrates how to call the ShellExecute function from the Windows Explorer process.
Explorer Browser Custom Contents Sample Demonstrates how to implement a custom Explorer Browser contol for your application.
Explorer Browser Search Sample Demonstrates how to use the Windows Explorer Browser control to embed Windows Explorer in an application and how to implement search functionality with an in-memory search folder.
Explorer Command Verb Sample Demonstrates how to implement a Shell verb using the ExplorerCommand and ExplorerCommandState methods.
Explorer Data Provider Sample Demonstrates how to implement a Shell namespace extension, including context menu behavior and custom tasks in the browser.
File Is In Use Sample Demonstrates how to customize the File In Use dialog to display additional information and options for files that are currently opened in the application.
File Operation Progress Sink Demonstrates how to use the IFileOperationProgressSink interface methods for monitoring the details of IFileOperation interface actions.
File Operations Sample Demonstrates how to copy, move, delete, and rename file system objects.
HomeGroup Sample Demonstrates how to determine HomeGroup membership status, enumerate top-level items in the HomeGroup Shell folder, and launch the HomeGroup Sharing Wizard.
Known Folders Sample Demonstrates how to define, register, enumerate and find the path for all known folders on the current system.
NameSpace Tree Control Sample Demonstrates how to implement a custom namespace tree control for an application.
NonDefaultDropMenuVerb Sample Demonstrates how to extend the drag-and-drop shortcut menu (sometimes referred to as a context menu).
NotificationIcon Sample Demonstrates how to use the Shell_NotifyIcon and Shell_NotifyIconGetRect APIs to display a notification icon.
Parsing With Parameters Sample Demonstrates how to take advantage of Shell helpers that use the parsing name to interact with items through the Shell programming model.
Player Verb Sample Demonstrates how to create a verb that operates on Shell items and containers which plays items or adds items to a queue.
Playlist Creator Sample Demonstrates how to create a verb that operates on a selected Shell item or container to create a playlist.
Recipe Preview Handler Sample Demonstrates how to write a handler used to display a file preview inside the Windows Explorer preview pane or other preview handler hosts.
Recipe Thumbnail Provider Sample Demonstrates how to create a thumbnail handler by file type and extends Windows Explorer.
Search Folder Sample Demonstrates how to create a search with query constraints using the Shell programming model.
Shell Library Backup Sample Demonstrates how to enumerate libraries as containers.
Shell Library Command Line Sample Demonstrates how to use the IShellLibrary interface to create a command-line application that provides programmatic access for inspecting and manipulating libraries and library files.
Shell Storage Sample Demonstrates how to create files and folders in Shell containers. Also shows how to save to the Shell item that is returned from the file dialog.
Sync and Share Verbs Demonstrates how to register a verb that extends the "Sync" and "Share" verbs in the Windows Explorer Command Bar.
TabThumbnails Sample Demonstrates how an application can expose multiple switch targets (as for tabs) on a taskband and how to provide their thumbnails.
Taskbar Peripheral Status Sample Demonstrates taskbar icon overlays and progress bars.
Taskbar Thumbnail Toolbar Sample Demonstrates a thumbnail toolbar, an active toolbar control embedded in a window's thumbnail preview, used to provide access to a window's key commands without making the user restore or activate the application's window.
Using Image Factory Sample Demonstrates how to use the IShellItemImageFactory interface to get the best possible image for an item.
Using Thumbnail Providers Sample Demonstrates how to use the IThumbnailProvider interface to extract the thumbnail for an item from the Windows thumbnail cache system.