Partilhar via


Tipos de arquivo

Este tópico explica como criar novos tipos de arquivo e como associar seu aplicativo ao seu tipo de arquivo e outros tipos de arquivo bem definidos. Os ficheiros com uma extensão de nome de ficheiro comum partilhada (.doc, .htmle assim por diante) são do mesmo tipo . Por exemplo, se você criar um novo editor de texto, poderá usar o tipo de arquivo .txt existente. Em outros casos, talvez seja necessário criar um novo tipo de arquivo.

Este tópico está organizado da seguinte forma:

Podem ser encontradas informações adicionais sobre os seguintes tópicos:

Tipos de arquivo público e privado

Os tipos de arquivo público também são conhecidos como tipos populares ou contenciosos porque aplicativos concorrentes podem querer ser associados a esses tipos de arquivo. As características dos tipos de arquivo público incluem:

  • Eles são tipicamente definidos por organismos de normalização e/ou são promovidos por suas organizações definidoras como formatos de intercâmbio.
  • São frequentemente trocados entre computadores e utilizadores para diversos fins.
  • Eles precisam ser suportados em muitas plataformas diferentes.
  • É provável que aplicativos de vários fornecedores lidem com eles.

Alguns exemplos de tipos de arquivo que são considerados públicos são os tipos de arquivo de imagem .png, .gif, .jpge .bmpe os tipos de áudio .wav, .mp3e .au.

Ao contrário dos tipos de arquivo públicos, os tipos de arquivo privados ou proprietários normalmente têm um formato que é implementado e compreendido por apenas um aplicativo ou fornecedor. Como resultado, os tipos de arquivos privados normalmente não são propensos a conflitos entre aplicativos. Alguns tipos de arquivo podem começar como tipos de arquivo privados, mas depois se tornam tipos de arquivo públicos.

Observação

O Windows não diferencia entre tipos de arquivo público e privado. A distinção é relevante apenas na tomada de decisões sobre a sua escolha de registo do tipo de ficheiro.

 

Registrando um tipo de arquivo

Para associar o tipo de ficheiro a uma aplicação existente, localize a aplicação ProgID no registo. Para associar o tipo de arquivo a um novo aplicativo, defina um ProgID para seu aplicativo. Para obter informações sobre como definir um novo ProgID, consulte Programmatic Identifiers.

As subchaves da extensão de nome de arquivo têm a seguinte forma geral: extensão=ProgID. As subchaves da extensão de nome de arquivo são armazenadas na subárvore HKEY_CLASSES_ROOT.

É importante incluir o período inicial (.) ao criar subchaves de tipo de arquivo no Registro. Por exemplo, se você quiser que um tipo de arquivo com a extensão curta .myp e a extensão longa .myp-file seja aberto com um aplicativo chamado MyProgram, use a seguinte sintaxe:

HKEY_CLASSES_ROOT
   .myp
      (Default) = ApplicationVendor.MyProgram
   .myp-file
      (Default) = ApplicationVendor.MyProgram
   ApplicationVendor.MyProgram
      (Default) = MyProgram Application

Como demonstrado no exemplo anterior, se você também registrar uma extensão de nome de arquivo curto (.myp), deverá criar uma subchave para a extensão longa (.myp-file) também. Para obter mais informações, consulte manipuladores de tipo de arquivo.

Definindo subchaves opcionais e atributos de extensão de tipo de arquivo

As entradas de extensão de tipo de ficheiro no registo têm várias subchaves e atributos opcionais.

As entradas de extensão de tipo de arquivo que são usadas por associações de arquivo são descritas na tabela a seguir. Todos os valores são do tipo REG_SZ.

Entrada de registo Ação
Inadimplência Defina o valor padrão da subchave de extensão para o ProgID ao qual ela está vinculada.
Tipo de conteúdo Defina o valor Content Type como o tipo de conteúdo MIME do tipo de arquivo.
OpenWithList Não utilizar. Essa subchave contém uma ou mais subchaves de aplicativo para aplicativos que aparecem na entrada da caixa de diálogo Abrir com para o tipo de arquivo e destina-se apenas a aplicativos .exe em sistemas operacionais anteriores ao Windows XP. Use OpenWithProgIds em vez disso.
OpenWithProgIds Essa subchave contém uma lista de ProgIDs alternativos para esse tipo de arquivo. Os programas para esses ProgIDs aparecem no menu Abrir com e estão disponíveis como aplicativos padrão da Windows Store para o tipo de arquivo. Sempre que um aplicativo assume esse tipo de arquivo alterando o valor padrão, ele também deve adicionar uma entrada a essa lista.
PerceivedType Defina o valor PerceivedType como PerceivedType ao qual o arquivo pertence, se houver. Esta cadeia de caracteres não é usada por versões do Windows anteriores ao Windows Vista. Para obter mais informações, consulte Tipos percebidos ede registro de aplicativo .

 

A forma geral de uma subchave de extensão de nome de arquivo é a seguinte. Todos os tipos de entrada são do tipo REG_SZ.

HKEY_CLASSES_ROOT
   .ext
      (Default) = ProgID.ext.1
      Content Type = MIME content type
      PerceivedType = PerceivedType
      OpenWithProgids
         ProgID2.ext.1
         ProgID3.ext.1
      ProgID.ext.1
         shellnew

Considerações importantes sobre os tipos de arquivo incluem:

  • A subárvore HKEY_CLASSES_ROOT é uma visão formada pela fusão de HKEY_CURRENT_USER\Software\Classes e HKEY_LOCAL_MACHINE\Software\Classes

  • Em geral, HKEY_CLASSES_ROOT destina-se a ser lido, mas não escrito. Para obter mais informações, consulte o artigo HKEY_CLASSES_ROOT.

  • Para registrar um tipo de arquivo globalmente em um computador específico, crie uma entrada para o tipo de arquivo na subchaveHKEY_LOCAL_MACHINE\Software\ Classes.

  • Para tornar um registro de tipo de arquivo visível apenas para o usuário atual, crie uma entrada para o tipo de arquivo na subchaveHKEY_CURRENT_USER\Software\ Classes.

  • Um aplicativo pode fornecer sua própria implementação de um verbo, como abrir ou reproduzir, conforme mostrado no exemplo de registro a seguir.

    HKEY_CLASSES_ROOT
       Applications
          ApplicationName.exe
             shell
                verb
    

    As subchaves da subchave do verbo incluem a linha de comando e o método drop target: command e DropTarget.

  • Quando você cria ou altera uma associação de arquivo, é importante notificar o sistema de que você fez uma alteração. Faça isso chamando SHChangeNotify e especificando o evento SHCNE_ASSOCCHANGED. Se você não chamar SHChangeNotify, a alteração pode não ser reconhecida até que o sistema seja reinicializado.

  • Para recuperar informações do registro sobre uma associação de arquivo, use o IQueryAssociations interface. Para obter um cenário que ilustra esse procedimento, consulte Cenário de exemplo de associação de arquivo.

Observação

As subchaves App Paths e Applications registry são usadas para registrar e controlar o comportamento do sistema em nome dos aplicativos. Para obter informações mais detalhadas sobre essa funcionalidade, consulte Application Registration.

 

Excluindo informações do Registro durante a desinstalação

Ao desinstalar um aplicativo, os ProgIDs e a maioria das outras informações do Registro associadas a esse aplicativo devem ser excluídos como parte da desinstalação. No entanto, os aplicativos que se apropriaram de um tipo de arquivo (definindo o valor padrão da subchave HKEY_CLASSES_ROOT\.extension do tipo de arquivo para o ProgID do aplicativo) não devem tentar remover esse valor durante a desinstalação. Deixar os dados no lugar para o valor Default evita a dificuldade de determinar se outro aplicativo assumiu a propriedade do tipo de arquivo e substituiu o valor Default depois que o aplicativo original foi instalado. O Windows respeita o valor Padrão somente se o ProgID encontrado houver um ProgID registrado. Se o ProgID não estiver registrado, ele será ignorado.

Observe que outras informações de propriedade de tipo de arquivo são armazenadas na subárvore HKEY_CURRENT_USER e também são usadas somente quando o aplicativo ao qual ele faz referência é registrado. Portanto, esses dados não precisam ser removidos ao desinstalar um aplicativo.

Como exemplo, o seguinte mostra o estado do registro antes de um aplicativo ser desinstalado:

HKEY_CLASSES_ROOT
   .mp3
      (Default) = YourProgID
   YourProgID
      shell
         open
            command
               (Default) = yourapp.exe %1

A seguir mostra o estado dessas mesmas entradas do Registro após a desinstalação do aplicativo.

HKEY_CLASSES_ROOT
   .mp3
      (Default) = YourProgID
   YourProgID subkey removed

Tipos de arquivo que suportam metadados abertos

No Windows 7 e versões posteriores, os seguintes tipos de ficheiro suportam metadados abertos.

Tipo de ficheiro Extensões de nome de arquivo
Documentos do Office 2007 .docx, .xlsx, .pptx
Documentos do Office 97-2003 .doc, .xls.ppt
Pesquisa guardada .search-ms
Formatos baseados no Windows Media (contentor ASF (Advanced Streaming Format)) .wmv, .wma
MP4 (manipulador de propriedades) .mp4, .m4a, .m4v, .mp4v, .m4p, .m4b, .3gp, .3gpp, .3gp2, .mov

 

de Registo de Candidatura

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

Identificadores programáticos

Tipos percebidos

Matrizes de Associação