文章編號: 173091 - 上次校閱: 2004年7月1日 - 版次: 2.1

如何以程式設計的方式註冊及取消註冊.OCX 檔案

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

結論

本文將告訴您,如何以程式設計方式註冊及取消註冊 ActiveX 控制項 (.OCXs)。

Microsoft Visual Basic 隨附許多 ActiveX 控制項 (.OCX 檔案)。 這些檔案會自動為您註冊由 Visual Basic 安裝程式在安裝期間。開發人員通常想要註冊或取消註冊這些和/或會在他們自己控制項。這可以利用如 RegSvr32.EXE 工具來完成,或它透過 Visual Basic 程式碼可以用程式設計方式完成。

ActiveX 控制項架構支援 DllRegisterServer 和 DllUnregisterServer 進入點。這些進入點可以宣告為 Visual Basic 程式碼中的函式,並再呼叫以登錄和取消登錄 ActiveX 控制項。

其他相關資訊

特別是在 Microsoft Windows 通用控制項下列範例示範如何撰寫可以用來註冊,並取消登錄 ActiveX 控制項的程式碼模組,ComCtl32.OCX 中找到。

雖說是逐步範例

  1. 建立新的標準 Exe 專案在 Visual Basic 中時。
  2. 將模組 (Module1) 加入至專案。
  3. 將下列程式碼加入 Module1 的一般宣告區段:
          Public Declare Function RegComCtl32 Lib "ComCtl32.OCX" _
             Alias "DllRegisterServer" () As Long
    
          Public Declare Function UnRegComCtl32 Lib "ComCtl32.OCX" _
             Alias "DllUnregisterServer" () As Long
    
          Public Const S_OK = &H0
    
          Sub RegisterComCtl32()
             On Error GoTo Err_Registration_Failed
             If RegComCtl32 = S_OK Then
                MsgBox "Registered Successfully"
             Else
                MsgBox "Not Registered"
             End If
          Exit Sub
          Err_Registration_Failed:
             MsgBox "Error: " & Err.Number & " " & Err.Description
          End Sub
    
          Sub UnRegisterComCtl32()
             On Error GoTo Err_Unregistration_Failed
             If UnRegComCtl32 = S_OK Then
                MsgBox "Unregistered Successfully"
             Else
                MsgBox "Not Unregistered"
             End If
          Exit Sub
          Err_Unregistration_Failed:
             MsgBox "Error: " & Err.Number & " " & Err.Description
          End Sub
    
    					
  4. 檢視即時運算] 視窗 (CTRL + G 鍵) 和型別:
    UnRegisterComCtl32
    按下 ENTER 鍵,取消註冊 ComCtl32.OCX,然後輸入:
    RegisterComCtl32
    然後按下 ENTER 鍵來註冊控制項。
現在可以註冊和取消登錄 ActiveX 控制項以程式設計的方式提供功能類似 RegSvr32.EXE 呼叫這些函式。您可以在 [工具箱] 上按一下滑鼠右鍵,並從快顯功能表中選取元件來測試這些函式。[元件] 對話方塊的 [控制項] 索引標籤上會不顯示 Microsoft Windows 通用控制項 5.0 的項目,如果 ComCtl32.OCX 已登錄,且如果 ComCtl32.OCX 未註冊,則會顯示任何項目。

請注意下列:
  • RegComCtl32"UnRegComCtl32 「 使用者定義的名稱和可能會變更以符合您的需求。
  • 上面的逐步範例假設 ComCtl32.OCX 位於本端硬碟機] 的 [Windows\System] 資料夾中。如果不是位於有,您必須在 Declare 陳述式中指定.OCX 檔案之完整路徑。
  • DllRegisterServer"及"DllUnregisterServer 」 是區分大小寫的。請務必正確的大小寫用於宣告這些函式時。

這篇文章中的資訊適用於:
  • Microsoft Visual Basic Control Creation Edition
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
關鍵字:?
kbmt kbhowto KB173091 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:173091? (http://support.microsoft.com/kb/173091/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。