MyPage is a personalized page based on your interests.The page is customized to help you to find content that matters you the most.

I'm not curious

Building Context-Menu Shell Extensions in C++

Course Summary

This course will show you how to build context-menu shell extensions for Windows, using the C++ programming language. COM is not a prerequisite, since basic COM elements for shell extensions programming will be introduced in the first module. In this cour

  • +

    Course Syllabus

    ● Introduction
        ◦ Introduction
        ◦ Structure of This Course
        ◦ Introduction to COM
        ◦ Code Reuse at Source Level vs. Binary Level
        ◦ Code Reuse in COM
        ◦ In-Proc Extensions
        ◦ Why C++?
        ◦ COM Interfaces
        ◦ COM Classes
        ◦ COM Servers
        ◦ GUID
        ◦ HRESULT
        ◦ IUnknown COM Interface
        ◦ COM Interfaces in C++
        ◦ IUnknown Methods Samples in C++
        ◦ COM Registration
        ◦ Debugging Tip: DesktopProcess
        ◦ Summary
    ● Introduction to IExecuteCommand in Pure C++
        ◦ Introduction
        ◦ Architecture
        ◦ Context-Menu Shell Extension Object
        ◦ COM Infrastructure
        ◦ Demo: Creating Basic DLL Project Structure
        ◦ Demo: Reference Counting
        ◦ Demo: The Class Factory Object
        ◦ Demo: DllGetClassObject and DllCanUnloadNow
        ◦ Demo: The Context-Menu Shell Extension Main Object
        ◦ Demo: Building, Registering and Testing the Shell Extension
        ◦ Summary
    ● IExecuteCommand Implemented Using C++ and ATL
        ◦ Introduction
        ◦ Introduction to ATL and ATL Advantages
        ◦ ATL Smart Pointers
        ◦ C++ Exceptions and COM
        ◦ ATL COM Interface Maps
        ◦ Context-menu Shell Extensions using IExecuteCommand Technique
        ◦ Smart Pointers vs. Raw Pointers in user's Selection Enumeration
        ◦ Shell Extension Registration
        ◦ Demo: Creating an ATL DLL Project with Visual Studio
        ◦ Demo: Creating The Basics of The Shell Extension COM Object
        ◦ Demo: Building Shell Extension Code on top of Wizard's Code
        ◦ Demo: Testing The Context-menu Shell Extension
        ◦ Summary
    ● Introduction to IContextMenu using C++ and ATL
        ◦ Introduction
        ◦ Demo: Creating Basic Code with Visual Studio Wizards
        ◦ Demo: Initial Editing, and Removing of Type Library
        ◦ IShellExtInit: The Initialization Interface
        ◦ Getting file names from IDataObject
        ◦ Demo: Implementing IShellExtInit
        ◦ IContextMenu: The shell Extension's main Interface
        ◦ Demo: Implementing IContextMenu
        ◦ Shell Extension Registration
        ◦ Demo: Building and Testing The shell Extension
        ◦ Owner-drawing
        ◦ Summary


Course Fee:
USD 29

Course Type:


Course Status:



1 - 4 hours / week

Attended this course?

Back to Top

Awards & Accolades for MyTechLogy
Winner of
Top 100 Asia
Finalist at SiTF Awards 2014 under the category Best Social & Community Product
Finalist at HR Vendor of the Year 2015 Awards under the category Best Learning Management System
Finalist at HR Vendor of the Year 2015 Awards under the category Best Talent Management Software
Hidden Image Url

Back to Top