This article was submitted .

The atlshellext.h and athshellextbase.h files contains a number of ATL classes designed to make it a breeze to implement Windows Shell Extensions.
They provide support for Name Space Extensions, Property Sheet Extensions, Context Menu handlers, PIDL structure wrappers and IExtractIcon implementations.


CShellModule Extends the ATL CComModule class and must be used instead.
Adds clipboard formats and a reference to the Shell memory allocator.
CShellMalloc Wraps the ::SHGetMalloc() interface.
CShellImageLists A small helper class to create and initialize a standard ImageList control for use in a Shell Name Space extension that displays standard folder and file icons.
CPidl Wraps the Shell PIDL structure.
Implements all the methods needed to manipulate the general PIDL structure. PIDLs are used instead of filenames by most of the Shell APIs.
CPidlList Wraps an array of PIDL structures.
Many of the IShellFolder methods take a PIDL array as input so it becomes very usefull there.
CPidlEnum Implementation of the IEnumIDList interface.
IShellFolderImpl Implementation of IShellFolder interface for a standard Name Space Extension without subfolders.
Easy to extend and provides much of the basic functionality of any Name Space Extension.
IShellViewImpl Implementation of IShellView interface, including support for a ListView control.
Wires up the Windows messaging system so you can use ATL message handlers. Has helper functions to support toolbars and merging of menus.
CShellPropertyPage Implementation of a Property Sheet Shell Extension.
CShellContextMenu Implementation of a Context Menu Extension.
Uses a simple ATL map to relay menu messages.
CExtractFileIcon Implementation of an IExtractIcon that extracts the icons from files and folders.
CShellPidlPath Wraps a ::SHGetPathFromIDList string.

Source Code Dependencies

Microsoft ATL Library

See Also

Sample Name Space extension
Sample Shell Context Menu extension

Download Files

DownloadSource Code (24 Kb)

To the top