Desktopanwendungen (Visual C++)

Eine Desktopanwendung 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. Desktopanwendungen in C++ können auf Windows XP bis Windows 10 ausgeführt werden (obwohl Windows XP nicht mehr offiziell unterstützt wird und es viele Windows-APIs gibt, die seitdem eingeführt wurden).

Eine Desktopanwendung unterscheiden sich von einer UWP-App (Universelle Windows-Plattform), die auf PCs mit Windows 10 sowie auf XBox, Windows Phone, Surface Hub und anderen Geräten ausgeführt werden kann. Weitere Informationen zu Desktop- und UWP-Anwendungen finden Sie unter Auswählen Ihrer Technologie.

Desktop-Brücke

In Windows 10 können Sie Ihre vorhandene Desktopanwendung oder Ihr COM-Objekt als UWP-App packen und UWP-Features wie Touch hinzufügen oder APIs aus dem modernen Windows-API-Satz aufrufen. Sie können einer Desktoplösung in Visual Studio auch eine UWP-App hinzufügen, diese in einem einzelnen Paket packen und Windows-APIs für die Kommunikation zwischen ihnen verwenden.

In Visual Studio 2017 Version 15.4 und höher können Sie ein Windows-Anwendungspaket Project erstellen, um die Paketierung Ihrer vorhandenen Desktopanwendung zu vereinfachen. Es gelten einige Einschränkungen in Bezug darauf, welche Registrierungsaufrufe oder APIs Ihre Desktopanwendung verwendet. In vielen Fällen können Sie jedoch alternative Codepfade erstellen, um ähnliche Funktionen bei der Ausführung in einem App-Paket zu erzielen. Weitere Informationen finden Sie unter Desktop Bridge.

Begriff

  • Eine Win32-Anwendung ist eine Windows-Desktopanwendung in C++, die native Windows C-APIs und/oder COM-APIs CRT- und Standardbibliothek-APIs sowie Bibliotheken von Drittanbietern verwenden kann. Eine Win32-Anwendung, die in einem Fenster ausgeführt wird, erfordert, dass der Entwickler explizit mit Windows-Nachrichten in einer Windows arbeitet. Trotz des Namens kann eine Win32-Anwendung als 32-Bit-Binärdatei (x86) oder 64-Bit-Binärdatei (x64) kompiliert werden. In der Visual Studio IDE sind die Begriffe x86 und Win32 synonym.

  • Die Component Object Model (COM) ist eine Spezifikation, mit der In verschiedenen Sprachen geschriebene Programme miteinander kommunizieren können. Viele Windows-Komponenten werden als COM-Objekte implementiert und befolgen com-Standardregeln für objekterstellung, Schnittstellenermittlung und Objektvernichtung. Die Verwendung von COM-Objekten aus C++-Desktopanwendungen ist relativ einfach, aber das Schreiben Eines eigenen COM-Objekts ist fortgeschrittener. Das Active Template Library (ATL) stellt Makros und Hilfsfunktionen zur Vereinfachung der COM-Entwicklung zur Verfügung.

  • Eine MFC-Anwendung ist eine Windows Desktopanwendung, die die Microsoft Foundation Classes zum Erstellen der Benutzeroberfläche verwendet. Eine MFC-Anwendung kann auch COM-Komponenten sowie CRT- und Standardbibliothek-APIs verwenden. MFC stellt einen schlanken objektorientierten C++-Wrapper über die Fenstermeldungsschleife und Windows-APIs zur Verfügung. MFC ist die Standardauswahl für Anwendungen , insbesondere Unternehmensanwendungen, die über viele Steuerelemente der Benutzeroberfläche oder benutzerdefinierte Benutzersteuerelemente verfügen. MFC bietet praktische Hilfsklassen für Fensterverwaltung, Serialisierung, Textbearbeitung, Drucken und moderne Benutzeroberflächenelemente wie das Menüband. Um mit MFC effektiv zu sein, sollten Sie mit Win32 vertraut sein.

  • Eine C++/CLI-Anwendung oder -Komponente verwendet Erweiterungen der C++-Syntax (wie im C++-Standard zulässig), um die Interaktion zwischen .NET und nativem C++-Code zu ermöglichen. Eine C++/CLI-Anwendung kann teile, die nativ ausgeführt werden, und Teile, die auf dem .NET Framework mit Zugriff auf die .NET-Basisklassenbibliothek ausgeführt werden. C++/CLI ist die bevorzugte Option, wenn Sie über nativen C++-Code verfügen, der mit in C# oder C# geschriebenen Code Visual Basic. Sie ist für die Verwendung in .NET-DLLs und nicht in Benutzeroberflächencode vorgesehen. Weitere Informationen Sie unter .NET-Programmierung mit C++/CLI (Visual C++).

Jede Desktopanwendung in C++ kann Klassen und Funktionen der C-Runtime (CRT) und Standardbibliothek, COM-Objekte und die öffentlichen Windows-Funktionen verwenden, die zusammen als Windows-API bezeichnet werden. Eine Einführung in Windows Desktopanwendungen in C++ finden Sie unter Erste Schritte mit Win32 und C++.

In diesem Abschnitt

Titel BESCHREIBUNG
Windows-Konsolenanwendungen in C++ Enthält Informationen über Konsolen-Apps. Eine Win32- oder Win64-Konsolenanwendung hat kein eigenes Fenster und keine Meldungsschleife. Sie wird im Konsolenfenster ausgeführt. Eingaben und Ausgaben werden von der Befehlszeile behandelt.
Exemplarische Vorgehensweise: Erstellen von Windows-Desktopanwendungen (C++) Erstellen Sie eine einfache Windows Desktopanwendung.
Erstellen einer leeren Windows-Desktopanwendung Hier erfahren Sie, wie Windows Desktopprojekt erstellen, das keine Standarddateien enthält.
Hinzufügen von Dateien zu leeren Win32-Anwendungen Hinzufügen von Dateien zu einem leeren Projekt.
Working with Resource Files (Arbeiten mit Ressourcendateien) Hinzufügen von Bildern, Symbolen, Zeichenfolgentabellen und anderen Ressourcen zu einer Desktopanwendung.
Ressourcen zum Erstellen eines Spiels mit DirectX (C++) Links zu Inhalten zum Erstellen von Spielen in C++.
Exemplarische Vorgehensweise: Erstellen und Verwenden einer statischen Bibliothek Erstellen einer binären LIB-Datei
How to: Verwenden des Windows 10 SDK in einer Windows Desktopanwendung Enthält Schritte zum Einrichten Ihres Projekts für das Erstellen mit dem Windows 10-SDK.
Titel BESCHREIBUNG
Windows-Entwicklung Enthält Informationen zur Windows-API und COM. (Einige Windows-APIs und Drittanbieter-DLLs werden als COM-Objekte implementiert).
Hilo: Entwickeln von C++-Anwendungen für Windows 7 Beschreibt, wie Sie eine vielseitige Windows-Desktopanwendung erstellen, die Windows-Animationen und Direct2D verwendet, um eine karussellbasierte Benutzeroberfläche zu erstellen. Dieses Tutorial wurde seit Version Windows 7 nicht aktualisiert, bietet aber dennoch eine umfassende Einführung in die Win32-Programmierung.
Übersicht über Windows-Programmierung in C++ Beschreibt die wichtigsten Features der Windows Desktopprogrammierung in C++.

Siehe auch

C++ in Visual Studio