The Wayback Machine - https://web.archive.org/web/20110921104803/http://www.codeguru.com:80/Cpp/COM-Tech/shell/

    Shell Programming

    C++ programming: How does Shell Context Menu Work ? - Part 2

    Explore the details of how a Shell Explorer Context Menu works and learn the role played by the registry database.

    Task Dialogs in Vista

    If you have been using Vista, you would have noticed that MessageBoxes are passé. These have been replaced by the new Task Dialogs. Task dialogs are intended to make the experience more interactive and goal-oriented. Take a tour of the Task Dialog API.

    How to Implement a Mouse Hover/Leave Message on the System Tray

    Ever wanted to get a mouse hover/leave message from the system tray? The Windows shell doesn't support that. This class is a solution that works.

    [Updated] Simple Shell Extension to Manipulate File Summary Information

    A very basic shell extention to add and reterive the comments of the files.

    Implementing Reusable Drag '& Drop Classes

    A good starting point if you're looking to add drag and drop support to your app. The demo project has sample code for various clipboard formats.

    Imitating Windows Explorer

    Simulating the Windows explorer listview of files.

    Cascading and Bitmapped Context Menus

    Dino Esposito demonstrates a context menu shell extension which mimics the SendTo menu. It exposes a list of frequently visited folders each with its own icon and also pops up clicking on the folder's background.

    Logging the Shell Activity

    Dino Esposito illustrates why and how you can hook the Windows shell in order to log user activity.

    Custom Folders with Active Desktop Templates

    Dino Esposito illustrates that modifying the way in which Explorer displays the content of a folder is as easy as modifying the content of an HTT (HyperText Template) file. In fact, it's only minimally more work than changing a plain old HTML page

    Custom Items For the Folder Options Dialog Box

    Have you ever wanted to persist your shell extension settings? Dino Esposito shows an undocumented way to modify the Explorer Folder Options dialog to make your shell extension settings persistent.

    Iconizer: An Example of a Systemwide Hook

    Utility that implements a hook to provide an extra caption button next to the minimize/maximize/close buttons on all Windows applications

    Creating IE-Style Shortcut on the Desktop

    Shows how to programmatically manipulate the registry to create shortcuts that look and behave like IE shortcut links

    Minimize-to-SysTray for Dialog-Based Applications

    Illustrates how to have your dialog based applications minimize to the system tray instead of the task bar

    Tuning SHGetFileInfo for Optimum Performance

    Tuning SHGetFileInfo for Optimum Performance

    Animated Tray Icon Class

    Animated Tray Icon Class

    Command Line Parameters Context Menu Extension

    Command Line Parameters Context Menu Extension

    Screen Saver Tray Icon Sample

    Screen Saver Tray Icon Sample

    Adding Icons to the System Tray

    Adding Icons to the System Tray

    Copy Path Shell Extension

    Copy Path Shell Extension

    Shell Extension to Copy Full Filename Path(s)

    Very useful extension that copies the selected file path(s) to the clipboard

    DLL Registering/Unregistering using Shell Extensions

    DLL Registering/Unregistering using Shell Extensions

    Shell Extension Context Menu Sample

    Shell Extension Context Menu Sample

    Using the Shell Namespace To Get Network Computers, Printers and Recycle Bin Items

    Using the Shell Namespace To Get Network Computers, Printers and Recycle Bin Items

    Making Shell Popup ToolTips for File Items

    Making Shell Popup ToolTips for File Items