第1章 Windows操作系统及编程环境 1
1.1 Windows操作系统 1
1.2 Windows的编程环境 2
1.3 Microsoft Visual C++6.0集成开发环境 3
1.4 新一代的集成开发环境——Microsoft Visual C++.NET 6
第2章 框架与界面设计篇 10
2.1 常用程序框架设计 10
2.1.1 系统托盘类程序框架 10
2.1.2 具有全屏显示/复原功能的程序框架 15
2.1.3 资源管理器风格的程序框架 17
2.1.4 可动态切换多窗体的单文档程序框架 20
2.1.5 具备插件扩展功能的程序框架 23
2.2 工具栏与状态栏编程技巧 27
2.2.1 如何实现控件到工具栏的动态添加 27
2.2.2 如何实现高彩色工具栏 29
2.2.3 如何实现动态换肤功能 31
2.2.4 如何为工具栏按钮添加下拉箭头(Vckbase17) 33
2.3.1 如何实现不规则窗体 35
2.3 窗口与视图编程技巧 35
2.3.2 如何实现窗体透明特效 39
2.3.3 如何实现对话框的动态显示、关闭 42
2.3.4 如何向对话框程序中添加工具条和状态栏 44
2.3.5 如何动态实现3D文字 47
2.3.6 如何实现自动滚屏技术 50
2.3.7 如何利用OwnerDraw技术实现3D文字按钮 51
3.1 利用消息实现内部进程通信(IPC) 56
第3章 进程与服务编程篇 56
3.2 系统热键激活后台服务程序 58
3.2.1 设计思路 58
3.2.2 系统热键的注册 59
3.2.3 服务程序的隐藏与激活 60
3.2.4 系统热键的卸载 61
3.3 通过系统快照实现对当前进程的管理 61
3.3.1 当前进程的枚举 61
3.4 进入Windows NT系统RING0环 63
3.3.2 对进程的管理 63
3.4.1 Windows NT驱动程序 64
3.4.2 Winmdows NT服务 65
3.4.3 运行于RING0级别下的代码 68
3.4.4 自己的调用应用 69
第4章 文件系统与数据库篇 70
4.1 文件与目录的编程技巧 70
4.1.1 如何在程序中编辑文件属性 70
4.1.2 如何编辑文件夹的时间属性信息 72
4.1.3 在程序中如何使用配置设置文件 75
4.1.4 如何将Foxmail邮件夹中的邮件批量导出 77
4.2 对磁盘扇区的直接读写方法 80
4.2.1 对磁盘扇区数据的访问 80
4.2.2 磁盘扇区直接读写技术的应用 82
4.3 如何在程序中更好地使用内存 84
4.3.1 实现对大文件的处理 84
4.3.2 进程间大数据量快速交换技术的实现 91
4.3.3 如何用好虚拟内存 94
4.4 数据库编程 100
4.4.1 在普通程序中添加ODBC应用 100
4.4.2 ODBC数据源的动态配置 102
4.4.3 动态加载ODBC数据源及其内部表单 104
4.4.4 使用UDL文件建立到ADO的连接 107
第5章 通信技术编程篇 111
5.1 套接字编程实现对远程计算机的屏幕监视 111
5.1.1 远程服务器的搭建 111
5.1.2 监视客户端的界面设计 113
5.1.3 屏幕的捕获、显示与保存 114
5.1.4 数据传输 118
5.2 借助命名管道实现网络间通信 122
5.2.1 命名管道技术概述 122
5.2.2 设计思路 122
5.2.3 程序实现 123
5.2.4 其他命名管道API 126
5.3 使用SMAPI为应用程序添加信报收发功能 129
5.3.1 SMAPI编程接口 129
5.3.2 信报发送的处理 130
5.3.3 信报接收的处理 132
5.4 应用SMTP协议实现对电子邮件的传送 133
5.4.1 SMTP协议的通信模型和会话流程 134
5.4.2 在应用程序中使用SMTP协议 135
5.5 GPS全球定位系统数据终端解析 139
5.5.1 GPS全球定位系统简介 139
5.5.2 定位数据的接收 139
5.5.3 对接收数据的解码显示 142
6.1.1 实现以复杂线条为基础的图形绘图 148
第6章 图形、图像、多媒体设计篇 148
6.1 图形与图像 148
6.1.2 碎片图像的无缝拼合技术 150
6.1.3 JPEG/GIF图像的简单显示方法 155
6.1.4 使用RLC编码压缩算法压缩DIB图像 157
6.1.5 借助内嵌资源实现对Flash动画的播放 163
6.2 DirectDraw 165
6.2.1 如何将位图装载到后台缓存 165
6.2.2 如何使用离屏页面 170
6.2.3 如何正确理解并使用关键色与位图动画 172
6.3 OpenGL 175
6.3.1 带纹理茶壶的绘制 175
6.3.2 Bezier曲面的绘制 180
6.3.3 NURBS曲面的绘制 184
6.3.4 使用特殊光处理 186
6.3.5 雾化效果的实现 188
6.3.6 反走样多面体的实现 189
6.4.1 借助TTS技术实现文本的语音输出 191
6.4 音、视频编程 191
6.4.2 基于API的录音机程序实现 193
6.4.3 使用Windows Media Player控件编写个性化媒体播放程序 200
第7章 信息安全解决方案篇 204
7.1 黑软剖析 204
7.1.1 黑软隐藏手段剖析 204
7.1.2 对“特洛伊木马”加载方式的剖析 205
7.1.3 密码的非法探取与防范 208
7.1.4 键盘录入信息的窃取 211
7.1.5 网络嗅探器工作原理分析 214
7.2 信息隐藏与信息清除 218
7.2.1 历史记录的全面清除方法 218
7.2.2 一种简单的基于图像的信息隐藏算法 222
7.2.3 基于一阶Bézier曲线的信息隐藏 222
算法 227
7.2.4 数字图像的混沌迭代加密隐藏算法 232
7.2.5 骑士巡游算法对图像细节的隐藏 235
7.3.1 利用CRC校验码为BMP位图设置印鉴水印 238
7.3 版权认证 238
7.3.2 利用磁盘序列号识别正版软件 242
7.3.3 利用硬件信息实现共享软件的安全注册 245
7.3.4 借助MIRACL大数运算库实现对共享软件的安全注册 247
7.4 数据加密 251
7.4.1 CryptoAPI对机要信息实行安全加密 251
7.4.2 DES加密算法的简单实现 259
8.1.1 非线性方程的计算机辅助近似求解 268
8.1 科学计算 268
第8章 科学计算与计算机仿真篇 268
8.1.2 常微分方程初值问题的计算机辅助求解 271
8.1.3 Lagrange算法实现采样点的近似函数曲线绘制 275
8.2 信号处理 278
8.2.1 对采样信号的频谱分析 278
8.2.2 对采样信号的平滑去噪 282
8.2.3 对不同信号波形相似度的定量分析 286
8.2.4 超高精度计时器的实现 288
8.2.5 线形分组自动纠错编码 291
8.2.6 与Matlab混合编程实现卫星遥感影像的三维显示 297
8.3 计算机仿真处理 300
8.3.1 三维物体模型的计算机仿真 300
8.3.2 生态系统仿真 303
8.3.3 过程纹理造型技术在自然物体仿真中的应用 307
8.3.4 对涟漪的计算机模拟 310
8.3.5 对火焰的计算机动态仿真 316
8.3.6 基于DEM数字高程模型和OpenGL的三维地景仿真处理 320