Desktop Applications (Visual C++)- 微软的如何学好桌面本地应用程序给出的指南
来源:互联网 发布:四柱预测软件下载 编辑:程序博客网 时间:2024/05/16 08:02
Desktop Applications (Visual C++)
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 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). 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. For more information about desktop vs. UWP applications, see Choose your technology.
Terminology
A Win32 application is a Windows desktop application in C++ can make use of native Windows C APIs and/or COM APIs CRT and Standard Library APIs, and 3rd party libraries. A Win32 application that runs in a window requires the developer to work explicitly with Windows messages inside a Windows procedure function. Despite the name, a Win32 application can be compiled as a 32-bit (x86) or 64-bit (x64) binary. In the Visual Studio IDE, the terms x86 and Win32 are synonymous.
The Component Object Model (COM) is a specification that enables programs written in different languages to communicate with one another. Many Windows components are implemented as COM objects and follow standard COM rules for object creation, interface discovery and object destruction. Using COM objects from C++ desktop applications is relatively straightforward, but writing your own COM object is more advanced. The Active Template Library (ATL) provides macros and helper functions that simplify COM development.
An MFC application is a Windows desktop application that use the Microsoft Foundation Classesto create the user interface. An MFC application can also use COM components as well as CRT and Standard Library APIs. MFC provides a thin C++ object-oriented wrapper over the window message loop and Windows APIs. MFC is the default choice for applications—especially enterprise-type applications—that have lots of user interface controls or custom user controls. MFC provides convenient helper classes for window management, serialization, text manipulation, printing, and modern user interface elements such as the ribbon. To be effective with MFC you should be familiar with Win32.
A C++/CLI application or component uses extensions to C++ syntax (as allowed by the C++ Specification) to enable interaction between .NET and native C++code. 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 is the preferred option when you have native C++ code that needs to work with code written in C# or Visual Basic. It is primarily intended for use in .NET DLLs rather than in user interface code. For more information, see .NET Programming with C++/CLI (Visual C++).
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. For an introduction to Windows desktop applications in C++, see Learn to Program for Windows in C++.
In this section
Related Articles
See Also
Visual C++
- Desktop Applications (Visual C++)- 微软的如何学好桌面本地应用程序给出的指南
- 如何创建一个最简单的Windows桌面应用程序 (C++)
- 用Java进行基于浏览器的桌面应用程序开发(Browser-based desktop application development with java)
- 如何学好Visual C++
- 如何学好Visual C++
- Extjs desktop类桌面系统的开发
- linux的.desktop文件,桌面快捷方式制作
- 将Ubuntu的“桌面”改为“Desktop”
- 如何学好C、C++------思维方式的转变
- 用Visual C#开发WinForm的应用程序
- 用Visual C#开发WinForm的应用程序
- 用Visual C#开发WinForm的应用程序
- 新手提问:如何快速的学好C/C++
- 如何学好C语言,一个成功人士的心得!
- 如何学好C语言,一个成功人士的心得!
- 如何在Ubuntu的桌面创建应用程序的快捷方式
- 微软出的桌面美女
- 如何让 Win7 下的桌面应用程序以管理员权限运行
- 比特币开发专题(怎么实现多重签名技术的应用)
- 开启 kotlin 学习之路
- Scala_(2)_面向对象
- system V 消息队列(msg)
- java垃圾回收机制
- Desktop Applications (Visual C++)- 微软的如何学好桌面本地应用程序给出的指南
- Kafka快速上手教程 4
- 【Fracturing & Destruction】Unity3D的物体爆裂、炸裂、碎裂效果
- C# -- 泛型
- java匿名对象
- 深圳市孔雀计划
- js兼容问题总结
- java多线程(六) 之 店铺买卖多线程练习题
- JAVA 复习总结 (二)