第1章 图形设备接口GDI 1
1.1 设备描述表 1
1.1.1 CDC类 2
1.1.2 CClientDC类 4
1.1.3 CPaintDC 5
1.1.4 CWindowDC类 6
1.2 MFC图形对象 6
1.2.1 画笔对象CPen 6
1.2.3 位图对象CBitmap 7
1.2.2 画刷对象CBrush 7
1.2.4 调色板对象CPalette 8
1.2.5 区域对象CRgn 9
1.3 GDI对象实例程序 10
第2章 Windows窗口控件 23
2.1 CImageList控件 23
2.2 CListCtrl控件 24
2.3 CTreeCtrl控件 26
2.4 与显示进度有关的控件 27
2.4.1 CScrollBar控件 27
2.5 常用控件实例程序1 28
2.4.3 CSliderCtrl控件 28
2.4.2 CProgressCtrl控件 28
2.6 CRichEditCtrl控件 38
2.7 CTabCtrl控件 39
2.8 CAnimateCtrl控件 40
2.9 常用控件实例程序2 40
第3章 使用资源 46
3.1 图标 46
3.2 光标 47
3.3 位图 48
3.4 菜单 48
3.5 欢迎画面示例程序 49
第4章 动态链接库和钩子函数 56
4.1 Windows2000动态链接库 56
4.1.1 动态链接库概述 56
4.1.2 加载一个动态链接库 57
4.1.3 创建一个动态链接库 60
4.2 钩子函数 65
4.3 一个卷屏鼠标工具 69
4.3.1 主框架部分 71
4.3.2 动态链接库部分 77
5.1.1 进程的概念 84
第5章 进程与线程 84
5.1 进程 84
5.1.2 Win32应用程序类型 85
5.1.3 应用程序从系统得到的信息 85
5.1.4 进程的当前目录 86
5.1.5 确认当前操作系统版本、设置出错处理方式 88
5.1.6 创建进程 89
5.1.7 如何中止进程 92
5.2 查看系统活动进程 92
5.2.1 查看系统活动进程所需API 93
5.2.2 查看系统活动进程实例程序 94
5.3 线程 104
5.3.1 如何创建线程 105
5.3.2 终止线程 106
5.3.3 有关线程的其他函数 106
5.3.4 线程使用实例程序 108
第6章 多线程编程 114
6.1 多线程编程概述 114
6.2 临界区 114
6.2.1 如何创建临界区对象 115
6.2.2 如何使用临界区对象 116
6.3 互斥量 127
6.3.1 互斥量概述 127
6.3.2 创建互斥量 130
6.3.3 使用互斥量 130
6.4 信号量 131
6.4.1 创建信号量对象 131
6.4.2 使用信号量对象 132
6.5 事件 132
6.5.2 使用事件对象 133
6.5.1 创建事件对象 133
第7章 MFC多线程类 135
7.1 MFC多线程类概述 135
7.2 使用MFC锁类 136
7.2.1 CSingleLock类 136
7.2.2 CMultiLock类 137
7.3 使用MFC临界区类 139
7.3.1 CCriticalSection成员函数 139
7.3.2 临界区类CCriticalSection使用方法 140
7.4 使用MFC互斥量 140
7.5 使用MFC信号量对象 140
7.6 MFC事件对象 141
第8章 Win32文件系统 143
8.1 创建及读写文件 143
8.1.1 创建文件 143
8.1.2 读写文件 145
8.2 复制、删除、移动文件 146
8.2.1 复制文件 146
8.2.2 删除文件 147
8.2.3 移动文件 147
8.3 遍历目录树 147
8.3.1 FindFirstFile 148
8.3.2 FindNextFile 149
8.3.3 其他相关函数及遍历方法 150
8.4 访问文件属性信息 151
8.4.1 获得与设置文件的属性 151
8.4.2 获得文件的大小与类型 152
8.4.3 获得文件的相关路径 153
8.4.4 与文件属性有关的其他函数 153
8.5 目录操作 154
第9章 MFC文件系统支持 156
9.1 CFile类 156
9.2 CStdioFile 159
9.3 CMemFile 160
第10章 Windows Socket程序设计 161
10.1 套接字基础 161
10.1.1 Windows套接字 161
10.1.2 公用套接字结构 163
10.1.3 套接字程序设计 164
10.2 Windows Sockets API程序设计 165
10.2.1 套接字的API函数 165
10.2.2 使用API编写套接字应用程序 174
10.2.3 套接字API应用程序示例 175
10.3 Windows Sockets MFC程序设计 183
10.3.1 MFC对WinSock的封装 184
10.3.2 使用MFC编写套接字应用程序 184
10.3.3 套接字MFC应用程序示例 193
第11章 WinInet程序设计 206
11.1 WinInet基础类 206
11.1.1 WinInet基础类简介 206
11.1.2 WinInet基础类概览 206
11.1.3 创建Internet程序必不可少的类 207
11.1.4 处理Internet连接的类 212
11.1.5 Internet文件类 220
11.2.1 Http客户端应用程序的创建过程 229
11.2.2 例子程序 229
11.2 创建Http应用程序 229
11.3 创建Ftp应用程序 237
11.3.1 Ftp客户端应用程序的创建过程 237
11.3.2 例子程序 238
11.4 创建Gopher应用程序 251
12.1 电话API 253
12.1.1 TAPI基础 253
第12章 电话API和信报API 253
12.1.2 TAPI辅助电话服务 256
12.1.3 完全电话API 257
12.1.4 TAPI应用程序的流程 262
12.2 信报API 268
12.2.1 简单MAPI 269
12.2.2 通用消息调用CMC 275
第13章 ActiveX技术及应用 276
13.1 OLE回顾 276
13.2 ActiveX技术 278
13.2.1 ActiveX文档 278
13.2.2 ActiveX容器和服务器 281
13.2.3 ActiveX控件 283
13.2.4 其他ActiveX技术 292
第14章 音频、视频程序设计 294
14.1 音频、视频程序设计基础 294
14.2 多媒体控制接口MCI 296
14.2.1 MCI提供的API函数 297
14.2.2 MCI设备的使用和控制 298
14.3 音频程序设计举例 309
14.4 视频程序设计举例 320
15.1 DirectX概述 333
第15章 DirectX程序设计 333
15.2 DirectDraw 335
15.2.1 DirectDraw的结构 335
15.2.2 创建DirectkDraw对象 336
15.2.3 协作级别、显示模式和裁剪器 337
15.2.4 图面和位转换函数 340
15.2.5 简化Ddraw应用程序的编制 345
15.3 DirectSound 346
15.3.1 DirectSound概述 346
15.3.2 DirectSound初始化 347
15.3.3 使用DirectSound 349