Click here to Skip to main content
Licence CPOL
First Posted 17 Jan 2000
Views 65,190
Bookmarked 41 times

Property Page and Context Menu Shell Extension ATL Wizards

By Shaun Wilde | 17 Jan 2000
A wizard that allows you to create an ATL Property Page or Context Menu extensions
  • 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'.

    License

    This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

    About the Author

    Shaun Wilde

    Architect

    United Kingdom United Kingdom

    Member
    All articles are supplied as-is, as a howto on a particular task that worked for me in the past. None of the articles are supposed to be out-of-the-box freeware controls and nor should they be treated as such. Caveat emptor.
     
    Been involved in programming from the early '80s. First on my Spectrum, then an Amstrad. Did lots of Fortran while at University before becoming involved in Forth, Prolog, Pascal, Occam, C and eventually C++. Eventually started programming on the Windows platform using Borland’s OWL framework, during my postgraduate years. When I started work in '94, I learnt MFC followed by COM and ATL and never looked back. Now working exclusively in .NET, working on WinForms, ASP.NET and the Compact Framework using C# and VB.NET. Using every bit of the .NET framework I can such as WebServices and writing my own controls for my .NET Portal, and for the Compact Framework. Still lots I don't know, but the end of the universe hasn't happened yet - I wonder if I'll have time?
     
    I was a permanent employee for a number of companies until Dec 2000 before going independent after the DotCom I ws involved with went DotBomb. Now supplying consulting services to various institutions in London and surrounding regions i.e. UK Smile | :) .
     
    Now living and working in Australia, trying to be involved in the local .NET and Agile communities. Also maintaining an open source code coverage tool called PartCover whilst thinking of developing a new one.

    Sign Up to vote   Poor Excellent
    Add a reason or comment to your vote: x
    Votes of 3 or less require a comment

    Comments and Discussions

     
    You must Sign In to use this message board. (secure sign-in)
     
    Search this forum  
     FAQ
        Noise  Layout  Per page   
      Refresh
    AnswerWriting ActiveX Controls using Custom Interfaces PinmemberFred Mackie13:31 15 Jan '09  
    GeneralRe: Writing ActiveX Controls using Custom Interfaces PinmemberShaun Wilde1:09 16 Jan '09  
    QuestionDesktop menu? Pinmemberdragomir2:34 9 Apr '04  
    Generalnice PinmemberAnonymous13:11 1 Mar '02  
    GeneralObject Wizard PinmemberMaxime Labelle23:20 29 Jan '01  

    General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

    Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

    Permalink | Advertise | Privacy | Mobile
    Web02 | 2.5.120209.1 | Last Updated 18 Jan 2000
    Article Copyright 2000 by Shaun Wilde
    Everything else Copyright © CodeProject, 1999-2012
    Terms of Use
    Layout: fixed | fluid