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

    ATL & WTL Programming

    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).

    [Updated] 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.

    [Updated] 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.

    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.

    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.

    [Updated] 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.

    [Updated] [Debugging] - Symbols

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

    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.

    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.

    [Updated] 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.

    Application's Version Updating from a FTP Resource

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