书籍详情
Windows程序设计教程(第2版)
作者:王秀梅 主编
出版社:人民邮电出版社
出版时间:2013-08-01
ISBN:9787115323354
定价:¥45.00
购买这本书可以去
内容简介
《21世纪高等教育计算机规划教材:Windows程序设计教程(第2版)》共分为16章,主要内容包括Windows编程概述,Windows应用程序的类封装,MFC应用程序框架,Windows绘图程序设计,文本和字体,消息,菜单、键盘和鼠标,子窗体控件,对话框,文档/视图结构的应用程序开发,动态链接库,VC数据库编程,多线程编程,串口通信编程以及Windows网络编程等内容。书中对开发过程中的一些开发技巧进行了展示,按照实际开发流程对实现功能进行详细讲解。《21世纪高等教育计算机规划教材:Windows程序设计教程(第2版)》内容丰富、结构新颖、难度适中、实用性强,可作为普通高等院校Windows程序设计课程的教材,也可供Windows开发初学人员参考阅读。
作者简介
暂缺《Windows程序设计教程(第2版)》作者简介
目录
目 录
第1章 Windows程序设计基础 1
1.1 Windows简介 1
1.1.1 Windows的发展历程 1
1.1.2 Windows的特点 3
1.2 操作系统的功能及分类 3
1.2.1 操作系统的功能 3
1.2.2 操作系统的分类 4
1.3 API与MFC 5
1.3.1 API简介 5
1.3.2 MFC简介 5
1.4 多任务的实现 6
1.4.1 多任务的概念 6
1.4.2 多任务的实现 6
1.5 虚拟内存及其管理 7
1.5.1 虚拟内存 7
1.5.2 虚拟内存管理 8
小结 8
习题 8
第2章 Windows编程概述 9
2.1 Windows的界面组成 9
2.2 Windows应用程序的数据类型 11
2.2.1 基本数据类型 11
2.2.2 特殊数据类型 11
2.3 Windows应用程序结构 12
2.3.1 WinMain函数 12
2.3.2 WndProc窗口函数 15
2.4 Windows编程实例 16
小结 21
习题 21
上机指导 21
实验一:熟悉Visual C++集成开发环境 21
实验二:创建一个Win32应用程序(1) 22
实验三:创建一个Win32应用程序(2) 22
第3章 Windows应用程序的面向对象 24
3.1 应用程序主函数中类的封装 24
3.1.1 窗口类的声明 24
3.1.2 应用程序类的声明 26
3.1.3 主函数封装后的程序 27
3.2 派生类 31
3.2.1 应用程序类的派生类 31
3.2.2 窗口类的派生类 33
小结 37
习题 37
上机指导 37
实验一:声明窗口类实例 37
实验二:声明应用程序类的派生类 38
实验三:创建一个完整程序 38
第4章 MFC应用程序框架 39
4.1 应用程序向导AppWizard 39
4.1.1 创建应用程序框架 39
4.1.2 编译运行应用程序 43
4.1.3 查看生成文件信息 43
4.2 使用项目工作区 45
4.3 MFC应用程序的基本类 46
4.3.1 CObject类 46
4.3.2 窗口、对话框、控件类 46
小结 49
习题 49
上机指导 49
实验一:创建基于单文档的应用程序TestOne 49
实验二:创建基于对话框的应用程序TestTwo 50
实验三:设计对话框资源TestThree 50
第5章 Windows绘图程序设计 51
5.1 图形设备接口 51
5.2 设备上下文 51
5.2.1 设备上下文介绍 51
5.2.2 设备上下文类型 53
5.2.3 设备上下文MFC类 53
5.2.4 设备上下文操作 59
5.3 GDI对象 60
5.4 绘图函数 60
5.4.1 点线函数 60
5.4.2 形状函数 63
5.4.3 填充函数 66
5.4.4 位图函数 68
5.5 画笔与画刷 71
5.5.1 使用库存画笔与画刷 71
5.5.2 自定义画笔 73
5.5.3 自定义画刷 75
小结 78
习题 78
上机指导 79
实验一:绘制一个矩形 79
实验二:填充矩形 79
实验三:与鼠标相关的图形 80
第6章 文本和字体 81
6.1 文本函数 81
6.1.1 使用TextOut显示文本 81
6.1.2 使用DrawText显示指定格式文本 82
6.1.3 使用ExtTextOut显示字符串 84
6.1.4 使用TabbedTextOut显示字符串 85
6.2 文本属性 86
6.2.1 对齐方式 86
6.2.2 字符间距 88
6.2.3 背景模式 89
6.2.4 文本颜色 90
6.2.5 背景颜色 91
6.2.6 字符属性 92
6.3 字体 94
6.3.1 使用库存字体 94
6.3.2 使用CreateFont创建字体 95
6.3.3 使用CreateFontIndirect创建字体 97
小结 99
习题 99
上机指导 99
实验一:输出颜色为红色的字体 99
实验二:使用库存字体输出文本,并测试字体的宽度和高度 100
实验三:使用自定义字体 101
第7章 消息 102
7.1 Windows消息 102
7.1.1 消息结构 102
7.1.2 消息分类 103
7.2 消息的传输 104
7.2.1 消息的寄送 104
7.2.2 消息的发送 105
7.3 消息处理 105
7.3.1 消息响应 105
7.3.2 消息映射 106
7.3.3 消息响应函数 106
7.3.4 添加消息响应函数 107
7.4 自定义消息 111
7.4.1 自定义消息的基本步骤 111
7.4.2 自定义消息应用 112
小结 115
习题 115
上机指导 116
实验一:查看消息映射 116
实验二:添加消息响应函数 116
实验三:添加自定义消息 116
第8章 菜单、键盘和鼠标 118
8.1 菜单 118
8.1.1 菜单基本知识 118
8.1.2 创建下拉式菜单 119
8.1.3 添加消息响应函数 122
8.1.4 弹出式菜单 124
8.2 键盘 126
8.2.1 键盘的虚拟码 126
8.2.2 键盘响应 126
8.3 鼠标 129
8.3.1 鼠标消息 129
8.3.2 鼠标响应 130
8.3.3 鼠标光标 133
8.3.4 鼠标键盘 134
小结 138
习题 138
上机指导 138
实验一:创建下拉式菜单 138
实验二:识别键盘按键 139
实验三:键盘与鼠标的结合 139
第9章 子窗体控件 140
9.1 Windows标准控件 140
9.1.1 控件概述 140
9.1.2 窗口类CWnd 141
9.2 创建控件 143
9.2.1 静态创建控件 144
9.2.2 动态创建控件 146
9.3 按钮控件 149
9.3.1 单选按钮 149
9.3.2 复选框 151
9.4 编辑控件 153
9.5 树形控件 153
9.5.1 树形控件概述 153
9.5.2 树形控件的使用 155
小结 156
习题 157
上机指导 157
实验一:熟悉标准控件 157
实验二:使用树形控件 157
实验三:列表控件 157
第10章 对话框 158
10.1 对话框的基础知识 158
10.1.1 对话框概述 158
10.1.2 对话框分类 159
10.2 消息对话框 160
10.2.1 消息对话框概述 160
10.2.2 消息对话框样式 160
10.2.3 消息对话框的返回值 161
10.3 模态对话框 162
10.3.1 创建模态对话框 162
10.3.2 创建对话框类 163
10.3.3 添加程序代码 166
10.3.4 模态对话框消息循环 170
10.3.5 模态的终结 172
10.4 非模态对话框 174
10.4.1 创建非模态对话框 174
10.4.2 创建过程分析 175
10.5 通用对话框 176
10.5.1 颜色通用对话框 176
10.5.2 字体通用对话框 177
10.5.3 定制打开文件通用对话框 178
10.5.4 查找和替换通用对话框 179
10.5.5 打印通用对话框 180
小结 181
习题 181
上机指导 181
实验一:熟悉消息对话框 181
实验二:加法运算 182
实验三:创建非模态对话框 182
第11章 文档/视图界面 183
11.1 基本概念 183
11.1.1 概述 183
11.1.2 单文档界面(SDI)应用程序 184
11.1.3 多文档界面(MDI)应用程序 184
11.2 单文档和多文档界面应用程序的实现 185
11.2.1 利用AppWizard创建单文档界面应用程序框架 185
11.2.2 程序框架中的主要类及相互关系 188
11.2.3 文档类、视图类核心函数及作用 190
11.2.4 新建、保存和打开的实现 191
11.2.5 多文档界面应用程序框架 192
11.3 窗口分割与多视 194
11.3.1 窗口分割基础知识 194
11.3.2 Create——创建分割窗口 195
11.3.3 CreateStatic——创建静态分割窗口 196
11.3.4 CreateView——创建窗格 197
11.3.5 SetRowInfo和SetColumnInfo——设置窗格信息 197
11.3.6 OnDrawSplitter——绘制分割窗口特征 198
11.3.7 OnInvertTracker——绘制分割条 199
小结 200
习题 200
上机指导 201
实验一:熟悉单文档界面应用程序 201
实验二:动态分割窗口 201
实验三:静态分割窗口 201
第12章 MFC动态链接库 202
12.1 DLL基本理论 202
12.1.1 DLL基本概念 202
12.1.2 DLL的分类 203
12.1.3 DLL的工作原理 203
12.2 简单DLL示例 204
12.2.1 一个简单的DLL 204
12.2.2 导出函数 206
12.2.3 导入函数 207
12.3 访问动态链接库 208
12.3.1 隐式链接 208
12.3.2 显式链接 208
12.4 常规DLL 210
12.4.1 静态链接到MFC的常规DLL 210
12.4.2 动态链接到MFC的常规DLL 213
12.4.3 DLL的链接使用 215
12.5 扩展DLL 217
12.5.1 生成DLL 217
12.5.2 链接DLL 219
小结 220
习题 220
上机指导 220
实验一:创建一个简单的DLL 220
实验二:显式链接 220
第13章 VC数据库编程 221
13.1 数据库基础 221
13.1.1 数据库的基本概念 221
13.1.2 数据库管理系统(DBMS) 222
13.1.3 结构化查询语言(SQL) 222
13.2 数据库开发技术简介 225
13.2.1 ODBC API/MFC ODBC技术 225
13.2.2 DAO技术 226
13.2.3 ADO技术 226
13.3 在Visual C++中使用ADO 开发数据库应用程序 228
13.3.1 Viusal C++对ADO的支持 228
13.3.2 创建数据库与实例工程 229
13.3.3 引入ADO对象 232
13.3.4 连接数据源 232
13.3.5 开发技术——连接对象(Connection) 233
13.3.6 创建表并添加数据 235
13.3.7 开发技术——ADO对象命令的执行 236
13.3.8 开发技术——Recordset对象 237
13.3.9 遍历、删除、编辑记录的实现 243
13.4 使用ODBC数据源连接数据库 247
13.4.1 手动实现设置ODBC数据源 247
13.4.2 ADO连接ODBC数据源 249
13.4.3 Visual C++程序实现设置ODBC数据源 249
13.4.4 使用Visual C++程序设置ODBC数据源实例 250
小结 251
习题 251
上机指导 251
实验一:登录对话框 251
实验二:手动设置ODBC数据源 252
实验三:修改记录 252
第14章 多线程 253
14.1 多线程基础 253
14.1.1 进程与线程 253
14.1.2 线程分类 254
14.2 多线程编程 254
14.2.1 Win32 API线程处理 254
14.2.2 工作者线程 255
14.2.3 用户界面线程 257
14.3 线程的终止 259
14.3.1 线程的正常终止 259
14.3.2 线程的异常终止 260
14.4 线程的优先级与管理 260
14.4.1 线程的优先级 260
14.4.2 线程的优先级管理 262
14.4.3 线程的调度 263
14.5 线程之间的通信 264
14.5.1 通信机制 264
14.5.2 工作者线程通信 264
14.5.3 用户界面线程通信 266
14.6 线程的同步 269
14.6.1 同步对象 269
14.6.2 使用事件对象 271
14.6.3 使用互斥对象 273
14.6.4 使用临界区对象 274
14.6.5 使用信号量对象 275
小结 277
习题 278
上机指导 278
实验一:工作者线程的设计和实现 278
实验二:线程同步对象使用 279
实验三:线程间自定义消息方式通信的设计与实现 279
第15章 串行通信原理与设计 281
15.1 串行通信的基本概念 281
15.1.1 串行通信的特点 281
15.1.2 串行通信的传输方式 282
15.1.3 数据纠错与检错 282
15.1.4 传输速率与距离 283
15.2 串行传输协议 283
15.2.1 异步传输协议 284
15.2.2 面向字符的同步传输协议 285
15.2.3 面向比特的同步传输协议 286
15.3 使用Windows API进行同步串口编程 288
15.3.1 概述 288
15.3.2 创建串口 288
15.3.3 关闭串口 293
15.3.4 发送数据 293
15.3.5 接收数据 294
15.3.6 定时接收数据的方法 294
15.4 采用重叠I/O方式的编程方法 295
15.4.1 定义全局变量 295
15.4.2 创建串口 296
15.4.3 发出读写操作 296
15.4.4 读写线程函数的建立 297
15.4.5 关闭串口 301
15.5 采用事件驱动方式的编程方法 301
15.5.1 定义全局变量 301
15.5.2 打开串口及开启事件线程 302
15.5.3 发送数据 304
15.5.4 自定义消息函数读取数据 305
15.5.5 关闭串口及关闭事件线程 307
小结 307
习题 308
上机实验 308
实验一:同步串口编程 308
实验二:重叠方式的串口编程 309
实验三:事件驱动方式的串口编程 309
第16章 Windows网络编程基础 311
16.1 网络基础知识 311
16.1.1 OSI七层网络模型 311
16.1.2 TCP/IP协议 312
16.1.3 C/S编程模型 313
16.2 网络编程基础 313
16.2.1 Sockets套接字 314
16.2.2 网络字节顺序 314
16.3 Windows Sockets介绍 314
16.3.1 CAsyncSocket类 314
16.3.2 CSocket类 314
16.4 网络程序实例应用 315
16.4.1 Winsock编程流程 315
16.4.2 TCP客户端程序 318
16.4.3 TCP服务器程序 326
小结 331
习题 331
上机指导 332
实验一:设计客户端和服务器端的界面 332
实验二:初始化客户端和服务器端 332
实验三:信息的发送和接收 333
第1章 Windows程序设计基础 1
1.1 Windows简介 1
1.1.1 Windows的发展历程 1
1.1.2 Windows的特点 3
1.2 操作系统的功能及分类 3
1.2.1 操作系统的功能 3
1.2.2 操作系统的分类 4
1.3 API与MFC 5
1.3.1 API简介 5
1.3.2 MFC简介 5
1.4 多任务的实现 6
1.4.1 多任务的概念 6
1.4.2 多任务的实现 6
1.5 虚拟内存及其管理 7
1.5.1 虚拟内存 7
1.5.2 虚拟内存管理 8
小结 8
习题 8
第2章 Windows编程概述 9
2.1 Windows的界面组成 9
2.2 Windows应用程序的数据类型 11
2.2.1 基本数据类型 11
2.2.2 特殊数据类型 11
2.3 Windows应用程序结构 12
2.3.1 WinMain函数 12
2.3.2 WndProc窗口函数 15
2.4 Windows编程实例 16
小结 21
习题 21
上机指导 21
实验一:熟悉Visual C++集成开发环境 21
实验二:创建一个Win32应用程序(1) 22
实验三:创建一个Win32应用程序(2) 22
第3章 Windows应用程序的面向对象 24
3.1 应用程序主函数中类的封装 24
3.1.1 窗口类的声明 24
3.1.2 应用程序类的声明 26
3.1.3 主函数封装后的程序 27
3.2 派生类 31
3.2.1 应用程序类的派生类 31
3.2.2 窗口类的派生类 33
小结 37
习题 37
上机指导 37
实验一:声明窗口类实例 37
实验二:声明应用程序类的派生类 38
实验三:创建一个完整程序 38
第4章 MFC应用程序框架 39
4.1 应用程序向导AppWizard 39
4.1.1 创建应用程序框架 39
4.1.2 编译运行应用程序 43
4.1.3 查看生成文件信息 43
4.2 使用项目工作区 45
4.3 MFC应用程序的基本类 46
4.3.1 CObject类 46
4.3.2 窗口、对话框、控件类 46
小结 49
习题 49
上机指导 49
实验一:创建基于单文档的应用程序TestOne 49
实验二:创建基于对话框的应用程序TestTwo 50
实验三:设计对话框资源TestThree 50
第5章 Windows绘图程序设计 51
5.1 图形设备接口 51
5.2 设备上下文 51
5.2.1 设备上下文介绍 51
5.2.2 设备上下文类型 53
5.2.3 设备上下文MFC类 53
5.2.4 设备上下文操作 59
5.3 GDI对象 60
5.4 绘图函数 60
5.4.1 点线函数 60
5.4.2 形状函数 63
5.4.3 填充函数 66
5.4.4 位图函数 68
5.5 画笔与画刷 71
5.5.1 使用库存画笔与画刷 71
5.5.2 自定义画笔 73
5.5.3 自定义画刷 75
小结 78
习题 78
上机指导 79
实验一:绘制一个矩形 79
实验二:填充矩形 79
实验三:与鼠标相关的图形 80
第6章 文本和字体 81
6.1 文本函数 81
6.1.1 使用TextOut显示文本 81
6.1.2 使用DrawText显示指定格式文本 82
6.1.3 使用ExtTextOut显示字符串 84
6.1.4 使用TabbedTextOut显示字符串 85
6.2 文本属性 86
6.2.1 对齐方式 86
6.2.2 字符间距 88
6.2.3 背景模式 89
6.2.4 文本颜色 90
6.2.5 背景颜色 91
6.2.6 字符属性 92
6.3 字体 94
6.3.1 使用库存字体 94
6.3.2 使用CreateFont创建字体 95
6.3.3 使用CreateFontIndirect创建字体 97
小结 99
习题 99
上机指导 99
实验一:输出颜色为红色的字体 99
实验二:使用库存字体输出文本,并测试字体的宽度和高度 100
实验三:使用自定义字体 101
第7章 消息 102
7.1 Windows消息 102
7.1.1 消息结构 102
7.1.2 消息分类 103
7.2 消息的传输 104
7.2.1 消息的寄送 104
7.2.2 消息的发送 105
7.3 消息处理 105
7.3.1 消息响应 105
7.3.2 消息映射 106
7.3.3 消息响应函数 106
7.3.4 添加消息响应函数 107
7.4 自定义消息 111
7.4.1 自定义消息的基本步骤 111
7.4.2 自定义消息应用 112
小结 115
习题 115
上机指导 116
实验一:查看消息映射 116
实验二:添加消息响应函数 116
实验三:添加自定义消息 116
第8章 菜单、键盘和鼠标 118
8.1 菜单 118
8.1.1 菜单基本知识 118
8.1.2 创建下拉式菜单 119
8.1.3 添加消息响应函数 122
8.1.4 弹出式菜单 124
8.2 键盘 126
8.2.1 键盘的虚拟码 126
8.2.2 键盘响应 126
8.3 鼠标 129
8.3.1 鼠标消息 129
8.3.2 鼠标响应 130
8.3.3 鼠标光标 133
8.3.4 鼠标键盘 134
小结 138
习题 138
上机指导 138
实验一:创建下拉式菜单 138
实验二:识别键盘按键 139
实验三:键盘与鼠标的结合 139
第9章 子窗体控件 140
9.1 Windows标准控件 140
9.1.1 控件概述 140
9.1.2 窗口类CWnd 141
9.2 创建控件 143
9.2.1 静态创建控件 144
9.2.2 动态创建控件 146
9.3 按钮控件 149
9.3.1 单选按钮 149
9.3.2 复选框 151
9.4 编辑控件 153
9.5 树形控件 153
9.5.1 树形控件概述 153
9.5.2 树形控件的使用 155
小结 156
习题 157
上机指导 157
实验一:熟悉标准控件 157
实验二:使用树形控件 157
实验三:列表控件 157
第10章 对话框 158
10.1 对话框的基础知识 158
10.1.1 对话框概述 158
10.1.2 对话框分类 159
10.2 消息对话框 160
10.2.1 消息对话框概述 160
10.2.2 消息对话框样式 160
10.2.3 消息对话框的返回值 161
10.3 模态对话框 162
10.3.1 创建模态对话框 162
10.3.2 创建对话框类 163
10.3.3 添加程序代码 166
10.3.4 模态对话框消息循环 170
10.3.5 模态的终结 172
10.4 非模态对话框 174
10.4.1 创建非模态对话框 174
10.4.2 创建过程分析 175
10.5 通用对话框 176
10.5.1 颜色通用对话框 176
10.5.2 字体通用对话框 177
10.5.3 定制打开文件通用对话框 178
10.5.4 查找和替换通用对话框 179
10.5.5 打印通用对话框 180
小结 181
习题 181
上机指导 181
实验一:熟悉消息对话框 181
实验二:加法运算 182
实验三:创建非模态对话框 182
第11章 文档/视图界面 183
11.1 基本概念 183
11.1.1 概述 183
11.1.2 单文档界面(SDI)应用程序 184
11.1.3 多文档界面(MDI)应用程序 184
11.2 单文档和多文档界面应用程序的实现 185
11.2.1 利用AppWizard创建单文档界面应用程序框架 185
11.2.2 程序框架中的主要类及相互关系 188
11.2.3 文档类、视图类核心函数及作用 190
11.2.4 新建、保存和打开的实现 191
11.2.5 多文档界面应用程序框架 192
11.3 窗口分割与多视 194
11.3.1 窗口分割基础知识 194
11.3.2 Create——创建分割窗口 195
11.3.3 CreateStatic——创建静态分割窗口 196
11.3.4 CreateView——创建窗格 197
11.3.5 SetRowInfo和SetColumnInfo——设置窗格信息 197
11.3.6 OnDrawSplitter——绘制分割窗口特征 198
11.3.7 OnInvertTracker——绘制分割条 199
小结 200
习题 200
上机指导 201
实验一:熟悉单文档界面应用程序 201
实验二:动态分割窗口 201
实验三:静态分割窗口 201
第12章 MFC动态链接库 202
12.1 DLL基本理论 202
12.1.1 DLL基本概念 202
12.1.2 DLL的分类 203
12.1.3 DLL的工作原理 203
12.2 简单DLL示例 204
12.2.1 一个简单的DLL 204
12.2.2 导出函数 206
12.2.3 导入函数 207
12.3 访问动态链接库 208
12.3.1 隐式链接 208
12.3.2 显式链接 208
12.4 常规DLL 210
12.4.1 静态链接到MFC的常规DLL 210
12.4.2 动态链接到MFC的常规DLL 213
12.4.3 DLL的链接使用 215
12.5 扩展DLL 217
12.5.1 生成DLL 217
12.5.2 链接DLL 219
小结 220
习题 220
上机指导 220
实验一:创建一个简单的DLL 220
实验二:显式链接 220
第13章 VC数据库编程 221
13.1 数据库基础 221
13.1.1 数据库的基本概念 221
13.1.2 数据库管理系统(DBMS) 222
13.1.3 结构化查询语言(SQL) 222
13.2 数据库开发技术简介 225
13.2.1 ODBC API/MFC ODBC技术 225
13.2.2 DAO技术 226
13.2.3 ADO技术 226
13.3 在Visual C++中使用ADO 开发数据库应用程序 228
13.3.1 Viusal C++对ADO的支持 228
13.3.2 创建数据库与实例工程 229
13.3.3 引入ADO对象 232
13.3.4 连接数据源 232
13.3.5 开发技术——连接对象(Connection) 233
13.3.6 创建表并添加数据 235
13.3.7 开发技术——ADO对象命令的执行 236
13.3.8 开发技术——Recordset对象 237
13.3.9 遍历、删除、编辑记录的实现 243
13.4 使用ODBC数据源连接数据库 247
13.4.1 手动实现设置ODBC数据源 247
13.4.2 ADO连接ODBC数据源 249
13.4.3 Visual C++程序实现设置ODBC数据源 249
13.4.4 使用Visual C++程序设置ODBC数据源实例 250
小结 251
习题 251
上机指导 251
实验一:登录对话框 251
实验二:手动设置ODBC数据源 252
实验三:修改记录 252
第14章 多线程 253
14.1 多线程基础 253
14.1.1 进程与线程 253
14.1.2 线程分类 254
14.2 多线程编程 254
14.2.1 Win32 API线程处理 254
14.2.2 工作者线程 255
14.2.3 用户界面线程 257
14.3 线程的终止 259
14.3.1 线程的正常终止 259
14.3.2 线程的异常终止 260
14.4 线程的优先级与管理 260
14.4.1 线程的优先级 260
14.4.2 线程的优先级管理 262
14.4.3 线程的调度 263
14.5 线程之间的通信 264
14.5.1 通信机制 264
14.5.2 工作者线程通信 264
14.5.3 用户界面线程通信 266
14.6 线程的同步 269
14.6.1 同步对象 269
14.6.2 使用事件对象 271
14.6.3 使用互斥对象 273
14.6.4 使用临界区对象 274
14.6.5 使用信号量对象 275
小结 277
习题 278
上机指导 278
实验一:工作者线程的设计和实现 278
实验二:线程同步对象使用 279
实验三:线程间自定义消息方式通信的设计与实现 279
第15章 串行通信原理与设计 281
15.1 串行通信的基本概念 281
15.1.1 串行通信的特点 281
15.1.2 串行通信的传输方式 282
15.1.3 数据纠错与检错 282
15.1.4 传输速率与距离 283
15.2 串行传输协议 283
15.2.1 异步传输协议 284
15.2.2 面向字符的同步传输协议 285
15.2.3 面向比特的同步传输协议 286
15.3 使用Windows API进行同步串口编程 288
15.3.1 概述 288
15.3.2 创建串口 288
15.3.3 关闭串口 293
15.3.4 发送数据 293
15.3.5 接收数据 294
15.3.6 定时接收数据的方法 294
15.4 采用重叠I/O方式的编程方法 295
15.4.1 定义全局变量 295
15.4.2 创建串口 296
15.4.3 发出读写操作 296
15.4.4 读写线程函数的建立 297
15.4.5 关闭串口 301
15.5 采用事件驱动方式的编程方法 301
15.5.1 定义全局变量 301
15.5.2 打开串口及开启事件线程 302
15.5.3 发送数据 304
15.5.4 自定义消息函数读取数据 305
15.5.5 关闭串口及关闭事件线程 307
小结 307
习题 308
上机实验 308
实验一:同步串口编程 308
实验二:重叠方式的串口编程 309
实验三:事件驱动方式的串口编程 309
第16章 Windows网络编程基础 311
16.1 网络基础知识 311
16.1.1 OSI七层网络模型 311
16.1.2 TCP/IP协议 312
16.1.3 C/S编程模型 313
16.2 网络编程基础 313
16.2.1 Sockets套接字 314
16.2.2 网络字节顺序 314
16.3 Windows Sockets介绍 314
16.3.1 CAsyncSocket类 314
16.3.2 CSocket类 314
16.4 网络程序实例应用 315
16.4.1 Winsock编程流程 315
16.4.2 TCP客户端程序 318
16.4.3 TCP服务器程序 326
小结 331
习题 331
上机指导 332
实验一:设计客户端和服务器端的界面 332
实验二:初始化客户端和服务器端 332
实验三:信息的发送和接收 333
猜您喜欢