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:
- tipos de arquivo público e privado
- Registrando um tipo de arquivo
- tipos de arquivo que suportam de metadados abertos
- Tópicos relacionados
Podem ser encontradas informações adicionais sobre os seguintes tópicos:
- Como escolher uma extensão de arquivo
- Como definir atributos de tipo de arquivo
- Como incluir um aplicativo na caixa de diálogo Abrir com
- Como excluir um aplicativo da caixa de diálogo Abrir com tipos de arquivo não associados
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 |
Tópicos relacionados