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

    COM-based Technologies

    Querying Bing Using the New Windows 7 Web Services C++ API

    Learn how to build client applications that use SOAP based web services.

    C++ programming: How does Shell Context Menu Work ? - Part 2

    Explore the details of how a Shell Explorer Context Menu works and learn the role played by the registry database.

    How to Write a COM+ Component

    Discover how to write a component that can be used in a COM+ enviroment.

    Improving Application Quality with Windows Error Reporting

    Leveraging Windows Error Reporting (WER) to use Microsoft's existing infrastructure for providing end users with patches and workarounds, a critical aspect of the application life-cycle management.

    Displaying the Input Language indicator in a WTL dialog

    How to display the Input Language indicator (as seen on the Language Bar) in a dialog (such as seen in the Windows Logon or Change Password dialogs).

    Use STA COM Objects Asynchronously

    Learn how to use STA COM objects asynchronously without blocking your main thread.

    A Multidevice ASIO Output Plugin for WinAMP

    Explore a C++ replacement of the official ASIO SDK that supports multiple ASIO devices put to the test in a tiny WinAMP output DLL.

    Framework Source Code Stepping

    Despite the best documentation, stepping into the actual source code of third-party libraries can be the fastest way to diagnose a difficult bug or determine the state that a component needs to be in before a certain operation can be completed. With a little set-up magic, developers can step into libraries quickly and easily.

    Professional System Library: Introduction

    Discover a simplified and unified way to access most frequently used information about Process, System, and Environment.

    Customize an IE Context Menu to Add CodeGuru Favorites

    Learn how to customize the internet explorer context menu to add Codeguru Favorites items.

    Better Visual C++ Debugging

    Effective use of the Visual C++ debugger is one of the easiest ways to increase developer productivity. Program database (PDB) files are one of the key elements in effectively debugging an application, and it is easy to set up Visual Studio to use debug symbols for binary files produced by other developers, including those at Microsoft.

    Visual C++ 2008 Feature Pack: MFC Enhancements

    Hot on the heels of the significant MFC updates that were delivered with the release of Visual Studio 2008, the Visual C++ 2008 Feature Pack significantly boosts the ability of MFC to deliver modern-looking user interfaces that will be familiar to Windows and Office users. Look at these new controls and see how MFC developers can significantly improve their application's look and feel.

    A Complete Scriptable ActiveX Web Control Tutorial Using ATL

    Learn to use a scriptable ActiveX web control that uses ATL.

    Windows Mobile Development with MFC

    Drill deeper into Mobile Development in C++ and go through the development and debugging of a Windows Mobile 6 application with a focus on MFC.

    Microsoft Word Automation Class

    Discover a class to start Microsoft Word and access Word functions from a C++ application by using OLE and IDispatch interfaces. Two classes are provided: the Word automation class CWordAutomation and the wrapper class CEzWordAutomation.

    JavaScript DOM Ranges

    Nicholas Zakas explores the powerful DOM Range tool and how a range can be used to select a section of a web document regardless of node boundaries.

    Visual FoxPro: Its Day Has Finally Come

    If you thought the end of Visual FoxPro had already happened, then you are wrong. Its end is now.

    Task Dialogs in Vista

    If you have been using Vista, you would have noticed that MessageBoxes are passé. These have been replaced by the new Task Dialogs. Task dialogs are intended to make the experience more interactive and goal-oriented. Take a tour of the Task Dialog API.

    A Big Integer Package for Use in Visual Basic Written in Visual C++

    A 'How To' for creating a COM Big Integer Library that uses Visual C++ ATL Wizard and Wei Dai's Crypto++ Library.

    Windows Template Library: Still Alive and Kicking

    Find out what's become of the Windows Template Library (WTL) since Microsoft released it as an open-source project in 2004. Examine the recent WTL releases and see where WTL fits in the C++ programmer's toolkit.

    Easy Multithreading in ATL Windows Applications

    Add one header file to your *.vcproj, insert a few lines of code into your class header, and you'll never again worry about the asynchronous routines in your ATL GUI application.

    [Debugging] - Symbols

    Learn how to set up and use the Microsoft Symbol Server to help you debug applications under Windows.

    Transparent Flash Control in Plain C++

    Learn about OLE container implementation to host a Transparent Flash Player Control using plain C++. No ATL, MFC, or other libraries are used.

    Trace RPC Calls and Notify the COM+ Events to Your Program

    Learn about a simple way to understand and implement the COM+ Admin and Instrumentation interfaces.

    Web Site Blocker that Uses Browser Helper Objects (BHO)

    Learn how a BHO (Browser Helper Object) could be used to block a particular Web site.

    A Kick-Start to SAX with C++, Part 3

    Learn how to implement some basic error handling and perform cleanup operations.

    A Kick-Start to SAX with C++, Part 2

    Learn how to work around the restriction of using a single handler type at a time.

    A Pure C++ Implementation of a COM Smart Pointer

    CComPtr wraps any interface pointer and will call AddRef() and Release() properly. You don't need to worry about controlling the lifetime of your interface pointer.

    Enhance Your Dynamic Memory Allocation with an Undocumented MFC Class

    Learn to employ a small utility class that allows you to modify how objects for a given class are dynamically allocated.

    Secure C++: Checked Iterators for Safer STL Coding

    The security issues with Standard C++ aren't as severe as those of C and the CRT, but a few exploits are possible if you misuse STL and iterators.

    Interprocess Communication Using the Running Object Table (ROT)

    Discover a simple technique to share data across multiple processes running on the same machine using the Running Object Table.

    Remote Desktop View Lite

    Learn about a native C++, MFC, ATL/COM system to remote view a desktop.

    QPerformanceTimer

    "Profile" a block of C++ code with just one include file and two variable definitions.

    Owner-Draw Menus with .NET and Managed C++

    Learn how to use .NET and Managed C++ to program owner-draw menu items with the fonts and point sizes you want.

    Application's Version Updating from a FTP Resource

    Use the IOUpdate.dll library to automatically update your application from the Internet.

    Managed C++: Determining User Security Roles

    For those who don't have the desire or time to become experts on Windows security, follow this demonstration of using various .NET classes to test for a user's inclusion in one or more security groups.

    Using Two Common 'Compression' Techniques

    Here are two Microsoft (tm) Visual C++ projects. One project is an ATLCOM project with two objects: a Huffman compression object and a run length encoding object. One project is an MFC dialog that utilizes the library to perform file-based compression and decompression.

    Extensible OLE Property Pages in .NET

    Implementing and utilizing extensible property sheets in your .NET classes has never been easier.

    How to Implement a Mouse Hover/Leave Message on the System Tray

    Ever wanted to get a mouse hover/leave message from the system tray? The Windows shell doesn't support that. This class is a solution that works.

    Creating Resourceless Dialogs

    Learn how to create resourceless dialogs using the Trilobyte-Solutions.nl Resourceless Dialog Toolkit.

    Wrapping MFC Objects For Use With .NET Remoting

    One drawback to using remoting in a mixed—MFC/.NET—environment is that MFC objects cannot be remoted. Explore this technique for overcoming this limitation.

    Simple Shell Extension to Manipulate File Summary Information

    A very basic shell extention to add and reterive the comments of the files.

    Serial Communications with ActiveX

    Discover how to make serial communication (RS232) with MSComm.

    C++ Tip: Serializing .NET Objects with Managed C++

    In this installment of the .NET Tips & Techniques column, learn how to serialize entire objects—as well as selected members—to and from disk using Managed C++ Extensions.

    .NET Remoting with Events in Visual C++

    Learn how to add a button to a server application (a WinForm app with a big Listen button) and have the handler for the click event raise a custom event.

    An Overview of Microsoft's Whitehorse

    Having enterprise development problems? Discover Whitehorse, a set of modeling tools included in the next release of Visual Studio .NET (code-named Whidbey).

    Auditing Oracle Data

    Learn how to create an audit trail for application data on an Oracle database (Oracle 8 and up). It includes two scripts that can be used to quickly get started.

    Using a Hot Key in an ActiveX Control

    Learn about a way to enable a hot key in an ActiveX control without a message hook.

    Tabbed ActiveX Control

    For beginners: Learn how to make a tabbed user interface using a simple MFC ActiveX control in VC++ .NET.

    Tab Controls And Splitters—Mixing Them Together

    Create a WTL class using VC++ .NET 2003 that will simplify building SDI applications by allowing you to combine tab controls with splitters.