图书介绍
Windows程序设计 第3版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 张铮,孙宝山,周天立编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115381620
- 出版时间:2015
- 标注页数:475页
- 文件大小:100MB
- 文件页数:487页
- 主题词:Windows操作系统-程序设计
PDF下载
下载说明
Windows程序设计 第3版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 Windows程序设计基础1
1.1 必须了解的东西1
1.1.1 Windows产品概述1
1.1.2 开发工具Visual C++1
1.1.3 Windows资料来源——MSDN2
1.1.4 Win32 API简介2
1.2 VC++的基本使用2
1.2.1 应用程序的类型3
1.2.2 第一个控制台应用程序3
1.2.3 API函数的调用方法4
1.3 本书推荐的编程环境5
1.4 代码的风格5
1.4.1 变量的命名5
1.4.2 代码的对齐方式6
1.4.3 代码的注释7
第2章 Win32程序运行原理8
2.1 CPU的保护模式和Windows系统8
2.1.1 Windows的多任务实现8
2.1.2 虚拟内存8
2.1.3 内核模式和用户模式9
2.2 内核对象10
2.2.1 内核对象的引出10
2.2.2 对象句柄11
2.2.3 使用计数11
2.3 进程的创建11
2.3.1 进程(Process)和线程(Thread)11
2.3.2 应用程序的启动过程12
2.3.3 CreateProcess函数13
2.3.4 创建进程的例子15
2.4 进程控制16
2.4.1 获取系统进程16
2.4.2 终止当前进程18
2.4.3 终止其他进程19
2.4.4 保护进程20
2.5 【实例】游戏内存修改器20
2.5.1 实现原理21
2.5.2 编写测试程序22
2.5.3 搜索内存22
2.5.4 写进程空间25
2.5.5 提炼接口26
第3章 Win32程序的执行单元27
3.1 多线程27
3.1.1 线程的创建27
3.1.2 线程内核对象30
3.1.3 线程的终止32
3.1.4 线程的优先级33
3.1.5 C/C++运行期库36
3.2 线程同步37
3.2.1 临界区对象37
3.2.2 互锁函数40
3.2.3 事件内核对象41
3.2.4 线程局部存储(TLS)43
3.3 设计自己的线程局部存储46
3.3.1 CSimpleList类46
3.3.2 CNoTrackObject类51
3.3.3 CThreadSlotData类53
3.3.4 CThreadLocal类模板61
3.4 设计线程类———CWinThread64
3.5 【实例】多线程文件搜索器73
3.5.1 搜索文件的基本知识73
3.5.2 编程思路75
第4章 Windows图形界面81
4.1 了解窗口81
4.2 第一个窗口程序82
4.2.1 创建Win32工程和MessageBox函数82
4.2.2 Windows的消息驱动83
4.2.3 创建窗口84
4.2.4 分析主程序代码86
4.2.5 处理消息的代码90
4.3 一个简单的打字程序92
4.3.1 使用资源92
4.3.2 菜单和图标93
4.3.3 接收键盘输入95
4.3.4 接收鼠标输入97
4.3.5 设置文本颜色和背景色98
4.4 GDI基本图形98
4.4.1 设备环境(Device Context)98
4.4.2 Windows的颜色和像素点100
4.4.3 绘制线条101
4.4.4 绘制区域104
4.4.5 坐标系统105
4.5 【实例】小时钟108
4.5.1 基础知识——定时器和系统时间109
4.5.2 时钟程序111
4.5.3 移动窗口114
4.5.4 使用快捷菜单115
第5章 框架管理基础118
5.1 运行时类信息(CRuntimeClass类)118
5.1.1 动态类型识别和动态创建118
5.1.2 DECLARE_DYNAMIC等宏的定义123
5.2 调试支持124
5.2.1 基本调试方法124
5.2.2 调试输出125
5.2.3 跟踪和断言126
5.3 框架程序中的映射127
5.3.1 映射的概念127
5.3.2 内存分配方式128
5.3.3 设计管理方式130
5.3.4 句柄映射的实现137
5.4 框架程序的状态信息138
5.4.1 模块的概念138
5.4.2 模块、线程的状态139
5.5 框架程序的执行顺序141
5.5.1 线程的生命周期141
5.5.2 程序的初始化过程143
5.5.3 框架程序应用举例146
第6章 框架中的窗口147
6.1 CWnd类的引出147
6.2 窗口句柄映射148
6.2.1 向CWnd对象分发消息148
6.2.2 消息的传递方式151
6.3 创建窗口153
6.3.1 窗口函数153
6.3.2 注册窗口类153
6.3.3 消息钩子156
6.3.4 最终实现160
6.3.5 创建窗口的例子162
6.4 消息映射164
6.4.1 消息映射表164
6.4.2 DECLARE_MESSAGE_MAP等宏的定义166
6.5 消息处理168
6.5.1 使用消息映射宏168
6.5.2 消息的分发机制171
6.5.3 消息映射应用举例173
6.6 使用Microsoft基础类库176
6.7 【实例】窗口查看器178
6.7.1 窗口界面178
6.7.2 获取目标窗口的信息183
6.7.3 自制按钮186
第7章 用户界面设计190
7.1 对话框与子窗口控件基础190
7.1.1 子窗口控件运行原理190
7.1.2 对话框工作原理193
7.2 使用对话框和控件与用户交互194
7.2.1 以对话框为主界面的应用程序194
7.2.2 常用子窗口控件198
7.2.3 对话框与控件的颜色199
7.3 通用控件200
7.3.1 通用控件简介200
7.3.2 使用通用控件201
7.3.3 使用状态栏205
7.3.4 使用列表视图206
7.3.5 使用进度条207
7.4 通用对话框208
7.4.1 “打开”文件和“保存”文件对话框209
7.4.2 浏览目录对话框210
7.5 使用框架程序简化界面开发212
7.5.1 在框架程序中使用对话框212
7.5.2 CDialog类215
7.5.3 框架程序中的控件217
7.5.4 使用向导217
7.6 【实例】目录监视器219
7.6.1 目录监视的基础知识219
7.6.2 实例程序220
7.6.3 使用SkinMagic美化界面225
第8章 Windows文件操作和内存映射文件227
8.1 文件操作227
8.1.1 创建和读写文件227
8.1.2 获取文件信息231
8.1.3 常用文件操作232
8.1.4 检查PE文件有效性的例子234
8.1.5 MFC的支持(CFile类)235
8.2 驱动器和目录237
8.2.1 驱动器操作238
8.2.2 目录操作240
8.3 使用注册表240
8.3.1 注册表的结构240
8.3.2 管理注册表241
8.3.3 注册表API应用举例(设置开机自动启动)243
8.3.4 ATL库的支持(CRegKey类)244
8.4 内存映射文件244
8.4.1 内存映射文件相关函数245
8.4.2 使用内存映射文件读BMP文件的例子246
8.4.3 进程间共享内存251
8.4.4 封装共享内存类CShareMemory253
8.5 一个文件切割系统的实现254
8.5.1 通信机制254
8.5.2 分割合并机制255
8.5.3 接口函数259
8.5.4 最终实现259
8.6 【实例】文件切割器开发实例263
第9章 动态链接库和钩子271
9.1 动态链接库271
9.1.1 动态链接库的概念271
9.1.2 创建动态链接库工程271
9.1.3 动态链接库中的函数273
9.1.4 使用导出函数274
9.2 Windows钩子276
9.2.1 钩子的概念276
9.2.2 钩子的安装与卸载277
9.2.3 键盘钩子实例278
9.3 挂钩API技术(HOOK API)282
9.3.1 实现原理283
9.3.2 使用钩子注入DLL283
9.3.3 HOOK过程284
9.3.4 封装CAPIHook类288
9.3.5 HOOK实例——进程保护器294
9.4 其他常用的侦测方法297
9.4.1 使用注册表注入DLL298
9.4.2 使用远程线程注入DLL298
9.4.3 通过覆盖代码挂钩API303
9.5 【实例】用户模式下侦测Win32 API的例子306
第10章 TCP/IP和网络通信311
10.1 网络基础知识311
10.1.1 以太网(Ethernet)311
10.1.2 以太网接口堆栈312
10.1.3 服务器/客户机模型313
10.2 Winsock接口313
10.2.1 套接字(Socket)的概念和类型314
10.2.2 Winsock的寻址方式和字节顺序314
10.2.3 Winsock编程流程316
10.2.4 典型过程图318
10.2.5 服务器和客户方程序举例319
10.2.6 UDP协议编程322
10.3 网络程序实际应用323
10.3.1 设置I/O模式323
10.3.2 TCP服务器实例324
10.3.3 TCP客户端实例331
10.4 截拦网络数据334
10.4.1 DLL工程框架335
10.4.2 数据交换机制335
10.4.3 数据的过滤337
10.5 【实例】IP封包截获工具IPPack源代码分析338
10.5.1 主窗口界面339
10.5.2 注入DLL341
10.5.3 处理封包345
第11章 内核模式程序设计与Windows防火墙开发348
11.1 Windows操作系统的体系结构348
11.1.1 Windows 2000/XP组件结构图348
11.1.2 环境子系统和子系统DLL349
11.1.3 系统核心(core)350
11.1.4 设备驱动程序352
11.2 服务353
11.2.1 服务控制管理器(Service Control Manager)353
11.2.2 服务控制程序(Service Control Program)354
11.2.3 封装CDriver类356
11.3 开发内核驱动的准备工作360
11.3.1 驱动程序开发工具箱(Driver Development Kit,DDK)360
11.3.2 编译和连接内核模式驱动的方法360
11.3.3 创建第一个驱动程序361
11.4 内核模式程序设计基础知识362
11.4.1 UNICODE字符串362
11.4.2 设备对象362
11.4.3 驱动程序的基本组成363
11.4.4 I/O请求包(I/O request packet,IRP)和I/O堆栈364
11.4.5 完整驱动程序366
11.5 内核模式与用户模式交互369
11.5.1 扩展派遣接口369
11.5.2 IOCTL应用举例370
11.6 IP过滤钩子驱动374
11.6.1 创建过滤钩子(Filter-hook)驱动374
11.6.2 IP过滤钩子驱动工程框架376
11.6.3 过滤列表378
11.6.4 编写过滤函数379
11.6.5 注册钩子回调函数381
11.6.6 处理IOCTL设备控制代码383
11.7 【实例】防火墙开发实例384
11.7.1 文档视图384
11.7.2 文档对象387
11.7.3 视图对象388
11.7.4 主窗口对象390
第12章 3D图形绘制及OpenGL393
12.1 计算机3D图形渲染技术概述393
12.1.1 计算机3D图形技术历史393
12.1.2 Direct3D技术394
12.2 OpenGL简介395
12.2.1 OpenGL技术395
12.2.2 OpenGL技术的特点395
12.2.3 OpenGL辅助库简介396
12.3 OpenGL中的基本概念397
12.3.1 OpenGL中的函数库简介397
12.3.2 OpenGL函数命名规则400
12.3.3 OpenGL中的数据类型400
12.3.4 OpenGL中的投影变换401
12.3.5 OpenGL中的色彩模式404
12.3.6 OpenGL中的纹理贴图406
12.3.7 OpenGL中的光照409
12.4 OpenGL开发库的获取412
12.4.1 头文件(.h)的配置412
12.4.2 动态链接库文件(.dll)的配置413
12.4.3 静态链接库文件(.lib)的配置413
12.5 【实例】基于Win32的OpenGL框架414
12.5.1 建立Win32应用程序414
12.5.2 头文件设置及全局变量416
12.5.3 改变OpenGL场景尺寸417
12.5.4 OpenGL的初始化417
12.5.5 OpenGL的绘制418
12.5.6 关闭OpenGL418
12.5.7 创建OpenGL窗口420
12.5.8 处理窗口的消息及键盘事件处理424
12.5.9 WinMain函数425
12.5.10 本节小结428
12.5.11 本节源码428
12.6 采用MFC框架开发OpenGL应用程序的优缺点434
12.7 【实例】基于MFC中单文档结构的OpenGL框架搭建435
12.7.1 创建工程435
12.8.2 添加头文件435
12.7.3 添加库文件436
12.7.4 本节小结441
12.7.5 本节源码441
12.8 【实例】基本平面图形的绘制445
12.8.1 绘图所用的函数介绍445
12.8.2 绘图代码详解445
12.9 【实例】彩色图形的绘制447
12.9.1 绘图所用的函数介绍447
12.9.2 绘图代码详解447
12.10 【实例】图形的平移、旋转与缩放448
12.10.1 绘图所用的函数介绍448
12.10.2 绘图代码详解449
12.11 【实例】立方体的绘制451
12.11.1 绘图所用的函数介绍451
12.11.2 绘图代码详解451
12.12 【实例】使用GLU库快速绘制常用几何体452
12.12.1 绘图所用的函数介绍452
12.12.2 绘图代码详解453
第13章 音频控制技术及OpenAL455
13.1 计算机音频控制技术概述455
13.1.1 计算机音频控制技术历史455
13.1.2 DirectXAudio技术456
13.1.3 OpenAL技术456
13.2 OpenAL简介456
13.2.1 什么是OpenAL456
13.2.2 OpenAL的历史457
13.2.3 OpenAL技术的特点457
13.2.4 OpenAL支持的音频格式457
13.3 OpenAL中的基本概念457
13.3.1 OpenAL中的命名规则457
13.3.2 OpenAL中的数据类型458
13.3.3 OpenAL中的缓存Buffer、声源Source、听众Listener458
13.3.4 OpenAL中的设备Device、环境Context458
13.4 VC++中的OpenAL程序设计应用实例459
13.4.1 OpenAL开发库的获取459
13.4.2 【实例】OpenAL SDKSamples说明463
13.4.3 【实例】使用OpenAL进行设备枚举465
13.4.4 【实例】使用OpenAL播放WAV文件470
附录 MFC结构体系图474
参考文献475
热门推荐
- 1093651.html
- 1694124.html
- 761250.html
- 475138.html
- 1892063.html
- 158355.html
- 249271.html
- 2681695.html
- 284158.html
- 187425.html
- http://www.ickdjs.cc/book_3744587.html
- http://www.ickdjs.cc/book_1411045.html
- http://www.ickdjs.cc/book_319952.html
- http://www.ickdjs.cc/book_3809568.html
- http://www.ickdjs.cc/book_742978.html
- http://www.ickdjs.cc/book_2929148.html
- http://www.ickdjs.cc/book_1119439.html
- http://www.ickdjs.cc/book_106691.html
- http://www.ickdjs.cc/book_3662582.html
- http://www.ickdjs.cc/book_1329441.html