Win32API参考手册

所需积分/C币:3 2014-02-10 18:11:22 2.96MB PDF

Win32API参考手册,PDF高清版,之前下载过681kb的chm格式,但看着字很小,且很多链接都是空白,推荐使用此PDF。
前言 Win32AP作为 Microsof t32位平台(包括: Windows9x, Windows n3.1/4.0/5.0, WindowsCe) 的应用程序编程接口,它是构筑所有32位Windσws平台的基石,所有在 Windows平台上运行的应用程序都 可以调用这些函数。 从事 Windows应用程序开发,离不开对Win32API凶数的调用。只有充分理解和利用API函数,才能 深入到 Windows的内部,充分挖掘系统提供的强人功能和灵活性 近年来,随着 Microsoft32位平台的版本升级,Win32API函数的构成、功能与调用方式都有很大 的发展变化,然而,国内很少有相关的新版资料出版。为了满足广大开发人员的迫切需求,我们经过认真 收集、整理素材,组织编写了这本与各种 Microsoft32位平台最新版本同步的Win32AI参考手册。 全书收录了五大类函数:窗口管理、图形设备接口、系统服务、国际特性以及网络服务。所有函数均 附有功能说明、参数说明、返回值说明、备注以及引用说明。另外,在本书的第一章,我们对WiN32API 函数作了完整的概述;在附录部分,讲解了如何在 Visual basic和 De l ph中对其调用。 由于篇幅较大,涉及技术内容广泛,加之时间仓促,书中难免存在不少错误或疏漏,希望广大读者给 与批评指正 编者 目录 第一章Win32API概论 1.1 为什么使用Wu32API.. 1.2 Win32API简介 第二章窗口管理函数( Window Control function).. 2.1 易用特性函数( Accessibility Features) 2 按钮函数( Button). 插入标记()函数( Caret) 2.4 组合框函数( Combo hox) 通用对话框函数( Common dialog box) 2.6 标函数( Cursor) 2.7 对话框函数 Dialog box.,, 2.8 编辑控制函数( Edit Control) 2.9 图标函数(Icon). 2.10 键盘加速器函数( Keyboard Accelerator). ,,,,73 2.11 键盘输入函数( Keyboard Input) 列表框函数( List boX) 2.13 菜单函数(Menu) ,9 2.14 消息和消息总队列函数( Message and Message Queue). 108 2,15 鼠标输入函数( Mouse Input) 120 2.16 多文档接口函数( Multiple document Interface) 12 2.17 资源函数( Resource) 127 滚动条函数( Scrol1Bar) 137 2.19 窗口函数( Window) 2.20 窗口类函数( Window class) 丰,, ,,175 2.21 窗口过栏函数( Window Procedure). 窗口属性函数( Window Property) 第三章图形设备接口函数 ,,189 位图函数( BItmap) 189 笔刷函数( Brush) 209 剪裁函数( Clipping) 214 3,4 颜色函数(Col0r)…… 220 坐标空间及映射函数( Coordinate space and transformation) 设备环境函数( Device context) ∷3.了 填允图形函数( Filled Shape) 3.8 字体和文木函数( Font and Text).. 3.9 ICM2.0函数 ∷3.10 直线和曲线函数( ine and curve) 3,11 元文件函数( Metafile). 290 多显示器支持函数( Mul tple display mon l tors) 3,13 绘图和画图函数( Painting and drawing).. 290 路径函数(Path). ,291 3.15 画笔函数(Pen) 291 3,16 打印和打印假脱机函数( Printing and Print Spooler). 291 矩形函数( Rectang|e) 区域函数( Region) ,,,,,291 第四章网络服务函数 2 第五章国际特性函数 293 第六章系统服务函数 294 II 第一章Win32API概论 11为什么使用Wu32API 在 Windows程序设计领域处于发展初期时, Windows程序员可使用的编程工具唯有API函数。这些函 数在程序员亍巾犹如“积木块”一样,可搭建出各种界面丰富、功能灵活的应用程序。不过,由于这些函 数结构复杂,所以往往难以理解,而且容易误用 随着软亻技术的不新发展,在 Windows平台上出现了很多优秀的可视化编程环境,程序员可以采用“所 见即所得”的编程方式来开发具有精美用广界面和功能的应用程序ε这些可视化编程抔璄操作简使、界面 友好,比如: Visual c艹+, Delphi, Visual basic等等。在这些工具中提供了人量的类库和各种控件,它 们替代了API的神秘功能。事实上,这些类库和控件都是构筑在 Windows api的基础上的,但它们使用方 哽,加速∫ Windows应用程序的开发,所以受到程序员的普遍呆用。有∫这些类库和控件,程序员们使可 以把主要精力放在整体功能的设计上,而不必过于关注具体细节。不过,这也导致了非常多的程序员在类 库血前“固步自封”,对下层API函数的强大功能一无所知 实际上ε程序员要想开发出更灵活、更实用、更具效率的应用程序,必然要涉及到直接使用API函数。 虽然类库和控件使应用稈序的开发容易得多,但它们只提供 Microsoft Windows的一般功能,对于一些比 較复杂和特砆的功能来说,单使用类厍和控件是难以实现的,必须直接使用APⅠ函效来编写。API函数是 构筑整个 Windows框架的基石,只有充分理解和利用AP函数,才能深入到 Windows的内部,充分发挥各 种32位平台的强大功能和灵活性,才能成功地扩展和突碳类库、控件和可视开发环境的限制 12Win32API简介 Win32API即为 Microsoft32位平台的应用程序编程接口( Application programming interface)。 所有在Win32平台上运行的应用程厅都可以调用这些函数 使用win32API,应用程序可以充分挖掘 Windows的32位操作系统的潜力。 Mircrosoft的所冇32位 平台都支持统一的API,包括函数、结构、消息、宏及接口。使用Win32API不但可以开发出在各种平台 上都能成功运行的应用程序,而且也可以充分利用每个平台特有的功能和属性。 在具体编程时,程序实现方式的差异依赖于相应平台的底层功能的不同。最显著的差异是某些函数只 能在更强大的平台上实现其功能。例如,安全函数只能在 Windows nt操作系统下使用。另外一些主要差别 就是系统限制,比如值的范围约束,或函数可管理的项日个数等等 标准Win32API函数可以分为以下几类 窗口管旦 窗口通用控制 Shel1特性 图形设备接口 系统服务 国际特性 网络服务 在卜面各节中,我们分别介绍这7种类型的API数 1.2.1窗口管理函数 窗口管珥函数向应用稈序提供了一些创建和管理用户界面的方法。你可以使用窗口管理函数创建和使 用窗口来显示输出、提小用户进行输入以及完成其他一些与用户进行交互所需的工作。大多数应用程序都 至少要创建一个窗口 应用程序道过创建窗凵类及相应的窗口过程来定义它们所用窗日的外观和行为。窗口类可标识窗凵的 缺省属性,比如窗口是否接受双击鼠标按钮的操作。或是否带有寀单。窗口过程中包含的代码用于定义窗 口的行为,完成所需的任务,以及处理用户的输入。 应用程序可使用GDI函数来产生窗口的输出。由于所有的窗口都共亨显小屏幕,所以应用程序不接受 对整个屏幕的访问。系统管理所有的输岀內容,并对它们进行排列和剪栽,使其能够适合相应的窗口。应 用程序可以在处理输入消息时,或为了响应系统的需求而在窗口中绘图。当窗凵的大小或位置发生变佖时 系统通常会向应用程序发送一个消息,要求它对该窗口中原来未显露的区域进行重画 应用程序以消息的形式接受鼠标和键盘输入。系统将鼠标移动、鼠标按钮操作转换为输入消息,并将 这些消息放入该应用程序的消息队列中。系统为每个应用程序都自动提供一个消息队列。应用程序使用消 息数从消息队列中获取消息,并将它们分派给适当的窗口过稈进行处理。 应用程序可以直接处理鼠标和键盘输人,也叮以让系统使用寀单和键盘加速健将这些低级输入转換成 命令消息。你可以使用菜单向用户展现一个命令列表。系统对所有菜单操作所需的动作进行管理,包括让 用户选择一个命令,然后再向窗日过程发送一个标识该选择的消息。键盘加速键是应用程序定义的按键操 作组合,系统可将其转换为消息。加速键通常对应于菜单中的某个命令,并与该命令产生相同的消息 应用程序通过在对话框中向用户提示附加信息来响应命令消息。对话框实际是一个临时窗凵,用于 显示信息或提示输入。一个对话框通常由一些表示按钮和方框的控制组成,可供用户进行选择或输入信息。 对话框屮可包括用于输入正文、滚动正文、从列表屮选择列表项等操作的控制。对话框管理和处理来自这 些控制的输入,使应用程序可使用这些信息,来完成所要求的命令操作 通过使用“资源”可以共享很多冇用的数据,比如位图、图标、字体和字符串等,只需将这些数据作 为“资源”添加到应用程序或DL文件中。应用程序通过使用资源函数,找到资源并将它们加载到内存来 获取这些数据。 窗口管理函数还提供了其他一些与窗口有关的特性,比如插入标记( Caret)、剪贴板、光标、挂钩(Hok) 图标以及来单等函数。 窗口管理函数包括以下几类: 易用特性函数( Accessibility features) Win32API提供的一系列易用特性使得有残疾的人也能很容易的使用计算机,Wi32API提供∫一些函 数和结构来控制这些特性。 按钮函数( Button) Microsoft提供了对话框和控制来文持应用程序与用户之间的交互通讯。按钮就是一种控制,用户可 通过点击按钮来向应用程序提供输入信息。 插入标记函数( Caret) 一个插入标记是位于窗口绘图区屮的一个闪动的直线、方块或图标。插入标记道常用于指示文本或图 形将插入的位置。Win32应用程序可以使用插入标记函数来创建一个插入标记,改变它的闪动频率,显示、 隐藏插入标记,或重新设置插入标记的位置。 组合框函数( Combo box) 组合框是由 COMBOBOX类定义的一种控制,综合了列表框和编辑控制的很多功能。使用组合框函数可以 在组合框巾显示或获取不同类型的数据。 通用对话框函数( Common Dialog box) 通用对话框是在通用对话框库中定义的,其功能是用米完成一些通用的仟务,比如打开文什、打印文 档等。通用对话框为用户提供了一个统一的用户界面,使用户在不同的应用程序中完成通用任务时的操作 都相同,不必每次都学习不同的操作过程。 光标函数( Cursor) 光标是显示屏幕上的一个小图形,其所在的位置由指点设备比如鼠标、光笔或轨迹球等控制。当用户 栘动鼠标时,系统就会随之栘动光标的位置。应用程序使用Win32光标函数可以创建、加载、显示、移动 限制和册除光标 对话框函数( Dialog box) 对话框是应用程序创建的一个临时窗口,用于获取用户的输入。应用程序通常使用对话框向用户显示 一些命令提示信息。一个对话框一般由一个或多个控制(子窗口)组成,这些控制可用来输入文本、选择 选项或执行命令动作。 编辑控制函数( Edit control) 编辑控倒是一个矩形窗凵,通常用冇对话框中,用户可通过键盘向编辑控制中输入和编辑文本。系统 对 Unicode文本(字符采用双字节绽码)和 ANSI(字符采用单字节编码)文本都支持 图标函数(Icon) 图标是一个图片,由一个位图图像组成,并和一个掩码组合构成该图片的透明区域。当提到图标时, 可以是下列两种情况 1)单个图标图像。资源类型为 RT ICON。 2)一组图标图像,系统或应用程序可从中选择。资源类型为 RT GROUP JCON。 应用稈序使用图标函数可以创建、显示、删除和复制图标。 键盘加速健函数( Keyboard Accelerator) 键盘加速键(或筍称为加速键)是一个按键操作或多个按键操作的组合,可向应用程序发送 WM COMMAND 或 WM SYSCOMMAND消息。 使用键盘加速键函数可以拷贝、创建、加载或删除加速键表,*图标是一个图片,由一个位图图像组成, 并和一个掩码组合构成该图片的透明区域。当提到图标时,可以是下列两种情况: 1)单个图标图像。资源类型为 RT ICON 2)一组图标图像,系统或应用程序可从屮选择。资源类型为 RT GROUP JCON。 应用程序使用图标函数可以创建、显示、删除和复制图标。 键盘加速健函数( Keyboard Accelerator) 键加速健(或简称为加速健)是一个按键操作多个按键操作的组合,可向应用程序发送 WM COMMAND 或 WM SYSCOMMAND消息。 使用键盘加速键函数可以拷贝、剑建、加载或删除加速键表,还可以将加速键消息转换为命令消息ε 键盘输入函数( Keyboard Input) 键盘输入函数提供了接受和处理健盘输入的方法。 列表框函数( List box) Microsoft的win32APⅠ提供了对话框和控制来支持应用程序与用户之间的交互通讯。列表框是一个 控制窗凵,其中包含一系列选项,可供用户进行选择。使用列表框函数可以在列表框中显示或获取不同类 型的数据。 菜单函数(Menu) 菜单函数向Win2应用程序提供了一系列创建、管理和使用菜单的方法,包括刈菜单条、菜羊项。 于菜单等的处理。 消息和消息队列函数( Message and Mes sage Queue 消息和消息队列函数冋Win32应用程序提供了一系列使用消息和消息队列的方法,包括对消息进行 传播、发送、获取、转换等换作 鼠标输入函数( Mouse input) 鼠标输入函数提供了接受和处理鼠标输入的方法 多文档接凵函数( Multiple document Interface) 多文档接口(MI)是应用程序定义用户界面的一种规范,在这种界面下,用户可以同时使用多个文档 资源函数( Resource 一个资源是一些二进制数据,可以添加到Win32应用程序的可执行文件中。资源既可以是标准的,也 可以是自己定义的。标准资源中的数据包括图标、光标、菜单、对诟框、位图、增强元文件、字体、力速 键表、消息表入口、字符串表入口或版本。应用程序定义的资源(也称为定制的资源)可以包含特 殊应用程序所需的任何数据。 使用资源函数可以添加、删除、拷贝、替换或加载各种资源数据。 滚动条函数(Scro1lBar) 在Win32应用程序的窗口中,可以显示比该窗口显示区更大的数据对象,比如文档或位图。当窗口 提供了滚动条时,用户就可以通过拖动滚动条来浏览该数据村象中位于显示区外面的部分 滚动条包括水平滚动条和垂直滚动条。使用滚动条函数可以创建和管理这两种滚动条。 口函数( Window) 在图形化旳Win32应用栏序中,窗口是屏幕上的一个矩形区域,应用程序可在该区域中显示输出结果, 并接受用户输入。因此,一个图形化的Win32应用程序的首要任务之一就是创建一个窗口。 个窗口与其他窗口共享显示屏幕,也包括其他应用程序所创建的窗口。一次只能有一个窗口接受用 户的输入。用户可以使用鼠标、键盘或其他输人设备与该窗口及拥有该窗口的应用程序进行交互。使用窗 口函数可以创建和管理窗口。 窗口类函数( Window class) 个窗口类是一个属性的集合,系统将该属忾集合用作创建窗口的模板。每个窗口都是某个窗口类的 个成员。使闲置或删馀窗口属性, 2.2窗口通用控制 系统 Shell湜供了一些控制,使用这些控制可以使窗口具有与众不同的外观。由于这些控制是由DLL 攴持的,是操作系统的一部分,所以它们对所有的应用程序都可用。使用通用控制有助于使应用稈序的用 户界面与系统 Shell及其他应用程序保持一致。由于开发一个控制需要花费一定的时间,所以直接使用通 用控制也可以节省人量的开发时间。 通用控制是由通用控制库(OMCT:32.支持的一个控制窗口集。与其他控制一样,一个通用控制乜是 应用程序的一个子窗口,它与其怛窗口联合使用,完成I/0操作。通用控制DL包括一个编程接口,应用 程序可使用其中的函数创建和管理控制。以及从控制中接受用户输入。 1.2.3Shel1特性 Win32APⅠ中包含一些接口和凶数,应用程序可使用它们来增强系统 Shell的各方面功能。 个名字空间是一个符号集合,比如文件和目录名字,或数据库关键字。Shel1使用一个单层结构的 名字空间来组织用户关心的所有对象,包括文件、存储设备、打印机及网络资源。名字空间类似于文件系 统的目录结构,只不过名字空间中包含的是对象,而不是文件和目录 快捷键(也称为一个She11连接)是一个数据对象,它包含的信息可用于访问位于Shc1l名字空间的 任何位置的其他对象。使用快捷键时,应用程序不必知道对象的当前名宇和位置就可以访问该对象。可以 通过快捷键访问的对象包括文仵、文件夹、磁盘驱动器、打印机及网络资源。 有几和方法可以扩展 Shell。系统使用图标来表示 Shell名字空间中的文件。缺省情况下,系统对具 冇相同文件扩展名的所冇文件都显示相同的图标。可以用一个图枟句柄来改变某特殊文件的缺省图标。使 用上下文相关菜单句柄可以修改一个上下文相关菜单的内谷,这也是一种 Shell扩展。当用户用鼠标右键 点击或拖动一个对象时,系统会显小一个上下文相关菜单。该上下文相关菜单中所包含的命令只应用在被 点击或拖动的对象上。人多数上下文相关菜单都包含一个 Properties命令,用于显示所选中项目的属性表。 一个属性表由一系列重叠的窗口组成(每个窗口称为一页),用于显示有关某个对象的信息。属性表句是 种 Shell扩展,使用它可以向系统定义的属性表中添加页,或替换控制面板的属性表的某些页。一个拷 贝挂钩(Iook)句枘是一种 Shell扩展,可以允许或拒绝对一个文件对象的移动、拷贝、删除或重命名 系统 Shell包含一个快速查看( uick view)命令,使用户可以直接查看一个文件的内容.而不必运 行创建该文件的应用程序。文件浏览器提供了一个用于查看文件的用户界面。She11使用文件扩展名来确 定应运行哪个浏览器。你叮以为新的文件格式提供文件浏览器,或用具有更强功能的浏览器来替换原来的 浏览器。文件浏览器与文件分析器联合使用,后者的功能是对文件名进行分析,以便确定应生成哪种类型 文件的QlckⅤiew。你还可以提供其他的文件分析器来支持新的文件类型 1.2.4图形设备接口 图形设备接口(GDI)提供了一系列的函数和相关的结构,应用程序可以使用它们在显小器、打印机或 其他设备上生成图形化的输出结果。使用GDⅠ函数可以绘制直线、曲线、闭合图形、路径、文本以及位图 图像。所绘制的图形的颜色和风格依赖于所创建的绘图对象,即画笔、笔刷和字体。你可以使用画笔来绘 制直线和曲线,使用笔刷来填充闭合图形的内部,使用字体来书写文本 应用程序通过创建设备环境(1)C),可以直接向指定的设备进行输出。设备环境是一个DI管理的结构。 其中包含一些有关设备的信息,比如它的操作方式及当前的选孑。应用程序可使用设备环境函数来创建DC GDI将返回一个设备环境句柄,在随后的调用中,该句柄用于表示该设备。例如,应用程序可以使用该句 柄来获取有关该设备性能的一些信息,诸如它的类型(显示器、打印机或其他设备),它的显示界面的尺寸 和分辨率答 应用程疗可以直接向一个物理设备进行输出,比如显示器或扌印机;也可以向一个“逻辑”设备进行 输岀,比如内存设备或元文件。逻辑设备向应用程序所提供的保存输出结果的格式,可以很容易地将其发 送到物理设备上。一旦应用稈序将输出结果记录到了一个元文件中,那么该元文件就可以被使用任意多次, 并且该输出结果可以被发送到仼意多个物理设备上。 应用程序可以使用属性函数来设置设备的操作方式和当前的选择。操作方式包括文本和背景颜色,混 色方式(也称为二元光栅操作,用于确定画笔或笔刷的颜色与绘图区域现有的颅颜色如何进行混色),映射方 式(用于指定GDI如何将应用程序所用的坐标映射到设备坐标系统上)。当前的选择是指绘图时使用哪个绘 图对象。 图形设备接口函数包括以下几类 位图函数(B1tmap) 位图是一个图形对象,可将图像作为文件进行创建、处理(比例缩放、滚动、旋转和绘制)和存储。 位图函数提供了一系列处理位图的方法 笔刷函数( Brush) 笔刷是一种绘图工具,Win32应用程序可使用它绘制多边形、椭圆形和路径的内部。绘图应用程序使 用笔刷绘制图形;字处理应用程序使用笔刷绘制水线;计算机辅助设计(CAD)应用程序使用笔刷绘制截面 视图的内部;电子表格应用程序使用笔剜绘制饼图的扇形和直方图的方条。笔刷函数提供了一系列创建和 使用笔刷的方法。 剪裁函数( Clipping 剪裁是一种处过程,它将输出到某个区域或路径中的内容限制在应用程序窗口的显示区内。剪裁函 数提供了一系列处理剪裁区域的方法。

...展开详情

评论 下载该资源后可以进行评论 11

aaqhit 不错,很好的参考资料,值得拥有
2018-07-18
回复
下塘烧饼 不错,很好的参考资料
2017-09-02
回复
throughthink 很好,比较有用
2016-08-08
回复
_DvBingo 资料很全,非常不错,谢谢分享
2016-06-30
回复
wypzl 感谢您的分享,对我的学习很有帮助
2015-10-14
回复
mingtianxiayu229 很不错,喜欢,谢谢分享。
2015-06-19
回复
pochao5124884 只发代码,没有发书本目录,都不知每一张是什么例子都没有说明,怎么看
2015-05-30
回复
lee_tears 我喜欢,好用,比较全,页面比较清晰
2015-05-28
回复
桓獾 非常不错 对我很有帮助
2015-04-16
回复
qidi2014 特别全,很好
2015-01-31
回复
img
青鸟天空

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐