Windows编程 第一回 走近windows

  -----路过的朋友,若发现错误或有好的建议,欢迎在下面留言,谢谢! 2010.2.19更新-----

Windows操作系统概述

      Windows是一种基于图形界面的多任务操作系统。为这个环境开发的程序有着相同的外观和命令结构。对用户 来说,这使得学习使用Windows应用程序变得容易了。为了帮助开发Windows应用程序,Windows提供了大量的内建 函数以方便地使用弹出菜单、滚动条、对话框、图标和其他一些友好的用户界面应该具有的特性。   Windows运行应用程序以硬件无关的方式来处 理视频显示、键盘、鼠标、打印机、串行口以及系统时钟。最值 得注意的Windows特性就是其标准化的图形用户界面。统一的界面使用图片或图标来代表磁盘驱动器、文件、子目 录以及其它操作系统的命令和动作。统一的用户界面也为程序员带来了好处。例如,你可以很方便地使用常见菜单和对话框的内建函数。所有的菜单都具有相同风格 的键盘和鼠标接口,因为是Windows而不是程序员在实现它。   Windows的多任务环境允许用户在同一时刻运行多个应用程序或同一个应用 程序的多个实例。一个应用程序可 能处于激活状态。激活的应用程序是指它正接收用户的输入。因为每一个瞬间仅有一个程序能够被处理,因此同一时间也只能有一个应用程序处于激活状态。但是, 可以有任意个数的并行运行的任务。

windows简史(坊间版)

                                                                             Windows进化图

Windows 1.0:只能算是DOS系统的扩展

     

      说Windows的时候,我们不得不交待一下MS-DOS系统,MS-DOS是Microsoft Disk Operating System的简称,意即由美国微软公司(Microsoft)提供的磁盘操作系统。1981年8月12日,IBM推出了内置MS-DOS 1.0的个人电脑。可以这样讲,在Windows 95出现之前,DOS一直是最主流的操作系统。

     1985年11月,微软公司发布了Windows 1.0系统,与其说是系统,到不是说是一款应用软件,因为它只是对MS-DOS系统的功能进行了扩展。可以支持有限的多任务处理能力,并支持鼠标操作。当时微软推出这个系统的时候,比苹果使用图形用户界面的Mac机发布时间晚了将近两年。加上功能上并不是很强,所以市场上对于Windows 1.0的评价并不是很高。当时,这套系统售价为100美元。

                                     ◆Windows 2.0:可叠加窗口,突破640KB基本内存

 

      1987年12月9日,Windows 2.0发布,售价同样为200美元。这套系统的最大进步是将苹果Mac机用户的图形界面中一些关键功能引入到Windows当中。这利益于Windows1.0发布之后,微软与苹果签署的授权协议。在Windows2.0系统中,已经可以完全支持图标和重叠式窗口。另外,Windows2.0还得到了很多应用软件的支持,比如我们今天非常熟悉的Word和Excel等。Windows 2.0分为386和286两个版本,前者意义重大,因为它支持当年初期发布的386增强模式,此模式能在扩充内存里同步运行多重MS-DOS程序,突破了640KB基础内存的局限。这是Windows历史上的一大突破。

                                                 ◆Windows 3.0:全新操作系统诞

  

                                                         

 

      1990年5月22日,Windows 3.0正式发布,它在交互界面方面有了很多改善,它不但拥有全新外观,其保护和增强模式还能更有效地利用内存,越来越多的软件开发商愿意为Windows系统编辑软件。这让微软第一次有能力与苹果Mac机正面交锋。对于这个系统,市场反响非常之好,两年内销售量达到了1000万套。

      在Windows3.0发布之后,微软趁热打铁,继而发行了Windows3.0多语言版,为部分非英语系国家提供了方便(但并不包括中文系统);发布Windows3.1x系统,全面运行多媒体和网络功能,界面也进行了美化,支持TrueType字体。1994年,Windows 3.2的中文版本发布,相信国内很多Windows资深用户都是这个时候开始接触Windows的。

Windows 95:蓝天+白云,点击这里开始

   

     1995年8月24日,微软公司发布了具有划时代意义的操作系统Windows 95。之所以给它这么高的评价,是因为Windows 95的出现,颠覆了PC机的使用习惯。不需要在黑屏下敲字,不需要记忆繁琐的命令符,所有的一些,只要用鼠标点击状态条的“开始”按键即可,这一标志性设计一直延续到了今天的Windows 7系统之中。Windows 95的发布意味着电脑平民化的到来,也为PC厂商打开了一条宽阔大道。在Windows 95系统中,内置了IE浏览器,用户可以直接上网。或者在1995年的时候,我们并不知道上网是怎样一种感觉,但Windows 95早已经为我们预留了快捷通道。

      开始进入系统后的蓝天+白云给我们留下了深刻的印象,但Windows 95系统也有着让我们不爽的一面,由于它的一部分代码运行在32位模式下,另一部分则在16位下,系统经常需要在两种模式下切换,这就造成了系统运行的不稳定。但瑕不掩瑜,在今天看来,Windows 95无可厚非地是微软,乃至IT业界发展的一块里程碑。

      民间有着所谓Windows 97的说法,其实那是Windows 95的一个增强版本,集成了IE4,并支持USB设备。也是那时装机人群选择较多的一个操作系统版本。

                                Windows NT 4.0:面向工作站、网络服务器和大型计算机的网络操作系统

  

 

      发布于1996 年8 月24 号。Windows NT3.5x的这次升级提高了易用性和管理简单化、高网络吞吐量和开发及管理网络的完善工具设置。它的服务器版本包括更快速的文件和打印服务、更强大的运用支持、标准的通讯功能和整合型的WEB服务(Internet Information Server)。

  Windows NT Workstation 4.0包含流行的Windows 95用户界面和改善的网络支持,提供安全、简易的网络和局域网访问。与Windows NT 3.5x相同,WindowsNT 4.0 也拥有Workstation和Server 两个版本。

  Windows NT Server 4.0 Enterprise Edition发布于1997年12月。它的主要功能和特性都为带有临界使命环境的大型企业消费者而设计。Windows NT Server 4.0 Enterprise Edition增加了性能和可缩放性,高实用性和开发企业运用的扩展服务。它还支持微软的事项服务、信息队列服务 (MSMQ)、簇服务、Windows NT Server负载均衡服务、大型SMP服务和内存加强运用。

  Windows NT Server 4.0 Terminal ServerEdition 在1998 年公布。它给予Windows NTServer能力来为PC和非PC桌面电脑所运行的终端和终端模拟的32位Windows操作系统运用而服务。

 

 

Windows 98:经典难忘的操作系统

   

      基于Windows 95系统的成功,微软公司在1998年6月25日发布了Windows 98。这是首次为普通消费者设计的Windows版本,因此有着“工作最好,游戏最好”操作系统的口碑。界面方面,它与Windows 95差别并不是很大,但稳定性有了明显提高,对于多媒体的支持得到进一步加强。特别是次年发布的Windows 98SE版本,更是在DIY市场成为装机的首选。不过Windows 98也有它的痛,那就是“蓝屏”,这连比尔•盖茨做演示的时候也不能幸免。

Windows ME:千禧年的一个玩笑

   

      2000年9月14日,新一代Windows操作系统Windows Millennium Edition(简称Windows ME)发布。这是一款完全面向于家庭用户的系统,具有高彩系统图标,更多的游戏和支持更多文件类型及变换皮肤的新媒体播放器。它的最重要修改则是系统不再包括真实模式的MS-DOS,并且引进了“系统还原”日志和还原系统。Windows ME的开关机速度非常快,但不稳定成为它的“阿克琉斯之踵”,甚至被用户戏称Windows Me意为“(Mistake Edition(错误版本)”。在今天看来,这就算是千禧年的一个玩笑吧。但有一点不得不提,在Windows ME下使用闪盘或移动硬盘,系统可以自动识别,不用再安装驱动程序,真正实现了“即插即用”。

Windows XP:最长寿、最耐用的操作系统

  

      2001年10月25日,Windows XP操作系统发布,这是微软历史上最成功的一个操作系统。直到9年多以后的今天,还有很多用户在使用它。Windows XP是微软续Windows 95/98之后的又一重大里程碑。在易用性和稳定性方面都有很大的提高,与此同时多媒体功能和网络支持都得到进一步加强。由于微软把很多以前是由第三方提供的软件整合到操作系统中,XP受到了猛烈的批评。这些软件包括防火墙、媒体播放器(Windows Media Player),即时通讯软件(Windows Messenger),以及它与Microsoft Pasport网络服务的紧密结合,这都被很多计算机专家认为是安全风险以及对个人隐私的潜在威胁。尽管如此,大家还是对这个系统给予了高度认可。

Windows Vista:硬件杀手有点冷

                        

      Windows Vista于2007年1月30日正式发行。它距离上一版本Windows XP已有超过五年的时间,这是Windows版本历史上间隔时间最久的一次发布。虽然间隔了很久,但大家对这位新朋友的并不十分友善。虽然Windows Vista有着华丽丽的外表,但由于相应硬件、软件厂商没有及时发布升级产品,导致Vista存在大量硬件、软件兼容性问题。虽然微软公司及时发布了补丁程序但,还是未能挽回人们对于Windows Vista的印象。相信今天的电脑里,正在使用Windows Vista的并不多见。但不可否认,Windows Vista包含了上百种新功能,而且使用p2p技术提升了计算机系统在家庭网络中的示通信能力。为接下来的Windows 7系统打下了良好的基础。

◆Windows 7:新主流

  

      微软2009年10月正式面向全球发布Windows7操作系统,提供销售Windows7家庭普通版、家庭高级版、专业版和旗舰版四大版本,同时也发布了服务器版本——Windows Server 2008 R2。Windows7以其美观、简单、快速、稳定和高效等特点深受消费者喜爱,Win7上市两年销售量突破5亿份成为微软史上最畅销的操作系统软件。与此同时,Windows7正迅速在企业市场普及取代占据WinXP系统,成为新一代主流操作系统。

 

 

编程说明——用C还是用C++

 

      用VC编写Windows程序有两种:1. Windows c方式(SDK),2. C++方式:即对SDK函数进行包装,如VC的MFC。SDK编程就是直接调用Windows的API进行编程,平时人们常说"用SDK写程序"就是指用Windows的API函数来写程序,API由上千个API函数组成。而MFC是API的封闭,结合面向对象程序设计的继承性和多态性组成一个个的"类",共由一百多个类组成。尽管MFC比SDK方便,但要深入VC,直接去学MFC却是不明智的选择。只有在熟悉了MFC的运行机制的情况下,才有可能深入下去。所以学VC最好是先学用SDK编写程序,在此期间掌握Windows操作系统的工作原理和各API函数的应用,然后再深入MFC。

 

      既然要详细的学好windows编程就要用“经典的windows编程方法”——使用C语言和原始的Windows API啦。当然这不是编写windows程序唯一的方法,但这种方法却提供给您最佳的性能、最强大的功能和在发掘Windows特性方面最大的灵活性。最重要的是,不管您最终以什么方式开发Windows应用程序,熟悉API会使您对Windows内部有更深入的了解。

 

      API——我们在编写标准C 程序的时候,经常会调用各种库函数来辅助完成某些功能;初学者使用得最多的C 库函数就是printf 了,这些库函数是由你所使用的编译器厂商提供的。在Windows 平台下,也有类似的函数可供调用;不同的是,这些函数是由Windows 操作系统本身提供的。Windows 操作系统提供了各种各样的函数,以方便我们开发Windows 应用程序。这些函数是Windows 操作系统提供给应用程序编程的接口(Application Programming Interface),简称为API 函数。我们在编写Windows 程序时所说的API 函数,就是指系统提供的函数,所有主要的Windows 函数都在Windows.h 头文件中进行了声明。③

 

      SDK——我们经常听人说 Win32 SDK 开发,那么什么是SDK 呢。SDK 的全称是SoftwareDevelopment Kit,中文译为软件开发包。假如现在我们要开发呼叫中心,在购买语音卡的同时,厂商就会提供语音卡的SDK 开发包,以方便我们对语音卡的编程操作。这个开发包通常都会包含语音卡的API 函数库、帮助文档、使用手册、辅助工具等资源。也就是说,SDK 实际上就是开发所需资源的一个集合。现在读者应该明白Win32 SDK 的含义了吧,即Windows 32 位平台下的软件开发包,包括了API 函数、帮助文档、微软提供的一些辅助开发工具。③

 

      提示:API 和SDK 是一种广泛使用的专业术语,并没有专指某一种特定的API 和SDK,例如,语音卡API、语音卡SDK、Java API、Java SDK 等。

 

 

 

 

 

 

① 本小节引自《编程中国》网站的《Windows编程基础-概述》一文

② 本小节引自《Windows7社区》的《从1到7的巨变 细数windows的发展史》

③ 本段引自孙鑫《VC++深入详解》

 

posted @ 2012-02-16 19:33  hu_jiacheng  阅读(2258)  评论(10编辑  收藏  举报