Download source files - 37 Kb
Download DLL and template files - 40 Kb
These custom wizards allow you to create Property Page and
Context Menu shell extensions. The objects that are created have
all the interfaces that are necessary for either the Property
Page or Context Menu shell extensions. Some default functionality
has been added however it is recommended that the developer
familiarises themselves with articles indicated in the references
before editing the default auto generated code.
Installation
To install the Shell Extension Wizards you need to download
shellext_dll.zip and extract the files to '???\Program Files\Microsoft
Visual Studio\Common\MSDev98\Template\ATL'. You then need to
register atlshlex.dll using regsvr32.exe. The Shell Extension
components should then be available from ATL Object Wizard.
Usage
The shell extension components should now be available from
the ATL Object Wizard.
These shell extension components have been grouped together as
they both use the same page in the object creation sheet, see
below. This extra page was created using the ATL Object Wizard
Property Page component which is also available from this site.
This page allows you to choose whether the shell extension
object applies to folder or files and if the shell extension
object will be available if multiple files/folders are selected.
There is also an option as to if the shell extension object will
apply to all files (*) or to a particular file type. Extra file
types will need to be added in by the developer.
References
- Information on the
IShellExt
, IShellPropSheetExt
and
IContextMenu interfaces is available in the MSDN.
- Q223439 - HOWTO: Using Class Wrappers to Access Windows Common
Controls in ATL
Unicode
Even though I have tested the code in unicode format I decided
it was needless as I wanted the wizards to run under VC6
regardless of whether they were running under NT or Win9x.
STL
Because I have used the STL to give me extra functionality
such as maps and lists etc. this code does produce known warnings
when compiled under 'Warning Level 4'.