📄 如何实现activex控件在vb环境可以编译,但一运行就提示没有许可.txt
字号:
当 在 VB环 境 中 要 使 用 一 个 控 件 时 , VB会 调 用 ActiveX控 件 的 VerifyUserLicense函 数 , 如 果 函 数 返 回 TRUE, 就 说 明 用 户 有 合 法 的 许 可 , 可 以 在 VB环 境 中 使 用 。 在 编 译 成 EXE或 DLL后 , VB调 用 ActiveX控 件 的 GetLicenseKey函 数 获 得 运 行 许 可 , 并 把 这 个 许 可 写 入 EXE或 DLL。 当 程 序 脱 离 集 成 环 境 运 行 时 , EXE程 序 调 用 ActiveX控 件 的 VerifyLicenseKey函 数 判 断 写 在 EXE中 的 运 行 许 可 是 否 正 确 , 如 果 正 确 则 可 以 运 行 程 序 , 否 则 就 会 出 现 你 说 的 没 有 许 可 并 使 程 序 退 出 。 在 VC中 很 容 易 实 现 你 要 的 功 能 , 只 需 要 在 VerifyUserLicense函 数 中 永 远 返 回 TRUE。 如 果 没 有 购 买 软 件 , GetLicenseKey函 数 返 回 一 个 错 误 的 许 可 , 这 样 VerifyLicenseKey函 数 就 知 道 你 是 使 用 非 法 版 本 编 译 的 , 拒 绝 运 行 。 我 自 己 的 CheckListBox控 件 (http://www.zealsoftstudio.com/cn/checklistbox/)就 采 用 了 这 样 的 技 术 。 但 在 VB中 无 法 实 现 这 些 功 能 , 原 因 是 VB自 动 提 供 这 三 个 函 数 , 你 无 法 定 制 。
采 用 这 种 技 术 也 有 如 下 缺 点 :
1、 这 样 的 控 件 只 能 在 VB中 使 用 , 因 为 在 VC++和 Delphi等 软 件 中 即 使 在 集 成 环 境 中 调 试 也 需 要 运 行 许 可 。
2、 对 VB 4.0无 效 。 VB 4.0的 EXE程 序 不 检 查 运 行 许 可 。
<END>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -