2024年5月11日发(作者:)
创建安装程序的两种方法
创建安装程序的两种方法
创建安装程序的两种方法
● 彭 进 赵 昕
创 建 安 装 程 序 是 程 序 员 经 常 遇 到 的 问 题 之 一。 本 文
仅 探 讨 在Windows 平 台 上 创 建 安 装(Setup) 程 序 的 两 种
方 法。
一、 使 用Visual C++ 编 程 生 成Setup 程 序
生 成Setup 程 序 最 直 接 的 方 法 当 然 是 通 过 编 程 来 实 现。
对 于Windows 平 台 来 说, 没 有 比Visual C++ 更 好 的 开 发 工
具 了( 原 因 很 简 单, 有 谁 能 比Microsoft 更 了 解Windows 平
台 呢 ?)。 下 面 的 例 程 就 是 使 用Visual C++ 5.0 编 译 完 成
的。
Setup 程 序 主 要 处 理 两 个 方 面 的 问 题 :
(1) 用 户 界 面。 评 价 一 个Setup 程 序 的 优 劣 时, 用 户
界 面 是 否 美 观 是 其 中 的 一 个 重 要 因 素。 此 外, 通 过 交 互
式 界 面 还 应 能 够 获 得 用 户 的 相 关 信 息( 比 如 目 标 目 录)。
(2) 文 件 拷 贝 与 程 序 组 的 生 成。 也 就 是 按 照 用 户 输
入 的 信 息, 生 成 相 应 的 目 录 并 完 成 文 件 拷 贝 功 能( 这 要
涉 及 到 解 压 缩 问 题)。 一 般 来 说, 还 应 包 括 将 可 执 行 文
件 的 图 标 添 加 到 指 定 的 程 序 组 中。
1、 为Setup 程 序 设 置 背 景
Setup 程 序 的 用 户 界 面 以 对 话 框 为 主, 不 过 若 有 美 丽
的 背 景 则 能 为 你 的 程 序 增 色 不 少。 你 可 以 选 择 一 个 合 适
的BMP 文 件, 将 它 插 入 到 工 程 文 件(project) 中, 并 通 过
重 载 主 窗 口 类 的OnPaint() 函 数 显 示 出 来。 值 得 注 意 的 是,
背 景 图 片 不 应 过 于 眩 目, 否 则 会 有 喧 宾 夺 主 之 感。 例 如,
要 加 入 的BMP 文 件 的ID 号 是IDB_BIT。 下 面 给 出 应 加 在
OnPaint() 中 的 函 数。
void Background(CDC *pDC)
{ CDC * pmem;
CBitmap * pback;
CBitmap * pold;
BITMAP ff;
pmem=new CDC;
pbit=new CBitmap;
pbit->LoadBitmap(IDB_BIT);
pmem->CreateCompatibleDC(pDC);
pold=(CBitmap *) pmem->SelectObject(pbit);
pbit->GetObject(sizeof(ff),&ff);
pDC->BitBlt(0,0,h,ht,pmem,0,0,
MERGECOPY );
delete pmem->SelectObject(pold);
delete pmem;
return;
}
2、 显 示 全 屏 效 果
一 般 的 主 窗 口 都 有 边 界(border), 如 果 你 更 欣 赏DOS
发布评论