This documentation is archived and is not being maintained.

Win32 Desktop Apps (Visual C++)

You can create a Win32 app when you want to make a native desktop app that has a window-based user interface and can run on Windows versions from Windows 95 to Windows 8. You can use Visual Studio Express 2012 for Windows Desktop or any of the Visual Studio editions except Visual Studio Express 2012 for Windows 8.

A Win32 app is the conventional term for an app that uses message loops to handle Windows messages directly instead of using a framework such as the Microsoft Foundation Classes (MFC), the Active Template Library (ATL), or the .NET Framework. Although the term is "Win32", it can refer to either a 32-bit or a 64-bit app. A Win32 app in C++ can use C Runtime (CRT) and Standard Template Library (STL) classes and functions, COM objects, and any of the public Windows functions, which collectively are known as the Windows API. For an introduction to Win32 apps in C++, see Learn to Program for Windows in C++.

A Win32 app is one way to create a native desktop app for Windows; the other way is an MFC app. MFC is the default choice for apps—especially enterprise-type apps—that have lots of user interface controls or custom user controls. MFC provides convenient helper classes for serialization, text manipulation, printing, and modern user interface elements such as the ribbon. These classes are not available to a Win32 app. To create MFC or ATL programs you need Microsoft Visual Studio Professional 2012 or higher. Visual Studio Express 2012 for Windows Desktop does not include MFC or ATL support.



Windows Development

Contains information about the Windows API and COM. (Some Windows APIs and third-party DLLs are implemented as COM objects.)

Hilo: Developing C++ Applications for Windows 7

Describes how to create a rich-client Win32 desktop app that uses Windows Animation and Direct2D to create a carousel-based user interface.

Win32 Console Applications in Visual C++

Contains information about console apps. A Win32 (or Win64) console app has no window of its own and no message loop. It runs in the console window, and input and output are handled through the command line.

Visual C++

Describes key features of Visual C++ in Visual Studio and links to the rest of the Visual C++ documentation.

Visual C++ Developer Center on the MSDN website

Contains tutorials, blog posts and articles that are relevant for Win32 desktop applications.