?? 如何實現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 + -