windows应用程序编程接口api

上传人:tian****1990 文档编号:75784746 上传时间:2019-02-01 格式:PPT 页数:66 大小:609KB
返回 下载 相关 举报
windows应用程序编程接口api_第1页
第1页 / 共66页
windows应用程序编程接口api_第2页
第2页 / 共66页
windows应用程序编程接口api_第3页
第3页 / 共66页
windows应用程序编程接口api_第4页
第4页 / 共66页
windows应用程序编程接口api_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《windows应用程序编程接口api》由会员分享,可在线阅读,更多相关《windows应用程序编程接口api(66页珍藏版)》请在金锄头文库上搜索。

1、第5章 Windows应用程序 编程接口,教学要点 本章内容主要包括API的概念及分类,从API的使用看操作系统所提供的服务,操作系统内核中的文件操作API的使用,网络服务API函数的使用,利用图形设备接口API编写图形用户界面程序的方法。 要求了解API的分类及其对应的磁盘上的物理文件.DLL的名称、网络服务API的含义和网络编程的一些基本概念、进程概念及建立新进程的方法、WM_PAINT消息含义。握握API概念和其与操作系统提供的程序员接口的关系、内核中文件操作API的调用,熟悉API编写图形用户界面程序的步骤,熟练掌握API编写的图形用户界面程序的主要组成模块及含义。,第5章 目录,5.

2、1 API概述 5.2 内核服务API函数的使用 5.3 网络接口服务 5.4 Win32 API编写图形界面程序 5.5 图形设备接口与用户接口服务 习题,本章以一些API设计的控制台程序和具有图形界面的Win32程序为例,阐述了利用API函数开发程序的过程,重点在于理解操作系统所提供的各种服务以及程序员如何进行调用。,5.1 API概述,5.1.1 关于Windows API编程模式 5.1.2 API简介 5.1.3 Windows核心三个动态链接库 5.1.4 Windows API分类 *5.1.5 操作系统的认识,Windows API编程是一种原始的开发Windows应用程序模式

3、,它主要使用的是C语言、少量的C+通用类及“原始”的Windows应用程序编程接口API(Application Programming Interface)。这些函数都是比较底层的函数,其地位大致相当于字符界面环境下C语言的标准库函数,只不过其运行环境为Windows的图形界面环境。 本篇的后多半部分虽然采用的是相对比较简单的MFC编程,但使用底层的API函数编写程序可以看到许多MFC编程看不到的东西,从而对Windows的内部运作有更深入的了解。进行API编程,要求用户对Windows环境比较熟悉,并且熟悉C语言。在API编程中用到大量的有关操作系统的结构体变量和控制操作系统的函数,当在使

4、用API函数遇到问题时,可以随时查阅Windows的API文档,它位于MSDN的Platform SDK部分。,5.1.1 关于WindowsAPI编程模式,Windows操作系统向程序员提供了可以实现开启窗口、绘制图形,使用系统各种设备等的一组函数服务,称之为Application Programming Interface(应用程序编程接口),即API函数。 利用VC进行Windows应用程序的开发,除了用到各种.h头文件中的库函数及数据结构外,还需要使用Windows SDK(Software Development Kit,软件开发工具包)提供的使用于Windows应用程序的特殊库函数

5、和数据结构、语句、文件结构。所有这些内容组成了Windows应用程序设计接口API。 使用Win32 API,应用程序可以充分挖掘出Windows 32位操作系统的潜力,Microsoft的所有32位平台都支持统一的API,包括函数、结构、消息、宏及接口。使用Win32 API,不但可以开发出在各种平台上都能运行的应用程序,而且还可以充分利用每个平台上特有的功能和属性。,5.1.2 API简介,5.1.3 Windows核心 三个动态链接库,Windows操作系统核心有三个动态链接库(Kernel32.dll,User32.dll,Gdi32.dll),这些动态链接库构成了Win32 API函

6、数。,1Windows内核库(Kernel32.dll) 内核库中的函数用于处理操作系统功能的所有核心工作,例如多任务管理、内存管理等。另外内核库还管理系统注册表。 2Windows用户界面管理库(User32.dll) 用户界面管理库包括了Windows管理、菜单、光标、定时器和通信等有关的函数。在Windows中,窗口的标识被称为“句柄”。 3Windows图形设备界面库(Gdi32.dll) 图形设备界面库提供了用于管理系统支持的所有图形设备函数,包括屏幕、打印机等设备的管理。GDI库中的函数为应用程序提供与设备无关的绘图内容。应用程序中通过GDI库中的函数绘图,不是直接面向硬件操作,而

7、是通过“设备描述表”来进行操作,它通过句柄hDC来跟踪。,Windows三个核心库中的API函数的原型声名在windows.h中有说明,这就是我们在编写Win32应用程序时要在程序开头放#include “windows.h”语句的原因。,5.1.4 Windows API分类,根据Windows API函数完成的功能,可以将其分为如下的类别:,1内核服务 通过内核服务函数,应用程序可以使用计算机中的资源和操作系统的特性,例如内存,文件系统、设备、进程、线程等。拿一个简单的文件输入输出函数来说,通过这些函数,程序员可以存取本地计算机或网络中某台计算机中的文件、目录、输入输出设备,并且这些文件函

8、数支持各种各样的文件系统,包括FAT、NTFS的文件系统。 内核服务体现了Windows操作系统“服务”的观点。作为一个程序员我们应该利用这些服务函数来充分发挥操作系统的功能。对于这部分API函数的使用,我们可以在基于控制台的应用程序中编写,因为这些函数都是一些与Windows图形用户界面无关的,在字符方式下操作比较简单。后面有关这方面函数的操作就是在基于控制台的应用程序中使用的。 内核服务的函数大部分包含在Windows内核库Kernel32.dll中。,5.1.4 WindowsAPI分类(续),2图形设备接口 图形设备接口是Windows最原始的图形输出库(最原始意味着除了GDI外,还有

9、工业界用的OpenGl和游戏界用的DirectX,VC都对他们提供支持)。当看到图形或文本显示在屏幕上时,这就是GDI的功劳。它提供了在显示器、打印机或其它设备上生成图形的函数与相关的数据结构。利用GDI函数,你可以画直线、曲线、文本、位图等。你还可以使用各种各样的绘图对象如笔、画刷、字体等,使得所绘制的图形更加丰富多彩。另外,Windows本身也是通过GDI来绘制其用户界面,包括窗口、菜单和对话框。 顾名思义,图形设备接口是与图形界面有关的,因此这些函数的使用要在图形用户界面下操作。即必须建立基于Win32的应用程序,建立的步骤如4.4节所示。 图形设备接口的函数是包含在Windows图形设

10、备界面库Gdi32.dll中。,5.1.4 Windows API分类(续),3用户接口服务 用户接口服务函数可以创建和使用Windows来显示输出、提示用户输入和执行与用户交互的任务。用户接口服务是通过一些常见的Windows对象来实现的,例如按钮、组合框、编辑框、菜单、键盘输入、定时器等。 用户接口服务的函数是在Windows用户界面管理库User32.dll中。 4网络服务 网络服务允许分布在网络中不同计算机上的应用程序进行通讯。通过这些函数可以创建和管理共享资源,例如共享目录和网络打印机。 网络服务的函数是在网络接口函数库Mpr.dll、Wininet.dll和Winsock32.dl

11、l中。 5多媒体服务 多媒体技术是指利用计算机综合处理多媒体信息文本、图形、图象和声音等,使多种信息建立逻辑连接,集成为一个系统并具有交互性。多媒体服务提供了数字音频、视频、图形、图象等服务。 该服务的函数主要包含在多媒体函数库Winmm.dll中。,5.1.4 WindowsAPI分类(续),6客户/服务方式存取服务 在客户/服务方式存取模式中,客户可以连接到服务器上以使用服务器的功能和数据,服务器通过客户端的标识和权限来决定客户端可以使用的功能。Win2K提供了一套函数来限制和允许客户端对服务端的访问。这些函数扩展了Win2k的存取控制模型来使用服务端的私有对象和使用服务端的功能。客户/服

12、务方式存取服务又称操作系统高级编程接口,这些函数包含在高级编程接口函数库Advapi32.dll中。 7版本服务 版本服务主要提供有关文件的版本信息。这些服务所对应的函数包含在版本函数库Version.dll中。 8公共对话框服务 公共对话框,又叫通用对话框,是Windows预定义的对话框,可以使用通用对话框来执行六种标准操作,选择文件,指定字体、选择颜色、打印设置、查找文本、保存文件。这些服务所对应的函数包含在公共对话框函数库Comdlg32.dll中。,5.1.4 WindowsAPI分类(续),9打印管理服务 在Windows操作系统下,可以实现在各种设备下的打印。打印管理服务提供了完整

13、的函数集支持这些操作,例如检索打印机,准备打印等。这些服务所对应的函数包含在打印管理函数库Winspool.drv中。 10解/压缩文件服务 该服务提供了对文件的压缩和解压服务。这些服务所对应的函数包含在函数库Lz32.dll。 在VC6.0中提供了一个文件Win32api.csv。它是一个Win16与Win32函数的对照表。通过它读者可以浏览到Windows各种版本下API函数的原型说明。,5.1.5 操作系统的认识,操作系统有两个接口:一个是用户接口,另一个是程序员接口。 VC开发工具的强大,其中很重要的一个方面就是对于Windows API的直接调用,其它任何开发工具中的函数都是对其的一

14、个封装。凡是在Windows工作环境下执行的应用程序,都可以通过某种特定方式调用Woindows API函数。可以毫不夸张地说,Windows API函数是构建整个Windows框架的基石,在它下面是Windows操作系统核心,在它上面则是所有华丽的Windows应用程序。 事实上,任何开发工具提供的类库和构件都是架构在Win32 API函数基础上,是封装了的API函数集合。这些类库和构件简化了程序的开发,但其功能有限。在实际应用中,如果我们希望开发出更灵活、更实用、更具效率的程序时,则必须要涉及直接使用API函数。虽然类库和构件使应用程序的开发简单了,但它们只提供Windows的常用的一般功

15、能,对于比较复杂和特殊的功能来说,使用类库和构件中提供的方法是非常难以实现的,这时就需要直接调用特定的API函数。,5.2 内核服务API函数的使用,内核服务是最能体现API函数威力的地方,通过这些函数,用户能够使用操作系统内核所提供的核心功能。操作系统的进程管理、文件管理、内存管理都是属于内核的功能。,5.2.1 文件管理内核服务 5.2.2 进程操作 5.2.3 计算机系统信息操作,VC下提供了对文件操作的四种方式: (1)使用C语言中的fopen()、fprintf()、fread()等基本的函数进行文件操作; (2)使用C+中的流式文件接口fstream中的函数进行操作; (3)使用面

16、向对象的类CFile进行操作; (4)使用有关的文件API进行操作。,5.2.1 文件管理内核服务,1.文件操作 2.驱动器操作,API为一般的文件操作提供了三个函数:移动、复制和删除。 文件拷贝的API函数如下所示: BOOL CopyFile( /从源文件向目标文件复制内容 LPCTSTR lpExistingFileName, / 源文件名称 LPCTSTR lpNewFileName, / 目标文件名称 BOOL bFailIfExists /*目标文件存在时的操作模式,为true时,函数调用失败,为False时,现有文件将被覆盖*/ ); 文件移动和文件删除的API函数是MoveFileEx()和DeleteFile()【例5-1】调用API函数CopyFile实现文件拷贝实例。 Windows的内核功能的实现不一定要在Windows的图形界面下完成,在字符方式下也可以。由于目前Windows图形用

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号