微信扫一扫,移动浏览光盘
简介
《精通Windows程序设计:基于Visual C++实现》大部分应用程序都是基于MFC的C++方式的,一共分为5篇:Windows编程基础,Windows绘图程序设计与消息,Windows界面设计与调试技巧,Windows数据库、网络通信与ActiveX控件,Windows内部处理技术。循序渐进地讲述了Windows编程技术,从基本原理到具体实践都进行了详细阐述,并对具体知识点进行了详细的讲解。
Visual C++是专业程序员使用的工具,开发人员可以利用Visual C++ 6.0基于两种方式编写Win32应用程序。一种是Windows API的C方式,另一种是MFC的C++方式。C方式是传统的编程方式,且久经考验,但是其开发工作量大;而C++方式源代码效率高,开发难度和工作量都较小。《精通Windows程序设计:基于Visual C++实现》的特点是全面详细地介绍了Windows编程,突出了编程的原理性与实用性。《精通Windows程序设计:基于Visual C++实现》在帮助开发人员理解原理的基础上还应用了大量的实例,详细介绍了各原理的应用,以及代码编写技巧,方便开发人员应用实践。
目录
目录
第1篇 Windows编程基础
第1章 Windows程序设计基础知识
1.1 Windows程序设计知识简述
1.1.1 Windows编程特点
1.1.2 Windows应用程序的编程模型
1.1.3 Windows程序基本结构
1.2 Windows程序的发展
1.2.1 传统的Windows编程
1.2.2 Windows与API函数
1.2.3 Windows与Win32API
1.2.4 Windows与面向对象
1.2.5 Windows对象与MFC对象
1.3 Windows编程应用工具
1.3.1 Windows编程工具简介
1.3.2 为何使用Visual C++
1.3.3 Visual C++ 6.0的安装
1.3.4 Visual C++ 6.0集成开发环境
1.3.5 Visual C++6.0的基本使用
1.4 【实例】一个显示窗口的典型的Windows应用程序
1.4.1 创建应用程序
1.4.2 Windows程序生命期
1.4.3 Windows程序要素简介
1.4.4 Winmain()入口函数
1.4.5 WndProc()窗口处理函数
1.4.6 进队消息与不进队消息
1.4.7 设备描述表
1.4.8 应用程序的退出
1.5 【实例】建立第一个控制台应用程序
1.5.1 创建工程
1.5.2 控制台应用程序说明
1.5.3 编译并链接源程序
1.5.4 应用Visual C++调试器调试程序
1.6 Windows程序设计注意事项
1.6.1 Windows应用程序中的调用关系
1.6.2 Windows应用程序多任务处理
1.7 Windows程序常用事项
1.7.1 匈牙利式命名规则
1.7.2 代码的对齐
1.7.3 应用注释
1.7.4 MSDN的应用
1.8 小结
第2章 Win32编程基础
2.1 Win32程序开发流程
2.2 【实例】用Win32API编写一个简单的Windows程序
2.2.1 创建应用程序
2.2.2 调用头文件说明
2.2.3 WinMain()入口函数
2.2.4 API函数的调用
2.3 Win32编程思想
2.3.1 事件驱动的程序设计思想
2.3.2 消息和消息处理机制思想
2.3.3 动态链接技术
2.3.4 句柄
2.3.5 其他Win32编程思想
2.4 【实例】一个典型的Win32程序
2.4.1 程序入口WinMain()
2.4.2 窗口类的注册与产生
2.4.3 消息循环
2.4.4 窗口函数的处理
2.4.5 消息映射
2.4.6 对话框的运行
2.4.7 模块定义文件
2.4.8 资源描述文件
2.5 进程与线程
2.5.1 内核对象
2.5.2 基于Win32的进程模式
2.5.3 进程的属性与资源
2.5.4 进程与线程的相关性
2.5.5 创建进程(CreatProcess)函数
2.5.6 【实例】进程的创建
2.5.7 控制与终止某进程
2.5.8 与进程相关的API函数
2.6 Win32程序的空闲处理
2.7 小结
第3章 创建Windows应用程序
3.1 创建Windows应用程序的方法
3.1.1 底层编程法
3.1.2 MFC编程法
3.1.3 高层编程法
3.2 【实例】建立一个简单的MFC应用程序
3.2.1 创建应用程序
3.2.2 MFC应用程序对象
3.2.3 建立框架窗口对象
3.2.4 绘制窗口
3.2.5 消息映射处理
3.2.6 有关字符串的定义
3.3 了解Windows应用程序的类型
3.4 关于AppWizard与ClassWizard
3.4.1 AppWizard应用程序向导
3.4.2 ClassWizard类向导
3.5 【实例】创建第一个MFCAppWizard工程——MDI应用程序
3.5.1 生成MDI应用程序框架
3.5.2 浏览应用程序文件及工作区中的项目
3.5.3 调试应用程序
3.6 关于MDI的说明
3.7 关于MDI应用程序框架的组成说明
3.7.1 应用程序对象
3.7.2 窗口对象
3.7.3 视图对象
3.7.4 文档对象
3.7.5 MFC的主要类及其层次关系
3.8 MDI应用程序的执行流程
3.9 MDI工程的相关文件说明
3.9.1 工程文件
3.9.2 资源文件
3.9.3 预编译文件
3.9.4 注册表项目文件
3.9.5 帮助文件
3.10 小结
第2篇 Windows绘图程序设计与消息
第4章 Windows应用程序输入设备
4.1 鼠标
4.1.1 鼠标设备基础知识
4.1.2 鼠标光标的热点
4.1.3 客户区与非客户区鼠标消息
4.1.4 鼠标跟随原理与WM_MOUSEMOVE
4.1.5 【实例】鼠标消息的捕获与应用
4.1.6 鼠标光标形状的设置
4.1.7 【实例】不同区域显示不同光标
4.2 键盘
4.2.1 键盘设备基础知识
4.2.2 接收键盘输入焦点消息及处理
4.2.3 获取击键消息
4.3 【实例】从键盘读取输入
4.3.1 为键盘数据建立存储区域
4.3.2 读取击键
4.3.3 键入的字符保存并显示
4.3.4 运行程序并键入字符测试
4.3.5 程序拓展——文档的永久保存
4.4 计时器
4.4.1 设置计时器
4.4.2 WM_TIMER消息
4.4.3 清除计时器WM_KILL
4.4.4 【实例】设置2个计时器程序
4.5 小结
第5章 Windows窗口中绘图
5.1 图形设备接口GDI
5.1.1 设备描述表类介绍
5.1.2 设备描述表类的应用方法
5.1.3 GDI绘图对象
5.1.4 【实例】用GDI绘图
5.2 绘图模式
5.2.1 绘图模式概述
5.2.2 【实例】绘图模式的应用——橡皮筋矩形的实现
5.3 Windows中的映射模式
5.3.1 映射模式概述
5.3.2 【实例】映射模式的应用
5.4 坐标转换
5.4.1 逻辑坐标与设备坐标
5.4.2 坐标转换的函数应用
5.4.3 【实例】坐标转换的应用
5.5 窗口与视口
5.5.1 概念介绍
5.5.2 窗口与视口的原点
5.5.3 窗口与视口的相关函数及其应用
5.6 窗口重绘函数
5.6.1 OnDraw与OnPaint函数
5.6.2 添加重绘资源
5.7 图形文件的操作
5.7.1 创建新文档
5.7.2 保存图形文件
5.7.3 打开图形文件
5.7.4 其他相关函数
5.8 【实例】鼠标绘制直线与圆形
5.8.1 绘图原理与WM_LBUTTONDOWN、WM_LBUTTONUP
5.8.2 集合数组类的应用——图形的保存
5.8.3 图形的重绘
5.8.4 坐标点的平移——图形拉伸效果的实现
5.8.5 实例拓展
5.9 小结
第6章 Windows应用程序窗口消息
6.1 窗口管理
6.1.1 C++窗口对象和Windows窗口对象
6.1.2 创建窗口
6.1.3 定位窗体
6.1.4 销毁窗体
6.2 主要编程对象——窗口
6.2.1 窗口结构与类型
6.2.2 窗口关系
6.2.3 窗口应用框架
6.3 窗口消息映射
6.3.1 Windows消息的分类
6.3.2 消息的结构
6.3.3 消息处理
6.3.4 窗口消息映射表
6.3.5 窗口消息的定位
6.3.6 消息映射宏的种类
6.3.7 消息的预处理
6.4 窗口消息处理机制
6.4.1 标准窗口消息处理
6.4.2 命令消息处理
6.4.3 消息反射处理
6.4.4 更新命令处理
6.4.5 自定义窗口消息
6.4.6 自定义命令
6.4.7 Post与Send消息
6.4.8 两进程窗口通信的注册消息
6.4.9 线程消息处理
6.4.10 跨进程消息处理
6.4.11 【实例】跨进程消息交换数据
6.5 【实例】MFC的窗口过程
6.5.1 MFC窗口过程的指定
6.5.2 对Windows消息的接收和处理
6.5.3 对命令消息的接收和处理
6.5.4 对控制通知消息的接收和处理
6.5.5 对更新命令的接收和处理
6.6 小结
第3篇 Windows界面设计与调试技巧
第7章 用户窗口界面的设计
7.1 Windows控件的设计与应用
7.1.1 Windows控件简介
7.1.2 静态控件
7.1.3 按钮
7.1.4 编辑框
7.1.5 列表框
7.1.6 组合框
7.1.7 滚动条
7.1.8 列表视图控件
7.1.9 树形控件
7.1.10 旋转、进度条和滑块控件
7.1.11 位图按钮、图像列表控件
7.1.12 自定义控件的颜色
7.2 菜单
7.2.1 菜单基础知识
7.2.2 创建菜单应用程序
7.2.3 创建上下文快捷/弹出式菜单
7.2.4 菜单应用程序加入对话框窗口
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.4.3 在对话框中设置状态栏
7.5 对话框的设计
7.5.1 对话框原理介绍
7.5.2 模式对话框与无模式对话框的设计
7.5.3 系统通用对话框的应用
7.5.4 自定义对话框形状
7.5.5 对话框与控件的数据交互
7.5.6 对话框与文档视图的数据交互
7.6 【实例】将文本框与组合框加入列表视图控件实例
7.6.1 准备知识
7.6.2 创建结构体
7.6.3 创建所需相关类
7.6.4 功能实现
7.7 小结
第8章 Windows文件系统与序列化
8.1 文件CFile类
8.1.1 创建、打开与关闭文件
8.1.2 文件的读、写
8.1.3 移动文件指针
8.1.4 临时文件的操作
8.1.5 监控目录,搜索文件
8.1.6 文件属性的获取和更改
8.1.7 文件的分割与合并
8.1.8 锁定文件
8.1.9 CFile的派生类
8.2 文件的序列化
8.2.1 序列化基础
8.2.2 序列化函数Serialize()
8.2.3 自定义可序列化类
8.3 【实例】普通文件的编辑器
8.3.1 项目框架程序
8.3.2 初始化文档数据
8.3.3 文件串行化处理
8.3.4 文本数据的显示
8.3.5 文本字体的设定
8.4 小结
第9章 文档与视图
9.1 文档与视图的概述
9.1.1 文档与视图的关系
9.1.2 文档与视图的接口
9.1.3 SDI与MDI应用程序的区别
9.2 文档/视图框架结构的关系
9.2.1 MFC各对象间的关系
9.2.2 文档类
9.2.3 视图类
9.2.4 框架窗口类
9.2.5 文档模板类
9.2.6 多文档
9.2.7 多视图
9.2.8 拆分窗口
9.2.9 文档/视图的滚动处理
9.3 文档类
9.3.1 文档的生命周期
9.3.2 文档的操作与函数的重载
9.3.3 设置文档修改标志
9.3.4 文档的序列化保存
9.3.5 关闭并销毁文档
9.4 视图类
9.4.1 视图类的函数
9.4.2 初始化视图
9.4.3 视图与文档的数据交互
9.4.4 多个视图添加到单个文档
9.5 文档/视图与框架的交互
9.5.1 框架窗口的处理
9.5.2 框架命令的处理
9.5.3 框架与文档/视图的交互
9.6 打印的设置
9.6.1 文档与视结构中的打印流程
9.6.2 自定义打印功能的实现
9.6.3 打印预览
9.6.4 【实例】图像打印程序
9.7 【实例】多文档和多视图的编程
9.7.1 创建多文档与多视图
9.7.2 定义新视图类
9.7.3 修改子框架窗口CChildFrame
9.8 小结
第10章 程序调试与编程技巧
10.1 调试Visual C++程序
10.1.1 bugs程序
10.1.2 设置断点
10.1.3 单步执行
10.1.4 检查运行时程序的数据
10.1.5 编辑并继续
10.2 其他相关处理
10.2.1 异常处理
10.2.2 诊断调试
10.2.3 用Visual C做远程调试
10.2.4 使用调试功能检测内存泄漏
10.3 DEBUG版本与RELEASE版本
10.4 其他应用技巧
10.4.1 全面清除历史记录的实例
10.4.2 清理Visual C++工程
10.4.3 通过优化使代码效率更高
10.4.4 Visual C++编译时加快链接
10.4.5 代码维护技巧
10.5 小结
第4篇 Windows数据库、网络通信与ActiveX控件
第11章 数据库的程序设计
11.1 数据库概述
11.1.1 应用Visual C++开发数据库的特点
11.1.2 Visual C++开发数据库的技术
11.2 ODBC数据库管理
11.2.1 ODBC的体系结构
11.2.2 SQL操作
11.2.3 用MFC ODBC访问数据库
11.3 DAO数据库访问对象
11.3.1 基于DAO的程序特色
11.3.2 用DAO开发数据库应用程序
11.4 【实例】ODBC技术开发数据库
11.4.1 创建数据源
11.4.2 创建ODBC应用程序
11.4.3 增加数据表记录
11.4.4 删除数据表记录
11.4.5 查找数据表记录
11.5 小结
第12章 网络通信程序设计
12.1 网络体系结构与协议
12.1.1 OSI参考模型
12.1.2 TCP/IP分层模型
12.1.3 IP地址
12.1.4 TCP/IP
12.1.5 UDP协议
12.1.6 客户端/服务器模型
12.2 Windows Sockets编程
12.2.1 Socket(套接字)介绍
12.2.2 Socket程序设计
12.2.3 【实例】WinSock程序
12.3 MFC套接字编程
12.3.1 套接字类CAsyncSocket的介绍
12.3.2 套接字类CSocket的应用
12.3.3 CSocket类的应用特点
12.4 WinInet编程
12.4.1 MFC的类WinInet
12.4.2 WinInet编程方法介绍
12.5 FTP编程
12.5.1 FTP简介
12.5.2 FTP客户端编程
12.5.3 FTP的断点续传
12.6 【实例】创建Web浏览器
12.6.1 准备知识
12.6.2 建立Web浏览器框架
12.6.3 应用程序实现代码
12.7 小结
第13章 COM、OLE与ActiveX技术
13.1 组件对象模型COM
13.1.1 创建COM对象
13.1.2 对象的生存期
13.1.3 获取接口指针
13.1.4 创建COM服务器
13.1.5 定位透明度
13.2 OLE技术概述
13.2.1 结构化存储
13.2.2 Monikers介绍
13.2.3 统一数据传输
13.2.4 OLE文档
13.2.5 OLE自动化
13.3 ActiveX技术概述
13.3.1 ActiveX控件
13.3.2 ActiveX文档
13.3.3 ActiveX控件容器
13.3.4 创建Activex控件
13.3.5 注册ActiveX控件
13.3.6 插入Activex控件
13.4 【实例】ActiveX时钟控件
13.4.1 创建时钟控件的基本功能
13.4.2 控件属性
13.4.3 使用属性页
13.4.4 设置控件的事件
13.4.5 添加控件方法
13.5 小结
第5篇 Windows内部处理技术
第14章 多线程应用程序的设计
14.1 线程基本知识概述
14.1.1 线程的ID和句柄
14.1.2 设置线程的优先级
14.1.3 多任务与多线程
14.2 创建和使用线程
14.2.1 创建线程CreateThread()函数
14.2.2 线程的分类
14.2.3 启动及初始化线程
14.2.4 悬挂和恢复线程
14.2.5 线程的休眠
14.2.6 终止线程
14.2.7 【实例】创建工作者线程
14.3 实现多线程同步的相关知识
14.3.1 线程的同步机制
14.3.2 临界区对象
14.3.3 互斥内核对象
14.3.4 事件内核对象
14.3.5 信号量内核对象
14.3.6 线程局部存储
14.3.7 互锁函数
14.4 【实例】多线程的应用
14.4.1 添加线程对象和线程函数
14.4.2 添加鼠标左键触发函数
14.4.3 添加状态栏坐标提示
14.5 小结
第15章 Windows系统与内存的管理
15.1 驱动器和文件目录
15.1.1 驱动器卷标操作
15.1.2 逻辑驱动器的操作
15.1.3 格式化驱动器
15.1.4 文件目录操作
15.2 注册表的应用
15.2.1 注册表的结构
15.2.2 注册表的管理
15.2.3 【实例】用注册表键存储用户信息
15.3 任务栏状态区
15.3.1 任务栏状态区操作函数
15.3.2 任务栏状态区托盘程序的实现
15.4 控制面板
15.4.1 控制面板的工作原理
15.4.2 控制面板应用程序的实现
15.5 内存管理
15.5.1 Windows内存分布
15.5.2 内存属性与状态
15.5.3 全局内存与虚拟内存
15.5.4 虚拟内存管理
15.5.5 自由的、保留的和已提交的虚拟内存
15.5.6 释放虚拟内存
15.5.7 改变虚拟内存页的保护
15.5.8 锁定虚拟内存页
15.5.9 查询进程的虚拟内存
15.6 内存映射文件
15.6.1 内存映射文件的用途
15.6.2 内存映射文件的编程流程
15.6.3 内存映射文件的视图
15.7 【实例】用内存映射文件处理大文件
15.7.1 创建文件内核对象
15.7.2 创建文件映射内核对象
15.7.3 文件数据及视图的映射
15.7.4 关闭文件对象和文件映射对象
15.8 小结
第16章 动态链接库DLL和钩子
16.1 动态链接库DLL
16.1.1 动态链接的特点
16.1.2 Visual C++支持的动态链接库类型
16.1.3 DLL入口函数
16.1.4 DLL函数的导出
16.1.5 连接DLL的方式——显式和隐式
16.2 【实例】应用共享MFC DLL创建一个DLL
16.3 【实例】测试DLL文件
16.3.1 创建应用程序框架
16.3.2 编辑对话框并添加相应执行函数
16.3.3 连接待测试的DLL库文件
16.4 Windows钩子
16.4.1 钩子的定义及类型
16.4.2 钩子链表和钩子子程
16.4.3 钩子的安装与卸载
16.4.4 全局钩子与线程钩子
16.4.5 传递事件的函数
16.5 【实例】应用钩子机制截获鼠标点击次数
16.5.1 创建钩子DLL文件
16.5.2 创建调用钩子DLL文件的程序
16.5.3 运行并测试
16.6 Win32 API的挂钩技术
16.6.1 网络监控技术
16.6.2 屏幕取词技术
16.6.3 防止进程结束技术
16.6.4 DLL注入机制
16.6.5 系统服务的挂钩
16.7 小结
第17章 Windows内核程序设计与防火墙开发
17.1 Windows操作系统和CPU的保护模式
17.1.1 Windows层次结构
17.1.2 CPU保护模式
17.1.3 内核模式和用户模式
17.2 Windows系统服务
17.2.1 常用API服务函数
17.2.2 设计服务程序
17.3 内核驱动程序设计
17.3.1 内核及内核对象
17.3.2 内核模式编程环境
17.3.3 内核钩子
17.3.4 【实例】最小化驱动程序
17.4 Windows防火墙
17.4.1 防火墙核心功能概述
17.4.2 代理防火墙与服务器
17.4.3 防火墙的工作流程
17.4.4 防火墙模块的划分
17.5 网络封包截获技术
17.5.1 过滤驱动程序的特性
17.5.2 传输层截获网络封包技术
17.5.3 网络驱动程序接口规范
17.5.4 中间驱动程序的特性
17.5.5 网络中间驱动程序截获网络封包技术
17.6 【实例】Windows个人防火墙系统的实现
17.6.1 Filter-Hook驱动
17.6.2 创建内核模式驱动
17.6.3 过滤函数
17.6.4 设置过滤函数
17.6.5 防火墙应用户操作界面的实现
17.6.6 防火墙应用程序的实现
17.7 小结
&CuH
第1篇 Windows编程基础
第1章 Windows程序设计基础知识
1.1 Windows程序设计知识简述
1.1.1 Windows编程特点
1.1.2 Windows应用程序的编程模型
1.1.3 Windows程序基本结构
1.2 Windows程序的发展
1.2.1 传统的Windows编程
1.2.2 Windows与API函数
1.2.3 Windows与Win32API
1.2.4 Windows与面向对象
1.2.5 Windows对象与MFC对象
1.3 Windows编程应用工具
1.3.1 Windows编程工具简介
1.3.2 为何使用Visual C++
1.3.3 Visual C++ 6.0的安装
1.3.4 Visual C++ 6.0集成开发环境
1.3.5 Visual C++6.0的基本使用
1.4 【实例】一个显示窗口的典型的Windows应用程序
1.4.1 创建应用程序
1.4.2 Windows程序生命期
1.4.3 Windows程序要素简介
1.4.4 Winmain()入口函数
1.4.5 WndProc()窗口处理函数
1.4.6 进队消息与不进队消息
1.4.7 设备描述表
1.4.8 应用程序的退出
1.5 【实例】建立第一个控制台应用程序
1.5.1 创建工程
1.5.2 控制台应用程序说明
1.5.3 编译并链接源程序
1.5.4 应用Visual C++调试器调试程序
1.6 Windows程序设计注意事项
1.6.1 Windows应用程序中的调用关系
1.6.2 Windows应用程序多任务处理
1.7 Windows程序常用事项
1.7.1 匈牙利式命名规则
1.7.2 代码的对齐
1.7.3 应用注释
1.7.4 MSDN的应用
1.8 小结
第2章 Win32编程基础
2.1 Win32程序开发流程
2.2 【实例】用Win32API编写一个简单的Windows程序
2.2.1 创建应用程序
2.2.2 调用头文件说明
2.2.3 WinMain()入口函数
2.2.4 API函数的调用
2.3 Win32编程思想
2.3.1 事件驱动的程序设计思想
2.3.2 消息和消息处理机制思想
2.3.3 动态链接技术
2.3.4 句柄
2.3.5 其他Win32编程思想
2.4 【实例】一个典型的Win32程序
2.4.1 程序入口WinMain()
2.4.2 窗口类的注册与产生
2.4.3 消息循环
2.4.4 窗口函数的处理
2.4.5 消息映射
2.4.6 对话框的运行
2.4.7 模块定义文件
2.4.8 资源描述文件
2.5 进程与线程
2.5.1 内核对象
2.5.2 基于Win32的进程模式
2.5.3 进程的属性与资源
2.5.4 进程与线程的相关性
2.5.5 创建进程(CreatProcess)函数
2.5.6 【实例】进程的创建
2.5.7 控制与终止某进程
2.5.8 与进程相关的API函数
2.6 Win32程序的空闲处理
2.7 小结
第3章 创建Windows应用程序
3.1 创建Windows应用程序的方法
3.1.1 底层编程法
3.1.2 MFC编程法
3.1.3 高层编程法
3.2 【实例】建立一个简单的MFC应用程序
3.2.1 创建应用程序
3.2.2 MFC应用程序对象
3.2.3 建立框架窗口对象
3.2.4 绘制窗口
3.2.5 消息映射处理
3.2.6 有关字符串的定义
3.3 了解Windows应用程序的类型
3.4 关于AppWizard与ClassWizard
3.4.1 AppWizard应用程序向导
3.4.2 ClassWizard类向导
3.5 【实例】创建第一个MFCAppWizard工程——MDI应用程序
3.5.1 生成MDI应用程序框架
3.5.2 浏览应用程序文件及工作区中的项目
3.5.3 调试应用程序
3.6 关于MDI的说明
3.7 关于MDI应用程序框架的组成说明
3.7.1 应用程序对象
3.7.2 窗口对象
3.7.3 视图对象
3.7.4 文档对象
3.7.5 MFC的主要类及其层次关系
3.8 MDI应用程序的执行流程
3.9 MDI工程的相关文件说明
3.9.1 工程文件
3.9.2 资源文件
3.9.3 预编译文件
3.9.4 注册表项目文件
3.9.5 帮助文件
3.10 小结
第2篇 Windows绘图程序设计与消息
第4章 Windows应用程序输入设备
4.1 鼠标
4.1.1 鼠标设备基础知识
4.1.2 鼠标光标的热点
4.1.3 客户区与非客户区鼠标消息
4.1.4 鼠标跟随原理与WM_MOUSEMOVE
4.1.5 【实例】鼠标消息的捕获与应用
4.1.6 鼠标光标形状的设置
4.1.7 【实例】不同区域显示不同光标
4.2 键盘
4.2.1 键盘设备基础知识
4.2.2 接收键盘输入焦点消息及处理
4.2.3 获取击键消息
4.3 【实例】从键盘读取输入
4.3.1 为键盘数据建立存储区域
4.3.2 读取击键
4.3.3 键入的字符保存并显示
4.3.4 运行程序并键入字符测试
4.3.5 程序拓展——文档的永久保存
4.4 计时器
4.4.1 设置计时器
4.4.2 WM_TIMER消息
4.4.3 清除计时器WM_KILL
4.4.4 【实例】设置2个计时器程序
4.5 小结
第5章 Windows窗口中绘图
5.1 图形设备接口GDI
5.1.1 设备描述表类介绍
5.1.2 设备描述表类的应用方法
5.1.3 GDI绘图对象
5.1.4 【实例】用GDI绘图
5.2 绘图模式
5.2.1 绘图模式概述
5.2.2 【实例】绘图模式的应用——橡皮筋矩形的实现
5.3 Windows中的映射模式
5.3.1 映射模式概述
5.3.2 【实例】映射模式的应用
5.4 坐标转换
5.4.1 逻辑坐标与设备坐标
5.4.2 坐标转换的函数应用
5.4.3 【实例】坐标转换的应用
5.5 窗口与视口
5.5.1 概念介绍
5.5.2 窗口与视口的原点
5.5.3 窗口与视口的相关函数及其应用
5.6 窗口重绘函数
5.6.1 OnDraw与OnPaint函数
5.6.2 添加重绘资源
5.7 图形文件的操作
5.7.1 创建新文档
5.7.2 保存图形文件
5.7.3 打开图形文件
5.7.4 其他相关函数
5.8 【实例】鼠标绘制直线与圆形
5.8.1 绘图原理与WM_LBUTTONDOWN、WM_LBUTTONUP
5.8.2 集合数组类的应用——图形的保存
5.8.3 图形的重绘
5.8.4 坐标点的平移——图形拉伸效果的实现
5.8.5 实例拓展
5.9 小结
第6章 Windows应用程序窗口消息
6.1 窗口管理
6.1.1 C++窗口对象和Windows窗口对象
6.1.2 创建窗口
6.1.3 定位窗体
6.1.4 销毁窗体
6.2 主要编程对象——窗口
6.2.1 窗口结构与类型
6.2.2 窗口关系
6.2.3 窗口应用框架
6.3 窗口消息映射
6.3.1 Windows消息的分类
6.3.2 消息的结构
6.3.3 消息处理
6.3.4 窗口消息映射表
6.3.5 窗口消息的定位
6.3.6 消息映射宏的种类
6.3.7 消息的预处理
6.4 窗口消息处理机制
6.4.1 标准窗口消息处理
6.4.2 命令消息处理
6.4.3 消息反射处理
6.4.4 更新命令处理
6.4.5 自定义窗口消息
6.4.6 自定义命令
6.4.7 Post与Send消息
6.4.8 两进程窗口通信的注册消息
6.4.9 线程消息处理
6.4.10 跨进程消息处理
6.4.11 【实例】跨进程消息交换数据
6.5 【实例】MFC的窗口过程
6.5.1 MFC窗口过程的指定
6.5.2 对Windows消息的接收和处理
6.5.3 对命令消息的接收和处理
6.5.4 对控制通知消息的接收和处理
6.5.5 对更新命令的接收和处理
6.6 小结
第3篇 Windows界面设计与调试技巧
第7章 用户窗口界面的设计
7.1 Windows控件的设计与应用
7.1.1 Windows控件简介
7.1.2 静态控件
7.1.3 按钮
7.1.4 编辑框
7.1.5 列表框
7.1.6 组合框
7.1.7 滚动条
7.1.8 列表视图控件
7.1.9 树形控件
7.1.10 旋转、进度条和滑块控件
7.1.11 位图按钮、图像列表控件
7.1.12 自定义控件的颜色
7.2 菜单
7.2.1 菜单基础知识
7.2.2 创建菜单应用程序
7.2.3 创建上下文快捷/弹出式菜单
7.2.4 菜单应用程序加入对话框窗口
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.4.3 在对话框中设置状态栏
7.5 对话框的设计
7.5.1 对话框原理介绍
7.5.2 模式对话框与无模式对话框的设计
7.5.3 系统通用对话框的应用
7.5.4 自定义对话框形状
7.5.5 对话框与控件的数据交互
7.5.6 对话框与文档视图的数据交互
7.6 【实例】将文本框与组合框加入列表视图控件实例
7.6.1 准备知识
7.6.2 创建结构体
7.6.3 创建所需相关类
7.6.4 功能实现
7.7 小结
第8章 Windows文件系统与序列化
8.1 文件CFile类
8.1.1 创建、打开与关闭文件
8.1.2 文件的读、写
8.1.3 移动文件指针
8.1.4 临时文件的操作
8.1.5 监控目录,搜索文件
8.1.6 文件属性的获取和更改
8.1.7 文件的分割与合并
8.1.8 锁定文件
8.1.9 CFile的派生类
8.2 文件的序列化
8.2.1 序列化基础
8.2.2 序列化函数Serialize()
8.2.3 自定义可序列化类
8.3 【实例】普通文件的编辑器
8.3.1 项目框架程序
8.3.2 初始化文档数据
8.3.3 文件串行化处理
8.3.4 文本数据的显示
8.3.5 文本字体的设定
8.4 小结
第9章 文档与视图
9.1 文档与视图的概述
9.1.1 文档与视图的关系
9.1.2 文档与视图的接口
9.1.3 SDI与MDI应用程序的区别
9.2 文档/视图框架结构的关系
9.2.1 MFC各对象间的关系
9.2.2 文档类
9.2.3 视图类
9.2.4 框架窗口类
9.2.5 文档模板类
9.2.6 多文档
9.2.7 多视图
9.2.8 拆分窗口
9.2.9 文档/视图的滚动处理
9.3 文档类
9.3.1 文档的生命周期
9.3.2 文档的操作与函数的重载
9.3.3 设置文档修改标志
9.3.4 文档的序列化保存
9.3.5 关闭并销毁文档
9.4 视图类
9.4.1 视图类的函数
9.4.2 初始化视图
9.4.3 视图与文档的数据交互
9.4.4 多个视图添加到单个文档
9.5 文档/视图与框架的交互
9.5.1 框架窗口的处理
9.5.2 框架命令的处理
9.5.3 框架与文档/视图的交互
9.6 打印的设置
9.6.1 文档与视结构中的打印流程
9.6.2 自定义打印功能的实现
9.6.3 打印预览
9.6.4 【实例】图像打印程序
9.7 【实例】多文档和多视图的编程
9.7.1 创建多文档与多视图
9.7.2 定义新视图类
9.7.3 修改子框架窗口CChildFrame
9.8 小结
第10章 程序调试与编程技巧
10.1 调试Visual C++程序
10.1.1 bugs程序
10.1.2 设置断点
10.1.3 单步执行
10.1.4 检查运行时程序的数据
10.1.5 编辑并继续
10.2 其他相关处理
10.2.1 异常处理
10.2.2 诊断调试
10.2.3 用Visual C做远程调试
10.2.4 使用调试功能检测内存泄漏
10.3 DEBUG版本与RELEASE版本
10.4 其他应用技巧
10.4.1 全面清除历史记录的实例
10.4.2 清理Visual C++工程
10.4.3 通过优化使代码效率更高
10.4.4 Visual C++编译时加快链接
10.4.5 代码维护技巧
10.5 小结
第4篇 Windows数据库、网络通信与ActiveX控件
第11章 数据库的程序设计
11.1 数据库概述
11.1.1 应用Visual C++开发数据库的特点
11.1.2 Visual C++开发数据库的技术
11.2 ODBC数据库管理
11.2.1 ODBC的体系结构
11.2.2 SQL操作
11.2.3 用MFC ODBC访问数据库
11.3 DAO数据库访问对象
11.3.1 基于DAO的程序特色
11.3.2 用DAO开发数据库应用程序
11.4 【实例】ODBC技术开发数据库
11.4.1 创建数据源
11.4.2 创建ODBC应用程序
11.4.3 增加数据表记录
11.4.4 删除数据表记录
11.4.5 查找数据表记录
11.5 小结
第12章 网络通信程序设计
12.1 网络体系结构与协议
12.1.1 OSI参考模型
12.1.2 TCP/IP分层模型
12.1.3 IP地址
12.1.4 TCP/IP
12.1.5 UDP协议
12.1.6 客户端/服务器模型
12.2 Windows Sockets编程
12.2.1 Socket(套接字)介绍
12.2.2 Socket程序设计
12.2.3 【实例】WinSock程序
12.3 MFC套接字编程
12.3.1 套接字类CAsyncSocket的介绍
12.3.2 套接字类CSocket的应用
12.3.3 CSocket类的应用特点
12.4 WinInet编程
12.4.1 MFC的类WinInet
12.4.2 WinInet编程方法介绍
12.5 FTP编程
12.5.1 FTP简介
12.5.2 FTP客户端编程
12.5.3 FTP的断点续传
12.6 【实例】创建Web浏览器
12.6.1 准备知识
12.6.2 建立Web浏览器框架
12.6.3 应用程序实现代码
12.7 小结
第13章 COM、OLE与ActiveX技术
13.1 组件对象模型COM
13.1.1 创建COM对象
13.1.2 对象的生存期
13.1.3 获取接口指针
13.1.4 创建COM服务器
13.1.5 定位透明度
13.2 OLE技术概述
13.2.1 结构化存储
13.2.2 Monikers介绍
13.2.3 统一数据传输
13.2.4 OLE文档
13.2.5 OLE自动化
13.3 ActiveX技术概述
13.3.1 ActiveX控件
13.3.2 ActiveX文档
13.3.3 ActiveX控件容器
13.3.4 创建Activex控件
13.3.5 注册ActiveX控件
13.3.6 插入Activex控件
13.4 【实例】ActiveX时钟控件
13.4.1 创建时钟控件的基本功能
13.4.2 控件属性
13.4.3 使用属性页
13.4.4 设置控件的事件
13.4.5 添加控件方法
13.5 小结
第5篇 Windows内部处理技术
第14章 多线程应用程序的设计
14.1 线程基本知识概述
14.1.1 线程的ID和句柄
14.1.2 设置线程的优先级
14.1.3 多任务与多线程
14.2 创建和使用线程
14.2.1 创建线程CreateThread()函数
14.2.2 线程的分类
14.2.3 启动及初始化线程
14.2.4 悬挂和恢复线程
14.2.5 线程的休眠
14.2.6 终止线程
14.2.7 【实例】创建工作者线程
14.3 实现多线程同步的相关知识
14.3.1 线程的同步机制
14.3.2 临界区对象
14.3.3 互斥内核对象
14.3.4 事件内核对象
14.3.5 信号量内核对象
14.3.6 线程局部存储
14.3.7 互锁函数
14.4 【实例】多线程的应用
14.4.1 添加线程对象和线程函数
14.4.2 添加鼠标左键触发函数
14.4.3 添加状态栏坐标提示
14.5 小结
第15章 Windows系统与内存的管理
15.1 驱动器和文件目录
15.1.1 驱动器卷标操作
15.1.2 逻辑驱动器的操作
15.1.3 格式化驱动器
15.1.4 文件目录操作
15.2 注册表的应用
15.2.1 注册表的结构
15.2.2 注册表的管理
15.2.3 【实例】用注册表键存储用户信息
15.3 任务栏状态区
15.3.1 任务栏状态区操作函数
15.3.2 任务栏状态区托盘程序的实现
15.4 控制面板
15.4.1 控制面板的工作原理
15.4.2 控制面板应用程序的实现
15.5 内存管理
15.5.1 Windows内存分布
15.5.2 内存属性与状态
15.5.3 全局内存与虚拟内存
15.5.4 虚拟内存管理
15.5.5 自由的、保留的和已提交的虚拟内存
15.5.6 释放虚拟内存
15.5.7 改变虚拟内存页的保护
15.5.8 锁定虚拟内存页
15.5.9 查询进程的虚拟内存
15.6 内存映射文件
15.6.1 内存映射文件的用途
15.6.2 内存映射文件的编程流程
15.6.3 内存映射文件的视图
15.7 【实例】用内存映射文件处理大文件
15.7.1 创建文件内核对象
15.7.2 创建文件映射内核对象
15.7.3 文件数据及视图的映射
15.7.4 关闭文件对象和文件映射对象
15.8 小结
第16章 动态链接库DLL和钩子
16.1 动态链接库DLL
16.1.1 动态链接的特点
16.1.2 Visual C++支持的动态链接库类型
16.1.3 DLL入口函数
16.1.4 DLL函数的导出
16.1.5 连接DLL的方式——显式和隐式
16.2 【实例】应用共享MFC DLL创建一个DLL
16.3 【实例】测试DLL文件
16.3.1 创建应用程序框架
16.3.2 编辑对话框并添加相应执行函数
16.3.3 连接待测试的DLL库文件
16.4 Windows钩子
16.4.1 钩子的定义及类型
16.4.2 钩子链表和钩子子程
16.4.3 钩子的安装与卸载
16.4.4 全局钩子与线程钩子
16.4.5 传递事件的函数
16.5 【实例】应用钩子机制截获鼠标点击次数
16.5.1 创建钩子DLL文件
16.5.2 创建调用钩子DLL文件的程序
16.5.3 运行并测试
16.6 Win32 API的挂钩技术
16.6.1 网络监控技术
16.6.2 屏幕取词技术
16.6.3 防止进程结束技术
16.6.4 DLL注入机制
16.6.5 系统服务的挂钩
16.7 小结
第17章 Windows内核程序设计与防火墙开发
17.1 Windows操作系统和CPU的保护模式
17.1.1 Windows层次结构
17.1.2 CPU保护模式
17.1.3 内核模式和用户模式
17.2 Windows系统服务
17.2.1 常用API服务函数
17.2.2 设计服务程序
17.3 内核驱动程序设计
17.3.1 内核及内核对象
17.3.2 内核模式编程环境
17.3.3 内核钩子
17.3.4 【实例】最小化驱动程序
17.4 Windows防火墙
17.4.1 防火墙核心功能概述
17.4.2 代理防火墙与服务器
17.4.3 防火墙的工作流程
17.4.4 防火墙模块的划分
17.5 网络封包截获技术
17.5.1 过滤驱动程序的特性
17.5.2 传输层截获网络封包技术
17.5.3 网络驱动程序接口规范
17.5.4 中间驱动程序的特性
17.5.5 网络中间驱动程序截获网络封包技术
17.6 【实例】Windows个人防火墙系统的实现
17.6.1 Filter-Hook驱动
17.6.2 创建内核模式驱动
17.6.3 过滤函数
17.6.4 设置过滤函数
17.6.5 防火墙应用户操作界面的实现
17.6.6 防火墙应用程序的实现
17.7 小结
&CuH
基于Visual C++实现
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!