Clé ProgID

Un identificateur programmatique (ProgID) est une entrée de Registre qui peut être associée à un CLSID. Comme le CLSID, le ProgID identifie une classe, mais avec moins de précision, car elle n’est pas garantie d’être globalement unique.

Entrée de Registre

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\{ProgID}

Clé de Registre Description
CLSID Associe un ProgID à un CLSID.
Insertable Indique que cette classe peut être insérée dans des conteneurs de liaison et incorporation d’objets (OLE) 2.
Protocole Indique que cette classe OLE 2 peut être insérée dans des conteneurs OLE 1.
Shell Fournit des informations d’impression d’interpréteur de commandes Windows 3.1 et d’ouverture de fichier.

 

Notes

Vous pouvez utiliser un ProgID dans les situations de programmation où il n’est pas possible d’utiliser un CLSID. Les progID ne doivent pas apparaître dans l’interface utilisateur. Les progID ne sont pas garantis comme uniques, de sorte qu’ils ne peuvent être utilisés que lorsque les collisions de noms sont gérables.

Le format d’un ProgID est <Program>.<Composant>.<Version>, séparée par des points et sans espace, comme dans Word.Document.6. Le ProgID doit respecter les exigences suivantes :

  • Ne pas dépasser 39 caractères.
  • Ne contient aucune ponctuation (y compris les traits de soulignement et les barres obliques) à l’exception d’une ou plusieurs périodes.
  • Ne commencez pas par un chiffre.
  • Soyez différent du nom de classe d’une application OLE 1, y compris la version OLE 1 de la même application, s’il en existe un.

Étant donné que le ProgID ne doit pas apparaître dans l’interface utilisateur, vous pouvez obtenir un nom affichable en appelant IOleObject::GetUserType. Voir également OleRegGetUserType.

La clé HKEY_LOCAL_MACHINE\SOFTWARE\Classes correspond à la clé HKEY_CLASSES_ROOT , qui a été conservée pour la compatibilité avec les versions antérieures de COM.

IOleObject::GetUserType

OleRegGetUserType