The Wayback Machine - https://web.archive.org/web/20110902032525/http://www.codeguru.com:80/cpp/com-tech/

    COM-based Technologies

    ATL Version of Analog Meter Class

    Use this ATL version of "Analog Meter Class."

    COM Interface Hooking and Its Application, Chapter I

    Tutorial on designing and implementing a program interacting with MSN Messenger 6.0+.

    Automating Microsoft Office Applications

    This tutorial helps you learn the basics of automation. With this code, you can control PowerPoint from your application. You can open PowerPoint programmatically, open any presentation, go to any slide that you want, run the slideshow, and more. The same concept can be applied to any one of the Microsoft Office applications.

    Implementing XMLHTTPRequest onReadyStateChange in C++

    How to implement the IXMLHTTPRequest onreadstatechange property in C++. (Supports the asynchronous version of the send() operation of the XMLHTTPRequest object.) Developed in Visual C++ .NET, but usable elsewhere.

    Creating a blobclass for ATL

    A class to make safearrays easy. The parray member of CComVariant is used to store binary data.

    Adding Scripting Support to an Application

    Sometimes there isn't a need to implement full scripting support. Learn how to add this support the easy way using the Microsoft Script Control. (The article, project, and source code were updated.)

    COM+ Automation Using COMAdminCatalog in .NET C#

    The COM+ catalog holds all COM+ configuration data. The only way you can access the catalog is through the Component Services administrative tool or through the COMAdmin library. Learn to administer this service easily.

    Creating an Instance of a COM, a Bird's Eye View

    Create a COM CoCreate instance.

    Registry Cleaner

    Clean the Registry for COM-based projects.

    What is the Matrix? - Part 3, Streaming

    How to use stream opeators to insert data into a Matrix array utility.

    What Is the Matrix? -- Part 2

    Expanding on his previous articles, Steve explains how to use the built-in conversions to and from VARIANTs in his Matrix class.

    Writing MS WORD Addins

    Learn how to write an add-in for Microsoft Word 2000 using this detailed tutorial.

    What Is the Matrix?

    Matrix is a templatized utility class available here on CodeGuru. This article digs into showing more regarding the use of this.

    COM Interoperability

    Explore COM Interoperability, also known as COM Interop. COM Interop is the means to which COM objects can be used in a .NET application and how .NET objects can be built to appear to be COM objects.

    A Simple Example To Explain COM STA, MTA, and Auto-threaded Modules

    Check out this illustration of the functions of COM Single Thread Apartment (STA), Multithread Apartment (MTA), and ATL Auto-thread Module with a testing client-server application.

    Implementing a DropTarget in ATL

    Making a control a drop-target in ATL is not something you do very easily. (A demo project has been provided.)

    Taking the Complexity Out of Creating COM Arrays'—The Matrix Class Utility

    Arrays can be tedious, especially when passing them across COM/DCOM. This utility class aids the creation of arrays, including safe arrays and variants.

    COM Connection Points

    Get a step-by-step account on how to build a connectable object and a client that uses it.

    Getting an (ATL) ActiveX Control to Print from Office Applications

    Getting an (ATL) ActiveX control to print from Office applications.

    ATL PersistXML Implementation

    The easiest way to add XML persistence to an existing IDispatch-based ATL COM object.

    Using the ATL CImage Class

    In Kate's newest column, learn about the CImage class, which has been added to ATL and adds enhanced bitmap support. (.NET)

    ATL Under the Hood, Part 5

    Lots of people believe that ATL is used only for making COM components. In this tutorial, learn to create a fully fleshed Windows-based application using ATL.

    Simplifying the Concept of COM

    Trung provides his perspectives on the relationships among COM, C++, and C.

    How to Use Crypto API in Your ASP Projects

    How to make an ATL project that provides two cryptographic functions, how to use this component in an ASP project, and how to register the component in MTS. You also can check out a GUI client console to directly test the cryptographic functions.

    Adding ATL to MFC Project

    Adding ATL to MFC Project

    Property Pages for ActiveX Controls

    Property Pages for ActiveX Controls

    Programming the COM+ Admin Objects in Visual C++

    Learn how to programmatically adminstrate your COM+ Applications using the COM+ Admin Objects

    Using PInvoke To Call An Unmanaged DLL From Managed C++

    The COM Interop story is vital to the acceptance of .NET by today's programmers. You need access to the huge body of working tested code that is in production today, deployed as COM components. Your .NET code can call old COM code.

    Creating a Text-to-Voice Convention

    This article explains the details needed to implement voice interfaces and converts text to voice by creating clients using MFC, and here a dialog is taken and explained how to make use of components given by Microsoft.

    Creating a Windows NT Service by Using ATL

    Create a Windows NT Mail slot repository server service that is a placeholder for all the mail slot client messages sent by mail slot repository clients. Customize the Windows application log and create message DLLs.

    Handling the Structured Storage of SAFEARRAYs

    An ATL-derived class to handle the structured storage of SAFEARRAYs (CComVariantExAn).

    Automating Legacy Applications - Part 2

    This article fills in the gaps in the discussion of converting COM unaware application to COM.

    Passing C++ Object in ATL DLL

    This article explains how to pass a C++ object across a COM server using a trick of MFC and ATL.

    An Introduction to C++ Templates

    Take a look at C++ templates in this first of several articles digging into the topic.

    Automating Legacy Applications

    A COM unaware application can be converted to "automation" server with COM objects embedded into the application's process.

    Implementing Shell Desk Band and Internet Explorer Bars

    Discover how to implement an Internet Explorer Bar (a child window within the main Explorer window) and a Desk Band (a dockable window on the desktop/taskbar). Both can be used to display information or interact with the user.

    ATL Under the Hood Part 4

    A look at ATL and assembly language.

    Why ATL Uses Template Classes

    This article discusses why ATL uses template classes. This is not a discussion of ATL features, but just the principle behind the Template library.

    SOAP Client Using Visual C++

    A simple way to create a SOAP client using C++.

    Reformatting Microsoft's Wizard/Template Generated Project Files

    Configure the Wizard template header files.

    Inter Thread Communication in Apartment Threading Model of ATL Component

    Inter Thread Communication in Apartment Threading Model of ATL Component

    Drop Bar - An Internet Explorer '& Windows Explorer Toolbar

    Drop Bar is an Internet Explorer Toolbar Band implemented using ATL. It allows drag and drop of files onto its user defined buttons. Scripted actions can then be performed with the files being dropped.

    Writing a Managed Wrapper for COM Components

    What do you do with all the COM components written in C++ if you move to .NET? Create wrappers! Learn more.

    ATL Under the Hood Part 1

    Tutorial that presents a discussion of the memory layout of an ATL program and more.

    ATL Under the Hood Part 3

    Template techniques used by ATL.

    ATL Under the Hood Part 2

    Interesting stuff behind virtual functions.

    Menu in ActiveX Controls

    How to enable a menu in an ATL/MFC ActiveX control - simple but instructive.

    ATL Used for Connection Point and Toolbar Exposure

    ActiveX Control as well as container, exposing toolbar. Includes event mapping of toolbar buttons at client side.

    Viewing the IE Document Object Model

    Using WTL treeview in ATL Browser Helper Object to view the IE Document Object Model.

    Hosting Windowed ActiveX Controls in ASP Scripts (MSChart Example).

    Have you ever wondered how to display charts or any other visual ActiveX controls in a web environment without having the need for the client (the browser in this case) to download these conrols in order to display the data.