Visual C++编程实战宝典-附DVD光盘
- ISBN:9787302347934
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其它
- 页数:811
- 出版时间:2014-09-01
- 条形码:9787302347934 ; 978-7-302-34793-4
本书特色
“开发宝典丛书”是由清华大学出版社为软件开发爱好者精心打造的一套软件开发百科全书。丛书强调“全面、新颖、详细、实用、深入、高效”等特色,涵盖常见的编程语言和技术。丛书中的每本书都是由从事软件开发多年、具备丰富的开发经验的老手精心编写,讲解细腻,内容实用,并精心录制了配套教学视频。可以说,这套丛书是编程爱好者系统学习软件开发技术的不二选择,一册在手,万事无忧! 《visualc++编程实战宝典》以visualstudio2010作为开发环境,由浅入深,全面、系统地介绍了visualc++开发的各项技术。书中的各个技术点都提供了实例供读者实战演练,各章后还提供了实战练习题帮助读者巩固和提高。另外,本书配1张dvd光盘,内容为作者专门为本书录制的33。6小时配套教学视频,还收录了本书涉及的所有实例源文件,以帮助读者更加高效、直观地学习本书内容。 本书共分7篇。第1篇介绍visualstudio2010开发环境及搭建、c++基本语法及面向对象思想;第2篇介绍windows编程、mfc基础、菜单、工具栏、状态栏、windows标准控件、mfc类、文档/视图结构、对话框等技术;第3篇介绍数据库编程基础及sqlserver、ado、odbc、oledb、mysql等数据库访问技术;第4篇介绍windows套接字编程、邮槽和管道的使用、串行端口编程、internet编程等;第5篇介绍磁盘操作、系统控制与调用、应用程序的操作、系统工具的操作、桌面的相关操作、系统信息操作、消息的使用、剪贴板的使用、鼠标键盘的操作、操作注册表、读写ini文件、读写xml文件、动态链接库编程、多线程编程等;第6篇介绍文本字体、图形与图像编程、声音与动画编程、directx图形开发等;第7篇详细介绍网络音频播放系统、gps定位系统项目案例的开发,以提高读者的实战水平。 本书适合所有想全面学习visualc++开发技术的人员阅读,也适合用visualc++进行开发的工程技术人员和科研人员阅读。对于经常使用visualc++做开发的人员,本书是一本不可多得的案头**参考手册。 超值、大容量dvd光盘 本书各章涉及的实例源文件; 33.6小时本书配套教学视频; 3个visualc++项目案例源程序及3小时教学视频; 324页《c/c++程序员面试宝典》电子书。 一分钟了解本书内容 visualstudio2010集成开发环境(26分钟视频) visualstudio2010基本应用程序的创建(29分钟视频) c/c++语言基础(162分钟视频) c++面向对象程序设计(108分钟视频) windows编程与mfc基础(49分钟视频) 菜单、工具栏和状态栏(61分钟视频) 使用windows标准控件(85分钟视频) mfc的一些常用类(67分钟视频) 文档/视图结构应用程序(70分钟视频) 对话框的应用(86分钟视频) 数据库开发概述(95分钟视频) visualc++中的sqlserver访问技术(54分钟视频) visualc++中的odbc访问技术(62分钟视频) visualc++中的oledb访问技术(25分钟视频) visualc++中的mysql访问技术(27分钟视频) windows套接字编程(81分钟视频) 邮槽与管道(57分钟视频) 通信端口编程(64分钟视频) internet编程(49分钟视频) 系统相关功能开发(191分钟视频) 注册表、ini和xml文件(92分钟视频) 动态链接库编程(71分钟视频) 多线程编程(62分钟视频) 文本字体技术(34分钟视频) 图形与图像编程(109分钟视频) 声音与动画编程(34分钟视频) directx图形开发(97分钟视频) 网络音频播放系统(24分钟视频) gps定位系统(46分钟视频)
内容简介
一本百科全书式的visualc++编程秘笈,全面、新颖、详细、深入和实用 资深程序员15年开发经验的总结,完美展现visualc++的五大应用领域 高效:提供了33.6小时配套教学视频及3小时java进阶视频,高效而直观 全面:涵盖visualc++开发基础、界面开发、数据库开发、网络编程、系统编程及多媒体开发等内容 新颖:以visualstudio2010作为开发环境来介绍visualc++的各项技术 详细:结合图示,从概念、语法、示例、技巧和应用等多角度分析每个知识点 实用:提供了100个综合实例、2个大型项目开发案例、57个实践练习题 深入:剖析了硬件设备控制、系统配置、ddl、多线程等其他图书很少涉及的内容 推荐阅读:开发宝典丛书(请点丛书链接查看) 开发宝典丛书 (权威、经典、全面、深入、详细、新颖、实用的编程百科全书) 《c++编程实战宝典》 (c++编程百科全书,全面学习,深入精髓,配大量视频) 《visual c++网络编程案例实战》 (毕业设计好帮手,vc++网络编程必读) 《visual c+游戏开发案例实战》 (游戏开发爱好者入门必读) 《c++入门很简单》 (浅显易懂,零门槛学习,10小时高清教学视频,大量实例) 《零点起飞学c++》 (易学易懂的c++编程入门书,从零起步,循序渐进,学练结合) 《visual c++入门很简单》 (零门槛学习,配18小时视频) 《零点起飞学visual c++》 (易学易懂的visual c++编程入门书,从零起步,循序渐进,学练结合) 《程序员的数学思维修炼(趣味解读)》 (专门为程序员而写的数学书,生动有趣,程序员必读!)
目录
第1章 visual studio 2010集成开发环境( 教学视频:26分钟)
1.1 visual studio 2010及其开发环境
1.1.1 visual studio 2010的安装
1.1.2 visual studio 2010开发环境
1.1.3 visual studio 2010向导
1.2 工作区视图
1.2.1 解决方案视图
1.2.2 类视图
1.2.3 资源视图
1.3 资源与资源编辑器
1.3.1 资源的类型
1.3.2 资源编辑器
1.4 本章小结
1.5 习题
第2章 visual studio 2010基本应用程序的创建( 教学视频:29分钟)
2.1 使用appwizard生成项目
2.1.1 解决方案与项目
2.1.2 使用appwizard创建项目
2.2 win32控制台应用程序
2.2.1 使用向导生成win32控制台项目
2.2.2 添加源文件
2.2.3 编译、链接程序
2.2.4 生成程序
2.2.5 运行程序
2.3 mfc应用程序框架
2.3.1 创建mfc应用程序
2.3.2 认识文档/视图结构
2.4 本章小结
2.5 习题
第3章 c/c++语言基础( 教学视频:162分钟)
3.1 对标准c的扩展--c++
3.2 c++语法元素
3.2.1 *小的元素--符号
3.2.2 注释规范
3.2.3 标识符命名规范
3.2.4 c++预定义的关键字
3.2.5 标点符号
3.2.6 操作符
3.2.7 声明与定义
3.3 常量和变量
3.3.1 定义常量
3.3.2 常量成员函数
3.3.3 定义变量
3.3.4 代码的有效范围--作用域
3.4 数据类型
3.4.1 基本数据类型
3.4.2 数据类型的转换方式
3.4.3 数组
3.4.4 结构体
3.4.5 共用体
3.4.6 匿名共用体
3.4.7 枚举类型
3.4.8 用typedef定义类型
3.4.9 位域
3.5 运算符和表达式
3.5.1 算术运算符
3.5.2 赋值运算符
3.5.3 关系运算符
3.5.4 逻辑运算符
3.5.5 位运算符
3.5.6 三目运算符
3.5.7 增1和减1运算符
3.5.8 逗号运算符
3.5.9 sizeof运算符
3.5.10 new和delete
3.5.11 范围确定符
3.5.12 类成员访问符
3.5.13 成员指针操作符
3.6 控制语句
3.6.1 表达式语句、空语句和复合语句
3.6.2 选择语句
3.6.3 循环语句
3.6.4 跳转语句
3.7 函数
3.7.1 函数的定义和调用
3.7.2 带默认形参值的函数
3.7.3 函数的递归调用
3.7.4 内联函数
3.7.5 函数的重载
3.8 指针和引用
3.8.1 指针和指针变量
3.8.2 &和*运算符
3.8.3 指针和数组
3.8.4 指针和结构体
3.8.5 函数的指针传递
3.8.6 引用及函数的引用传递
3.9 预处理
3.9.1 宏定义
3.9.2 文件包含
3.9.3 条件编译
3.10 文件操作
3.10.1 打开文件
3.10.2 从文件读取数据
3.10.3 向文件写入数据
3.10.4 关闭文件
3.10.5 文件操作示例
3.11 本章小结
3.12 习题
第4章 c++面向对象程序设计( 教学视频:108分钟)
4.1 类和对象
4.1.1 从结构到类
4.1.2 定义类
4.1.3 定义对象
4.1.4 嵌套类
4.2 类成员及其特性
4.2.1 构造函数
4.2.2 析构函数
4.2.3 对象成员初始化
4.2.4 常类型(const)
4.2.5 使用this指针指向对象
4.2.6 类的作用域和对象的生存期
4.2.7 使用静态成员保存类的数据
4.2.8 友元函数和友元类
4.3 继承与派生
4.3.1 如何使用继承方法
4.3.2 派生类的构造函数和析构函数
4.3.3 实现多重继承
4.3.4 虚基类
4.4 多态和虚函数
4.4.1 使用虚函数实现派生类的通用功能
4.4.2 纯虚函数和抽象基类
4.5 重载运算符
4.5.1 运算符重载语法
4.5.2 可重载的运算符
4.5.3 重载赋值运算符
4.6 输入输出流库
4.6.1 c++的输入输出
4.6.2 预定义输入/输出对象cout和cin
4.6.3 标准错误处理对象cerr
4.6.4 常用输入输出成员函数
4.6.5 常见文件流类
4.6.6 操作顺序文件
4.6.7 操作随机文件
4.7 c++的模板机制
4.7.1 为什么需要模板
4.7.2 函数模板的使用
4.7.3 类模板的使用
4.7.4 模板与宏的对比
4.7.5 模板应用示例
4.7.6 c++标准模板库stl简介
4.8 c++实例——设计一个电子时钟
4.9 本章小结
4.10 习题
第2篇 界 面 开 发
第5章 windows编程与mfc基础( 教学视频:49分钟)
5.1 windows编程
5.1.1 windows应用程序编程接口api
5.1.2 使用句柄标识窗口
5.1.3 输入事件产生的消息
5.1.4 windows句柄的数据类型
5.2 windows程序执行流程
5.2.1 入口函数winmain()
5.2.2 注册窗体类
5.2.3 使用createwindow()创建窗口
5.2.4 使用消息循环响应用户输入
5.2.5 主窗体函数winproc()
5.2.6 windows编程实例——设计一个电子时钟
5.3 mfc基础
5.3.1 什么是微软基础类库mfc
5.3.2 mfc类层次结构
5.3.3 mfc全局函数
5.4 mfc应用程序框架分析
5.4.1 mfc的入口函数winmain()
5.4.2 派生自cwinapp的应用程序对象
5.4.3 初始化应用程序的initinstance()函数
5.4.4 框架程序的运行核心run()函数
5.5 mfc的消息映射
5.5.1 标准windows消息
5.5.2 触发菜单/快捷键产生的命令消息
5.5.3 使用on_message宏自定义消息
5.5.4 注册系统消息
5.6 本章小结
5.7 习题
第6章 菜单、工具栏和状态栏( 教学视频:61分钟)
6.1 菜单
6.1.1 菜单的种类及开发步骤
6.1.2 创建和编辑菜单
6.1.3 处理菜单命令消息
6.1.4 处理菜单更新消息
6.1.5 设置菜单项快捷键
6.1.6 创建与使用弹出式菜单
6.1.7 菜单类cmenu
6.2 工具栏
6.2.1 创建与编辑工具栏
6.2.2 设置工具栏停靠和浮动
6.2.3 设置工具提示
6.2.4 ctoolbar介绍
6.3 状态栏
6.3.1 创建状态栏
6.3.2 状态栏实例
6.3.3 cstatusbar介绍
6.4 本章小结
6.5 习题
第7章 使用windows标准控件( 教学视频:85分钟)
7.1 windows标准控件
7.1.1 常用windows控件
7.1.2 使用对话框编辑器创建控件
7.1.3 控件类的基类cwnd
7.1.4 控件的消息及其处理
7.1.5 创建控件对象
7.2 按钮
7.2.1 按钮简介
7.2.2 按钮类cbutton
7.2.3 按钮的属性与消息
7.2.4 设定和获取按钮状态
7.3 静态控件与编辑控件
7.3.1 创建与使用静态控件
7.3.2 静态控件类cstatic
7.3.3 创建编辑控件
7.3.4 编辑控件类cedit
7.3.5 编辑控件的消息
7.3.6 编辑控件的应用实例
7.4 单选按钮和复选框
7.4.1 单选按钮控件的创建
7.4.2 单选按钮控件的消息
7.4.3 复选框控件的创建
7.4.4 复选框控件的消息
7.4.5 单选按钮控件和复选框控件的实例
7.5 列表框和组合框
7.5.1 创建列表框
7.5.2 列表框类clistbox
7.5.3 列表框消息
7.5.4 列表框实例
7.5.5 创建组合框
7.5.6 组合框类ccombobox
7.5.7 组合框消息
7.5.8 组合框实例
7.6 微调控件、滑块控件和进度条控件
7.6.1 微调控件的创建和使用
7.6.2 创建和使用滑块控件
7.6.3 创建和使用进度条控件
7.6.4 编程实例
7.7 列表视图控件和树形视图控件
7.7.1 创建列表视图控件
7.7.2 列表视图控件类clistctrl
7.7.3 列表视图控件的通知消息
7.7.4 创建树形视图控件
7.7.5 树形视图控件类ctreectrl
7.7.6 树形视图控件的消息
7.7.7 编程实例
7.8 activex控件
7.8.1 使用activex控件
7.8.2 activex控件的结构
7.8.3 包装类
7.8.4 获取activex控件的帮助信息
7.8.5 visual c++中的控件和组件库
7.8.6 mfc程序中activex控件的使用
7.9 本章小结
7.10 习题
第8章 mfc的一些常用类( 教学视频:67分钟)
8.1 字符串类(cstring)
8.1.1 创建cstring对象
8.1.2 cstring类的成员函数
8.1.3 cstring类的常用操作
8.1.4 cstring的格式化与类型转换
8.1.5 cstring使用实例
8.2 集合类1
8.2.1 数组类
8.2.2 数组类的使用实例
8.2.3 链表类
8.2.4 链表类的使用实例
8.3 日期、时间类
8.3.1 ctime类
8.3.2 格式化ctime对象
8.3.3 ctimespan类
8.3.4 制作一个计时器
8.4 mfc文件操作类——cfile
8.4.1 构造文件对象并打开文件
8.4.2 读写文件
8.4.3 定位文件
8.4.4 文件管理操作
8.4.5 文件操作实例
8.5 mfc异常类
8.5.1 mfc异常类简介
8.5.2 文件异常类cfileexception
8.5.3 异常的捕获
8.6 本章小结
8.7 习题
第9章 文档/视图结构应用程序( 教学视频:70分钟)
9.1 文档/视图结构分析
9.1.1 框架中的主要类
9.1.2 文档类、视图类核心函数
9.1.3 新建、保存和打开的实现
9.1.4 多文档应用程序框架
9.2 开发文档/视图结构应用程序
9.2.1 目标
9.2.2 创建基本程序框架
9.2.3 创建文档数据
9.2.4 绘图操作
9.2.5 文档序列化carchive
9.2.6 让文档/视图结构支持滚动条
9.3 对话框分割与多视图应用
9.3.1 对话框分割基础知识
9.3.2 动态分割对话框的实现
9.3.3 多视图的实现
9.4 文档/视图应用程序实例
9.5 本章小结
9.6 习题
第10章 对话框的应用( 教学视频:86分钟)
10.1 对话框概述
10.1.1 对话框工作方式
10.1.2 对话框的种类
10.1.3 创建与编辑对话框模板
10.2 对话框与程序连接
10.2.1 创建对话框类
10.2.2 为对话框类添加成员变量
10.2.3 ddx和ddv机制
10.2.4 处理对话框控件通知消息
10.3 创建与显示对话框
10.3.1 创建模态对话框
10.3.2 创建非模态对话框
10.3.3 修改对话框背景颜色
10.3.4 关闭对话框
10.4 属性表对话框
10.4.1 属性表对话框的运行机制
10.4.2 属性表对话框的创建
10.5 消息对话框与公用对话框
10.5.1 消息对话框实例
10.5.2 颜色对话框实例
10.5.3 文件对话框实例
10.5.4 字体对话框实例
10.5.5 查找、替换对话框实例
10.5.6 打印对话框实例
10.6 本章小结
10.7 习题
第3篇 数据库开发
第11章 数据库开发概述( 教学视频:95分钟) 252
11.1 数据库简介 252
11.1.1 数据库发展史概述 252
11.1.2 数据库常见概念 253
11.1.3 数据库的作用 253
11.1.4 数据库管理系统(dbms) 254
11.1.5 数据库常见4种数据模型 254
11.1.6 数据库的体系结构 256
11.1.7 关系数据库 256
11.1.8 数据库的开发过程 257
11.2 规范化理论 258
11.2.1 为什么需要规范化 258
11.2.2 数据依赖 258
11.2.3 范式介绍 260
11.3 e-r模型 262
11.3.1 e-r模型元素 263
11.3.2 e-r设计 264
11.4 结构化查询语言sql 265
11.4.1 sql语言概述 265
11.4.2 sql数据定义语句ddl 266
11.4.3 sql数据操纵语句dml 268
11.4.4 sql数据控制语句dcl 269
11.4.5 操作视图 270
11.5 visual c++数据库接口 271
11.5.1 面向对象技术 271
11.5.2 windows平台下的数据访问接口 271
11.5.3 visual c++数据访问接口 273
11.5.4 用visual c++访问数据库的优点 274
11.6 本章小结 274
11.7 习题 275
第12章 visual c++中sql server 访问技术( 教学视频:54分钟) 276
12.1 sql server 2008简介 276
12.1.1 sql server 2008介绍 276
12.1.2 sql server 2008的工具 277
12.1.3 sql server 2008配置管理器 277
12.1.4 sql server management studio 278
12.2 创建sql server 2008对象 279
12.2.1 创建用户数据库 280
12.2.2 创建和管理表 281
12.2.3 创建和管理视图 282
12.2.4 创建和管理存储过程 283
12.3 ado访问技术 284
12.3.1 ado模型 284
12.3.2 ado数据库访问步骤分析 286
12.4 使用ado访问数据库实例 286
12.4.1 ado连接sql server数据库 287
12.4.2 ado读取数据库表记录 288
12.4.3 ado写入数据库表记录 290
12.4.4 ado删除数据库表记录 291
12.5 本章小结 292
12.6 习题 292
第13章 visual c++中odbc访问技术( 教学视频:62分钟) 293
13.1 odbc api 293
13.1.1 odbc体系结构 293
13.1.2 odbc数据类型 294
13.1.3 odbc句柄与返回值 295
13.1.4 odbc驱动和管理器 296
13.1.5 配置odbc数据源 297
13.2 用odbc api操作数据库实例 299
13.2.1 操作数据库的一般步骤 299
13.2.2 连接数据库 300
13.2.3 读取数据库表记录 301
13.2.4 添加、删除记录 302
13.2.5 断开数据库连接 302
13.2.6 odbc api封装类实例 303
13.3 用mfc odbc类操作数据库 309
13.3.1 连接数据库——cdatabase类 309
13.3.2 选择和操作记录——crecordset类 310
13.3.3 在窗体中显示和操作数据——crecordview类 312
13.3.4 异常处理——cdbexception类 312
13.3.5 断开数据源连接 312
13.3.6 mfc odbc操作数据库实例 313
13.4 自动注册dsn 317
13.5 本章小结 318
13.6 习题 318
第14章 visual c++中ole db访问技术( 教学视频:25分钟) 319
14.1 ole db简介 319
14.1.1 什么是ole db 319
14.1.2 ole db和odbc之间的关系 320
14.2 visual c++中的ole db类 320
14.2.1 数据库连接类cdatasource 320
14.2.2 数据库访问会话类csession 321
14.2.3 记录集类crowset 321
14.2.4 数据表ctable 322
14.3 visual c++的ole db应用实例 323
14.3.1 创建应用程序 323
14.3.2 显示数据库表 324
14.3.3 显示表定义 326
14.4 本章小结 329
14.5 习题 330
第15章 visual c++中mysql访问技术( 教学视频:27分钟) 331
15.1 mysql c api 331
15.1.1 mysql c api的数据类型 331
15.1.2 mysql c api函数 333
15.1.3 应用程序实例 335
15.1.4 cdatabase类的实现 337
15.1.5 应用cdatabase类 339
15.2 本章小结 340
15.3 习题 340
第4篇 网 络 编 程
第16章 windows套接字编程( 教学视频:81分钟) 342
16.1 常见概念 342
16.1.1 windows sockets规范 342
16.1.2 套接字及其分类 342
16.1.3 客户端/服务器(c/s)模型 343
16.1.4 网络字节顺序 344
16.2 套接字库函数 346
16.2.1 套接字函数 346
16.2.2 数据库函数 347
16.2.3 windows扩展函数 349
16.3 使用winsock api 350
16.3.1 基本socket系统调用 350
16.3.2 windows sockets编程机理 352
16.3.3 面向连接的套接字编程 353
16.3.4 无连接套接字编程 354
16.3.5 原始套接字编程 355
16.4 mfc对winsock api的封装 356
16.4.1 casyncsocket类 356
16.4.2 使用casyncsocket类 356
16.4.3 csocket类 357
16.4.4 使用csocket类 357
16.5 mfc socket实例 359
16.6 本章小结 363
16.7 习题 363
第17章 邮槽与管道( 教学视频:57分钟) 364
17.1 邮槽 364
17.1.1 实施细节 364
17.1.2 邮槽服务器 365
17.1.3 邮槽客户端 366
17.1.4 其他功能函数 366
17.1.5 邮槽应用示例 366
17.2 匿名管道 368
17.2.1 匿名管道的实施细节 368
17.2.2 匿名管道应用示例 369
17.3 命名管道 370
17.3.1 命名管道技术概述 371
17.3.2 命名规范及通信模式 371
17.3.3 使用命名管道 372
17.3.4 其他功能函数 373
17.3.5 命名管道实例 374
17.4 本章小结 377
17.5 习题 377
第18章 通信端口编程( 教学视频:64分钟) 378
18.1 串行端口通信编程 378
18.1.1 windows环境下的串口编程 378
18.1.2 设定串口参数 379
18.1.3 数据流控制参数 381
18.1.4 申请串口资源 383
18.1.5 同步i/o读写数据 385
18.1.6 使用事件驱动机制 386
18.1.7 异步i/o读写数据 387
18.1.8 ms comm串行通信控件 388
18.2 通信端口编程实例 391
18.2.1 串口线程初始化 391
18.2.2 串口接收线程 392
18.2.3 打开和关闭串口 393
18.2.4 向串口发送数据 395
18.2.5 界面处理 395
18.3 本章小结 398
18.4 习题 398
第19章 internet编程( 教学视频:49分钟) 399
19.1 wininet编程 399
19.1.1 wininet api概述 399
19.1.2 wininet常用类概览 400
19.1.3 超文本传输协议http编程 403
19.1.4 文件传输协议ftp编程 405
19.1.5 网际gopher协议编程 407
19.2 isapi编程 408
19.2.1 isapi概述 408
19.2.2 isapi服务器扩展程序 409
19.2.3 使用应用向导开发isapi服务器扩展程序 411
19.2.4 调试isa 412
19.2.5 isapi过滤程序 413
19.3 mapi编程 415
19.3.1 mapi体系结构概述 415
19.3.2 mapi应用程序接口 416
19.3.3 使用mapi编写支持电子邮件的程序 417
19.4 本章小结 419
19.5 习题 419
第5篇 系 统 编 程
第20章 系统相关功能开发( 教学视频:191分钟) 422
20.1 获取磁盘信息 422
20.1.1 获取驱动器卷标 422
20.1.2 获取磁盘序列号 423
20.1.3 检测软驱是否有软盘 424
20.1.4 判断是否插入存储器 425
20.1.5 判断光驱是否有光盘 427
20.1.6 判断驱动器类型 428
20.1.7 获取磁盘空间信息 429
20.2 操作磁盘 430
20.2.1 格式化磁盘 431
20.2.2 关闭磁盘共享 432
20.2.3 设置磁盘卷标 434
20.2.4 磁盘碎片整理 434
20.2.5 从fat32转换为ntfs 435
20.2.6 隐藏磁盘分区 436
20.2.7 显示被隐藏的磁盘分区 437
20.2.8 如何更改分区号 438
20.2.9 如何监视硬盘 439
20.3 系统控制与调用 440
20.3.1 调用外部程序 441
20.3.2 调用创建快捷方式向导 442
20.3.3 访问启动控制面板中的各项 442
20.3.4 控制光驱的弹开与关闭 444
20.3.5 关闭、重启、注销和锁定计算机 445
20.3.6 关闭和打开显示器 446
20.3.7 打开和关闭屏幕保护 447
20.3.8 关闭当前输入法 447
20.3.9 让程序发出提示音 447
20.3.10 列举系统中的可执行文件 448
20.4 应用程序操作 450
20.4.1 禁止程序重复运行 450
20.4.2 如何确定应用程序没有响应 451
20.4.3 检索任务管理器中的任务列表 452
20.4.4 判断某个程序是否运行 453
20.4.5 怎样在程序中执行dos命令 454
20.4.6 修改其他进程中对话框的标题 455
20.4.7 如何设计换肤程序 455
20.4.8 pe档案格式分析 457
20.4.9 修改应用程序图标 458
20.4.10 列举应用程序使用的dll文件 459
20.4.11 调用具有命令行参数的应用程序 460
20.4.12 在程序中调用一个子进程直到结束 461
20.5 系统工具 462
20.5.1 为程序添加快捷方式 462
20.5.2 显示系统正在运行的程序 463
20.5.3 如何获得毫秒级时间 465
20.5.4 注册和卸载组件 465
20.5.5 清空回收站 467
20.5.6 如何在程序中显示文件属性对话框 468
20.6 桌面相关 469
20.6.1 获取桌面对话框 469
20.6.2 获取任务栏对话框句柄 470
20.6.3 获取桌面列表视图句柄 471
20.6.4 获取任务栏属性 471
20.6.5 隐藏和显示桌面图标 472
20.6.6 隐藏和显示windows任务栏 473
20.6.7 隐藏和显示“开始”按钮 474
20.6.8 隐藏和显示任务栏时钟 475
20.6.9 判断屏幕保护程序是否在运行 476
20.6.10 判断系统是否使用大字体 477
20.6.11 改变桌面背景颜色 478
20.7 系统信息 479
20.7.1 获取cpu id值 479
20.7.2 获取cpu时钟频率 480
20.7.3 获得windows和system的路径 481
20.7.4 获取特殊文件夹路径 482
20.7.5 检测系统启动模式 484
20.7.6 判断操作系统类型 485
20.7.7 获取当前系统的运行时间 486
20.7.8 如何获取windows 7系统启动时间 487
20.7.9 获取处理器信息 487
20.7.10 检测是否安装声卡 489
20.7.11 获取当前用户名 490
20.7.12 获取系统环境变量 490
20.7.13 修改计算机名称 491
20.7.14 获取当前屏幕颜色质量 492
20.7.15 获得当前屏幕的分辨率 492
20.8 消息 493
20.8.1 如何自定义消息 493
20.8.2 如何向windows注册消息 494
20.8.3 postmessage()函数和sendmessage()函数的区别 496
20.8.4 利用wm_copydata消息实现进程间数据传递 496
20.9 剪贴板 498
20.9.1 列举剪贴板中数据类型 498
20.9.2 监视剪贴板复制过的内容 499
20.9.3 通过剪贴板传递全局数据 501
20.10 鼠标键盘 502
20.10.1 交换鼠标左右键 502
20.10.2 设置鼠标双击的时间间隔 503
20.10.3 获得鼠标键数 504
20.10.4 获取鼠标下窗体句柄 505
20.10.5 模拟鼠标单击按钮 505
20.10.6 在程序中添加快捷键 507
20.10.7 在对话框中使用加速键 507
20.10.8 处理鼠标滚轮消息 509
20.10.9 获取键盘按键 510
20.10.10 获取键盘类型及功能号 511
20.10.11 控制键盘指示灯 512
20.11 本章小结 514
20.12 习题 514
第21章 注册表、ini和xml文件( 教学视频:92分钟) 515
21.1 读写注册表的api函数 515
21.1.1 注册表的概念 515
21.1.2 创建带安全属性的注册表项 516
21.1.3 创建注册表项 517
21.1.4 打开注册表项 518
21.1.5 判断注册表项是否存在 519
21.1.6 删除注册表项 519
21.1.7 打开注册表根项 520
21.1.8 指定注册表项的默认值 521
21.1.9 设置注册表键值 522
21.1.10 快速设置注册表键值字符串 523
21.2 注册表应用 524
21.2.1 保存注册表项 524
21.2.2 开机自动运行 526
21.2.3 隐藏和显示我的电脑 526
21.2.4 隐藏和显示回收站 527
21.2.5 隐藏显示所有驱动器 528
21.2.6 禁止“查找”菜单 529
21.2.7 禁止“文档”菜单 529
21.2.8 在退出windows时清除“文档”中的记录 530
21.2.9 禁用注册表编辑器 531
21.2.10 禁止使用inf文件 532
21.2.11 禁止使用reg文件 532
21.2.12 显示隐藏文件或文件夹 533
21.3 读写注册表的atl类 534
21.3.1 使用cregkey 类写入默认键值 534
21.3.2 使用cregkey 类写入新键值 535
21.3.3 使用cregkey 类查询键值 536
21.4 注册表的查询与枚举 537
21.4.1 查询注册表键值 537
21.4.2 快速查询注册表键值 538
21.4.3 枚举注册表键值 539
21.4.4 列举开机启动程序 539
21.4.5 枚举注册表项 540
21.4.6 枚举安装程序 541
21.5 ini文件的读写函数 542
21.5.1 向指定键写入字符串 542
21.5.2 获取指定键下的整型数据 544
21.5.3 获取指定键下的字符串数据 544
21.5.4 向ini文件写入结构数据 545
21.5.5 获取ini文件结构数据 546
21.5.6 向指定节写入数据 547
21.5.7 获取所有节名 548
21.5.8 获取指定节的键名及数据 549
21.6 xml文件操作 551
21.6.1 xml文件简介 551
21.6.2 xml文件的优势 551
21.6.3 读取xml文件内容 552
21.6.4 向xml文件中写入内容 553
21.7 本章小结 554
21.8 习题 554
第22章 动态链接库编程( 教学视频:71分钟) 556
22.1 基本概念 556
22.1.1 动态链接库的概念 556
22.1.2 动态链接库的优点 557
22.1.3 dll的种类 558
22.1.4 dll文件的组成 559
22.2 dll的创建与使用实例 559
22.2.1 创建win32 dll 560
22.2.2 dll的导出 561
22.2.3 应用程序链接dll 562
22.2.4 动态链接库函数 563
22.2.5 从动态库中获取位图资源 565
22.2.6 枚举模块中的所有图标 567
22.2.7 使用模块对话框资源 569
22.2.8 替换应用程序的对话框资源 569
22.2.9 屏蔽键盘power键 571
22.2.10 屏蔽键盘win键 573
22.2.11 禁止使用
22.3 mfc常规dll的创建与使用实例 573
22.3.1 基本概念 574
22.3.2 创建mfc常规dll 574
22.3.3 mfc常规dll的创建实例 575
22.3.4 调用mfc常规dll 576
22.4 mfc扩展dll的创建与使用实例 577
22.4.1 创建mfc扩展dll 577
22.4.2 mfc扩展dll的创建实例 578
22.4.3 调用mfc扩展dll 578
22.5 dll的查看与调试 579
22.5.1 使用depends工具查看dll接口 579
22.5.2 调试dll 580
22.6 本章小结 580
22.7 习题 580
第23章 多线程编程( 教学视频:62分钟) 582
23.1 引入多线程 582
23.1.1 单线程的不足 582
23.1.2 解决的问题 583
23.2 进程和线程 583
23.2.1 spy++ 583
23.2.2 多线程win32 api 585
23.2.3 mfc对多线程编程的支持 586
23.3 开发多线程程序 586
23.3.1 使用win32 api函数开发 586
23.3.2 mfc用户界面线程的开发 587
23.3.3 mfc工作者线程的开发 588
23.3.4 挂起线程 590
23.3.5 终止线程 591
23.3.6 使线程睡眠 592
23.3.7 启动和关闭记事本 593
23.3.8 调用记事本程序并挂起 595
23.3.9 监测记事本程序关闭 595
23.4 线程间的通信 596
23.4.1 使用全局变量 596
23.4.2 使用自定义的消息 597
23.5 线程的同步 598
23.5.1 等待函数 599
23.5.2 利用事件对象 600
23.5.3 使用事件对象实例 601
23.5.4 利用临界区 602
23.5.5 利用临界区实例 603
23.5.6 利用信号量 604
23.5.7 利用信号量实例 605
23.5.8 利用互斥对象 607
23.5.9 利用互斥对象实例 607
23.6 多线程程序实例 609
23.7 本章小结 611
23.8 习题 611
第6篇 多媒体开发
第24章 文本字体技术( 教学视频:34分钟) 614
24.1 字体对象 614
24.1.1 字体要素 614
24.1.2 创建字体对象 615
24.1.3 获取字体信息 616
24.1.4 字体对象使用实例 617
24.2 字体效果 617
24.2.1 如何设计空心字 617
24.2.2 渐变颜色的字体 618
24.2.3 获取路径信息点 619
24.2.4 文字跟随鼠标 620
24.2.5 如何实现旋转字体 620
24.2.6 文字水平滚动 621
24.2.7 字体垂直滚动 622
24.2.8 设计3d立体文字 623
24.3 本章小结 624
24.4 习题 624
第25章 图形与图像编程( 教学视频:109分钟) 625
25.1 位图和区域对象 625
25.1.1 设备相关位图(ddb) 625
25.1.2 cbitmap应用实例 626
25.1.3 设备无关位图(dib) 627
25.1.4 区域对象(crgn) 627
25.1.5 crgn应用实例 628
25.2 画笔和画刷 629
25.2.1 使用画笔对象 629
25.2.2 使用画笔绘图实例 630
25.2.3 使用画刷对象 631
25.2.4 使用画刷绘图实例 631
25.3 图像基础技术 632
25.3.1 如何使用gdi+ 632
25.3.2 如何创建含有位图的画刷 633
25.3.3 保存屏幕抓图文件 634
25.3.4 利用内存画布防止绘图时出现屏幕闪烁 635
25.3.5 创建几何画笔 636
25.3.6 绘制网格 637
25.3.7 创建不同的画刷 638
25.3.8 填充矩形区域 639
25.3.9 模拟时钟 640
25.3.10 颜色渐变算法 642
25.3.11 如何绘制渐变颜色 643
25.3.12 图元文件的保存与打开 644
25.3.13 图像居中显示 645
25.3.14 图片融合效果 646
25.3.15 保存设备上下文 647
25.4 特殊曲线 648
25.4.1 绘制蜗牛线 648
25.4.2 绘制贝塞尔曲线 649
25.4.3 绘制正弦曲线 650
25.5 图像特效 651
25.5.1 图像锐化处理 652
25.5.2 图像柔化处理 653
25.5.3 图像反色处理 654
25.5.4 图像灰度处理 655
25.5.5 图像浮雕效果 657
25.5.6 图像翻转 658
25.5.7 图像缩放 659
25.5.8 图片剪切 659
25.5.9 图片马赛克效果 660
25.5.10 垂直百叶窗显示图片 662
25.5.11 水平百叶窗显示图片 663
25.6 图像控制 664
25.6.1 在图片上绘制线条 664
25.6.2 在图片上绘制网格 665
25.6.3 打开高颜色质量图像 665
25.6.4 创建*顶层窗体 666
25.6.5 在视图中拖动图片 667
25.6.6 屏幕截图 669
25.6.7 保存屏幕图像到剪贴板 670
25.6.8 获取图像rgb值 670
25.6.9 渐隐渐显的图像 671
25.6.10 保留椭圆中图片内容 673
25.6.11 去除椭圆下的图片内容 674
25.7 本章小结 676
25.8 习题 676
第26章 声音与动画编程( 教学视频:34分钟) 677
26.1 多媒体声音控制 677
26.1.1 录制与播放声音 677
26.1.2 可以选择曲目的cd播放器 680
26.1.3 控制音量 681
26.1.4 利用pc喇叭播放声音 682
26.1.5 定时播放wav文件 682
26.1.6 播放midi文件 683
26.1.7 开发具有记忆功能的mp3播放器 683
26.2 多媒体应用 684
26.2.1 滚动字体作屏保 684
26.2.2 相册作屏保 686
26.2.3 设计画图程序 687
26.3 动画效果 688
26.3.1 标题栏动画图标 689
26.3.2 实现图标动画 689
26.3.3 系统托盘动态图标 690
26.4 多媒体文件的播放 691
26.4.1 播放gif动画 692
26.4.2 播放flash动画 693
26.4.3 播放vcd 693
26.4.4 显示jpeg图像 694
26.5 本章小结 696
26.6 习题 696
第27章 directx图形开发( 教学视频:97分钟) 697
27.1 directx sdk 697
27.1.1 directx sdk的安装 697
27.1.2 visual studio 2010中的相应设置 698
27.2 directx 9.0介绍 701
27.2.1 directx 组件介绍 701
27.2.2 使用 com 701
27.3 directx 图形开发基本概念 702
27.3.1 世界坐标系 702
27.3.2 摄影坐标系 702
27.3.3 剪裁和透视投影 703
27.3.4 视口变换和像素的光栅显示 703
27.3.5 显示卡的3d渲染管道线 704
27.4 基本三角形面的绘制 705
27.4.1 directx graphics基本应用架构 705
27.4.2 创建idirect3d9接口对象 706
27.4.3 创建direct3d设备 706
27.4.4 创建顶点缓冲区 707
27.4.5 启动管道流水线进行渲染 708
27.4.6 实例——绘制一个基本的三角形面 709
27.5 基本立体面的绘制 712
27.5.1 3d原始类型 712
27.5.2 背面剔除和顶点顺序 715
27.5.3 顶点索引缓冲区 716
27.5.4 在世界坐标系中放置物体 716
27.5.5 架设摄影机进行取景和投影 717
27.5.6 屏幕视口的设置 717
27.5.7 实例——绘制一个基本的立体面 717
27.6 材质和光照处理 721
27.6.1 颜色与光照 721
27.6.2 光源设置 723
27.6.3 点光源 723
27.6.4 聚焦光源 724
27.6.5 方向光源 724
27.6.6 材质设置 724
27.6.7 顶点的法向量 725
27.7 纹理贴图 726
27.7.1 顶点的纹理坐标 726
27.7.2 创建纹理对象 727
27.7.3 纹理过滤技术 729
27.7.4 纹理地址模式 729
27.8 alpha颜色混合 730
27.8.1 颜色混合原理 730
27.8.2 alpha颜色混合例子 731
27.8.3 利用id3dxsprite实现颜色透明 732
27.8.4 利用alpha测试实现颜色透明 733
27.9 xfile网格的应用 734
27.9.1 .x文件的基本格式 734
27.9.2 .x文件的数据装入 737
27.9.3 mesh数据的处理 738
27.9.4 mesh数据的优化 738
27.10 本章小结 739
27.11 习题 739
第7篇 项目开发实战
第28章 网络音频播放系统( 教学视频:24分钟) 742
28.1 系统分析与设计 742
28.1.1 功能描述 742
28.1.2 功能模块设计 742
28.2 界面实现 743
28.2.1 界面设计 743
28.2.2 界面初始化 744
28.2.3 界面代码 745
28.3 核心实现 751
28.3.1 线程同步类 751
28.3.2 音频驱动函数 752
28.3.3 caudioplay类的声明 755
28.3.4 音频播放器初始化 757
28.3.5 音频采样处理 758
28.3.6 音频输出实现 762
28.3.7 打开音频文件 763
28.3.8 停止音频播放 766
28.3.9 暂停音频和继续音频 767
28.3.10 获取音频属性 767
28.4 程序运行效果 770
28.5 本章小结 770
第29章 gps定位系统( 教学视频:46分钟) 771
29.1 gps监控系统概况 771
29.1.1 gps监控系统概述 771
29.1.2 gps监控系统的系统架构 771
29.2 gps数据通信协议nema0183协议 774
29.2.1 配置参数及协议格式 774
29.2.2 nema0183标准语句 774
29.2.3 garmin定义的语句 777
29.2.4 nema0183协议的text文本格式 778
29.3 串口接收gps信息程序设计 779
29.3.1 实例背景 780
29.3.2 gps模块与串口的通信协议 780
29.3.3 程序功能 780
29.3.4 界面设计 780
29.3.5 结构声明 782
29.3.6 初始化操作 786
29.3.7 gps数据接收的实现方法 788
29.3.8 gps数据解析的实现方法 791
29.3.9 多线程串口工作方式 799
29.3.10 发送命令 806
29.3.11 结束清理 808
29.3.12 地图支持 808
29.3.13 程序测试截图 810
29.4 本章小结 811
作者简介
李琳娜,高级程序员、系统设计师、系统分析员。擅长C/C++语言,精通Visual C++开发技术。有超过15年的Visual C++开发经验,有超过6年的项目总监和项目经理的职业生涯。长期从事电信行业软件开发,主持开发过的软件项目有射频卡管理系统、物流管理系统、SIP、语音卡、银信通、电话银行、仪表控制系统、GPS定位系统、人力资源系统等。
-
AI绘画+AI摄影+AI短视频从入门到精通
¥45.5¥79.8 -
企业AI之旅
¥43.5¥79.0 -
乡村振兴新技术:新时代农村短视频编辑技术基础入门
¥11.2¥32.0 -
机器学习
¥59.4¥108.0 -
C Primer Plus 第6版 中文版
¥62.6¥108.0 -
基于知识蒸馏的图像去雾技术
¥61.6¥88.0 -
基于深度学习的人体行为识别算法研究
¥37.2¥62.0 -
粒子群算法在优化选取问题中的应用研究
¥40.8¥68.0 -
Web前端开发基础
¥36.5¥57.0 -
智能算法优化及其应用
¥49.0¥68.0 -
Photoshop图像处理
¥25.5¥49.0 -
SNS信息传播分析
¥48.3¥69.0 -
R语言医学数据分析实践
¥72.3¥99.0 -
大模型推荐系统:算法原理、代码实战与案例分析
¥62.3¥89.0 -
HARMONYOS NEXT启程:零基础构建纯血鸿蒙应用
¥81.0¥108.0 -
剪映 从入门到精通
¥25.7¥59.8 -
游戏造梦师----游戏场景开发与设计
¥67.6¥98.0 -
SAR图像处理与检测
¥35.4¥49.8 -
生成式人工智能(AIGC)应用
¥71.1¥90.0 -
人工智能
¥29.4¥42.0