Click Windows Online. Save the file to a known location on your computer, for example, to your desktop Double-click on the saved file icon to start the installation process. On Windows 8 and Windows Server 2012-based computers, or on Windows 7 and Windows Server 2008 R2-based computers that have security update MS12-024 installed, you cannot create a hash or a publisher rule for unsigned files. You can only create path-based rules for such files. Build desktop Windows apps using the Win32 API. Learn how to build desktop apps for Windows PCs using C and the Win32 API. Get started Overview Set up your computer; Tutorial Create your first app with Win32 and C; Download Development tools; Windows code samples; Develop Overview Windows features and technologies; Modernize apps for. Download ccleaner for windows 7 32 bit for free. System Utilities downloads - CCleaner by Piriform Ltd and many more programs are available for instant and free download. Win32 APIs provide powerful functionality that let you get the most out of Windows in your applications. While these APIs are readily accessible to C and C developers, other languages like C# and Rust require wrappers or bindings in order to access these APIs. In C#, this is commonly known as platform invoking or P/Invoke.

-->

WOW64 is the x86 emulator that allows 32-bit Windows-based applications to run seamlessly on 64-bit Windows. This allows for 32-bit (x86) Windows applications to run seamlessly in 64-bit (x64) Windows, as well as for 32-bit (x86) and 32-bit (ARM) Windows applications to run seamlessly in 64-bit (ARM64) Windows. WOW64 is provided with the operating system and does not have to be explicitly enabled. For more information, see WOW64 Implementation Details.

The system isolates 32-bit applications from 64-bit applications, which includes preventing file and registry collisions. Console, GUI, and service applications are supported. The system provides interoperability across the 32/64 boundary for scenarios such as cut and paste and COM. However, 32-bit processes cannot load 64-bit DLLs for execution, and 64-bit processes cannot load 32-bit DLLs for execution. This restriction does not apply to DLLs loaded as data files or image resource files; for more information, see LoadLibraryEx.

A 32-bit application can detect whether it is running under WOW64 by calling the IsWow64Process function (use IsWow64Process2 if targeting Windows 10). The application can obtain additional information about the processor by using the GetNativeSystemInfo function.

Note that 64-bit Windows does not support running 16-bit Windows-based applications. The primary reason is that handles have 32 significant bits on 64-bit Windows. Therefore, handles cannot be truncated and passed to 16-bit applications without loss of data. Attempts to launch 16-bit applications fail with the following error: ERROR_BAD_EXE_FORMAT.

In this Section

-->

The Win32 API (also called the Windows API) is the original platform for native C/C++ Windows applications that require direct access to Windows and hardware. It provides a first-class development experience without depending on a managed runtime environment like .NET and WinRT (for UWP apps for Windows 10). This makes the Win32 API the platform of choice for applications that need the highest level of performance and direct access to system hardware.

Note

This documentation covers how to create desktop Windows apps with the Win32 API. The Win32 API is one of several app platforms you can use to build desktop Windows apps. For more info about other app platforms, see Choose your platform.

Get set up

Follow these instructions and start creating desktop apps for Windows 10 that use the Win32 API.

  1. Download or update Visual Studio 2019. If you don't already have Visual Studio 2019, you can install the free Microsoft Visual Studio Community 2019. When you install Visual Studio, make sure to select the Desktop development with C++ option. For download links, see our Downloads page.

    Note

    When you install Visual Studio, you can optionally select the .NET desktop development and Universal Windows Platform development options for access to other project types and app platforms for building desktop Windows apps.

  2. If you want to build your desktop app into an MSIX package and test or debug the packaged app on your development computer, you'll need to enable Developer Mode on your computer.

Note

For scripts you can use to set up your development computer and install other features or packages, check out this GitHub project.

Learn how to create desktop apps using the Win32 API

Ultimate

If you're new to building desktop apps using the Win32 API, the following tutorials and articles will help get you started.

TopicDescription
Create your first C++ Win32 appThis tutorial teaches you how to write a Windows program in C++ using Win32 and COM APIs.
Create your first app using DirectXThis basic tutorial will get you started with DirectX app development.
Programming Guide for 64-bit WindowsDescribes programming for 64-bit versions of the Windows operating system.
Using the Windows HeadersProvides an overview of some of the conventions used in the Windows header files.

C++ Win32 Window

You can also browse the desktop app samples.

Modernize your desktop apps for Windows 10

If you have an existing desktop Win32 app, there are many features in the Universal Windows Platform (UWP) that you can use to deliver the best possible experience on Windows 10. For example, starting in Windows 10, version 1903, you can host UWP XAML controls in your desktop Win32 app using a feature called XAML Islands.

Win32 application for windows 7 ultimate 64-bit

Most of these UWP features are available as modular components that you can adopt in your desktop app at your own pace without having to rewrite your entire application. You can enhance your existing desktop app by choosing which parts of Windows 10 and UWP to adopt.

For more information, see Modernize your desktop apps.

C++/WinRT

Optionally, you can configure your development computer to use C++/WinRT. C++/WinRT is an entirely standard modern C++17 language projection enables you to easily consume Windows Runtime APIs Windows Runtime (WinRT) APIs from your C++ Win32 desktop application. C++/WinRT is implemented as a header-file-based library.

Win32 Application For Windows 7 Ultimate Full

To configure your project for C++/WinRT:

Win32 Application For Windows 7 Ultimate
  • For new projects, you can install the C++/WinRT Visual Studio Extension (VSIX) and use one of the C++/WinRT project templates included in that extension.
  • For existing Windows desktop application projects, you can install the Microsoft.Windows.CppWinRT NuGet package in the project.
Win32 Application For Windows 7 Ultimate

For more details about these options, see this article.

Win32 Application For Windows 7 Ultimate

What's new for Win32 APIs in Windows 10

To learn about new Win32 APIs that have been introduced in Windows 10, see what's new.

Get started with Win32 features and technologies

Win32 APIs exist for many features and technologies in Windows 10, including core user interface and windowing APIs, audio and graphics, and networking. For guidance and code samples about using these APIs, see our features and technologies index.

Related topics