A especificação de identificadores de arquivo para extensões de nome de arquivo
Há várias maneiras de determinar o aplicativo que lida com um arquivo que tem uma extensão de arquivo específico. Os verbos OpenWithList e OpenWithProgids são duas maneiras para especificar identificadores de arquivo da entrada do registro para a extensão de arquivo.
Verbo de OpenWithList
Quando você clica um arquivo no Windows Explorer, você vê a Abrir comando. Se mais de um produto está associado uma extensão, você verá um Abrir com submenu.
Você pode registrar aplicativos diferentes para abrir uma extensão, definindo a chave OpenWithList para a extensão de arquivo em HKEY_CLASSES_ROOT. Os aplicativos listados nessa chave para uma extensão de arquivo aparecem sob o Programas recomendados título na Abrir com caixa de diálogo. Em Windows 2000 e Windows XP Professional, esses aplicativos também aparecem no Abrir com Nome do produto submenu fora do menu de atalho principal. O exemplo a seguir mostra os aplicativos registrados para abrir a extensão de arquivo. vcproj.
HKEY_CLASSES_ROOT\
.vcproj\
(default)="VisualStudio.vcproj.10.0"
OpenWithList\
devenv.exe
Dica
As chaves que especificando os aplicativos estão na lista em HKEY_CLASSES_ROOT\Applications.
Adicionando uma chave de OpenWithList, você declara que o seu aplicativo suporta uma extensão de arquivo, mesmo se outro aplicativo se apropria da extensão. Isso pode ser uma versão futura do seu aplicativo ou outro aplicativo.
OpenWithProgIDs
Identificadores de programação (ProgIDs) são versões amigáveis do ClassIDs que identificam uma versão de um aplicativo ou um objeto COM. Cada objeto co-creatable deve ter seu próprio ProgID. Por exemplo, VisualStudio.DTE.7.1 inicia Visual Studio.NET 2003 durante a inicialização de VisualStudio.DTE.10.0 Visual Studio. Como o proprietário de um tipo de projeto ou o tipo de item de projeto, você deve criar um ProgID específico da versão para sua extensão de arquivo. Esses ProgIDs pode ser redundantes em que mais de um ProgID pode iniciar o mesmo aplicativo. Para obter mais informações, consulte Registrando verbos para extensões de nome de arquivo.
Use a seguinte convenção de nomeação para o arquivo versionado ProgIDs para evitar a duplicação com o registro de outros fornecedores:
Extensão de arquivo |
Uma versão ProgID |
---|---|
.Extension |
ProductName. Extension.versionMajor.versionMinor |
Você pode registrar diferentes aplicativos que são capazes de abrir uma extensão específica adicionando ProgIDs versionados como valores de HKEY_CLASSES_ROOT \<extension>\OpenWithProgids chave. Essa chave do registro contém uma lista de ProgIDs alternativo associado com a extensão de arquivo. Os aplicativos associados os ProgIDs listados aparecem na Abrir comNome do produto submenu. Se o mesmo aplicativo é especificado em ambos os OpenWithList e OpenWithProgids chaves, o sistema operacional mescla as duplicatas.
Dica
O OpenWithProgids chave só é suportado no Windows XP.Como outros sistemas operacionais ignorar essa chave, não o use como o único registro de identificadores de arquivo.Use essa chave para proporcionar uma melhor experiência de usuário no Windows XP.
Adicione os ProgIDs desejados como valores do tipo REG_NONE. O código a seguir fornece um exemplo de registro ProgIDs para uma extensão de arquivo (.ext).
HKEY_CLASSES_ROOT\
.ext\
(default)="MyProduct.ext.10.0"
OpenWithProgids
progid REG_NONE (zero-length binary value)
otherprogid REG_NONE (zero-length binary value)
O ProgID especificado como o valor padrão para a extensão de arquivo é o identificador de arquivo padrão. Se você modificar o ProgID de uma extensão de arquivo fornecido com uma versão anterior do Visual Studio ou que possa ser executada por outros aplicativos, em seguida, você deve registrar o OpenWithProgids chave para a sua extensão de arquivo e especifique o ProgID de novo na lista junto com os ProgIDs antigos, você dá suporte. Por exemplo:
HKEY_CLASSES_ROOT\
.vcproj\
(default)="VisualStudio.vcproj.10.0"
OpenWithProgids
vcprojfile //old progid
VisualStudio.vcproj.8.0 //old progid
VisualStudio.vcproj.10.0 //new progid
Se o antigo ProgID tem verbos associados a ele, então esses verbos também aparecerão em Abrir com Nome do produto no menu de atalho.