Partilhar via


Identificadores programáticos

O Shell usa uma subchave de registro de identificador programático (ProgID) para associar um tipo de arquivo a um aplicativo e para controlar o comportamento da associação. As entradas ProgID usadas para associações de arquivos estão localizadas em HKEY_CLASSES_ROOT no registro.

Este tópico está organizado da seguinte forma:

Para obter informações adicionais, leia Como registrar um tipo de arquivo para um novo aplicativo

Elementos de identificador programático usados por associações de arquivo

O formato adequado de um nome de chave ProgID é [Vendor or Application]. [Componente]. [Versão], separados por pontos e sem espaços, como em Word.Document.6. A parte Versão é opcional, mas altamente recomendada. Para obter mais informações, consulte Usando identificadores programáticos versionados.

Uma subchave ProgID deve incluir os seguintes elementos. Observe que alguns dados de cadeia de caracteres nessa chave exigem formatação específica.

Elemento Descrição
(padrão) Defina a entrada padrão da subchave ProgID para um nome amigável para esse ProgID, adequado para exibição ao usuário. O uso dessa entrada para manter o nome amigável é preterido pela entrada FriendlyTypeName em sistemas que executam o Windows 2000 ou posterior. No entanto, você deve definir esse valor para compatibilidade com versões anteriores.
AllowSilentDefaultTakeOver (introduzido no Windows 8) Defina essa entrada opcional para sinalizar que o Windows deve ignorar esse ProgID ao determinar um manipulador padrão para um tipo de arquivo público. Independentemente de esse valor estar definido, o ProgID continua a aparecer no menu de atalho e na caixa de diálogo OpenWith . Este é um valor REG_NONE.
AppUserModelID (introduzido no Windows 7) Defina essa entrada opcional para a ID explícita do Modelo de Usuário do Aplicativo (AppUserModelID) do aplicativo se o aplicativo usar um AppUserModelID explícito e usar o Recente gerado automaticamente do sistema ou Listas de Atalhos de Frequentes ou fornecer uma Lista de Atalhos personalizada. Se um aplicativo usar um AppUserModelID explícito e não definir esse valor, os itens não aparecerão nas Listas de Atalhos desse aplicativo. Esta é uma cadeia de REG_SZ. Para obter mais informações, consulte Application User Model IDs (AppUserModelIDs).
EditFlags Defina essa entrada opcional usando sinalizadores da enumeraçãoFILETYPEATTRIBUTEFLAGS. A entrada EditFlags controla alguns aspetos do processamento pelo Shell dos tipos de arquivo vinculados a esse ProgID. Você também pode usar a entrada EditFlags para limitar o quanto o usuário pode modificar certos aspetos desses tipos de arquivo usando a folha de propriedades de um arquivo. Os FILETYPEATTRIBUTEFLAGS valores usados para EditFlags são valores binários projetados para que você possa combinar vários atributos em um único valor em uma operação OR bit a bit. Este é um valor REG_DWORD ou REG_BINARY.
FriendlyTypeName Defina esta entrada como um nome amigável para o ProgID, adequado para exibição ao usuário. Para consistência, essa cadeia de caracteres deve conter os mesmos dados que a entrada padrão para essa chave ProgID. Esta entrada pode ser uma cadeia de caracteres REG_SZ ou REG_EXPAND_SZ, mas deve ser formatada como uma cadeia de caracteres indireta (um nome de arquivo totalmente qualificado e um valor de recurso precedido pelo símbolo @), por exemplo, @%SystemRoot%\shell32.dll,-154.
InfoTip Defina esta entrada como uma breve mensagem de ajuda que o Shell exibe para este ProgID. A entrada InfoTip é exibida em uma caixa de diálogo passar o mouse. Esse valor pode ser uma cadeia de caracteres REG_SZ ou REG_EXPAND_SZ, mas, como FriendlyTypeName, deve ser formatado como uma cadeia de caracteres indireta.
CurVer Defina a entrada (padrão) dessa subchave para a versão mais atual deste ProgID.
Nota: A menos que você tenha versões de aplicativos lado a lado, ou seja, várias versões instaladas no mesmo sistema, você deve evitar usar CurVer.
DefaultIcon. Defina a entrada (Padrão) dessa subchave como o ícone padrão que você deseja exibir para os tipos de arquivo associados a esse ProgID. Esse valor pode ser uma cadeia de caracteres REG_SZ ou REG_EXPAND_SZ, mas deve ser fornecido como um nome de arquivo totalmente qualificado com seu valor de recurso correspondente, por exemplo, %SystemRoot%\shell32.dll,-154.

 

O exemplo de chave do Registro a seguir ilustra um nó de chave ProgID de associação de arquivo:

HKEY_CLASSES_ROOT
   Vendor.App.1
      (Default) = My Friendly Name
      AllowSilentDefaultTakeOver
      AppUserModelID = Vendor.Application
      EditFlags = 0x00000001
      FriendlyTypeName = @%SystemRoot%\shell32.dll,-154
      InfoTip = @%SystemRoot%\shell32.dll,-54
      CurVer
         (Default) = Vendor.App.1
      DefaultIcon
         (Default) = %SystemRoot%\shell32.dll,-1

Usando identificadores programáticos versionados

Um ProgID versionado é aquele cuja versão é indicada em seu nome. Normalmente, você faz isso adicionando um ponto e o número da versão ao nome. Por exemplo:

  • Word.Document.6
  • Word.Document.8

Estes são ProgIDs versionados, com versões 6 e 8, respectivamente. Se você tiver um aplicativo lado a lado, ou seja, um que suporte várias versões do seu aplicativo instalado ao mesmo tempo, use CurVer e Version Independent ProgIDs. Caso contrário, CurVer e Version Independent ProgIDs devem ser evitados porque levarão à ineficiência.

Como registrar um tipo de arquivo para um novo aplicativo

de Registo de Candidatura

Tipos de arquivo

Como funcionam as associações de arquivos

Visualização de conteúdo por tipo de arquivo ou tipo

Verificador de Tipo de Arquivo

manipuladores de tipo de arquivo

Tipos percebidos

Matrizes de Associação