Winows编程技术简介
1.Windows与编程
应用程序窗口(App)是微软集团开发并推出的与PC机相关的程序界面。该系统基于图形界面设计,并具备多任务处理功能。
人机交互界面(GUI=Graphical User Interface)是计算机领域中一种人机交互方式,在其设计中主要由视觉显示装置(如屏幕)和交互控制装置(如鼠标、触控球、光标/手写笔、触摸屏等)构成。通过交互装置能够对视觉显示装置上的功能区域进行操作以执行各项任务与操作。
Windows的核心特性包括:面向对象设计、基于消息和事件的驱动方式、多任务处理能力以及图形设备接口(GDI)与其硬件无关等特性。对应于这些核心特性,在编程实现上也有相应的特点。
在Windows环境中,窗口、菜单项以及特定的事件都被视为对象。而对话框和各种控件本质上只是不同类型的窗口。因此,在处理界面元素及其相关消息或事件时,默认情况下它们都被视为对象。
消息/事件驱动的程序结构——其区别在于与基于过程型控制台字符界面编程不同,在Windows编程中采用的是消息驱动型结构,在这种架构下程序运行主要由用户触发的消息以及系统发出的事件所驱动。
资源共享与数据交换——Windows支持多种多样的操作模式,在程序与其他系统或程序之间提供了丰富的机制来实现数据交换和资源共享。这些机制包括剪切板技术(Cut-Paste)、基于大语言模型的数据交换(DDE)、动态链接库(DLL)、对象链接与 embed 可访问接口(OLE)、组件通信模型(COM)、ActiveX控件以及 .NET/CLR 技术体系。
设备独立的GDI编程——Windows为应用程序提供了丰富的应用程序接口接口(API),这些接口使得编写不同I/O设备驱动变得容易。通过这种设计架构,在开发过程中无需为每一种不同的I/O设备单独编写代码或功能模块。例如,在实际应用中采用这种技术后,同一个函数可以在各种显示器和打印机上产生一致的画面效果。
2..NET与C#
开发出了专为适应现代网络环境(尤其是因特网及万维网Web)以及组件编程而设计的解决方案,并在技术和市场中与Sun公司的Java/J2EE/EJB方案展开激烈竞争。微软公司于20世纪末首次推出面向所有操作系统的统一平台——.NET框架,并因此开发出一种全新的编程语言C#。作为支持现代操作系统架构的关键组成部分之一,.NET技术不仅提升了软件兼容性还推动了后续的操作系统版本。
开发出了专为适应现代网络环境(尤其是因特网及万维网Web)以及组件编程而设计的解决方案,并在技术和市场中与Sun公司的Java/J2EE/EJB方案展开激烈竞争。微软公司于20世纪末首次推出面向所有操作系统的统一平台——.NET框架,并因此开发出一种全新的编程语言C#。作为支持现代操作系统架构的关键组成部分之一,.NET技术不仅提升了软件兼容性还推动了后续的操作系统版本。
.NET是包括两个主要组成部分:.NET Framework与相关开发环境。其中 .NET Framework又被划分为三个核心组件:Common Language Runtime (CLR)、Framework Class Library (FCL) 和 ASP.NET。而 Visual Studio则是一个集成化的开发环境,在其中开发者能够集中管理多种编程语言的集成与应用开发。
C#源自C++的一种与Java相似的面向对象编程语言,在该领域具有重要地位。它专为开发.NET平台而设计,在该领域具有重要地位。
此外,C#在语法和功能上与C++高度相似,并吸收了许多Java程序设计范式的精髓。
相比之下,C#提供了更高的安全性,在代码效率方面也超越了Java。
特别适合开发基于Windows的操作系统及应用程序。
3.MFC与C++/CLI
早期开发 Windows 程序的技术通过 C 语言直接使用 Windows SDK 提供的应用程序接口(API)。因为涉及大量复杂的编程细节,并且 Windows API 包含了超过2000个函数、数百种数据结构以及多种类型的变量。编写 Windows 程序是一项极其具有挑战性的任务。
Visual C++基于OOP来进行Windows编程,并将API提供的大量函数、数据结构和变量整合到大约200个核心类中(其中主要使用较少的几十个类),成功隐藏了多数不必要的编程细节,极大地方便了Windows程序开发的过程。微软将其整合到其开发框架中,并命名为MFC(Microsoft Foundation Class Library)
考虑到在 Visual Studio .NET 2005 环境中, 仅当使用 Visual C++ 时, 才能同时实现 Windows 的 API (MFC) 和 .NET (混合) 编程功能 (而 Visual C# 和 Visual Basic 仅支持 .NET 编程), 因此选择使用 Visual C++, 特别是 MFC, 成为了计算机专业人员开发 Windows 应用程序的理想选择。
因为C++的语法和功能与.NET类库编程的要求存在差异,在进行.NET编程时必须进行必要的调整。因此微软公司开发出了MC++或C++/CLI。
MC⁺⁺( Managed C⁺⁺ ,托管C⁺⁺ ),全称是Managed Extensions for C⁺⁺ (C⁺⁺ 的托管扩展 ),是一种用于编写.NET托管程序的C⁺⁺ 扩展 ,自Visual C⁺⁺ .NET版本推出 。开发人员能够利用Visual C++.NET来编写此类程序 ,并能通过该工具集实现高效的代码管理 。
管理型托管程序即是指其代码(包含元数据、MSIL),尤其是其中的数据与对象所对应的内存分配、指向及释放全由.NET运行环境中的CLR进行管理。所有.NET程序都具备这一特性。
由于MC++的抽象且难以理解的语法结构,在广大C++程序员中引发了强烈的反对和谴责。为了满足用户需求并提升开发效率,在Visual C++ 2005版本中微软推出了全新开发语言接口(C++/CLI),这种新方案将被用于替代MC++.NET程序开发。
公共语言框架是一种由微软公司提出的跨语言与跨平台的分布式计算方案与运行时环境架构(如C#、VB.NET、C++、JScript等作为跨语言范例;WindowsNT/9x、Unix/Linux、MacOSX等作为跨平台范例)。CLR作为CLI在Windows平台上的一种具体实现方案而存在。此外也有研究将 .NET 技术与 CLI 方案移植至Linux/Solaris/MacOSX等其他操作系统环境中进行支持工作。基于上述标准化研究结果可知:CLI 已被公认为 ECMA-335 标准与 ISO-IEC-23271 标准所认可的技术规范体系基础架构部分而 C++/CLI 则被指定为 ECMA-372 标准。
宽度为728像素的滚动页面内容高度为90像素的边距设置为零以确保页面居中显示图片地址为http://kofreestyler.googlepages.com/GGad.htm图片的顶部和侧面 margins均为零以避免任何额外的空间浪费
