具体描述
本书是一本关于Windows 9
作者简介
目录信息
前 言
第一部分 Windows编程入门
第1章 Windows98与编程基础
1.1 Windows98的新特性
1.2 VisualC++6.0简介
1.3 VisualC++的系统工具
1.3.1向导
1.3.2资源编辑器
1.4 编写HelloWorld普通窗口程序
1.5 HelloWorldWin32控制台程序
1.6 HelloWorldJava应用程序
1.7 HelloWorldVisualBasic应用程序
1.8 本章小结
第2章 菜单
2.1菜单资源与菜单资源编辑器
2.1.1 菜单资源
2.1.2菜单资源编辑器
2.2 CMenu类
2.3菜单消息响应
2.4菜单的UI机制和cCmdUI类
2.4.1菜单的UI机制
2.4.2CCmdUI类
2.5普通下拉菜单
2.6动态地改变菜单
2.6.1 得到当前的CMenu对象
2.6.2改变已存在的弹出式菜单
2.6.3动态地改变菜单示例
2.7上下文菜单
2.8本章小结
第3章 图形设备接口
3.1 图形设备接口简介
3.2设备环境
3.2.1 获取设备环境
3.2.2释放设备环境
3.2.3使用设备环境
3.3基本图形的绘制
3.3.1画点
3.3.2画直线
3.3.3画折线
3.3.4 画曲线
3.3.5画封闭曲线
3.3.6绘制基本图形示例程序
3.4 文本输出
3.4.1显示文本
3.4.2设置文本的前景颜色
3.4.3设置文本的背景颜色
3.4.4设置文本的背景模式
3.4.5设置字符间距
3.4.6设置文本对齐
3.4.7得到文本度量
3.5GDI对象
3.5.1画笔――CPen类
3.5.2画刷――CBrush类
3.5.3字体――CFont类
3.6本章小结
第4章 鼠标、键盘与计时器
4.1 鼠标
4.1.1鼠标消息
4.1.2鼠标消息处理
4.1.3捕捉鼠标
4.1.4更改鼠标的显示模式
4.1.5鼠标程序示例
4.2键盘
4.2.1输入焦点
4.2.2系统键与非系统键
4.2.3虚拟键代码
4.2.4键盘消息及其映射函数
4.2.5字符消息及其映射函数
4.2.6使用插字符
4.2.7键盘输入示例程序
4.3计时器
4.3.1 启动和关闭计时器
4.3.2响应计时器消息
4.3.3计时器程序示例
4.4 本章小结
第5章 工具栏与状态栏
5.1 工具栏
5.1.1工具栏资源
5.1.2工具栏按钮及其状态
5.1.3工具栏与命令消息
5.1.4CToolBar类
5.1.5工具栏的创建和处理
5.1.6工具栏的停靠和漂浮
5.1.7工具提示
5.1.8工具栏程序示例
5.2状态栏
5.2.1CStatusBar类
5.2.2状态栏的创建
5.2.3状态栏的提示信息与状态指示
5.2.4状态栏程序示例
5.3 本章小结
第6章 MFC异常处理
6.1 VisualC++的异常处理机制
6.2设置自己的terminate()函数处理器
6.3MFC中的异常类
6.3.1CException
6.3.2CMemoryException
6.3.3CNotSupportedException
6.3.4CFileException
6.3.5CArchiveException
6.3.6CResourceException
6.3.7COeException
6.3.8CUserException
6.3.9CDBException
6.3.10 CDaoException
6.3.11ClnternetException
6.4 Win32系统级异常
6.5 本章小结
第7章 对话框和控件
7.1对话框的种类
7.2对话框资源
7.3Windows标准控件
7.3.1静态控件
7.3.2编辑控件
7.3.3按钮控件
7.3.4 列表框控件
7.4 对话框的创建和显示
7.5CDialog对话框类
7.6 对话数据交换/对话数据验证
7.6.1DDX机制
7.6.2DDV机制
7.7使用MFC的标准对话框
7.8使用模式对话框
7.9使用无模式对话框
7.10 本章小结
第8章 属性页和属性单
8.1概述
8.1.1创建属性页的模板资源
8.1.2创建CPropertyPage派生类
8.1.3创建并显示模式CPropertySheet
8.1.4 创建并显示非模式CPropertySheet
8.2CPropertyPage与CPropertySheet
8.2.1CPropertyPage
8.2.2CPropertySheet
8.3属性对话框示框
8.4 本章小结
第二部分 编程进阶
第9章 切分窗口与多视图
9.1切分窗口
9.2CSplitterWnd类
9.3多视图选择
9.4 动态与静态切分窗口
9.5滚动显示文本
9.6单视图动态切分窗口
9.7多视图静态切分窗口
9.8本章小结
第10章 文档与视图
10.1文档与CDocument类
10.2视图与CView类
10.3文档-视图之间的相互作用函数
10.3.1CView类的GetDocument()函数
10.3.2CDocument类的UpdateAllViews
()函数
10.3.3CView类的OnUpdate()函数
10.3.4CView的OnInitialUpdate()函数
10.4 最简单的文档/视图应用
10.5格式视图与CFormView类
10.6文档模板
10.6.1 文档模板的构成
10.6.2文档模板的创建
10.7MDI
10.8文档与视图关系的程序示例
10.8.1利用AppWizard生成带动态切分
窗口的MDI应用程序
10.8.2生成带格式视图的MDI静态
切分窗口
10.9本章小结
第11章 内存管理技术
11.1内存管理的发展
11.2简单内存分配
11.2.1栈结构分配
11.2.2堆分配
11.3Windowa中的内存分配函数
11.4 分配可移动内存和可放弃内存
11.5虚拟内存
11.6共享内存
11.7本章小结
第12章 动态链接库
12.1 动态链接库的概念
12.1.1 动态链接和静态链接
12.1.2创建动态链接库的原因
12.1.3动态链接库基础
12.2普通的DLL
12.2.1理解普通DLL的本质
12.2.2动态加载DLL
12.2.3实现普通的DLL应用程序
12.3扩展MFCDLL
12.3.1 初始化扩展DLL
12.3.2动态加载扩展DLL
12.3.3输出扩展型DLL
12.3.4 实现MFC扩展DLL
12.4 本章小结
第13章 多任务编程
13.1 进程、线程和优先级
13.2 工作线程和用户界面线程的创建
13.2.1工作线程
13.2.2使用工作线程
13.2.3创建用户界面线程
13.3线程的挂起及唤醒
13.4 使线程休眠
13.5线程同步
13.5.1使用事件对象
13.5.2使用临界段
13.5.3互斥量
13.5.4 使用信号量
13.6线程的终止
13.7 如何编写基于进程的多任务操作
13.8本章小结
第三部分 ActiveX
第14章 容器应用程序
14.1实现容器应用程序的方法
14.2创建框架容器应用程序
14.3深入探析容器应用程序
14.3.1COleDocument类
14.3.2COleClientItem类
14.4 管理嵌入对象的大小和位置
14.5使用鼠标选取项
14.6删除嵌入的对象
14.7本章小结
第15章 服务器应用程序
15.1实现服务器应用程序的步骤
15.2创建框架服务器应用程序
15.3 深入探析服务器应用程序
15.3.1COleTemplateServer类
15.3.2COleServerDoc类
15.3.3COleServerItem类
15.4定制应用程序的资源
15.5完善视图类
15.6完善应用程序的文档类
15.7完善服务器项的类
15.8运行服务器应用程序
15.9本章小结
第16章 自动化
16.1自动化概述
16.2自动化服务器应用程序
16.3创建自动化服务器应用程序
16.3.1创建框架自动化服务器应用程序
16.3.2定制应用程序的资源
16.3.3完善视图类
16.3.4 完善应用程序的文档类
16.3.5定义服务器的属性和方法
16.4自动化客户应用程序
16.5创建自动化客户应用程序
16.5.1创建框架自动化客户应用程序
16.5.2从类型库中创建类
16.5.3编辑应用程序的资源
16.5.4完善视图类
16.6从客户程序控制服务器程序
16.7本章小结
第17章 ActiveX控件
17.1ActiveX/OLE控件
17.2ActiveX控件的属性集
17.2.1 属性
17.2.2事件
17.2.3方法
17.3创建框架ActiveX控件
17.4 完善应用程序的CEx17Ctrl类
17.5增加库存事件和定制事件
17.5.1增加库存事件
17.5.2增加定制事件
17.6增加属性
17.7增加控件方法
17.8本章小结
· · · · · · (收起)
读后感
用户评价
这本书的语言风格非常直白,几乎没有使用任何花哨的修饰词,所有的篇幅都聚焦于如何有效地将理论知识转化为可执行的代码。阅读它,我感觉自己更像是在听一位经验丰富的老工程师在旁边手把手地指导,而不是在阅读一本抽象的理论著作。每一个技术点之间都保持着紧密的逻辑关联,很少有跳跃性的讲解。 我记得书中有大量篇幅讲解了如何利用Windows 98的特定机制来优化应用程序的启动速度,这在当时是一个非常实际且紧迫的需求。作者提供的那些注册表优化策略和DLL加载顺序的调整技巧,即便放到今天,也依然体现了对系统性能敏感性的深刻洞察力。这本书的价值在于其极强的实操性,它没有停留在“是什么”的层面,而是直接告诉你“怎么做”以及“为什么这样做”。对于那些追求极致性能的嵌入式或专业应用开发者来说,这本书无疑提供了宝贵的参考框架,让你可以绕过操作系统默认提供的、可能效率不高的通用路径,直接触及硬件和核心服务。
从一个应用开发者的角度来看,这本书为我打开了一扇通往操作系统核心的大门,让我对当时所使用的平台有了前所未有的敬畏感。我记得当时很多教程都将Windows 98的API调用描述得非常简单,但这本书却毫不留情地揭示了隐藏在这些简单调用背后的复杂性和潜在的陷阱。它教会我,构建一个健壮的应用程序,需要的不仅仅是调用库函数,更需要对操作系统环境的微小变动保持高度警觉。 特别是关于系统钩子(System Hooks)和消息循环处理的章节,其深度和广度令人咋舌。作者详细分析了不同类型钩子的优先级、安全性以及在多线程环境下可能引发的死锁风险。这些内容远超出了普通应用开发范畴,直接触及到了系统稳定性的红线。阅读过程中,我不得不经常停下来,仔细思考每一个函数调用可能产生的副作用。这本书的成功之处在于,它敢于直面这些“不招人喜欢”的复杂性,并为读者提供了清晰的应对策略。它让你的编程思维从“功能实现”升级到了“系统级健壮性设计”。
这本厚重的书拿在手里,感觉就像是捧着一个时代的缩影。封面设计虽然朴素,但那种浓厚的专业气息扑面而来,让人不禁联想到那些在机房里度过漫长日夜的程序员们。我记得当时刚接触编程不久,对微软的这个操作系统充满了好奇,想知道它在底层是如何运作的,那些熟悉的界面和功能背后究竟隐藏着怎样的技术逻辑。 这本书的内容结构非常扎实,从最基础的系统架构剖析入手,逐步深入到核心组件的API调用细节。我特别欣赏作者对于那些晦涩难懂的系统调用接口所做的详尽解释,几乎每一个参数、每一个返回值都有清晰的范例支撑。对于一个想要深入了解Windows 98内核机制的开发者来说,这无疑是一本不可多得的宝典。尤其是关于内存管理和进程调度的章节,简直是教科书级别的阐述,即便是现在回想起来,那些关于虚拟内存的讨论依然令我受益匪浅。虽然现在的主流操作系统早已经不是Windows 98,但掌握这些底层原理对于理解现代操作系统的演进脉络至关重要。书中的图示虽然略显粗糙,但其逻辑性极强,帮助读者迅速建立起宏观的系统视图。阅读此书的过程,更像是一场对早期操作系统的“考古之旅”,充满了发现和震撼。
当我第一次拿到这本书时,那种沉甸甸的感觉,简直就像是获得了进入一个“秘密世界”的钥匙。那时候互联网上的资源远没有今天这样丰富,很多深层次的技术资料都依赖于实体书籍来传承。这本书恰好填补了当时社区中关于Windows 98底层编程实践经验的空白。它没有过多地渲染炒作,而是以一种近乎冷静甚至有些冷峻的笔调,直接切入技术核心。 最让我印象深刻的是关于DirectX 5/6时代图形驱动模型的那几章。作者似乎把当时所有能接触到的、关于如何与硬件加速层打交道的技巧都毫无保留地倾囊相授了。读到那些关于“固定功能流水线”的优化技巧时,我能真切感受到作者在那个性能至上的年代所付出的心血。它不仅是技术指南,更像是一份历史文献,记录了PC图形处理能力野蛮生长的那个激情燃烧的岁月。虽然现在来看,书中的某些API函数已经被弃用或重写了无数次,但理解当时的限制和当时的解决方案,对于理解现代图形API的演进路径依然具有重要的历史参考价值。
说实话,这本书的阅读体验,坦率地讲,是非常具有挑战性的。它不是那种可以让你轻松翻阅、走马观花的读物,更像是一份需要全神贯注去啃食的“技术硬菜”。我记得有一次为了弄懂其中关于GDI对象处理的一段代码示例,我不得不反复对照MSDN文档,在我的那台奔腾II电脑上编译、调试了整整一个周末。这种沉浸式的学习过程,虽然耗费了大量精力,但也带来了无与伦比的成就感。 这本书的价值,并不在于它提供了多少即插即用的“快捷方式”,而在于它系统地梳理了整个开发环境的知识体系。它教会你的,是如何像系统本身一样去思考问题——如何处理资源争夺,如何避免系统级的冲突,以及如何编写出既高效又不破坏系统稳定性的代码。对于那些只满足于使用MFC或VB进行应用层开发的初学者来说,这本书可能显得过于深奥和枯燥,但对于立志成为系统级专家的同行们来说,这里面的每一条经验都是用无数次的系统崩溃换来的真知灼见。我尤其佩服作者对于错误处理机制的深入剖析,那部分内容足以让新手避免掉进许多经典的“蓝屏陷阱”。