第3版 Windows 程式设计

Windows 程式设计(第3版)【第3版 Windows 程式设计】《Windows 程式设计(第3版)》是2015年人民邮电出版社出版的图书 , 作者是张铮、孙宝山、周天立 。
基本介绍书名:Windows 程式设计(第3版)
作者:张铮、孙宝山、周天立
ISBN:978-7-115-38162-0
出版社:人民邮电出版社
出版时间: 2015-04
图书简介本书试图为Windows程式设计初学者提供一条由入门到深入、由简单到複杂的编程设计之路 , 最终使他们有能力独立开发出像Windows防火墙一样複杂的应用程式 。为此 , 本书首先介绍了Win32程式运行原理和最基本的Win32 API编程;然后通过模拟MFC中关键类、全局函式和宏定义的实现详细讲述了框架程式的设计方法和MFC的内部工作机制 , 并指出了这些机制是如何对用户程式造成影响的;继而完整讲述了开发核心驱动和Windows防火墙的过程;最后对计算机3D图形和音频控制技术进行了介绍 。目录第 1章 Windows程式设计基础1.1 必须了解的东西1.1.1 Windows产品概述1.1.2 开发工具Visual C++1.1.3 Windows资料来源——MSDN1.1.4 Win32 API简介1.2 VC++的基本使用1.2.1 应用程式的类型1.2.2 第 一个控制台应用程式1.2.3 API函式的调用方法1.3 本书推荐的编程环境1.4 代码的风格1.4.1 变数的命名1.4.2 代码的对齐方式1.4.3 代码的注释第 2章 Win32程式运行原理2.1 CPU的保护模式和Windows系统2.1.1 Windows的多任务实现2.1.2 虚拟记忆体机制2.1.3 核心模式和用户模式2.2 核心对象2.2.1 什幺是核心对象2.2.2 对象和句柄2.2.3 使用计数2.3 进程的创建2.3.1 进程(Process)和执行绪(Thread)2.3.2 应用程式的启动过程2.3.3 CreateProcess函式2.3.4 创建进程的例子2.4 进程控制2.4.1 获取系统进程2.4.2 终止当前进程2.4.3 终止其他进程2.4.4 保护进程2.5 【实例】游戏记忆体修改器2.5.1 实现原理2.5.2 编写测试程式2.5.3 搜寻记忆体2.5.4 写进程空间2.5.5 提炼接口第3章 Win32程式的执行单元3.1 多执行绪3.1.1 执行绪的创建3.1.2 执行绪核心对象3.1.3 执行绪的终止3.1.4 执行绪的优先权3.1.5 C/C++运行期库的考虑3.2 执行绪同步3.2.1 临界区对象3.2.2 互锁函式3.2.3 事件核心对象3.2.4 执行绪局部存储(TLS)3.3 设计自己的执行绪局部存储3.3.1 CSimpleList类3.3.2 CNoTrackObject类3.3.3 CThreadSlotData类3.3.4 CThreadLocal类模板3.4 设计执行绪类-CWinThread3.5 【实例】多执行绪档案搜寻器3.5.1 搜寻档案的基本知识3.5.2 编程思路第4章 Windows图形界面4.1 开始了解视窗4.2 第 一个视窗程式4.2.1 创建Win32工程4.2.2 Windows的讯息驱动4.2.3 创建视窗4.2.4 分析主程式代码4.2.5 处理讯息的代码4.3 一个简陋的打字程式4.3.1 使用资源4.3.2 选单和图示4.3.3 接受键盘输入4.3.4 接收滑鼠输入4.3.5设定文本颜色和背景色4.4GDI基本图形4.4.1设备环境(Device Context)4.4.2Windows的颜色和象素点4.4.3绘製线条4.4.4绘製区域4.4.5坐标系统4.5【实例】小时钟4.5.1基础知识——定时器和系统时间4.5.2时钟程式4.5.3移动视窗4.5.4使用快捷选单第5章框架管理基础5.1运行时类信息5.1.1动态类型识别和动态创建5.1.2DECLARE_DYNAMIC等宏的定义5.2调试支持5.2.1基本调试方法5.2.2调试输出5.2.3跟蹤和断言5.3框架程式中的映射5.3.1映射的概念5.3.2记忆体分配方式5.3.3设计管理方式5.3.4句柄映射的实现5.4框架程式的状态信息5.4.1模组的概念5.4.2模组、执行绪的状态5.5框架程式的执行顺序5.5.1执行绪的生命周期5.5.2程式的初始化过程5.5.3框架程式套用举例第6章框架中的视窗6.1CWnd类的引出6.2视窗句柄映射6.2.1向CWnd对象分发讯息6.2.2讯息的传递方式6.3创建视窗6.3.1视窗函式6.3.2注册视窗类6.3.3讯息钩子6.3.4**终实现6.3.5创建视窗的例子6.4讯息映射6.4.1讯息映射表6.4.2DECLARE_MESSAGE_MAP等宏的定义6.5讯息处理6.5.1使用讯息映射宏6.5.2讯息的分发机制6.5.3讯息映射套用举例6.6使用Microsoft基础类库6.7【实例】视窗查看器 第7章用户界面设计7.1对话框与子视窗控制项基础7.1.1子视窗控制项工作原理7.1.2对话框工作原理7.2使用对话框和控制项与用户互动7.2.1以对话框为主界面的应用程式7.2.2常用子视窗控制项7.2.3对话框与控制项的颜色7.3通用控制项7.3.1通用控制项简介7.3.2使用通用控制项7.3.3使用状态栏7.3.4使用列表视图7.3.5使用进度条7.4通用对话框7.4.1“打开”档案和“保存”档案对话框7.4.2浏览目录对话框7.5使用框架程式简化界面开发7.5.1在框架程式中使用对话框7.5.2CDialog类7.5.3框架程式中的控制项7.5.4使用嚮导7.6【实例】目录监视器7.6.1目录监视的基础知识7.6.2实例程式7.6.3使用SkinMagic美化界面第8章Windows档案操作和记忆体映射档案8.1档案操作8.1.1创建和读写档案8.1.2获取档案信息8.1.3常用档案操作8.1.4检查PE档案有效性的例子8.1.5MFC的支持(CFile类)8.2驱动器和目录8.2.1驱动器操作8.2.2目录操作8.3使用注册表8.3.1注册表的结构8.3.2管理注册表8.3.3注册表API套用举例(设定开机自动启动)8.3.4ATL库的支持(CRegKey类)8.4记忆体映射档案8.4.1记忆体映射档案相关函式8.4.2使用记忆体映射档案读BMP档案的例子8.4.3进程间共享记忆体8.4.4封装共享记忆体类CShareMemory8.5一个档案切割系统的实现8.5.1通信机制8.5.2分割合併机制8.5.3接口函式8.6【实例】档案切割器开发实例第9章动态程式库和钩子9.1动态程式库9.1.1动态程式库的概念9.1.2创建动态程式库工程9.1.3动态程式库中的函式9.1.4使用导出函式9.1.5DLL间共享数据9.2钩子函式9.2.1基本概念9.2.2钩子的安装与释放9.2.3键盘钩子的例子9.3挂鈎API技术9.3.1实现原理9.3.2使用钩子注入DLL9.3.3HOOK过程9.3.4封装CAPIHook类9.3.5HOOK实例——进程保护器 9.4其他常用的侦测方法9.4.1使用注册表注入DLL9.4.2使用远程执行绪注入DLL9.4.3在核心模式下侦测进程的创建9.4.4通过覆盖代码挂鈎API9.5【实例】用户模式下侦测Win32 API的例子第 10章TCP/IP和网路通信10.1网路基础知识10.1.1乙太网(Ethernet)10.1.2乙太网接口堆叠10.1.3伺服器/客户机模型10.2WinSock接口10.2.1套节字(Socket)的概念和类型10.2.2Winsock的定址方式和位元组顺序10.2.3Winsock编程流程10.2.4典型过程图10.2.5伺服器和客户方程式举例10.2.6UDP协定编程10.3网路程式实际套用10.3.1设定I/O模式10.3.2TCP伺服器实例10.3.3TCP客户端实例10.4截拦网路数据的实现10.4.1DLL工程框架10.4.2数据交换机制10.4.3数据的过滤10.5【实例】IP封包截获工具IPPack原始码分析10.5.1主视窗界面10.5.2注入DLL10.5.3处理封包第 11章核心模式程式设计与Windows防火墙开发11.1Windows作业系统的体系结构11.1.1Windows 2000/XP组件结构图11.1.2环境子系统和子系统DLL11.1.3系统核心(core)11.1.4设备驱动程式11.2服务11.2.1服务控制管理器(Service Control Manager)11.2.2服务控制管理器(Service Control Manager)11.2.3封装CDriver类11.3开发核心驱动的準备工作11.3.1驱动程式开发工具箱(Driver Development Kit , DDK)11.3.2编译和连线核心模式驱动的方法11.3.3创建第 一个驱动程式11.4核心模式程式设计基础知识11.4.1UNICODE字元串11.4.2设备对象11.4.3驱动程式