Numéro d'article: 173091 - Dernière mise à jour: jeudi 1 juillet 2004 - Version: 2.1

Comment faire pour Programmatically Register et Unregister fichiers .ocx

A noterCet article s'applique à un système d'exploitation différent de celui que vous utilisez. Le contenu de l'article qui ne vous concerne peut-être pas est désactivé.

Sommaire

Agrandir tout | Réduire tout

Résumé

Cet article explique comment inscrire et annuler l'inscription des contrôles ActiveX (.OCXs) par programme.

Microsoft Visual Basic est livré avec plusieurs contrôles ActiveX (.ocx fichiers). Ces fichiers sont automatiquement enregistrés par le programme d'installation de Visual Basic lors de l'installation. Les développeurs souhaitent souvent inscrire ou désinscrire ces et/ou leurs propres contrôles à volonté. Cela est possible à l'aide d'un outil tel que RegSvr32.EXE ou il peut être effectué par programme à l'aide de code Visual Basic.

L'infrastructure de contrôle ActiveX prend en charge les points d'entrée DllRegisterServer et DllUnregisterServer. Ces points d'entrée peuvent être déclarés comme fonctions dans votre code Visual Basic et pour inscrire et annuler l'inscription du contrôle ActiveX.

Plus d'informations

L'exemple suivant montre comment écrire un module de code peut être utilisé pour inscrire et annuler l'inscription d'un contrôle ActiveX, en particulier les contrôles communs Microsoft Windows a trouvé dans ComCtl32.OCX.

Exemple pas à pas

  1. Créer un nouveau projet standard Exe dans Visual Basic.
  2. Ajouter un module (Module1) au projet.
  3. Ajoutez le code suivant à la section déclarations générales de 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. Afficher la fenêtre exécution (CTRL + G) et le type :
    UnRegisterComCtl32
    Appuyez sur ENTRÉE pour annuler l'inscription ComCtl32.OCX, puis tapez :
    RegisterComCtl32
    puis appuyez sur la touche entrée pour enregistrer le contrôle.
Ces fonctions peuvent maintenant être appelées pour inscrire et annuler l'inscription du contrôle ActiveX, par programme fournissant des fonctionnalités similaires à celles de RegSvr32.EXE. Vous pouvez tester ces fonctions en cliquant avec le bouton droit sur la boîte à outils et en sélectionnant des composants dans le menu contextuel. Une entrée pour Microsoft Windows Common Controls 5.0 s'affichera dans l'onglet contrôles de la boîte de dialogue composants si ComCtl32.OCX est enregistré et aucune entrée n'apparaît si ComCtl32.OCX n'est pas enregistré.

Veuillez noter ce qui suit :
  • «RegComCtl32» et «UnRegComCtl32» sont des noms définis par l'utilisateur et peuvent être modifié pour répondre à vos besoins.
  • L'exemple de code pas à pas ci-dessus considère que ComCtl32.OCX se trouve dans le dossier Windows\System du disque dur local. Si elle n'est pas localisé il, vous devez spécifier le chemin d'accès complet au fichier .ocx dans l'instruction Declare.
  • «DllRegisterServer» et «DllUnregisterServer» respectent la casse. Il est important que la casse est utilisé pour déclarer ces fonctions.

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Basic Control Creation Edition
  • Microsoft Visual Basic 5.0 Édition initiation
  • Microsoft Visual Basic 6.0 Édition initiation
  • Microsoft Visual Basic 5.0 Édition professionnelle
  • Microsoft Visual Basic 6.0 Édition professionnelle
  • Microsoft Visual Basic 5.0 Édition Entreprise
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
Mots-clés : 
kbmt kbhowto KB173091 KbMtfr
Traduction automatiqueTraduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 173091  (http://support.microsoft.com/kb/173091/en-us/ )
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.