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:
- Elementos de identificador programático usados por associações de arquivo
- Usando identificadores programáticos versionados
- Tópicos relacionados
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.
Tópicos relacionados