Windows 动态数据交换程序设计--用Borland C++和Turbo C++For Windows

Windows 动态数据交换程序设计--用Borland C++和Turbo C++For Windows pdf epub mobi txt 电子书 下载 2026

出版者:北京航空航天大学出版社
作者:程铁皋
出品人:
页数:787
译者:
出版时间:1995-06
价格:61.00
装帧:平装
isbn号码:9787810125727
丛书系列:
图书标签:
  • Windows
  • Programming
  • DDE
  • Windows编程
  • DDE
  • Borland C++
  • Turbo C++
  • 数据交换
  • Windows API
  • C++
  • Windows开发
  • 编程技术
  • 软件开发
  • 经典教材
想要找书就要到 图书目录大全
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

MicrosoftWindows是广泛应用的应用程序开发平台之一。自从1990年5月发行Win-

dows3.0以来,一些软件开发的公司已提供了上千种的Windows应用程序。与此同时,Mi-

crosoft公司已通过使Windows更稳定和扩展的Wind0ws编程API来增强Windows平台。

Windows3.1在Windows系列产品中对数据处理表现突出。本书讨论了WindowsAPI扩

展的四个方面:动态数据交换管理库(Dynamic Data Exchange Management Library

(DDEML))、对象链接与嵌入(Object Linkingand Embedding(OLE))、剪贴板(Clipboard)和动

态链接库(Dynamic Link Library)。

0.1 概述

本书是为想学习DDEML和OLEAPI的Windows程序员而编写的。为了能让初学Win-

dows编程也能尝试进行DDEML和OLE程序设计,在本书的第一部分先介绍了一般的Win-

dows程序设计技术,第二部分以后的例子集中讨论了DDEML和OLE编程技术。

该书分为五部分,第一部分包含五章,介绍了一般的Windows程序设计技术;第二部分和

第三部分各包含四章,第四部分包含二章;第五部分包含五个附录,提供编程的参考信息。

第一部分介绍Windows程序设计技术。第一章介绍如何启动BorlandC十+。第二章讨论

Windows程序设计的概念。第三章介绍Windows的编程工具。第四章阐述设计Windows应用

程序的方法。第五章具体介绍如何编写Windows应用程序。

第二部分讲DDEMLAPI。第六章为DDE和OLE的概念,复习基于消息的DDE和DDE

协议。第七章到第九章通过使用应用程序例子来详述DDEMLAPI。第七章以使用DDEML服

务器应用程序的例子来作为讨论的焦点。第八章通过给出的DDEML客户应用程序来论述

DDEML程序的客户/服务器循环。第九章讲述扩展DDEMLAPI作为监视应用程序。

第三部分讨论OLE。第十章讲概念,介绍了开发OLE应用程序的基本结构和过程。第十

一章列举了OLE服务器应用程序的例子。第十二章是OLE客户应用程序的例子。第十三章介

绍开发OLE对象的处理程序。

第四部分介绍动态数据交换的另外二种方法:剪贴板和动态链接库。第十四章介绍剪贴板

的程序设计。第十五章讨论了动态链接库的设计。

第五部分是附录。附录A给出了OLE和DDEML的使用。附录B、附录C和附录D列出

WindowsAPI涉及DDE、剪贴板和OLE中的函数和消息。附录E介绍中文Microsoft Wind0ws

3.1的安装、启动和退出,以便读者设计中文的应用程序界面。

本书提供程序例子以全面展示DDEML和OLE的应用程序。每章的最后总有连续好几页

的大程序,这种情况对于OLE应用程序更是常见。从读者的观点出发,更愿意阅读有众多注释

的代码;但从实用的观点出发,不能篇幅太大,从而只能省略大量注释;因此,本书的代码明显

地比注释多。

Windows 动态数据交换程序设计——用 Borland C++ 和 Turbo C++ For Windows 本书导读:深入探索 Windows 平台下 DDE 技术的实现与实践 本手册旨在为 C++ 程序员提供一套全面且深入的 Windows 动态数据交换(DDE)编程指南。DDE 作为早期 Windows 操作系统中实现应用程序间通信(Inter-Process Communication, IPC)的核心机制之一,其原理和实现细节对于理解现代 Windows 编程范式的演变至关重要。本书聚焦于使用当时主流的 Borland C++ 和 Turbo C++ for Windows 环境进行 DDE 程序的开发与调试。 核心内容聚焦:DDE 机制的全面剖析 本书将 DDE 机制分解为一系列可操作的编程模块,确保读者能够从底层 API 调用到高层应用逻辑,完整掌握 DDE 的生命周期。 第一部分:DDE 基础架构与概念模型 在深入代码之前,本书首先建立了坚实的理论基础。我们将详细介绍 DDE 的核心组件: 1. DDE 协议栈概述: DDE 是如何建立在 Windows 消息机制之上的?我们探究了 DDE 消息(如 `WM_DDE_INITIATE`、`WM_DDE_TERMINATE`、`WM_DDE_DATA` 等)在客户端与服务器进程间的传递路径。 2. 服务名称与主题/项(Service Names, Topics, and Items): 这是 DDE 通信的寻址基础。本书详述了如何注册自定义的服务名称,定义可被交换的主题结构,以及项(数据单元)的唯一标识方法。 3. 数据格式的约定: 探讨了 DDE 支持的标准数据格式(如 CF_TEXT, CF_BITMAP 等)以及如何定义和注册用户自定义数据格式,确保不同应用程序间数据类型的正确解释。 4. 上下文管理: 解释了 DDE 实例句柄和数据包结构的内部管理,这是确保交换可靠性的关键。 第二部分:服务器端程序的构建——数据提供者 服务器端是 DDE 交换的发起者和数据源。本书提供了使用 Borland C++ 3.1/4.0 或 Turbo C++ for Windows 开发 DDE 服务器的详尽步骤: 1. 主窗口的 DDE 消息处理循环: 详细展示如何在 `WndProc` 函数中截获并响应来自客户端的 DDE 请求。重点讲解 `WM_DDE_INITIATE` 的处理流程,包括如何验证请求的主题和项是否有效。 2. 建立与维护会话: 讲解如何使用 DDE 相关的 Windows API 函数(如 `DdeCreateDataHandle`, `DdePostMsg`)来创建数据句柄,并将数据包装成 DDE 协议格式。 3. 同步与异步数据传输: 区别对待“请求式”(Request)和“告知式”(Poke/Notify)数据传输。对于大量或耗时的传输,提供异步处理的实现模板,避免阻塞服务器主线程。 4. 热链接(Hot Links)的实现: 深入讲解如何维护数据状态,并在数据发生变化时,主动向所有关联的客户端发送 `WM_DDE_DATA` 消息,实现实时数据更新。 5. 资源管理与错误处理: 如何正确地释放 DDE 产生的数据句柄、终止会话,并在通信失败时向客户端提供清晰的错误反馈。 第三部分:客户端程序的构建——数据请求者 客户端负责发起连接、请求数据,并接收服务器的响应。本书侧重于构建健壮的客户端应用: 1. 初始化 DDE 通信: 讲解如何使用 `DdeInitialize` 注册客户端的 DDE 实例,以及设置回调函数(`DdeCallback`)。 2. 发起会话请求: 详细演示 `DdeConnect` 的使用,包括指定目标服务器的应用程序名称和目标主题。 3. 处理回调函数中的事件: 客户端的回调函数是处理所有 DDE 事件的核心。本书将大量篇幅用于解析 `CB_DISCONNECT`(连接断开)、`CB_REQUEST`(数据请求响应)和 `CB_POKE`(数据注入)等关键通知码。 4. 数据解析与转换: 客户端接收到数据句柄后,需要使用 `DdeGetData` 将数据从共享内存中取出,并根据预期的格式(如文本、数字)进行类型转换和应用层的数据结构映射。 5. 动态链接的维护: 客户端如何监控服务器状态,并在服务器崩溃或重启时自动尝试重新建立连接(如果应用逻辑允许)。 第四部分:高级主题与兼容性考量 为使本书内容更具深度和前瞻性,我们加入了针对特定环境和未来演变的讨论: 1. DDE 性能调优: 针对早期 Windows 版本中 DDE 性能瓶颈的分析,提供使用消息队列优化和减少 IPC 往返次数的技巧。 2. 与 OLE/COM 的对比: 简要回顾 DDE 在 Windows 发展历史中的地位,并指出 DDE 在复杂数据结构和面向对象通信方面的局限性,为读者过渡到后续的 OLE 和 COM 技术打下概念基础。 3. 使用 Borland/Turbo C++ 的特定库函数: 针对 Borland OWL(ObjectWindows Library)或 TML 库中封装的 DDE 辅助函数进行专门讲解,展示如何利用面向对象的封装简化底层 API 调用。 适用读者对象 本书主要面向具备 C/C++ 语言基础,并希望在 Windows 3.x/95 早期环境或需要维护遗留 DDE 系统的工程师和高级爱好者。掌握基本的 Windows 消息机制和内存管理概念将有助于更高效地吸收本书内容。通过本书的学习,读者将不仅能够成功实现 DDE 客户端和服务器,更能深刻理解 Windows 进程间通信的机制精髓。

作者简介

目录信息

简介
0.1概述
0.2所需的编程工具
第一部分 一般Windows编程
第一章 启动BorlandC十十
1.1运行安装程序
1.2集成开发环境(IDE)的使用
1.2.1启动IDE
1.2.2使用IDE的菜单和窗口
1.3配置BorlandC十十
1.4编写第一个C语言程序
1.4.1理解C程序的结构
1.4.2使用编辑器编写程序
1.4.3编译和运行程序
1.4.4程序是如何工作的
1.5介绍库函数
1.5.1使用一些基本的输入函数
1.5.2使用一些基本的输出函数
1.5.3使用一些格式转换函数
1.6总结
第二章 Windows程序设计
2.1关于Windows编程的一些说法
2.2为什么要为Windows编程
2.3开发者的有利之处
2.4对Windows编程环境的理解
2.4.1Windows是多任务环境
2.4.2Windows是面向对象的环境
2.5Windows资源
2.5.1Windows资源的类型
2.5.2资源文件类型
2.6用资源工作
2.7fcwin.c例子程序所需的资源
2.8定制FCWIN资源
2.9总结
第三章 Windows编程工具
3.1WinSpector应用
3.1.1启动WinSpector应用
3.1.2Perferences对话框
3.1.3Directory选项
3.1.4Viewer选项
3.1.5AppendNewReports选项
3.1.6OverwritePeviousReports选项
3.1.7SystemInformateon选项
3.1.8SummaryToAUX选项
3.1.9PoSt-MortemDump选项
3.1.10StackFrameData选项
3.1.11UserComments选项
3.1.12解释日志文件
3.2WinSight应用
3.2.1启 动
3.2.2选择察看
3.2.3使用窗口树
3.2.4窗口树显示格式
3.2.5扩展及关闭窗口树
3.2.6定位一个窗口
3.2.7记录窗口
3.2.8窗口类的工作
3.2.9选择被跟踪消息
3.3TurboDebuggerforWindows
3.3.1调试准备
3.3.2使用TuboDebugger
3.3.3使用高级调试特征
3.4总结
第四章 设计Windows 应用程序的方法
4.1建立Windows应用程序环境
4.1.1建立你自己的WindowsStub可执行文件
4.1.2理解Windows目录的使用
4.1.3示例设计fcwin.c
4.2为Windows应用程序建立源文件
4.2.1熟悉Windows编程环境
4.2.2建立一个模块定义文件
4.2.3设计程序的头文件
4.2.4为FCWIN构造工程文件
4.3总结
第五章 编写Windows应用程序
5.1设计Windows接口
5.1.1登录窗口类
5.1.2建立主消息循环
5.1.3写WndProc()函数
5.1.4为对话框设置回调函数
5.1.5建立对话框函数
5.1.6控制对话框
5.1.7使用MessageBox()函数来建立弹出帮助和错误信息帮助
5.1.8假脱机硬拷贝到Windows打印管理器
5.2使用动态链接库(DLL)
5.2.1理解DLLs
5.2.2编写一个DLL应用程序
5.3总结
第二部分 动态数据交换
第六章 动态数据交换概念
6.1DDE协议
6.1.1会话的同步
6.1.2应用程序名、标题名和项目名
6.1.3会话初始化
6.1.4会话中的交换
6.1.5会话终止
6.1.6DDE消息
6.2动态数据交换管理库――DDEML
6.2.1回调函数
6.2.2DDEML应用程序
6.2.3服务名、标题名和项目名
6.2.4DDEML事务
6.3总结
第七章 DDEML会话管理
7.1DDEML的初始化过程
7.1.1初始化应用程序――DdeInitialize()
7.1.2登记服务名
7.1.3错误捕获――DdeGetLastError()
7.1.4释放DDEML资源――DdeUninitialize()
7.2会话管理
7.2.1运用标题名
7.2.2建立一个会话――DdeConnect()
7.2.3建立多个会话――DebeConnectList()和DdeQueryNextServer
7.2.4获取会话信息――DdeQueryConvInfo()
7.2.5结束一个会话――DdeDisconnect()和DdeDisconnectList()
7.2.6重建一个终止了的会话――DdeReconnect
7.3DDEML客户机和服务器应用程序举例
7.3.1DDEML服务器应用程序举例
7.3.2DDEML客户机应用程序举例
7.4总结
第八章 DDEML事务管理
8.1DDEML字符串管理
8.1.1创建字符串句柄
8.1.2递增和递减参考计数
8.1.3获得和比较字符串
8.2DDEML数据管理
8.2.1创建全局内存对象
8.2.2存取全局内存对象
8.2.3释放全局内存对象
8.3事务管理
8.3.1DDEML事务――DdeClientTransaction()
8.3.2事务控制
8.4程序例子――TICKER和QUOTE
8.4.1应用程序设计
8.4.2一个DDEML客户应用程序――TICKER
8.4.3一个DDEML服务器应用程序――QUOTE
8.5总结
第九章 DDEML监视器应用程序
9.1监视器应用程序的初始化
9.2监视程序结构
9.3DDE MON ―― DDE 监视程序举例
9.4总结
第三部分 对象链接与嵌入
第十章 对象链接与嵌入概念
10.1对象和文档
10.2链接与嵌入
10.3打包
10.4登记数据库
10.5剪贴板
10.6OLE应用程序
10.6.1客户应用程序
10.6.2服务器应用程序
10.7总结
第十一章 OLE服务器应用程序
11.1POLY.EXE:一个OLE服务器应用程序
11.1.1头文件编译举例
11.1.2WinMain:应用程序初始化和终止
11.1.3主窗口处理模块
11.1.4多边形窗口处理
11.1.5服务器分类
11.1.6文档分类
11.1.7文档管理
11.1.8对象方法
11.1.9对象管理
11.1.10文件输入输出
11.1.11菜单和杂类处理
11.1.12对话框过程
11.1.13支持模块
11.2总结
第十二章 OLE客户应用程序
12.1OLECLNT.EXE:一个OLE客户应用程序
12.1.1程序例子头文件
12.1.2WinMain:应用程序初始化和终止
12.1.3主窗口处理模块
12.1.4拖 放
12.1.5对象窗口处理
12.1.6客户回调和流方法
12.1.7文档管理
12.1.8对象管理
12.1.9会话和对象插入
12.1.10剪贴板处理
12.1.11链接管理
12.1.12登记数据库存取
12.1.13菜单处理
12.1.14支持模块
12.2总结
第十三章 对象处理程序
13.1动态链接库的概念
13.1.1输入库
13.1.2动态链接库的组成成员
13.1.3动态链接库的优点
13.2POLYHAND.DLL:动态链接库对象句柄
13.2.1对象句柄登记
13.2.2对象句柄的输入和输出函数
13.2.3对象句柄函数管理
13.2.4对象创建函数与OLEAPI的不同点
13.2.5实例程序
13.3总结
第四部分 剪贴板和动态链接库
第十四章 剪贴板的使用方法
14.1剪贴板使用的数据格式
14.2文本数据与剪贴板
14.2.1剪切或复制文本数据到剪贴板
14.2.2粘贴文本数据到应用程序
14.3图形数据与剪贴板
14.4虚拟文件图与剪贴板
14.4.1剪切或复制虚拟文件图到剪贴板
14.4.2粘贴虚拟文件图到应用程序
14.5剪贴板的高层使用技巧
14.5.1数据格式多样化
14.5.2延迟提供数据给剪贴板的时间
14.5.3使用自定义的剪贴板格式
14.5.4剪贴板内容显示程序
第十五章 动态链接函数库
15.1什么是动态链接函数库
15.1.1静态链接与动态链接
15.1.2动态链接函数库与一般应用程序间的差异
15.1.3目标函数库与导入函数库
15.1.4Windows如何找到动态链接函数库
15.1.5使用动态链接函数库的优点
15.1.6查看动态链接函数库的内容
15.2自行设计动态链接函数库
15.2.1动态链接函数库的入口
15.2.2LibMain()函数
15.2.3WEP()函数
15.2.4动态链接函数库的模块定义文件
15.3动态链接函数库的调用方式
15.3.1输入动态链接函数库中的函数的方法
15.3.2远程函数调用
15.3.3DS!=SS的衍生问题
15.3.4动态链接函数库的重要限制
15.4动态链接的高层技巧
15.4.1回调函数的运用
15.4.2应用程序指定链接的方法
15.4.3善用输入函数库
15.5动态链接函数库的使用扩展
15.5.1无需事先输入函数的动态链接方式
15.5.2仅含资源的动态链接函数库
15.5.3内存对象的归属权
15.6其他需要运用动态链接函数库的时机
15.6.1挂接与动态链接函数库
15.6.2驱动程序与动态链接函数库
15.6.3用户自定义的子控制
第五部分 附录
附录A OLE和DDEML使用
附录B 动态数据交换函数和消息
附录C 剪贴板函数和消息
附录D 对象链接与嵌人函数和消息
附录E 安装、启动、退出中文Windows
· · · · · · (收起)

读后感

评分

评分

评分

评分

评分

用户评价

评分

这本书的封面设计非常吸引人,那种带着年代感的像素风图形,一下子就把我带回了那个图形界面编程的黄金时代。我记得当时刚接触Windows编程不久,面对那些复杂的API调用和消息循环机制,真是摸不着头脑。《Windows 动态数据交换程序设计》这个标题本身就充满了技术挑战的诱惑力。我当时最头疼的就是如何让两个不同的应用程序之间能够“对话”,实现资源共享或者信息的实时同步。市面上很多教程要么过于理论化,要么只讲了皮毛,根本无法解决实际项目中的疑难杂症。我希望能找到一本真正能够手把手带着我理解DDE协议底层机制,并且用当时主流的编译器(比如Borland C++)来实践的实战手册。我对这本书的期待是,它不仅能教会我如何编写DDE的服务器端和客户端,更能深入剖析Windows消息传递的精髓,让我理解为什么DDE会以那种特定的方式工作,而不是停留在简单的“复制粘贴”代码的层面。如果这本书能清晰地阐述如何处理数据格式的转换、错误处理的健壮性设计,以及在多线程环境下DDE的潜在陷阱,那它绝对是那个时代不可多得的珍宝。

评分

这本书的出版年份,意味着它站在了微软图形界面技术发展的一个关键拐点上。那时,开发者们正在权衡DDE的成熟稳定与OLE/COM的未来潜力。我非常好奇,作者是如何平衡对DDE技术的深入讲解与对未来技术趋势的展望的。我希望看到的是一种务实的态度:既然这本书的主题是DDE,就应该把它讲到极致,而不被其他技术分散注意力。同时,如果作者能在附录或某个章节中,对DDE与后续的OLE/COM在数据传输模型上的哲学差异做一个简短而深刻的对比分析,那就更好了。比如,DDE的“请求/响应”模式与OLE的“对象嵌入/链接”模型在设计哲学上的根本不同,以及为什么DDE在特定场景下依然是更轻量级的选择。这种带有技术史观的分析,能帮助读者构建更全面的技术视野,理解每一次技术迭代背后的驱动力,而不仅仅是停留在“如何敲代码”的层面。

评分

这本书的“动态数据交换”这个概念,在今天看来或许有些古老,但在我第一次尝试构建一个能够自动更新电子表格的报告工具时,那种震撼是无与伦比的。我当时试图用命令行工具轮询文件变化,效率低下且极度不稳定。我渴望这本书能详细解读DDE的“热链接”和“冷链接”之间的本质区别,并给出清晰的实现路径。特别是关于数据请求和数据推送的异步处理机制,这才是DDE的核心难点。我希望看到书中能够用流程图或状态机图的方式,把复杂的DDE事务生命周期——从`DDE_INITIATE`到最终的`DDE_TERMINATE`——描绘得一清二楚。如果能有针对不同数据类型(如文本、数字、二进制数据)的打包和解包的示例代码片段,并且解释在Borland C++环境下,如何利用其内置的内存管理函数安全地处理这些数据结构,那就太棒了。毕竟,在那个没有智能指针的时代,内存泄漏是DDE程序中最常见的“隐形杀手”。

评分

作为一名长期从事系统集成的工程师,我关注的重点不仅仅是实现功能,更在于程序的稳定性和调试的便捷性。早期Windows编程的调试工具远不如现在强大,所以代码本身的健壮性设计就显得尤为重要。我非常希望这本书能够包含大量关于DDE异常处理的章节。例如,当远程服务器崩溃、网络连接中断(如果支持NetDDE的话),或者客户端请求了不存在的主题/项时,程序应该如何优雅地捕获这些错误并向用户提供友好的反馈,而不是直接弹出一个令人沮丧的“应用程序错误”对话框。我期待看到作者分享如何在调试过程中有效利用Spy++这样的工具来监控DDE消息的发送和接收,并能提供一套“调试清单”,帮助读者快速定位那些发生在消息循环深处的棘手问题。如果书中能提供一套完整的、经过实战检验的错误码对照表和相应的修复建议,那这本书的实用价值将是无可估量的。

评分

我翻阅了市面上几乎所有关于Windows早期进程间通信(IPC)的书籍,很多都只是浅尝辄止地提了一下DDE,然后就赶紧转到更时髦的OLE或COM去了。但对于很多遗留系统维护或者对资源要求极度苛刻的早期应用场景来说,DDE依然是必须掌握的“基本功”。我特别关注这本书是否对Turbo C++的特有支持做了详尽的说明。要知道,使用Turbo C++进行Windows编程本身就是一种折腾,它的内存模型管理和资源编译流程与后来的Visual C++有着显著的区别。我期望这本书能提供针对这些平台特性的编译选项和链接库配置的详细指南。比如,如何正确地使用`AFX_DATA`宏(如果它基于MFC的早期封装的话),或者纯WinAPI层面上如何管理全局数据段,以确保DDE服务在多实例运行时不会产生冲突。如果它能针对性地解决在DOS/Windows混合模式下启动DDE会话的兼容性问题,那简直是神来之笔。我更看重的是那种“老派”的、对底层细节毫不妥协的叙述方式,而不是那种一笔带过、只注重表层功能的教程。

评分

评分

评分

评分

评分

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.wenda123.org All Rights Reserved. 图书目录大全 版权所有