0 out of 2 rated this helpful - Rate this topic

<ProgID> Key

A ProgID, or programmatic identifier, is a registry entry that can be associated with a CLSID. The format of a ProgID is <Program>.<Component>.<Version>, separated by periods and with no spaces, as in Word.Document.6. Like the CLSID, the ProgID identifies a class but with less precision because it is not guaranteed to be globally unique.

Registry Entry

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\

    <ProgID>\<Subkey>

<Subkey> Description

CLSID

The CLSID that maps to this ProgID.

Insertable

Indicates that class is insertable in OLE 2 containers.

Protocol

Indicates class is insertable in OLE 1 container.

Shell

Windows 3.1 File Manager information.

Remarks

You can use a ProgID in programming situations where it is not possible to use a CLSID. ProgIDs should not appear in the user interface. ProgIDs are not guaranteed to be unique, so they can be used only where name collisions are manageable.

The format of <ProgID> is <Program>.<Component>.<Version>, separated by periods and with no spaces. The ProgID must comply with the following requirements:

  • Have no more than 39 characters.

  • Contain no punctuation (including underscores) except one or more periods.

  • Not start with a digit.

  • Be different from the class name of any OLE 1 application, including the OLE 1 version of the same application, if there is one.

Because the ProgID should not appear in the user interface, you can obtain a displayable name by calling IOleObject::GetUserType. Also, see OleRegGetUserType

The HKEY_LOCAL_MACHINE\SOFTWARE\Classes key corresponds to the HKEY_CLASSES_ROOT key, which was retained for compatibility with earlier versions of COM.

See Also

Send comments about this topic to Microsoft.
Did you find this helpful?
(1500 characters remaining)

Community Additions

© 2013 Microsoft. All rights reserved.