The Wayback Machine - https://web.archive.org/web/20100724061208/http://www.codeguru.com:80/cpp/w-p/win32/

    Win32

    TIP: Utilizing Solutions and Projects in VS 2005

    Discover how to use separate projects within a solution to reduce confusion when you have imported code mixed with your new code.

    32 OpenMP Traps for C++ Developers

    Pursue a description of a number of parallel code errors that lead to incorrect behavior of parallel programs created with OpenMP.

    SFL 2.0 Service Framework Library for Native Windows Service Applications, Part 3: SFL Architecture

    Find out what is under the SFL's hood.

    Fancy Custom MessageBox

    Discover a method for customizing message boxes created with the MessageBox Windows API function.

    [Updated] Auto Increment the Version Number after Each Build in a Visual Studio Project

    This is a Version Number Build Tool for Automatic Version Numbering after each build in the Visual Studio Environment.

    Distributed Network Object

    Learn to use the "Network Distributed Object Model" to have a simplified way of performing network communication at the object level.

    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.

    [Updated] Thunking in Win32

    Learn about an approach to creating thunks/trampolines to non-static member functions in 32-bit VC++.

    Product Keys Based on the Advanced Encryption Standard (AES)

    Protect Software with Product Keys based on the Advanced Encryption Standard (AES).

    Hacking Icon Resources

    Learn how to replace the displayed icon of an executable file with an .ICO file of your choice.

    Message Only Window

    Learn how to build an efficient library to provide support for Message Only Windows. The article also shows how to use the Thunk32 library provided in an earlier article, as well as some general pointers on good practices and patterns.

    Mpatrol

    Mpatrol has been around for quite some time. It is a simple library that hooks into memory management. Learn how to use it on the Windows platform.

    Injective Code Inside an Import Table

    Learn to inject your code into an Import Table of a Portable Executable file format. This is called the API redirection technique.

    [Updated] Setting a System Environment Variable

    Discover a free tool (with source code) that demonstrates how to programatically set System Environment Variables.

    Crypto++® Holds the Key to Encrypting Your C++ Application Data

    The need to encrypt sensitive information is more important than ever. Luckily, the C++ class library Crypto++ enables you to encrypt your application data regularly and painlessly.

    Inject Your Code to a Portable Executable File

    Learn the five steps needed to inject your code in a portable executable (EXE, DLL, OCX,...) file without recompiling the source code.

    Bulletproof Windows XP

    Currently, this is the best way to protect XP systems from malware and accidental changes.

    [Updated] XP Theme Support for Rich Edit and Custom Controls

    Learn how to add genuine Windows XP theme support to Rich Edit controls and extend the code for your own custom controls!

    MessageBox with Custom Button Captions

    Windows message boxes do not provide a standard interface for modifying button captions. Learn how to make the caption changes.

    Win32 Thread Synchronization, Part 2: Helper Classes

    Learn about thread synchronization helper classes and their implementation, and sample projects.

    Win32 Thread Synchronization, Part I: Overview

    Learn about processes, threads, and a couple of thread synchronization techniques.

    Inside CRT: Debug Heap Management

    Learn how heap memory allocation/deallocation via new-delete/malloc-free is made for a debug build of your program.

    HeapWalker

    Learn how the heap blocks are allocated and how are they managed in WIN 2K. The main purpose of the article is to understand how committed and uncommitted memory blocks are distributed.

    Rebooting a Windows Box Programmatically

    An intro to concepts such as access tokens and some facets of the Win32 API, to aid the beginner-intermediate level Windows developer.

    GUI-Based RunAsEx

    Many of you must have heard of a tool called "RunAs" that originated from the WinNT4 Resource Kit; and from Win2K.