出版说明 1
前言 1
第1章Windows编程基础 1
1.1 Windows操作系统及编程环境 1
1.1.1 Windows操作系统 1
目 录 1
1.1.2 Windows的编程环境 2
1.1.3 Microsoft Visual C++6.0集成开发环境 3
1.2.1Windows系统结构 6
1.2.2虚拟机与虚拟设备驱动程序 6
1.2认识Windows环境框架 6
1.2.3多任务管理 7
1.2.4窗口与消息 7
1.2.5句柄 9
1.2.6资源 9
1.2.7内存管理 9
1.2.8图形设备接口 9
1.2.9动态链接库 10
1.3 Win32程序SDK编程 10
1.3.1 SDK编程方式 10
1.3.2 Win32应用程序入口 11
1.3.3窗口类及其注册 11
1.3.4窗口的创建、显示与更新 12
1.3.5消息循环 13
1.3.6完整的实例 15
第2章MFC应用程序设计基础 18
2.1 MFC应用程序框架 18
2.1.1 MFC概述 18
2.1.2消息映射与命令/通知 23
2.1.3文档/视结构 28
2.2持久性与文件I/O 30
2.2.1对象的持久性 30
2.2.2文件I/O 34
2.2.3初始化文件访问 37
2.2.4系统注册表访问 40
2.3结构化异常处理 42
2.3.1在程序中使用异常处理 42
2.3.2中断处理 44
2.3.3异常处理 45
2.3.4未处理异常和C++异常处理 52
2.4程序的调试 57
2.4.1调试环境 57
2.4.2基本调试方法 60
2.4.3常用的调试技巧 65
3.1多进程管理 70
3.1.1进程 70
第3章多任务管理 70
3.1.2创建进程 72
3.1.3结束进程 80
3.1.4作业 80
3.2多线程管理 84
3.2.1线程的创建与结束 84
3.2.2线程的管理 89
3.2.3线程间通信 92
3.3线程同步 95
3.3.1使用线程同步 95
3.3.2原子访问 96
3.3.3临界区 99
3.3.4管理事件内核对象 102
3.3.5信号量内核对象 106
3.3.6互斥内核对象 111
第4章内存管理 115
4.1虚拟内存 115
4.1.1 Windows的内存结构 115
4.1.2对内存的管理 121
4.2内存映射文件 126
4.2.1关于内存映射文件 126
4.2.2内存映射文件的基本用法 128
4.2.3内存映射文件的高级用法 136
4.3.1堆和堆管理 142
4.3堆管理 142
4.3.2进行堆管理 144
第5章动态链接库 150
5.1 DLL基本概念 150
5.1.1使用动态链接库 150
5.1.2 DLL的调用方式 152
5.1.3输入、输出函数 153
5.1.4模块定义文件 155
5.1.5共享数据段 155
5.1.6 DLL的结构 156
5.1.7调用约定与修饰名约定 157
5.2.1进入点函数 159
5.2创建DLL 159
5.2.2 MFC及非MFC的DLL 160
5.2.3创建非MFC的DLL 161
5.2.4创建MFC规则DLL 163
5.2.5创建MFC扩展DLL 163
5.3加载和使用DLL 165
5.3.1调用DLL的可执行程序 165
5.3.2隐式链接 165
5.3.3显式链接 166
5.3.4延迟加载 167
6.1.2线程局部钩子与系统全局钩子 169
6.1.1钩子的概念 169
6.1 Windows钩子机制 169
第6章钩子 169
6.1.3钩子的安装与卸载 170
6.2常用钩子的使用 171
6.2.1使用鼠标钩子 171
6.2.2使用键盘钩子 173
第7章Windows套接字 176
7.1概述 176
7.1.1 Windows Sockets规范 176
7.1.2套接字及其分类 176
7.1.3客户机/服务器模型 177
7.2.1套接字函数 178
7.1.4网络字节顺序 178
7.2套接字库函数 178
7.2.2数据库函数 184
7.2.3 Windows扩展函数 186
7.3使用WinSocket API 193
7.3.1基本Secket系统调用 193
7.3.2 Windows Sockets编程机理 194
7.3.3面向连接的套接字编程 195
7.3.4无连接套接字编程 199
7.3.5原始套接字编程 200
7.4.1 CAsyncSocket类 204
7.4 MFC对WinSoket API的封装 204
7.4.2使用CAsyncSocket类 207
7.4.3 CSocket类 210
7.4.4使用CSocket类 211
第8章邮槽与管道 214
8.1邮槽 214
8.1.1邮槽实施细节 214
8.1.2邮槽服务器 215
8.1.3邮槽客户机 216
8.2匿名管道 218
8.2.1匿名管道的实施细节 218
8.1.4其他的邮槽API 218
8.2.2匿名管道程序示例 220
8.3命名管道 221
8.3.1命名管道技术概述 221
8.3.2命名规范及通信模式 222
8.3.3使用命名管道 222
8.3.4其他命名管道API 226
第9章通信端口编程 230
9.1串行端口通信编程 230
9.1.1 Windows环境下的串口编程 230
9.1.2串口参数配置及对资源的申请 231
9.1.3同步I/O读写数据 237
9.1.4使用事件驱动机制 240
9.1.5异步I/O读写数据 242
9.1.6 MSComm串行通信控件 248
9.2并行端口通信编程 252
第10章Internet编程 255
10.1 WinInet编程 255
10.1.1 WinInet API概述 255
10.1.2 WinInet类概述 258
10.1.3 HTTP编程 261
10.1.4 FTP编程 263
10.1.5 Gopher编程 266
10.2.1 ISAPI概述 267
10.2 ISAPI编程 267
10.2.2 ISAPI服务器扩展程序 269
10.2.3对ISA的调试 272
10.2.4 ISAPI过滤程序 274
10.3 MAPI编程 277
10.3.1 MAPI体系结构概述 277
10.3.2 MAPI应用程序接口 278
10.3.3使用MAPI编写电子邮件程序 279
第11章联机帮助 285
11.1建立帮助工程 285
11.1.1使用HtmlHelpWorkshop创建工程 285
11.1.2配置工程文件 287
11.1.3定制显示窗口 288
11.1.4添加/删除主题文件 289
11.2创建目录 290
11.2.1定制目录特性 290
11.2.2标题项、主题项的添加与维护 291
11.3创建索引 292
11.3.1定制索引特性 292
11.3.2添加关键字 293
11.4编译运行 294
11.4.1编译生成CHM帮助文件 294
11.4.2在应用程序中启动帮助 294
12.1.1使用Install Shield 6.0 298
12.1.2建立安装程序框架 298
第12章安装盘 298
12.1基本安装程序的创建 298
12.1.3必要的完善 306
12.1.4安装程序的发布 309
12.2界面设计 313
12.2.1设计启动画面 313
12.2.2设计标题 314
12.2.3设计安装背景 314
12.2.4在安装过程显示位图 315
12.2.5使用API函数向导 316