<p>Windows程序设计(第5版)对于Windows程序员来说,“从 Charles 的(Windows程序设计)一书中寻找答案。”几乎成了一句至理名言。而(Windows程序设计》第5版是专门为在Microsoft Windows 98、Microsoft Windows NT 4和 Windows NT 5下编程的开发人员编写的。内容博大精深,并有大量的源代码来帮助读者掌握Windows编程。本书覆盖了Windows编程的方方面面,是广大编程人员和学习Windows编程的读者必备的一本好书。</p>
Windows 程序设计(第3版)
✍ Scribed by 张铮
- Publisher
- 人民邮电出版社
- Year
- 2015
- Tongue
- Chinese
- Leaves
- 487
- Edition
- 3
- Category
- Library
No coin nor oath required. For personal study only.
✦ Synopsis
本书试图为Windows程序设计初学者提供一条由入门到深入,由简单到复杂的编程设计之路,最终使他们有能力独立开发出像Windows防火墙一样复杂的应用程序.为此,本书首先介绍了Win32程序运行原理和最基本的Win32 API编程;然后通过模拟MFC中关键类,全局函数和宏定义的实现详细讲述了框架程序的设计方法和MFC的内部工作机制,并指出了这些机制是如何对用戶程序造成影响的;继而完整讲述了开发内核驱动和Windows防火墙的过程;最后对计算机3D图形和音频控制技术进行了介绍.此外,书中各章均配以丰富的实例,它们从最简单的"Hello World!"开始,到多线程,用戶界面,注册表和网络通信,3D图形绘制等复杂的程序,内容涉及Windows编程设计的方方面面.
✦ Table of Contents
封面
书名
版权
前言
目录
第1章 Windows程序设计基础
1.1 必须了解的东西
1.1.1 Windows产品概述
1.1.2 开发工具Visual C++
1.1.3 Windows资料来源——MSDN
1.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 设计线程类———CWinThread
3.5 【实例】多线程文件搜索器
3.5.1 搜索文件的基本知识
3.5.2 编程思路
第4章 Windows图形界面
4.1 了解窗口
4.2 第一个窗口程序
4.2.1 创建Win32工程和MessageBox函数
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.4 GDI基本图形
4.4.1 设备环境(Device Context)
4.4.2 Windows的颜色和像素点
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 运行时类信息(CRuntimeClass类)
5.1.1 动态类型识别和动态创建
5.1.2 DECLARE_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.1 CWnd类的引出
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.2 DECLARE_MESSAGE_MAP等宏的定义
6.5 消息处理
6.5.1 使用消息映射宏
6.5.2 消息的分发机制
6.5.3 消息映射应用举例
6.6 使用Microsoft基础类库
6.7 【实例】窗口查看器
6.7.1 窗口界面
6.7.2 获取目标窗口的信息
6.7.3 自制按钮
第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.2 CDialog类
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.5 MFC的支持(CFile类)
8.2 驱动器和目录
8.2.1 驱动器操作
8.2.2 目录操作
8.3 使用注册表
8.3.1 注册表的结构
8.3.2 管理注册表
8.3.3 注册表API应用举例(设置开机自动启动)
8.3.4 ATL库的支持(CRegKey类)
8.4 内存映射文件
8.4.1 内存映射文件相关函数
8.4.2 使用内存映射文件读BMP文件的例子
8.4.3 进程间共享内存
8.4.4 封装共享内存类CShareMemory
8.5 一个文件切割系统的实现
8.5.1 通信机制
8.5.2 分割合并机制
8.5.3 接口函数
8.5.4 最终实现
8.6 【实例】文件切割器开发实例
第9章 动态链接库和钩子
9.1 动态链接库
9.1.1 动态链接库的概念
9.1.2 创建动态链接库工程
9.1.3 动态链接库中的函数
9.1.4 使用导出函数
9.2 Windows钩子
9.2.1 钩子的概念
9.2.2 钩子的安装与卸载
9.2.3 键盘钩子实例
9.3 挂钩API技术(HOOK API)
9.3.1 实现原理
9.3.2 使用钩子注入DLL
9.3.3 HOOK过程
9.3.4 封装CAPIHook类
9.3.5 HOOK实例——进程保护器
9.4 其他常用的侦测方法
9.4.1 使用注册表注入DLL
9.4.2 使用远程线程注入DLL
9.4.3 通过覆盖代码挂钩API
9.5 【实例】用户模式下侦测Win32 API的例子
第10章 TCP/IP和网络通信
10.1 网络基础知识
10.1.1 以太网(Ethernet)
10.1.2 以太网接口堆栈
10.1.3 服务器/客户机模型
10.2 Winsock接口
10.2.1 套接字(Socket)的概念和类型
10.2.2 Winsock的寻址方式和字节顺序
10.2.3 Winsock编程流程
10.2.4 典型过程图
10.2.5 服务器和客户方程序举例
10.2.6 UDP协议编程
10.3 网络程序实际应用
10.3.1 设置I/O模式
10.3.2 TCP服务器实例
10.3.3 TCP客户端实例
10.4 截拦网络数据
10.4.1 DLL工程框架
10.4.2 数据交换机制
10.4.3 数据的过滤
10.5 【实例】IP封包截获工具IPPack源代码分析
10.5.1 主窗口界面
10.5.2 注入DLL
10.5.3 处理封包
第11章 内核模式程序设计与Windows防火墙开发
11.1 Windows操作系统的体系结构
11.1.1 Windows 2000/XP组件结构图
11.1.2 环境子系统和子系统DLL
11.1.3 系统核心(core)
11.1.4 设备驱动程序
11.2 服务
11.2.1 服务控制管理器(Service Control Manager)
11.2.2 服务控制程序(Service Control Program)
11.2.3 封装CDriver类
11.3 开发内核驱动的准备工作
11.3.1 驱动程序开发工具箱(Driver Development Kit,DDK)
11.3.2 编译和连接内核模式驱动的方法
11.3.3 创建第一个驱动程序
11.4 内核模式程序设计基础知识
11.4.1 UNICODE字符串
11.4.2 设备对象
11.4.3 驱动程序的基本组成
11.4.4 I/O请求包(I/O request packet,IRP)和I/O堆栈
11.4.5 完整驱动程序
11.5 内核模式与用户模式交互
11.5.1 扩展派遣接口
11.5.2 IOCTL应用举例
11.6 IP过滤钩子驱动
11.6.1 创建过滤钩子(Filter-hook)驱动
11.6.2 IP过滤钩子驱动工程框架
11.6.3 过滤列表
11.6.4 编写过滤函数
11.6.5 注册钩子回调函数
11.6.6 处理IOCTL设备控制代码
11.7 【实例】防火墙开发实例
11.7.1 文档视图
11.7.2 文档对象
11.7.3 视图对象
11.7.4 主窗口对象
第12章 3D图形绘制及OpenGL
12.1 计算机3D图形渲染技术概述
12.1.1 计算机3D图形技术历史
12.1.2 Direct3D技术
12.2 OpenGL简介
12.2.1 OpenGL技术
12.2.2 OpenGL技术的特点
12.2.3 OpenGL辅助库简介
12.3 OpenGL中的基本概念
12.3.1 OpenGL中的函数库简介
12.3.2 OpenGL函数命名规则
12.3.3 OpenGL中的数据类型
12.3.4 OpenGL中的投影变换
12.3.5 OpenGL中的色彩模式
12.3.6 OpenGL中的纹理贴图
12.3.7 OpenGL中的光照
12.4 OpenGL开发库的获取
12.4.1 头文件(.h)的配置
12.4.2 动态链接库文件(.dll)的配置
12.4.3 静态链接库文件(.lib)的配置
12.5 【实例】基于Win32的OpenGL框架
12.5.1 建立Win32应用程序
12.5.2 头文件设置及全局变量
12.5.3 改变OpenGL场景尺寸
12.5.4 OpenGL的初始化
12.5.5 OpenGL的绘制
12.5.6 关闭OpenGL
12.5.7 创建OpenGL窗口
12.5.8 处理窗口的消息及键盘事件处理
12.5.9 WinMain函数
12.5.10 本节小结
12.5.11 本节源码
12.6 采用MFC框架开发OpenGL应用程序的优缺点
12.7 【实例】基于MFC中单文档结构的OpenGL框架搭建
12.7.1 创建工程
12.8.2 添加头文件
12.7.3 添加库文件
12.7.4 本节小结
12.7.5 本节源码
12.8 【实例】基本平面图形的绘制
12.8.1 绘图所用的函数介绍
12.8.2 绘图代码详解
12.9 【实例】彩色图形的绘制
12.9.1 绘图所用的函数介绍
12.9.2 绘图代码详解
12.10 【实例】图形的平移、旋转与缩放
12.10.1 绘图所用的函数介绍
12.10.2 绘图代码详解
12.11 【实例】立方体的绘制
12.11.1 绘图所用的函数介绍
12.11.2 绘图代码详解
12.12 【实例】使用GLU库快速绘制常用几何体
12.12.1 绘图所用的函数介绍
12.12.2 绘图代码详解
第13章 音频控制技术及OpenAL
13.1 计算机音频控制技术概述
13.1.1 计算机音频控制技术历史
13.1.2 DirectXAudio技术
13.1.3 OpenAL技术
13.2 OpenAL简介
13.2.1 什么是OpenAL
13.2.2 OpenAL的历史
13.2.3 OpenAL技术的特点
13.2.4 OpenAL支持的音频格式
13.3 OpenAL中的基本概念
13.3.1 OpenAL中的命名规则
13.3.2 OpenAL中的数据类型
13.3.3 OpenAL中的缓存Buffer、声源Source、听众Listener
13.3.4 OpenAL中的设备Device、环境Context
13.4 VC++中的OpenAL程序设计应用实例
13.4.1 OpenAL开发库的获取
13.4.2 【实例】OpenAL SDKSamples说明
13.4.3 【实例】使用OpenAL进行设备枚举
13.4.4 【实例】使用OpenAL播放WAV文件
附录 MFC结构体系图
参考文献
📜 SIMILAR VOLUMES
本书首先介绍了Windows平台上进行网络编程的基础知识,包括网络硬件,术语,协议,Winsock编程接口和各种I/O方法等;然后通过具体实例详细讲述了时下流行的高性能可伸缩服务器设计,IP多播和Internet广播,P2P程序设计,原始套节字,SPI,协议驱动的开发和原始以太数据的发送,ARP欺骗技术,LAN和WAN上的扫描和侦测技术,商业级个人防火墙开发等;接下来讲述了新一代网际协议IPv6和Winsock提供的帮助函数;本书结尾部分,对E-mail,Telnet,FTP等协议进行了介绍,给出了一个使用E-mail协议进行多平台同步阅读的实例.
<p>C++是近年来国内外广泛使用的现代计算机语言,它既支持基于过程的程序设计,也支持面向对象的程序设计。国内许多高校陆续开设了C++程序设计课程。但是,由于C++涉及概念很多,语法比较复杂,内容十分广泛,使不少人感到学习难度较大,难以入门。</p> <p>《C++程序设计(第3版)》作者深入调查了大学的程序设计课程的现状和发展趋势,参阅了国内外数十种有关C++的教材,认真分析了读者在学习中的困难和认识规律,设计了读者易于学习的教材体系,于2004年出版了《C++程序设计》一书。《C++程序设计(第3版)》降低入门起点,不需要C语言的基础,从零起点介绍程序设计和C++。广大师生用后反映非常好
<p>《汇编语言程序设计》内容主要包括微机基础知识,Intel 8086/8088指令系统,Intel 80x86、Pentium增强和扩展指令,程序设计方法,高级汇编技术,系统功能调用,汇编语言与C/C++的混合编程技术,上机操作方法。在程序设计各章中在给出一般例题的基础上,特别设置了综合举例章节;在系统功能调用、汇编语言与C/C++的混合编程两章中更特地设置了实例章节。每章附有习题,书后附有上机实验指导。《汇编语言程序设计》可作为高等学校、高等职业学校计算机专业或相近专业汇编语言程序设计课程教材,微型计算机原理课程辅助教材,亦可供软件开发人员参考。</p>
本书参照ACM和IEEE CS CC2013以及教育部高等学校计算机类专业教学指导委员会编制的《高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)》的要求,面向大学计算机专业本科教学的需要,系统地介绍C++程序设计语言的语法、语义和语用,使读者掌握结构化程序设计方法和面向对象程序设计方法。全书分为程序设计基础和面向对象程序设计两大部分。第一部分主要介绍类型、运算符与表达式、输入与输出、控制结构、函数、数组、指针、结构、联合、枚举、链表等程序设计的基本概念和结构化程序设计方法;第二部分主要介绍类与对象、类和对象的使用、操作符重载、继承、多态性、文件和流、异常和模板等面向对象程序设计的
书签已装载, 书签制作方法请找 [email protected] 完全免费 本书是JavaScript 超级畅销书的最新版。ECMAScript 5 和HTML5 在标准之争中双双胜出,使大量专有实现和客户端扩展正式进入规范,同时也为JavaScript 增添了很多适应未来发展的新特性。本书这一版除增加5 章全新内容外,其他章节也有较大幅度的增补和修订,新内容篇幅约占三分之一。全书从JavaScript 语言实现的各个组成部分——语言核心、DOM、BOM、事件模型讲起,深入浅出地探讨了面向对象编程、Ajax 与Comet 服务器端通信,HTML5 表单、媒体、Ca