• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        注冊ActiveX控件的幾種辦法

        注冊ActiveX控件的幾種辦法

        更新時間:2022-05-06 文章作者:未知 信息來源:網絡 閱讀次數:

        文/黃昱

          使用ActiveX控件可快速實現小型的組件重用、代碼共享,從而提高編程效率,降低開發成本。但是ActiveX控件對于最終用戶并不能直接使用,因為ActiveX控件必須先在Windows中注冊。注冊ActiveX控件一般來說有六種途徑,它們有各自的優點,運用范圍也不同。

          Regsvr32.exe注冊

          
          Regsvr32.exe位于Windows目錄的system子目錄下。點擊Windows的“開始→運行”菜單,在對話框中輸入以下命令:

          regsvr32 netshare.ocx &&注冊netshare.ocx控件

          regsvr32 /u netshare.ocx &&解除netshare.ocx控件的注冊

          如果netshare.ocx文件不在system目錄時,還必須在文件名前加上完整的路徑。除了regsvr32應用程序之外,Microsoft在它的Web站點上還提供了一個稱為regclean.exe的程序,可以檢查注冊表并去掉丟失的組件在注冊表中的條目。regclean.exe除了可以刪除“懸掛”的條目,它還提供一個“undo”文件幫助恢復錯誤的刪除。

          臥龍傳說提醒:用regsvr32.exe注冊ActiveX控件雖然簡單,但需要用戶手工進行注冊,在不用時還需手工解除注冊。

          VFP環境注冊

          在我們進行程序設計時,VFP本身提供一個注冊ActiveX控件的方法。

          進入VFP環境,選擇“工具→選項”菜單,點擊“控件”頁,選中“ActiveX控件”單選按鈕,在列表框里顯示所有已經注冊的ActiveX控件,這時,點擊右邊的“添加”按鈕,選擇需要注冊的ActiveX控件文件,“確定”后完成注冊。也可以在表單設計器的表單控件工具欄里拖動“OLE”按鈕到表單,在彈出的選擇框里選中“插入控件”單選鈕,同樣點擊右邊的“添加控件”按鈕,來完成新控件的注冊。

          臥龍傳說提醒:本方法僅適合程序員在設計程序過程中手工進行,對用戶而言,并沒有實現在本地機上自動注冊。

          安裝程序注冊

          大型應用軟件一般都有一個安裝程序,在安裝程序中解決ActiveX控件的注冊是較為理想的一種方案。

          在用戶執行安裝程序時,這些ActiveX控件將自動在用戶機器上安裝并注冊。

          VFP7.0光盤所帶的InstallShield是目前較為流行的制作安裝程序的工具,使用它可以制作出專業級的Setup安裝程序,還可以注冊應用程序使用到的ActiveX控件。而且,在以后使用控制面板的“添加/刪除程序”卸載該軟件時,安裝程序會自動注銷掉以前注冊的ActiveX控件。

          加入代碼注冊

          首先,定義一個注冊控件的函數:

          Function MyRegsvr ( lpcRegFilename, lplIsreg )

          If File(lpcRegFilename)

          lpcRegFilename = iif(llisreg, lpcRegFilename, [ /u ] + lpcRegFilename)

          Run /n regsvr32 &&lpcRegFilename

          Endif

          Return

          Endfunc

          然后就可以通過以下語句來調用該函數,并完成ActiveX控件的注冊了(臥龍傳說提醒:一定要注意控件文件的路徑哦)。

          = MyRegsvr( "netshare.ocx", .T.) &&注冊netshare.ocx控件

          = MyRegsvr( "netshare.ocx", .F.) &&解除netshare.ocx控件的注冊

          注冊函數注冊

          上面提到運行regsvr32.exe應用程序將彈出注冊是否成功的對話框,注意看內容“DllRegisterServer in netshare.ocx succeeded”或“UnDllregisterServer...”,其實,通常每個可用的ActiveX控件都有DllRegisterServer、UnDllregisterServer這兩個自注冊函數包含在其中,我們可以用定義API函數的方法(Declare <函數名> in <文件名> ... )來定義它,然后直接使用該函數來進行注冊和反注冊。

          同樣,我們先自定義一個注冊函數(臥龍傳說提醒:請注意DllRegisterServer、UnDllregisterServer的大小寫):

          Function DllRegister (lpLibFileName,isReg)

          isReg = iif(type("isReg")="U", .T., isReg)

          lpProcName = iif(isReg, "DllRegisterServer", "DllUnregisterServer" )

          Declare INTEGER (lpProcName) in (lpLibFileName)

          return &&lpProcName.()

          Endfunc

          然后,就可以通過該函數來完成ActiveX控件的注冊了。

          = DllRegister( "netshare.ocx", .T.) &&注冊,返回0表示成功

          = DllRegister( "netshare.ocx", .F.) &&注銷,返回0表示成功

          Clear Dlls

          試試,是不是沒有了彈出框的煩惱!

          臥龍傳說提醒:該方法沒有對ActiveX控件文件的驗證,假如該控件沒有有效的DllRegisterServer功能(即不具有自注冊功能),也就找不到以上的兩個API函數,照樣會有錯誤信息彈出。

          API函數注冊

          此方法的設計思路是:先將ActiveX控件載入內存,然后驗證其有效性,最后直接在內存地址中執行其注冊函數(DllRegisterServer、UnDllregisterServer)。其編程方法是:

          1、使用Windows API函數LoadLibrary載入ActiveX控件;

          2、使用GetProcAddress函數獲取ActiveX控件中注冊函數DllRegisterServer(注銷函數為DllUnregisterserver)指針;

          3、使用CallWindowProc函數執行已載入內存的ActiveX控件注冊函數(DllRegisterServer、UnDllregisterServer)。

          上面所述的ActiveX控件注冊方法各有特點。經實際使用,效果良好。您可根據實際情況靈活選用。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 香蕉视频免费在线| 97无码人妻福利免费公开在线视频 | 国产免费看JIZZ视频| yy6080亚洲一级理论| 亚洲人成在线影院| 国产AV日韩A∨亚洲AV电影| 久久久99精品免费观看| 又黄又爽一线毛片免费观看| 亚洲精品美女视频| 一个人看的www在线免费视频 | 日韩在线视频免费看| 亚洲国产成人私人影院| 日韩精品极品视频在线观看免费| 亚洲国产中文v高清在线观看| 亚洲国产精品成人久久久| 怡红院免费的全部视频| 国产gav成人免费播放视频| 亚洲国产福利精品一区二区| 免费无码作爱视频| 久久久久久久亚洲Av无码| 中文无码日韩欧免费视频| 全免费一级午夜毛片| 亚洲乱码卡三乱码新区| 女性无套免费网站在线看| 亚洲人成电影院在线观看| 无码高潮少妇毛多水多水免费| 亚洲综合免费视频| 午夜毛片不卡免费观看视频| 国产亚洲综合精品一区二区三区| 亚洲综合网站色欲色欲| 国产精品免费久久| 亚洲麻豆精品国偷自产在线91| 在线人成免费视频69国产| 国产成人精品日本亚洲专| xx视频在线永久免费观看| 亚洲福利在线观看| 青青草原1769久久免费播放| 亚洲成AV人片天堂网无码| 少妇性饥渴无码A区免费| 亚洲夂夂婷婷色拍WW47| 成人一a毛片免费视频|