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

    Windows Programming

    Special Report: The Definitive Guide to Windows Phone 7

    Microsoft looks to the future with Windows Phone 7, is it enough to catch up with the competition? Read along to learn how WP7 differs from past versions of Windows Mobile and how it matches up against its rivals.

    Windows Mobile: Working with FakeGPS

    If you're building Windows Mobile apps FakeGPS could be the answer to your troubleshooting worries. Learn how to test your GPS applications using FakeGPS.

    Windows2Linux Porting

    Recently I faced a very interesting task, I had to port an application from one platform (Windows) to another (Linux). This article is intended for everybody who wants to write a cross-platform application.

    Microsoft News: Windows Summit 2010 Goes Virtual

    No need to catch a plane to attend this Microsoft technical conference. The company has decided that to reach a broader audience, Windows Summit 2010 will be only available online.

    Adding Windows 7 Jump Lists to Visual C++ Applications

    Jump Lists provide a simple and convenient way for users to open documents and perform common tasks, and Windows 7 provides basic support for Jump Lists with no explicit application development. C++ developers can improve their applications by using the MFC class CJumpList to provide custom jump list items for easier application interaction.

    Determine Windows Version and Edition

    Learn about a comprehensive method of getting the Windows version and differentiate among the various editions.

    Cover Blown on Windows 8 Release?

    Did a former Microsoft employee post projected ship dates for upcoming key products like Windows 8?

    File System Filter Driver Tutorial

    Discover how to develop a simple file system filter driver. The demo driver will print the names of opening files to debug output. The article requires basic windows driver and C/C++ knowledge. However it may be interesting to the people without windows driver experience.

    A Web Developer's Look at Windows 7

    The new Windows 7 user interface features can offer Web developers significant productivity gains in terms of organizing, finding, and navigating to commonly used resources. This article introduces you to the improvements which can cut significant time from otherwise mundane daily workflow tasks.

    The Practical Guide to Multithreading - Part 1

    Understand from this guide how and when - as well as when not - to use multithreading.

    Build Build Resilient Applications with Windows Recovery and Restart Applications

    Even the best-written C++ applications can crash or hang-and end-users' perceptions of the application hinge on how gracefully the application works with the operating system to handle such problems. By registering your applications with Windows Application Recovery and Restart, they can recover gracefully after errors occur.

    A Personal Virtual Keyboard for (nearly) Every Keyboard

    Generate multiple (on-screen)Virtual Keyboards to include into your portable application via a DLL, so that your users can take theirlanguage/keyboard with them on their travels, even if the PC they use does not have their home keyboard installed.

    Simple Parallel Development with the Asynchronous Agents Library

    By adopting a messaging based approach to task parallelism, the Asynchronous Agents Library provides a simple model for concurrent programming that avoids the complexity of memory locks.

    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.

    Parallel Lint

    Understand the new direction in development of static code analyzers - verification of parallel programs. The article reviews several static analyzers which can claim to be called "Parallel Lint".

    State Management : Native Parallel Programming for Visual C++

    Visual C++ 2010 includes a number of new features for preventing data inconsistencies due to simultaneous updates of memory locations - a key challenge in parallel development.

    Cross-Platform IPC Event Manager for Interaction with Service Providers

    Event-driven programming or event-based programming is a programming paradigm in which the flow of the program is determined by events - i.e., sensor outputs or user actions (mouse clicks, key presses) or messages from other programs or threads. Event-driven applications usually are organized as in state machine modes due to complicated event interaction. An IPC event queue manager is required to support event-based programming.

    Native Parallel Programming for Visual C++ with the Parallel Processing Library

    Visual C++ 10.0's new Parallel Pattern Library supplies methods to execute multiple processing tasks, across available processing resources, eliminating the headache of manually allocating task execution.

    SIMD Detector

    Detect the types of SIMD instructions available on the processor.

    DevicePath Information

    Discover how to retrieve device path and device instance id for storage devices attached to the system.

    AMD64 (EM64T) Architecture

    Discover the AMD64 architecture and its implementation EM64T by Intel.

    Tip: Lock Leveling

    Use Lock Leveling to Prevent Multi-threading Deadlocks

    Raw Input Device informations

    Discover how to retrieve information on your computer's devices including the mouse, keyboard, and other peripherals attached to the system.

    Using the Windows Vista/Windows 7 Built-In Buffered Animation API

    The Buffered Animation API makes it easy to make animations without flickering. Learn how to use this Buffered Animation API.

    Using Windows Vista Built-In Double Buffering

    Learn how to fixing flickering issues when drawing graphics by using double buffering.

    Parallel Programming in Visual C++ 2010 CTP

    The CTP build of Visual C++ 2010 includes a new library to help you write native parallel 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.

    An Easy Way to Make an MFC DLL

    Sometimes, you can't avoid writing your own DLL. This explanation takes some of the mystery out of the process.

    Touchscreen Support in Qualcomm Brew

    Learn how to support touchscreens in your applications on handsets running Qualcomm Brew.

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

    Find out what is under the SFL's hood.

    Memory-Mapped Files for Qualcomm Brew

    Memory-map files to save valuable RAM or simplify file parsing in embedded Qualcomm Brew applications.

    Going Mobile with the Active Template Library

    Learn how to rapidly develop applications and add-ins using ATL for Windows CE.

    Fancy Custom MessageBox

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

    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.

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

    Learn more about this very useful library.

    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.

    Create MySQL 5.1 Storage Engine Plugins Under Win32

    A MySQL Storage engine requires functions that MySQL provides. Therefore, you normally need to link it into mysqld-core under Windows because mysqld.exe doesn't export all required functions (because it's an .exe, not a .dll). So, you're unable to import the required functions in our Plugin. Learn a possible way to circumvent this limitation by using the .map files that are provided with MySQL.

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

    Writing Windows services never was an easy thing, but this article makes it far simpler for you to do.

    Real-Time Module for Windows XP/2000

    Learn about Hadcon's real-time module for Windows XP/2000.

    Visual C++ Smart Device Primer

    Try a no-embedded-background-needed introduction into developing Windows Mobile applications in C++. With comprehensive support for smart device development in Visual C++ and great device emulation features in the Windows Mobile SDKs, mobile development is well within the reach of all Visual C++ developers.

    What's New in MFC 9.0 (Orcas): Command Link Buttons

    Explore the challenges of developing an MFC application to use on Vista and non-Vista platforms in the context of Vista's new Command Link Button style.

    Distributed Network Object

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

    Guitar Tuner Vista Gadget Using Silverlight

    Walk through the development of a simple guitar tuner Vista sidebar gadget and in the process learn a little bit about Silverlight, XAML, and Vista gadgets.

    MFC Controls for Vista

    Microsoft Foundation Classes continue to play an important role for C++ developers. Discover how to upgrade an existing application with MFC 9's full support for the Windows Vista look-and-feel.

    Making a Pre-Vista Application Vista Compliant

    By Matt Goebel Explore the common pitfalls of Vista development, some quick workarounds, and best practices. Learn about the UAC, Virtualization, impact on pre-installed .NET Frameworks, common program compatibility issues, and guidelines for UI/UX design.

    Porting Mobile Applications Between Windows Mobile and Symbian OS

    The application that runs on everything—this would be a dream of every developer! Use Java, one might say. But even Java has different implementations, is limited in features, and so forth, not to mention the differences for mobile devices. This article offers you few simple receipts you can use to effectively port your mobile C++ applications back and forth between several mobile platforms.

    Handling Multiple Processors in Your Code Using RapidMind

    Multicore processors bring new challenges. See a solution for gaining the ability to scale to the increasing number and types of processor cores.

    Determining Whether a DLL or EXE Is a Managed Component

    Learn how to check whether or not a component is a .NET managed component. Also, learn to get other information, such as dependent assemblies, from the metadata using Microsoft APIs and related COM interfaces.

    Windows Cryptography API: Next Generation (CNG)

    For long-term Visual C++ developers, the CryptoAPI will be a familiar part of your programming toolkit. If you're developing Windows Vista applications, though, you should be applying the new Windows Cryptography API: Next Generation.

    Vista User Access Control and Visual C++

    Windows Vista introduces a new security concept called User Access Control (UAC), where local administrators have two access tokens—one representing the privileges of a normal user and the other holding the elevated privileges of the local administrator account. Here, you will learn how to properly implement the UAC to provide a rich user experience.