Aplicaciones de escritorio (Visual C++)
Una aplicación de escritorio en C++ es una aplicación nativa que puede acceder al conjunto completo de API de Windows y se ejecuta en una ventana o en la consola del sistema. Las aplicaciones de escritorio de C++ se pueden ejecutar en Windows XP hasta Windows 11 (aunque Windows XP ya no se admite oficialmente y hay muchas API de Windows que se han introducido desde entonces).
Una aplicación de escritorio es distinta de una aplicación de plataforma Windows universal (UWP), que se puede ejecutar en equipos que ejecutan Windows 11, Windows 10, XBox, Windows Phone, Surface Hub y otros dispositivos. Para obtener más información sobre las aplicaciones de escritorio frente a las aplicaciones para UWP, consulta Choose your technology (Elegir la tecnología).
Puente de dispositivo de escritorio
En Windows 10 y versiones posteriores, puede empaquetar la aplicación de escritorio existente u objeto COM como una aplicación para UWP. Las aplicaciones pueden agregar características de UWP como táctiles o llamar a las API desde el conjunto de API Windows moderna. También puedes agregar una aplicación para UWP a una solución de escritorio en Visual Studio, empaquetarlos juntos en un único paquete y usar Windows API para comunicarse entre ellas.
En Visual Studio 2017 versión 15.4 y posteriores, puede crear un paquete de aplicación Windows Project para simplificar en gran medida el trabajo de empaquetado de la aplicación de escritorio existente. Se aplican algunas restricciones con respecto a lo que el Registro llama o las API que usa la aplicación de escritorio, pero en muchos casos puede crear rutas de acceso de código alternativas para lograr una funcionalidad similar mientras se ejecuta en un paquete de aplicación. Para obtener más información, vea Puente de dispositivo de escritorio.
Terminología
Una aplicación Win32 es una aplicación de escritorio de Windows en C++ que puede usar API nativas de C de Windows o API COM CRT y API de biblioteca estándar, y bibliotecas de terceros. Una aplicación Win32 que se ejecuta en una ventana requiere que el desarrollador trabaje explícitamente con Windows mensajes dentro de una Windows de procedimiento. A pesar del nombre, una aplicación Win32 se puede compilar como un binario de 32 bits (x86) o de 64 bits (x64). En el IDE Visual Studio, los términos x86 y Win32 son sinónimos.
El modelo de objetos componentes (COM) es una especificación que permite que los programas escritos en lenguajes diferentes se comuniquen entre sí. Muchos Windows componentes se implementan como objetos COM y siguen las reglas COM estándar para la creación de objetos, la detección de interfaces y la destrucción de objetos. El uso de objetos COM desde aplicaciones de escritorio de C++ es relativamente sencillo, pero escribir su propio objeto COM es más avanzado. El Active Template Library (ATL) proporciona macros y funciones auxiliares que simplifican el desarrollo COM.
Una aplicación MFC es una Windows de escritorio que usa el Microsoft Foundation Classes para crear la interfaz de usuario. Una aplicación MFC también puede usar componentes COM, así como CRT y API de biblioteca estándar. MFC proporciona un contenedor ligero orientado a objetos de C++ sobre el bucle de mensajes de ventana y Windows API. MFC es la opción predeterminada para las aplicaciones, especialmente las aplicaciones de tipo empresarial, que tienen muchos controles de interfaz de usuario o controles de usuario personalizados. MFC proporciona clases auxiliares prácticas para la administración de ventanas, la serialización, la manipulación de texto, la impresión y los elementos modernos de la interfaz de usuario, como la cinta de opciones. Para ser eficaz con MFC, debe estar familiarizado con Win32.
Una aplicación o componente de C++/CLI usa extensiones para la sintaxis de C++ (como permite el estándar de C++) para habilitar la interacción entre .NET y el código nativo de C++. Una aplicación de C++/CLI puede tener elementos que se ejecutan de forma nativa y elementos que se ejecutan en .NET Framework con acceso a la biblioteca de clases base de .NET. C++/CLI es la opción preferida cuando tiene código nativo de C++ que necesita trabajar con código escrito en C# o Visual Basic. Está pensado para su uso en archivos DLL de .NET en lugar de en el código de la interfaz de usuario. Par obtener más información, consulte el artículo sobre la programación de .NET con C++/CLI (Visual C++).
Cualquier aplicación de escritorio de C++ puede usar clases y funciones de C Runtime (CRT) y de la biblioteca estándar, objetos COM y las funciones Windows públicas, que se conocen colectivamente como la API Windows. Para obtener una introducción Windows aplicaciones de escritorio en C++, vea Introducción con Win32 y C++.
En esta sección
| Title | Descripción |
|---|---|
| Aplicaciones de consola de Windows en C++ | Contiene información acerca de las aplicaciones de consola. Una aplicación de consola Win32 (o Win64) no tiene ninguna ventana propia ni ningún bucle de mensajes. Se ejecuta en la ventana de la consola; la entrada y la salida se controlan a través de la línea de comandos. |
| Tutorial: Crear aplicaciones de escritorio de Windows (C++) | Cree una aplicación de escritorio Windows sencilla. |
| Crear una aplicación de escritorio de Windows vacía | Cómo crear un proyecto Windows escritorio que no tenga archivos predeterminados. |
| Agregar archivos a una aplicación de Win32 vacía | Cómo agregar archivos a un proyecto vacío. |
| Trabajar con archivos de recursos | Cómo agregar imágenes, iconos, tablas de cadenas y otros recursos a una aplicación de escritorio. |
| Recursos para crear un juego usando DirectX (C++) | Vínculos al contenido para crear juegos en C++. |
| Tutorial: Creación y uso de una biblioteca estática | Cómo crear un archivo binario .lib. |
| Cómo: Usar el SDK de Windows en una aplicación de Windows Desktop | Contiene los pasos para configurar el proyecto para compilarlo mediante el SDK Windows. |
Artículos relacionados
| Title | Descripción |
|---|---|
| Desarrollo de Windows | Contiene información sobre la API de Windows y COM. (Algunas API de Windows y archivos DLL de terceros se implementan como objetos COM). |
| Hilo: desarrollo de aplicaciones en C++ para Windows 7 | Describe cómo crear una aplicación de escritorio de Windows de cliente que use animaciones de Windows y Direct2D para crear una interfaz de usuario basada en carrusel. Este tutorial no se ha actualizado desde Windows 7, pero todavía proporciona una introducción exhaustiva a la programación de Win32. |
| Información general sobre Windows programación en C++ | Describe las características clave de la programación Windows escritorio en C++. |