Partilhar via


Chave ProgID independente de versão

Associa um ProgID a um CLSID. Essa chave é usada para determinar a versão mais recente de um aplicativo de objeto.

Entrada do Registro

HKEY_LOCAL_MACHINE\SOFTWARE\Classes
   <version-independent ProgID>
      CurVer = ProgID

Comentários

A chave HKEY_LOCAL_MACHINE\SOFTWARE\Classes corresponde à chave HKEY_CLASSES_ROOT, que foi mantida para compatibilidade com versões anteriores do COM.

O formato do <ProgID> independente de versão é <programa.<>componente>, separado por pontos, sem espaços e sem número de versão. O ProgID independente de versão, como o ProgID, pode ser registrado com um nome legível por humanos.

ProgID é o ProgID da versão mais recente instalada da classe.

Os aplicativos devem registrar um identificador programático independente de versão sob a chave ProgID independente de versão. O ProgID independente de versão refere-se à classe do aplicativo e não muda de versão para versão, permanecendo constante em todas as versões, por exemplo, Documento do Microsoft Word. Ele é usado com linguagens de macro e refere-se à versão atualmente instalada da classe do aplicativo. O ProgID independente de versão deve corresponder ao nome da versão mais recente do aplicativo objeto.

Por exemplo, o ProgID independente de versão é usado quando um aplicativo de contêiner cria um gráfico ou tabela com um botão da barra de ferramentas. Nessa situação, o aplicativo pode usar o ProgID independente de versão para determinar a versão mais recente do aplicativo de objeto necessário.

O ProgID independente de versão é armazenado e mantido exclusivamente pelo código do aplicativo. Quando fornecido o ProgID independente de versão, a função CLSIDFromProgID retorna o CLSID da versão atual.

Você pode usar CLSIDFromProgID e ProgIDFromCLSID para converter entre essas duas representações.

Você pode usar IOleObject::GetUserType ou OleRegGetUserType para alterar o identificador para uma cadeia de caracteres exibível.

Se um manipulador personalizado não for usado, a entrada deverá ser definida como OLE32.DLL, conforme mostrado no exemplo a seguir:

HKEY_CLASSES_ROOT\CLSID\{00000402-0000-0000-C000-000000000046}
   InprocHandler = ole32.dll

CLSIDFromProgID

ProgIDFromCLSID

<Chave ProgID>