利 用DLL 增 强 软 件 功 能

类别:VC语言 点击:0 评论:0 推荐:

---- Microsoft Windows 提 供 了 称 之 为 动 态 连 接 库 的 特 殊 库(DLL), 让 应 用 程 序 共 享 代 码 和 资 源。DLL 是 一 个 包 括 了 若 干 函 数 的 可 执 行 模 块, 为 其 他 应 用 程 序 提 供 服 务。Windows 利 用DLL 来 提 供 所 有Windows 应 用 程 序 均 可 以 使 用 的 代 码 和 资 源。 此 外, 应 用 程 序 也 可 以 创 建 自 己 的DLL, 在 自 己 的 各 个 应 用 程 序 之 间 共 享 代 码 和 资 源。

---- DLL 主 要 有 如 下 目 标: 应 用 程 序 之 间 共 享 代 码 和 资 源
基 于 系 统 范 围 的 消 息 过 滤
创 建 设 备 驱 动 程 序
提 供 开 发 复 杂 应 用 程 序 的 设 施

---- 我 们 现 在 要 研 究 的 问 题 是, 如 何 通 过 开 发DLL 来 拓 展、 增 强 常 用 软 件 的 功 能, 如:VB4.0、ToolBook3.0 等。

---- 常 用 来 开 发DLL 的 平 台 有BlandC++、MS VisualC++, 二 者 之 间 在 开 发DLL 是 有 一 定 的 差 别, 但 最 方 便 的 是MS VisualC++。 这 里 我 们 利 用MS VisualC++ 开 发 一 个Demo.DLL, 它 定 义 一 个 函 数:F1=(x,y)=x*y。 通 过 这 个 实 例 说 明DLL 的 程 序 结 构, 再 通 过 对Demo.DLL 的 调 用 说 明 增 强 软 件 功 能。

---- 实 例:

---- 在Demo.DLL 中 定 义 一 个 F1(x,y)=x*y ;

---- 总 共 需 要 三 个 文 件:Demo.h ;Demo.c;Demo.DEF

* 在 头 文 件(Demo.h) 中: #include < windows.h > extern int_export_far_pascal F1(int,int); * 在 源 程 序(Demo.c) 中: #include< windows.h > #include“Demo.h” int FAR PASCAL LibMain(HINSTANCE hInstance, WORD wDataSegment, WORD wHeapSize, LPSTR lpszCmdLine) { return 1; } int _export_far_pascal F1(int X,int Y) { int data; data=X*Y; return data; } int FAR PASCAL WEP(int bSystemExit) { return 1; } * 在 模 块 文 件(Demo.def) 中: LIBRARY Demo DESCRIPTION ‘c++xyy DLL for Windows’ EXETYPE WINDOWS CODE MOVEABLE DISCARDABLE DATA MOVEABLE SINGLE HEAPSIZE 0 EXPORTS F1@1

---- * 在VB 使 用DLL :

---- 在 调 用 之 削 首 先 要 在MODULE 模 块 中 声 明 函 数, 声 明 的 格 式 是:

Declare Function 函 数 名 Lib“DLL 名”(Byval 参 数 As Datatype,,) Declare Function F1 Lib“Demo”(ByVal X As Integer, ByVal X As Integer)As Integer

---- 然 后 就 可 以 在 任 何 地 方 使 用 函 数F1()。

---- * 在ToolBook3.0 中 使 用DLLs:

---- 在 调 用 之 前 首 先 要 连 接DLL, 并 声 明 函 数 原 型, 声 明 的 格 式 是:

link DLL “Demo.dll” 函 数 类 型 函 数 名( 参 数 类 型,,) INT F1(INT,INT) end linkDLL

---- 利 用 以 上 方 法 可 以 方 便 地 开 发DLL, 用 来 拓 展vb4.0、ToolBook3.0、Delphi1.0 等 大 部 分 软 件 的 功 能, 使 其 功 能 更 加 强 大, 比 如: 实 现 对 非 标 准 硬 件 的 控 制、 满 足 要 求。 这 样 我 们 即 利 用 了 新 型 软 件 的 可 视 化 对 象 编 程, 又 结 合 了C++ 语 言 的 任 意 按 需 编 程 的 优 势, 给 我 们 的 软 件 开 发 带 来 许 多 便 利。

本文地址:http://com.8s8s.com/it/it3545.htm