图书在版编目(《?>数据
” 匕(10~ 5^1 程序设计参考大全/ 求是科技编著. 一北京:人民邮电出版社,2006.1
ISBN 7-115-14167-3
I . W... I I . 求… III.窗口软件,Windows—软件接口一程序设计W. TP316.7
中国版本图书馆0«>数据核字(2 0 0 5 )第 136189号
内容简介
本书是关于閻以050代\ ^ 032八? 1 函数的完整参考手册。本书洋细介绍了每一个別032八?1 函数的使用方
法,其中着重介绍其原型表示、函数说明、参数说明、注意事项、相应头文件(.H)、链接库CLIBS.DLL)
和典型示例。对于每个函数本书给出了相应的示例,这样读者在阅读相应的〜4 3 2 ^ 1 函数时就能很快地了
解它的具体功能和使用方法,便于更快地常握该接口函数。
本书是从事" ! < ^ ( ^ ^ 〜104<从5 操作系统开发和应用人员的必备参考书,也可作为大专院校相关专业师
生自学、教学参考用书。
软件工程师开发技术大全
Windows A PI程序设计参考大全
~V~m~ 著求是科技 ~^
责任编辑张立科
♦ 人民邮电出版社出版发行 北京市崇文区夕照寺街丨4 号
邮编 100061 电子函件 315@ptpress.com.cn
网址 http://www.ptpress.com.cn
北京鸿佳印刷厂印刷
新华书店总店北京发行所经销
♦ 开本:787x1092 1/16
印张: 47
字数:丨443千字 2006年丨月笫丨版
印数:1-5000册 2006年 1 月北京第丨次印刷
ISBN 7-115-14l67-3ATP • 5070
定价:88.00元 (附光盘)
读者服务热线:(010)6 7 1 3 2 6 9 2 印装质量热线:(010)67129223
求是科技
主编:
编委:
张宏林
周至喜、
张益贞、
于忠秋、
张 伟 、
邹宇斌、
候晓勇、
王 军 、
刘 静 、
陈 敬 、
张铁军、
田 立 、
李玉国、
李玉玉、
翟大中、
蒋啸宇、
朱 昆 、
虞福军、
王晓勇、
朱 静 、
郭素文、
李贵森、
马凤生、
姚金福、
王作远、
颜学庆、
赵 夏 、
马亦飞、
李玉周、
赵文意、
魏伟夫、
蔡开庆、
李学斌、
李保平、
王 开 、
曹广鑫、
闾海容、
魏 雪 、
王伟滨、
张志颖、
仁 宇 、
李冰洋、
韩志新、
张保华、
张 娜 、
张永吉
杜学峰
陈晓琳
王 珏
窦 亮
李 梅
李铁柱
石国明
赵志伟
张立英
周志贺
Win32 A P I是 W indows操作系统提供的应用程序接口函数,它基本上涵盖了应用程序编
程屮涉及的各个方面。在使用?^ 0 :编程时,所用的M FC 函数都是封装在Win3 2 A P I基础之
上的,即 M F C 是 W in32A P I的一个上层架构。学习W in32A PI能更深刻地理解M FC 的运作
机制,同时使用W in32A P I函数编程要比使用M F C 更灵活,能编写出更加高效的程序。別 032
A P I也可以在V B 和 D elphi等语言中使用。
可 以说 ,从事一丨化0%5 程序的开发,离不开人? 1 的调用,只有充分理解和利用八朽函
数,才能深入到\ ^ “ 0 〜 5 内部,充分挖掘系统提供的强人功能。本书包含了人多数程序员需
要使用的主要的A PI,可以为程序员在开发W indow s程序时提供参考。
对于一化(10~ 8 程序员,如果面对一大堆组织混乱的文档资料,缺少示例,将很难从中获
取有益的帮助。本书按功能对\^ 0 3 2 八? 1 函数进行了划分,对于每一个功能部分,其相应的
函数都给出了它们的函数原型、功能和用法、注意事项、所在头文件、参数调用和典型示例
等信息。并且本书的示例简要而全面,提供了函数所有变请的说明和用法。示例的目的是为
了在一个简单的程序中说明一个或者几个函数。
W in 3 2八朽函数按照功能划分为窗口处理、设备上下文、绘图函数、位图和图标、菜单
处埋、文件处理、处理文木和字体、硬件和系统、\^ & 0 〜 5 消息、远程访问服务和別& 0 〜5
套接字等部分。本书内容如下:
第 1 章介绍了〜丨0 3 2 应用程序的一些基本知识,例如系统消息传递机制、图形接口编程
等,另外也介绍了>\% 32八朽函数的一些基本知识。
第 2 章介绍了关于窗口处理部分的\^ 1 ^ 2 八? 1 函数,例如窗口创建、撤销等。
第 3 章介绍了设备上下文(D C ) ,例如创建和获取0 0 、坐标变换等。
第 4 章介绍了绘图函数,例如路径、图元文件等。
第 5 章介绍了位图和图标,例如从口匕匕中获取图标、设置口出的颜色表等。
第 6 章介绍了菜单的处理,例如上下文菜单显示、设置位图菜单项等。
第 7 章介绍了内存的处理,如内存管理函数、堆函数等。
第 8 章介绍了文件的处理,例如文件查找、加锁和解锁文件等。
第 9 章介绍了文本和字体的处理,例如获取系统中字体的信总、输出各种形式的文木等。
第 1 0 章介绍了硬件和系统,例如捕获鼠标、获取各种系统信息等。
第丨1 章 介 绍 了 …丨…^ ^ 消息,例如消息的获取和发送等。
第 1 2 章介绍调试和错误处理,例如调试、错误处理、口志文件等。
第 1 3 章介绍远程访问服务,例如远程连接、连接管理、电话簿等。
第 1 4 章介绍W indow s套接7 , 例如数据传输、 Windows Sockets等。
对于不同层
次
的
\ ^
仏
( ^ ^
操作系统编程人员
来
说,本书都
极具
参考
价值
,是一
木
不可多
得的参考书。由于〜丨& 0~ 8 操作系统及其六? 1 函数所涉及的知识面极为广泛,而作者的知识
有限,所以尽管我们对本书中所涉及的内容一再推敲和仔细调试,仍有可能出现错误和纰漏,
希望广大读者批评指正。
编者
录
第 1 章 \^ ^ 1 0 从5 编程概述...................................................................................................................... 1
1.1 \¥ 4 3 2 程序概述..........................................................................................................................1
1.2 图形界面编程.............................................................................................................................. 1
1 . 3 消息传递机制.............................................................................................................................. 7
1.4 〜 4 3 2 ^ 1 概述...........................................................................................................................7
1.5 为什么用A PI.............................................................................................................................. 8
1.6 如何在程序中凋用人朽函数...................................................................................................8
1 . 7 本书示例约定..............................................................................................................................8
第2 章窗口处理......................................................................................................................................10
2.1 窗口简介.....................................................................................................................................10
2.2 窗口的创建和撤销................................................................................................................... 10
2.2.1 创建普通窗口 (CreateW indow、CreateW indowEx)
.........................................
10
2.2.2 关闭窗口(CloseW indow) .......................................................................................19
2.2.3 销毁窗口(DestroyW indow) ...................................................................................20
2.3 窗口类操作................................................................................................................................ 21
2.3.1 注册窗口类(RegisterClass、RegisterClassEx) ..................................................21
2.3.2 撤销窗 口 类 ( UnregisterClass )
............................................................................... 23
2.3.3 获得窗 口 类信息( GetClassInfoEx ) .......................................................................24
2 . 3 . 4 得到指定窗口的窗口类(GetClassName ) ............................................................25
2.4 窗口之间的关系........................................................................................................................26
2.4.1 父子关系(SetParent、GetParent、IsC hild)
.......................................................
26
2.4.2 遍历窗口(EnumWindow、EnumWindowProc、EnumChildWindows,
EnumChildProc) ......................................................................................................... 29
2.4.3 获取指定的子窗口(ChildWindowFromPoint、ChildWindowFromPointEx) 31
2.4.4 获得特定的窗口(GetWindow、GetTopWindow、GetNextWindow,
GetDesktopW indow) ..................................................................................................33
2 . 5 窗口的大小、位置和布局...................................................................................................... 37
2.5.1 获取窗口大4、(GetWindowRect、GetClientRect) .............................................37
2.5.2 调整窗口大小(AdjustWindowRect、AdjustWindowRectEx)
.........................
39
2.5.3 设置和获取窗口位置(SetWindowPos) ............................................................... 41
2.5.4 移动窗口位置(MoveWindow) .............................................................................. 43
2.5.5 设置和获取窗口布局(SetWindowPlacement、GetWindowPlacement)
........
44
2.5.6 设置和获得视口坐标起点(SetViewportOrgEx、GetViewportOrgEx)
.........
45
2.5.7 设置和获取视口坐标范围(SetViewportExtEx、GetViewportExtEx)
...........
47
2.5.8 设置和获取窗口坐标起点(SetWindowOrgEx、GetWindowOrgEx)
............
48