Visual C++ 2005 Express and the Windows Platform SDK

Visual C++ 2005 Express Edition is a dumbed down version of Visual C++ 2005. While it is impossible to return the full functionality to the Express edition, it can be enabled to compile Win32 GUI applications by installing the Microsoft Windows Platform SDK. One great thing about Visual C++ 2005 Express is that it does not install a bunch of additional software on the computer.

First, install Visual C++ 2005 Express edition (AVAILABLE HERE). Unless SQL Server is needed, only install the IDE. The MSDN documentation fails to install so uncheck it.

Visual C++ 2005 Express Install

Install it wherever. This tutorial will use the default.

Visual C++ 2005 Express Install

Unfortunately, .NET 2.0 must be installed even though it is not used to develop Windows API applications.

Visual C++ 2005 Express Install

A successful installation. After installing Visual C++ 2005 Express, install its Service Pack 1 from here: VISUAL STUDIO 2005 SP1

Visual C++ 2005 Express Install

Download and run VS80sp1-KB926748-X86-INTL.exe to update Visual C++ 2005 Express.

Visual C++ 2005 Express Install

Download and install the Platform SDK from Microsoft: Windows Platform SDK
The SDK image file will need to be burned to a CD.

Microsoft Platform SDK Install

Enter an install location and remember the location for later. This tutorial will use the default.

Microsoft Platform SDK Install

If a custom installation was chosen then choose the SDK's to install.

Microsoft Platform SDK Install

After the SDK installation is complete, open Visual C++ 2005 Express and go to TOOLS >> OPTIONS >> PROJECTS AND SOLUTIONS >> VC++ DIRECTORIES and add a line under EXECUTABLE FILES to point to the SDK's Bin folder. Move the line to the first position.

Visual C++ 2005 Express

Then, add a line under INCLUDE FILES to point to the SDK's Include folder. Move the line to the first position.

Visual C++ 2005 Express

Next, add a line under LIBRARY FILES to point to the SDK's Lib folder. Move the line to the first position.

Visual C++ 2005 Express

While in Visual C++ 2005 Express, open C:\Program Files\Microsoft Visual Studio 8\VC\VCProjectDefaults\corewin_express.vsprops.

Visual C++ 2005 Express

Set AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib" and save the file. Click to open the image.

Visual C++ 2005 Express

Edit C:\Program Files\Microsoft Visual Studio 8\VC\VCWizards\AppWiz\Generic\Application\html\1033\AppSettings.htm and find the line if (window.external.FindSymbol("IS_EXPRESS_SKU")) and comment out the four lines as pictured here then save the file.

if (window.external.FindSymbol('IS_EXPRESS_SKU'))

Edit C:\Program Files\Microsoft Visual Studio 8\VC\VCWizards\AppWiz\Generic\Application\scripts\1033\default.js and find the line if (strAppType == "CONSOLE") and comment out the two lines as pictured here. Save the file.

if (window.external.FindSymbol('IS_EXPRESS_SKU'))

Close Visual C++ 2005 Express and restart it. Select FILE >> NEW >> PROJECT select Win32 Console Application, enter a name and select OK. Click NEXT on the application wizard, select Windows application and Empty project then click Finish.

Visual C++ 2005 Express

Click Add New Item on the Toolbar. Select Code >> C++ File (.cpp) and give the file a name; click Add.

Visual C++ 2005 Express

Go HERE and copy the source code into the C++ source code file that was just created. Hit CTRL+F5 to compile and run the Win32API application.

Windows API Hello World Example