第一部分 Windows NT编程基础 1
第1章 Windows NT总览 1
1.1 Windows NT结构总览 2
1.2 编程语言和开发环境 9
1.3 应用程序编程接口 10
1.4 软件开发工具 10
1.5 微软基础类库(MFC) 11
1.6 图形设备接口(GDI) 11
1.7 因特网和网络编程 12
1.8 构件对象模型(COM)和分布COM 13
1.9 OLE 13
1.10 多媒体 14
1.11 数据访问 14
1.12 注册库 14
1.13 NT服务器和NT工作站 14
1.14 Windows NT服务器增加的服务器功能 15
1.15 小结 17
第2章 用户界面程序设计 18
2.1 窗口用户界面 18
2.2 Windows NT用户界面程序设计 19
2.3 API和MFC编程 19
2.4 基本控件 19
2.5 控件编程 20
2.6 使用预定义控件 20
2.7 其它基本控件 26
2.8 手工添加控件 27
2.9 失效控件 27
2.10 独立控件 28
2.11 用户界面:不仅仅是控件 28
2.12 MFC控件类 28
2.13 加速键 29
2.14 用户界面中的文本支持 30
2.15 小结 31
第3章 NT的通信和网络 32
3.1 ISO通信模型 32
3.2 OSI模型和Windows NT应用程序 36
3.3 Windows NT中的通信机 37
3.4 协议 41
3.5 TCP/IP配置和安装方法 42
3.6 Windows Internet命名服务(WINS) 43
3.7 Windows NT的Macintosh支持 43
3.8 分布计算 44
3.9 Dial-Up Networking和RAS 45
3.10 小结 45
第4章Windows NT文件系统 46
4.1 文件系统 46
4.2 文件分配表(FAT) 46
4.3 新技术文件系统(NTFS) 47
4.4 高性能文件系统(HPFS) 47
4.5 光盘文件系统(CDFS) 48
4.6 文件系统程序设计 48
4.7 内存映象文件 52
4.8 文件系统通知 54
4.9 异步I/O 56
4.10 RAID支持 60
4.11 小结 60
第二部分 NT高级GUI和OS服务编程 63
第5章 GDI编程 63
5.1 GDI基础 63
5.2 字体 65
5.3 使用内建字体 66
5.4 字体编程举例 67
5.5 世界坐标变换 84
5.6 小结 99
第6章 高级用户界面程序设计 100
6.1 重画问题 100
6.2 虚窗口理论 101
6.3 重画优化 108
6.4 访问超过尺寸的虚窗口 110
6.5 动态增加滚动条 120
6.6 小结 129
第7章 高级控件 130
7.1 高级控件 130
7.2 使用API的高级控件编程 131
7.3 使用MFC库的高级控件编程 132
7.4 动画控件 132
7.5 旋转控件 140
7.6 滑块控件 148
7.7 进度控件 156
7.8 热键控件 163
7.9 工具条控件 169
7.10 属性页 181
7.11 树型视图控件 188
7.12 列表型视图控件 205
7.13 小结 215
第8章 位图动画 216
8.1 动画基础 216
8.2 驱动动画 216
8.3 动画文字:一个标语条程序 218
8.4 为动画使用空闲周期 222
8.5 图片动画 226
8.6 一个简单图片动画例子 227
8.7 图片级动画 232
8.8 使用前景和背景 238
8.9 小结 247
第9章 NT动态链接库(DLL) 248
9.1 为什么需要DLL 248
9.2 开发DLL和应用程序比较 250
9.3 Win16和Win32 DLL的差别 250
9.4 激活和释放DLL 250
9.5 激动DLL的步骤 252
9.6 DLL入口/出口函数 252
9.7 DLL的输出和输入函数以及变量 253
9.8 DLL输出/输入编程举例 254
9.9 载入DLL的DLL编程举例 256
9.10 DLL版本控制 259
9.11 DLL版本控制编程举例 259
9.12 小结 262
第10章 高级OS服务 263
10.1 创建和终止进程 264
10.2 线程基础 267
10.3 使用Win32 API的线程编程 268
10.4 使用MFC的线程编程 269
10.5 创建线程的编程举例 270
10.6 线程优先级类型和级别 275
10.7 静态和动态线程局部存储 276
10.8 进程和线程同步 277
10.9 小结 321
第11章 记录消息和使用钩子 322
11.1 记录和重现应用消息 322
11.2 一个简单的消息记录器 324
11.3 钩子函数 333
11.4 使用一个钩子函数记录消息 336
11.5 保持一个系统范围的消息日志 343
11.6 小结 353
第三部分 NT通信程序设计 355
第12章 OLE和ActiveX简介 355
12.1 OLE2基础 355
12.2 OLE自动化 361
12.3 OLE编程因素 361
12.4 ACTIVEX基础 362
12.5 ActiveX客户编程 364
12.6 小结 365
第13章 使用OLE 366
13.1 OLE自动化 366
13.2 一个OLE自动化服务器编程例子 367
13.3 OLE自动化客户 385
13.4 一个OLE自动化客户的编程例子 385
13.5 OLE拖放 394
13.6 OLE拖放编程举例 394
13.7 小结 405
第14章 使用ActiveX 406
14.1 ActiveX控件与包容器的通信 406
14.2 创建一个ActiveX控件 407
14.3 演示创建ActiveX控件的编程举例 408
14.4 创建一个ActiveX控件包容器 421
14.5 演示创建包容器应用的编程例子 422
14.6 ActiveX控制件安全性 437
14.7 演示登记和标记ActiveX控件的编程例子 439
14.8 ActiveX控件提示 443
14.9 小结 443
第15章 Windows套接字 444
15.1 套接字基础 444
15.2 WinSock API 445
15.3 公用套接字结构 447
15.4 套接字API程序设计 449
15.5 使用MFC的套接字程序设计 449
15.6 套接字程序设计中的问题 450
15.7 使用套接字的程序设计例子 451
15.8 小结 465
第16章 Internet程序设计 466
16.1 Web编程基础 466
16.2 ISAPI基础 467
16.3 ISAPI和CGI 467
16.4 使用ISAPI开发应用 468
16.5 Internet客户端程序设计 473
16.6 小结 485
第四部分 NT多媒体和数据库程序设计 487
第17章 多媒体程序设计 487
17.1 多媒体程序设计基础 487
17.2 音频程序设计 489
17.3 视频程序设计举例 508
17.4 小结 519
第18章 用TAPI进行电话编程 520
18.1电话集成基础知识 520
18.2 电话服务 523
18.3 TAPI消息 524
18.4 TAPI提供的电话功能 524
18.5 TAPI应用程序执行步骤 525
18.6 TAPI编程举例 526
18.7 电话记录 542
18.8 小结 542
第19章 OpenGL编程 543
19.1 OpenGL基础知识 543
19.2 OpenGL编程概念 545
19.3 OpenGL数据结构 546
19.4 OpenGL函数 549
19.5 让MFC应用程序使用OpenGL 550
19.6 OpenGL编程示例 550
19.7 移植OpenGL程序 568
19.8 小结 569
第20章 使用ODBC进行数据库编程 570
20.1 为什么要使用ODBC 570
20.2 ODBC基础知识 571
20.3 MFC和ODBC 572
20.4 ODBC编程举例 575
20.5 小结 599
第21章 使用DAO进行数据库编程 600
21.1 DAO基础知识 600
21.2 小结 634
第五部分 附录 635
附录A 国际化 635
A.1 问题 635
A.2 代码页 636
A.3 多字节字符集(MBCS) 636
A.4 UNICODE 637
A.5 编写可移植的程序 638
A.6 一个国际化技术 639
A.7 国际化编程的原则 646
A.8 小结 646