Windows 程序设计.ppt
《Windows 程序设计.ppt》由会员分享,可在线阅读,更多相关《Windows 程序设计.ppt(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Windows 程序设计,哈尔滨工业大学计算机系322教研室,陶海军,参考书,1.Windows程序设计,Charles Petzold著,北京大学出版社。上 下两册。,主要讲述Windows SDK程序设计方法。涉及到Windows程序设计的大部分内容,但是对于Windows内核涉及不多。多任务多线程 网络等内容略显单薄。适合中级Windows程序设计者。,2.Windows高级编程指南,Jeffrey Richter著,清华大学出版社,1999.6。,深入探讨Windows内核,是高级Windows程序员必备书。,为Windows SDK程序设计的基本指导书,也是32位Windows AP
2、I的基本手册。由于Windows最初良好的规划,直到现在这套书依然具有相当的价值,尤其对于Windows程序设计的基本知识的讲解对于初学者来说尤为关键。,3.Microsoft Win32TM 程序员参考大全,Microsoft Corporation著,清华大 学出版社,1995.4,共5册。,4.Microsoft Visual C+TM for Win32 大全,Microsoft Corporation著,清华大学出版社,1996.3。共5册。,主要讲述Visual C+类库。现在看来,这本书关于MFC2.0的内容已经有些过时(MFC现已升级为4.22-From MSDN librar
3、y-July 2000)。但是作为讲解Visual C+的类库结构以及类库用法的基本指南,还是很有意义的。,5.Visual C+技术内幕第四版,David J.Kruglinski著,清华大学出版社。,Visual C+程序设计入门的好书,但是由于对Windows内部结构以及工作原理基本没有讲解,因此想在此书基础上成为高级Windows程序设计者不太现实的。,另附COM与OLE技术相关书籍:,6.COM技术内幕,Dale Rogerson著,清华大学出版社,1999.3。,关于Microsoft公司COM(组件对象模型)技术比较浅显易懂的(相对)书籍。概要性的介绍了COM技术的各个方面。,7
4、.Inside OLE-MSDN中。,关于Microsoft公司OLE(对象链接与嵌入)技术的全面介绍。OLE技术是COM技术的前身,也是其基础。,Windows发展简史,1981年秋,随着IBM PC的推出,Microsoft设计了MS-DOS。DOS是一个小型操作系统,提供了命令行界面,并且给出一组函数调用(中断)进行文件的输入/输出。对于其他任务-尤其是将文本或图形写到视频显示器-应用程序可以直接访问PC硬件。 1985年11月,Microsoft推出了Windows 1.0。该图形系统的原型来自于Xerox Palo Alto Research Center (PARC)在70年代中期
5、对图形用户界面所做的开拓性工作。 1987年11月,出现Windows 2.0,该系统最主要的特性是采用了层叠窗口,这样有效的增加了屏幕的利用率,而在Windows 1.0中采用的是平铺窗口(所有窗口并列排放在屏幕上)。而且2.0还增强了键盘和鼠标的接口,特别是加入了菜单和对话框。 在以上阶段中,Windows还只要求Intel 8086或者8088处理器,以“实模式”访问1MB内存。直到Intel 386出现,Microsoft推出了Windows/386,该系统使用386的“虚拟86”模式,实现直接硬件访问的多个MS-DOS程序的窗口化和多任务化。 1990年5月22日,Windows 3
6、.0出现。该系统取得了巨大的成功,从这时开始,Windows开始正式进入家庭和办公室。其至关重要的一个改变是对Intel的286、386、486微处理器保护模式的支持。这使得Windows和Windows应用程序能够访问高达16MB的内存空间。Windows用于运行程序和维护文件的“外壳”程序得到了全面的改进。 1992年4月,Windows 3.1出现。这个系统已经接近于我们现在看到的Windows的样子。有许多现在仍然使用的技术就是在3.1中首先得到应用的,例如TrueType字体技术、多媒体技术、OLE技术和通用对话框。3.1仍然在保护模式下运行,并且要求至少1MB内存和286或386处
7、理器。,1993年7月,Microsoft推出了Windows NT(New Technology)。这个系统的出现意味着Microsoft将要进入服务器操作系统市场。它采用了许多先进技术,为第一个支持386、486 Pentium微处理器32位模式的Windows。有32位平面地址空间,并且使用32位指令集。可以被移植到非Intel处理器上,并且能在几种RISC工作站上运行。 1995年8月,发布Windows 95。同Windows NT一样,Windows 95也支持Intel 386或更高级处理器的32位模式。虽然缺少Windows NT中的某些高级特性,但具有需要较少硬件资源的优点。
8、Windows 95是一个非常受欢迎的32位操作系统。 1996年,推出Window NT 4.0。这是一个相当成熟的服务器操作系统,直到现在依然有很多用户。 1998年6月,发布Windows 98。在Windows 95上作了许多扩展。包括性能的提高、更好的硬件支持以及同Internet和WWW(World Wide Web)更紧密的结合。 2000年3月,发布Windows 2000。Windows 2000具有Windows NT的优秀性能以及Windows 98的易操作性,是Microsoft新一代操作系统的象征。 同年7月,推出Windows ME(千禧版)。这是在Windows
9、98上的升级版。 2001年10月,推出Windows XP,该操作系统为Windows2000的后续版本,其核心原理与Windows2000比较类似。 Windows 95,98,ME作为Microsoft家用操作系统系列,其内核为16位和32位混合模式。这是为了从Windows 3.1移植更为方便。 Windows NT自从出现就屏蔽了16位模式,是一个真正的32位,多任务的操作系统。,了解Windows API的必要性,Windows,API函数库,MFC,OWL,VB控件集,。,Visual C+,Borland产品,Visual Basic,其它,SDK(Software Devel
10、opment Kit)编程方法利用Windows系统提供的API(Application Programming Interface)函数直接与操作系统打交道,能够提供最佳的性能、最强大的功能和最大的灵活性。无论采取什么样的方式编写代码,了解Windows API都是必要的,它对于理解Windows原理非常重要。 当前市面上流行的开发工具通常都提供一个功能库,例如Visual C+的MFC,Borland C+的OWL以及Visual Basic的控件模式编程。这些功能库都是对API函数的封装,另外加上一些更为复杂的功能特性。然而,其基础是Windows API函数,其功能只是API的一个子集
11、。而且出于易用性考虑,屏蔽了API的一些具体细节,因此在某些场合不能够满足编程者的需要。而且由于其对API一些特性的屏蔽,使得编程者对于所面对的Windows系统不能有很全面的认识,不利于向更高层次发展。当然,使用这些功能库有助于提高项目速度,掌握Windows API有助于更深入以及更好的掌握这些功能库,并且能有效的扩展其功能。 通常高级语言都提供了API的调用接口,只是其调用方式不太一样。例如Visual C+可以直接调用API,而Visual Basic则要通过API文本浏览器获得API函数的Visual Basic兼容定义以及对动态库的引用来使用API函数。高级语言的这个特性给了我们接
12、触和使用底层Windows API,利用API强大功能的机会。,第一章 窗口,Microsoft Windows应用程序中的窗口是屏幕上的一个矩形区域,是应用程序用来显示输出或接受用户输入的。由于窗口是用户和应用程序交互的基本元素,所以应用程序首要的任务就是创建一个窗口。图1-1就是一个典型的Windows窗口。,图1-1 一个Windows窗口,桌面窗口:,桌面窗口是系统定义的窗口,在Windows启动后,自动创建桌面窗口。这个窗口绘制了屏幕的背景,作为Windows应用程序显示窗口的基础(可以认为是所有应用程序窗口的父窗口)。该窗口的背景图案在注册表中如下位置定义: HKEY_CURREN
13、T_USERControl PanelDesktopWallpaper可以通过SDK函数SetDeskWallpaper指定。,应用程序窗口:,每一个标准的Windows应用程序至少要创建窗口,称为主窗口。这个窗口是用户与应用程序间的主要接口。绝大部分应用程序还会直接或间接的创建许多其它的窗口,来完成与主窗口相关的任务,每一窗口都是用来显示输出或是从用户得到输入。,应用程序窗口的组成:,应用程序窗口一般包括标题栏、菜单栏、System菜单、最小化、最大化/还原、关闭按钮、改变大小的边框(Border)、客户区、水平滚动条和竖直滚动条。更为复杂的窗口还包括工具条、状态条等。图1-2为一个标准的应
14、用程序窗口-精简的文件管理器。,图1-2 一个标准的Windows窗口,图1-3 一个扩展的Windows窗口,其它类型的窗口:控制框、对话框和消息框,控制框是用来获得用户特定信息的窗口,通常与其他窗口连用,最典型的是与对话框合用。 对话框是含有一个或多个控制框的窗口。应用程序可以通过对话框提示用户提供完成某一个命令所需的输入。例如打开文件对话框。如图1-4,图1-4 文件打开对话框,图1-5为一个典型的Windows消息框。,图1-5 消息框例子,标题栏:,用于显示应用程序定义的一行正文,通常是应用程序的名字或说明该窗口的用途,由应用程序在创建窗口时指定。标题栏使得用户可以通过鼠标或其它的定
15、点设备来移动窗口。标题栏的正文可以通过API函数SetWindowText来改变。,菜单栏:,菜单栏列出了应用程序所支持的命令,菜单栏中的项是命令的主要分类。用户可以选择一个命令让应用程序完成该任务。,System菜单栏:,System菜单是一个由Windows系统创建和管理的菜单,其中包含标准的菜单项设置,用户可以通过它改变窗口的大小或对窗口重新定位或关闭应用程序。,最大/最小化/关闭按钮:,最大/最小化按钮用来改变窗口的大小和位置,关闭按钮用来关闭当前窗口。,窗口边框:,窗口边框是围绕窗口四周的一个区域,通过它用户可以用鼠标或其他定点设备改变窗口的大小。,客户区:,客户区是窗口的一部分,应
16、用程序用于显示输出,如正文或图形。应用程序必须提供一个称为窗口过程的函数,来处理窗口的输入并在客户区输出。,水平/竖直滚动条:,水平和竖直滚动条把鼠标或键盘的输入转换成一个数值,应用程序用来按水平或竖直方向移动客户区的内容。,创建窗口,应用程序可以通过函数CreateWindow或CreateWindowEx来创建窗口。CreateWindowEx比CreateWindow多一个参数dwExStyle(扩展风格)。 Windows系统还提供了另外一些函数-DialogBox、CreateDialog以及MessageBox来创建特殊用途的窗口,例如对话框和消息框。,CreateWindowEx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- windows 程序设计
限制150内