用C++Builder制作屏幕保护程序.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用CBuilder制作屏幕保护程序

----屏 幕 保 护 程 序 是 以scr 为 扩 展 名 的 标 准Windows 可 执 行 程 序, 在 激 活 控 制 面 板 的 显 示 器 属 性 的 屏 幕 保 护 程 序 页 时, 该 模 块 会 自 动 在Windows 启 动 目 录(Windows 目 录 和 系 统 目 录) 下 查 找 扩 展 名 是scr 的 基 于Windows 的 可 执 行 文 件。 使 用 屏 幕 保 护 程 序, 不 仅 可 以 延 长 显 示 器 的 使 用 寿 命, 还 可 以 保 护 私 人 信 息。   编 制 屏 幕 保 护 程 序 不 仅 要 涉 及 消 息 的 处 理, 还 要 涉 及 命 令 行 参 数 的 处 理。 在WIN32 SDK 文 档 中 描 述 了 编 制 基 于WIN32 的 标 准 的 屏 幕 保 护 程 序 所 必 须 遵 守 的 严 格 标 准。 按 照 这 些 标 准, 屏 幕 保 护 程 序 必 须 要 输 出 两 个 函 数:ScreenSaverProc 和ScreenSaverConfigureDialog, 但 是, 在Windows 系 统 中 的 很 多 屏 幕 保 护 程 序 并 没 有 遵 循 这 些 标 准( 使 用impdef 或 者tdump 实 用 工 具 查 看 即 可)。 并 且 使 用 该 文 档 中 介 绍 的 方 法 编 写 屏 幕 保 护 程 序, 不 仅 要 使 用 资 源 编 辑 器, 并 且 在 链 接 时 还 要 利 用Scrsaver.lib 文 件( 在C++ Builder 3 环 境 下, 不 能 成 功 连 接)。 不 仅 要 涉 及 消 息 的 处 理, 还 要 涉 及 命 令 行 参 数 的 处 理。   C++ Builder 3 是 一 种 快 速 的 应 用 程 序 开 发 工 具, 提 供 了 许 多 类 型 的 应 用 程 序 开 发 模 板, 但 没 有 提 供 开 发 屏 幕 保 护 程 序 的 模 板, 并 且 在 其 在 线 帮 助 中 也 没 有 提 及 如 何 开 发 这 类 应 用 程 序。 经 过 本 人 的 研 究, 找 到 了 用C++ Builder3 编 制 屏 幕 保 护 程 序 的 方 法。   在 控 制 面 板 的 显 示 器 属 性 项 的 屏 幕 保 护 程 序 页 中 进 行 设 置 时, 要 遇 到 三 种 类 型 的 命 令 行 参 数, 并 且, 各 种 情 况 下 的 屏 幕 保 护 程 序 的 显 示 结 果 也 各 不 相 同, 一 般 来 讲, 就 需 要 三 种 类 型 的 窗 体( 或 两 种, 在 随 后 的 内 容 中 讨 论)。 下 面 将 分 四 步 来 具 体 地 说 明 如 何 编 制 屏 幕 保 护 程 序。   一、 屏 幕 保 护 程 序 的 选 择   如 果 在 标 题 为 屏 幕 保 护 程 序 的 下 拉 列 表 框 中 选 中 了 某 个 保 护 程 序 时, 系 统 会 自 动 启 动 该 程 序, 这 个 程 序 的 显 示 范 围 是 在 这 个 页 面 上 的 显 示 器 图 形 的 屏 幕 范 围, 同 时, 会 将 两 个 命 令 行 参 数: 一 个 是/p; 另 一 个 是 显 示 窗 口 的 句 柄, 传 递 给 这 个 被 选 中 的 程 序。 因 此, 这 类 程 序 首 先 应 该 能 够 处 理 命 令 行 参 数。 在C++ Builder3 中, 与 命 令 行 参 数 处 理 有 关 的 函 数 是:ParamCount() 和ParamStr(), 具 体 的 申 明 方 式 如 下:   1 . extern PACKAGE int __fastcall ParamCount(void);   该 函 数 返 回 命 令 行 参 数 的 个 数, 但 不 包 含 应 用 程 序 本 身。   2 . extern PACKAGE AnsiString __fastcall ParamStr(int Index);   该 函 数 返 回 指 定 索 引 值 的 命 令 行 参 数。ParamStr(0) 返 回 的 是 应 用 程 序 本 身。   所 以, 在 这 以 步 骤 中 的 参 数 判 断 的 语 句 如 下: if(UpperCase(ParamStr(1)) == -p || UpperCase(ParamStr(i)) == /p) { // add the code in here }   在 完 成 了 参 数 判 断

文档评论(0)

kaiss + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档