Desktopanwendungen (Visual C++)Desktop Applications (Visual C++)

Eine Desktop Anwendung in C++ ist eine native Anwendung, die auf den vollständigen Satz von Windows-APIs zugreifen kann und entweder in einem Fenster oder in der Systemkonsole ausgeführt wird.A desktop application in C++ is a native application that can access the full set of Windows APIs and either runs in a window or in the system console. Desktop Anwendungen in C++ können unter Windows XP bis Windows 10 ausgeführt werden (obwohl Windows XP nicht mehr offiziell unterstützt wird und seitdem viele Windows-APIs eingeführt wurden).Desktop applications in C++ can run on Windows XP through Windows 10 (although Windows XP is no longer officially supported and there are many Windows APIs that have been introduced since then).

Eine Desktop Anwendung unterscheidet sich von einer universelle Windows-Plattform-app (UWP), die auf PCs unter Windows 10 und auch auf Xbox, Windows Phone, Surface Hub und anderen Geräten ausgeführt werden kann.A desktop application is distinct from a Universal Windows Platform (UWP) app, which can run on PCs running Windows 10, and also on XBox, Windows Phone, Surface Hub, and other devices. Weitere Informationen zu Desktop-und UWP-Anwendungen finden Sie unter Wählen Sie Ihre Technologie.For more information about desktop vs. UWP applications, see Choose your technology.

Desktop-BrückeDesktop Bridge

In Windows 10 können Sie die vorhandene Desktop Anwendung oder das COM-Objekt als UWP-App Verpacken und UWP-Features wie Finger Eingaben hinzufügen oder APIs aus dem modernen Windows-API-Satz aufzurufen.In Windows 10 you can package your existing desktop application or COM object as a UWP app and add UWP features such as touch, or call APIs from the modern Windows API set. Sie können eine UWP-APP auch einer Desktop Projekt Mappe in Visual Studio hinzufügen und Sie in einem einzelnen Paket Verpacken und Windows-APIs für die Kommunikation zwischen Ihnen verwenden.You can also add a UWP app to a desktop solution in Visual Studio, and package them together in a single package and use Windows APIs to communicate between them.

In Visual Studio 2017, Version 15,4 und höher, können Sie ein Windows-Anwendungspaket Projekt erstellen, um die Arbeit beim Verpacken Ihrer vorhandenen Desktop Anwendung erheblich zu vereinfachen.In Visual Studio 2017 version 15.4 and later, you can create a Windows Application Package Project to greatly simplify the work of packaging your existing desktop application. Es gelten einige Einschränkungen hinsichtlich der Registrierungs Aufrufe oder APIs, die von der Desktop Anwendung verwendet werden. in vielen Fällen können Sie jedoch alternative Codepfade erstellen, um eine ähnliche Funktionalität zu erzielen, während Sie in einem App-Paket ausgeführt werden.A few restrictions apply with respect to what registry calls or APIs your desktop application uses, but in many cases you can create alternate code paths to achieve similar functionality while running in an app package. Weitere Informationen finden Sie unter Desktop Bridge.For more information, see Desktop Bridge.

BegriffTerminology

  • Eine Win32 -Anwendung ist eine Windows-Desktop Anwendung in C++, die native Windows C-APIs und/oder COM-APIs CRT und Standard Bibliotheks-APIs sowie Bibliotheken von Drittanbietern verwenden kann.A Win32 application is a Windows desktop application in C++ that can make use of native Windows C APIs and/or COM APIs CRT and Standard Library APIs, and 3rd party libraries. Eine Win32-Anwendung, die in einem-Fenster ausgeführt wird, erfordert, dass der Entwickler explizit mit Windows-Meldungen innerhalb einer Windows-Prozedur Funktion arbeitet.A Win32 application that runs in a window requires the developer to work explicitly with Windows messages inside a Windows procedure function. Trotz des Namens kann eine Win32-Anwendung als 32-Bit-(x86) oder 64-Bit-Binärdatei (x64) kompiliert werden.Despite the name, a Win32 application can be compiled as a 32-bit (x86) or 64-bit (x64) binary. In der Visual Studio-IDE sind die Begriffe x86 und Win32 Synonym.In the Visual Studio IDE, the terms x86 and Win32 are synonymous.

  • Der Component Object Model (com) ist eine Spezifikation, mit der Programme, die in verschiedenen Sprachen geschrieben wurden, miteinander kommunizieren können.The Component Object Model (COM) is a specification that enables programs written in different languages to communicate with one another. Viele Windows-Komponenten werden als COM-Objekte implementiert und befolgen die com-Standardregeln für Objekt Erstellung, Schnittstellen Ermittlung und Objekt Zerstörung.Many Windows components are implemented as COM objects and follow standard COM rules for object creation, interface discovery and object destruction. Die Verwendung von COM-Objekten aus C++-Desktop Anwendungen ist relativ unkompliziert, aber das Schreiben eines eigenen com-Objekts ist fortschrittlicher.Using COM objects from C++ desktop applications is relatively straightforward, but writing your own COM object is more advanced. Der Active Template Library (ATL) stellt Makros und Hilfsfunktionen bereit, die die com-Entwicklung vereinfachen.The Active Template Library (ATL) provides macros and helper functions that simplify COM development.

  • Bei einer MFC-Anwendung handelt es sich um eine Windows-Desktop Anwendung, die die Microsoft Foundation Classes zum Erstellen der Benutzeroberfläche verwendet.An MFC application is a Windows desktop application that use the Microsoft Foundation Classes to create the user interface. In einer MFC-Anwendung können auch com-Komponenten sowie CRT-und Standard Bibliotheks-APIs verwendet werden.An MFC application can also use COM components as well as CRT and Standard Library APIs. MFC bietet einen Thin C++-objektorientierten Wrapper über die Fenster Nachrichten Schleife und Windows-APIs.MFC provides a thin C++ object-oriented wrapper over the window message loop and Windows APIs. MFC ist die Standardoption für Anwendungen – insbesondere Anwendungen vom Typ Unternehmensanwendungen –, die über viele Benutzeroberflächen-Steuerelemente oder benutzerdefinierte Benutzer Steuerelemente verfügen.MFC is the default choice for applications—especially enterprise-type applications—that have lots of user interface controls or custom user controls. MFC bietet bequeme Hilfsklassen für Fensterverwaltung, Serialisierung, Textbearbeitung, Druck und moderne Benutzeroberflächen Elemente, wie z. b. das Menüband.MFC provides convenient helper classes for window management, serialization, text manipulation, printing, and modern user interface elements such as the ribbon. Damit Sie mit MFC wirksam werden, sollten Sie mit Win32 vertraut sein.To be effective with MFC you should be familiar with Win32.

  • Eine C++/CLI-Anwendung oder-Komponente verwendet Erweiterungen der C++-Syntax (wie vom C++-Standard zulässig), um die Interaktion zwischen .net und nativem C + +-Code zu ermöglichen.A C++/CLI application or component uses extensions to C++ syntax (as allowed by the C++ Standard) to enable interaction between .NET and native C++code. Eine C++/CLI-Anwendung kann Teile aufweisen, die System intern ausgeführt werden, sowie Teile, die auf dem .NET Framework mit Zugriff auf die .net-Basisklassen Bibliothek ausgeführt werden.A C++/CLI application can have parts that run natively and parts that run on the .NET Framework with access to the .NET Base Class Library. C++/CLI ist die bevorzugte Option, wenn Sie über nativen C++-Code verfügen, der mit in c# geschriebenen Code oder Visual Basic arbeiten muss.C++/CLI is the preferred option when you have native C++ code that needs to work with code written in C# or Visual Basic. Sie ist für die Verwendung in .NET-DLLs und nicht in Benutzeroberflächen Code vorgesehen.It is intended for use in .NET DLLs rather than in user interface code. Weitere Informationen Sie unter .NET-Programmierung mit C++/CLI (Visual C++).For more information, see .NET Programming with C++/CLI (Visual C++).

Jede Desktop Anwendung in C++ kann die Klassen und Funktionen der C-Laufzeit (CRT) und Standard Bibliothek, com-Objekte und die öffentlichen Windows-Funktionen verwenden, die kollektiv als Windows-API bezeichnet werden.Any desktop application in C++ can use C Runtime (CRT) and Standard Library classes and functions, COM objects, and the public Windows functions, which collectively are known as the Windows API. Eine Einführung in Windows-Desktop Anwendungen in C++ finden Sie unter Get Started with Win32 and C++.For an introduction to Windows desktop applications in C++, see Get Started with Win32 and C++.

In diesem AbschnittIn this section

TitelTitle BESCHREIBUNGDescription
Windows-Konsolenanwendungen in C++Windows Console Applications in C++ Enthält Informationen über Konsolen-Apps.Contains information about console apps. Eine Win32- oder Win64-Konsolenanwendung hat kein eigenes Fenster und keine Meldungsschleife.A Win32 (or Win64) console application has no window of its own and no message loop. Sie wird im Konsolenfenster ausgeführt. Eingaben und Ausgaben werden von der Befehlszeile behandelt.It runs in the console window, and input and output are handled through the command line.
Exemplarische Vorgehensweise: Erstellen von Windows-Desktopanwendungen (C++)Walkthrough: Creating Windows Desktop Applications (C++) Erstellen Sie eine einfache Windows-Desktop Anwendung.Create a simple Windows desktop application.
Erstellen einer leeren Windows-DesktopanwendungCreating an Empty Windows Desktop Application Erstellen eines Windows-Desktop Projekts, das keine Standard Dateien aufweist.How to create a Windows desktop project that has no default files.
Hinzufügen von Dateien zu leeren Win32-AnwendungenAdding Files to an Empty Win32 Applications Vorgehensweise beim Hinzufügen von Dateien zu einem leeren Projekt.How to add files to an empty project.
Working with Resource Files (Arbeiten mit Ressourcendateien)Working with Resource Files Hinzufügen von Bildern, Symbolen, Zeichen folgen Tabellen und anderen Ressourcen zu einer Desktop Anwendung.How to add images, icons, string tables, and other resources to a desktop application.
Ressourcen zum Erstellen eines Spiels mit DirectX (C++)Resources for Creating a Game Using DirectX (C++) Links zu Inhalten zum Erstellen von spielen in C++.Links to content for creating games in C++.
Exemplarische Vorgehensweise: Erstellen und Verwenden einer statischen BibliothekWalkthrough: Creating and Using a Static Library So erstellen Sie eine lib-Binärdatei.How to create a .lib binary file.
Gewusst wie: Verwenden des Windows 10 SDK in einer Windows-Desktop AnwendungHow to: Use the Windows 10 SDK in a Windows Desktop Application Enthält Schritte zum Einrichten Ihres Projekts für das Erstellen mit dem Windows 10-SDK.Contains steps for setting up your project to build using the Windows 10 SDK.
TitelTitle BESCHREIBUNGDescription
Windows-EntwicklungWindows Development Enthält Informationen zur Windows-API und COM.Contains information about the Windows API and COM. (Einige Windows-APIs und Drittanbieter-DLLs werden als COM-Objekte implementiert).(Some Windows APIs and third-party DLLs are implemented as COM objects.)
Hilo: Entwickeln von C++-Anwendungen für Windows 7Hilo: Developing C++ Applications for Windows 7 Beschreibt, wie Sie eine vielseitige Windows-Desktopanwendung erstellen, die Windows-Animationen und Direct2D verwendet, um eine karussellbasierte Benutzeroberfläche zu erstellen.Describes how to create a rich-client Windows desktop application that uses Windows Animation and Direct2D to create a carousel-based user interface. Dieses Tutorial wurde seit Windows 7 nicht aktualisiert, bietet aber eine gründliche Einführung in die Win32-Programmierung.This tutorial has not been updated since Windows 7 but it still provides a thorough introduction to Win32 programming.
Übersicht über die Windows-Programmierung in C++Overview of Windows Programming in C++ Beschreibt die wichtigsten Features der Windows-Desktop Programmierung in C++.Describes key features of Windows desktop programming in C++.

Weitere InformationenSee also

C++ in Visual StudioC++ in Visual Studio