Especificando 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ífica. Os verbos OpenWithList e OpenWithProgids são duas maneiras de especificar manipuladores de arquivos na entrada do registro para a extensão do arquivo.
Verbo OpenWithList
Ao clicar com o botão direito do mouse em um arquivo no Windows Explorer, você verá o comando Abrir. Se mais de um produto estiver associado a uma extensão, você verá um submenu Abrir com.
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 sob essa chave para uma extensão de arquivo aparecem no cabeçalho Programas Recomendados na caixa de diálogo Abrir Com. O exemplo a seguir mostra os aplicativos registrados para abrir a extensão de arquivo .vcproj.
HKEY_CLASSES_ROOT\
.vcproj\
(default)="VisualStudio.vcproj.14.0"
OpenWithList\
devenv.exe
Observação
As chaves que especificam aplicativos são da lista em HKEY_CLASSES_ROOT\Aplicativos.
Ao adicionar uma chave OpenWithList, você declara que seu aplicativo dá suporte a uma extensão de arquivo, mesmo que outro aplicativo assuma a propriedade da extensão. Pode ser uma versão futura do seu aplicativo ou outro aplicativo.
OpenWithProgIDs
ProgIDs (identificadores programáticos) são versões amigáveis de ClassIDs que identificam uma versão de um aplicativo ou objeto COM. Cada objeto co-criável deve ter seu próprio ProgID. Por exemplo, VisualStudio.DTE.7.1 inicia o Visual Studio .NET 2003, enquanto VisualStudio.DTE.10.0 inicia o Visual Studio. Como proprietário de um tipo de projeto ou tipo de item de projeto, você deve criar um ProgID específico da versão para sua extensão de arquivo. Esses ProgIDs podem ser redundantes, pois mais de um ProgID pode iniciar o mesmo aplicativo. Para obter mais informações, consulte Registrar verbos para extensões de nome de arquivo.
Use a seguinte convenção de nomenclatura para ProgIDs de arquivo com controle de versão para evitar a duplicação com o registro de outros fornecedores:
Extensão de arquivo | ProgID com controle de versão |
---|---|
.extension | ProductName. extension.versionMajor.versionMinor |
Você pode registrar diferentes aplicativos que podem abrir uma extensão de arquivo específica adicionando ProgIDs com controle de versão como valores à chave HKEY_CLASSES_ROOT\<extension>\OpenWithProgids. Essa chave do registro contém uma lista de ProgIDs alternativos associados à extensão do arquivo. Os aplicativos associados aos ProgIDs listados aparecem no submenu Abrir ComNome do produto. Se o mesmo aplicativo for especificado nas chaves OpenWithList
e OpenWithProgids
, o sistema operacional mesclará as duplicatas.
Observação
A chave OpenWithProgids
só tem suporte no Windows XP. Como outros sistemas operacionais ignoram essa chave, não a use como o único registro para manipuladores de arquivos. Use essa chave para fornecer uma melhor experiência do 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 de ProgIDs para uma extensão de arquivo (.ext).
HKEY_CLASSES_ROOT\
.ext\
(default)="MyProduct.ext.14.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 manipulador de arquivos padrão. Se você modificar o ProgID para uma extensão de arquivo fornecida com uma versão anterior do Visual Studio ou que pode ser assumida por outros aplicativos, deverá registrar a chave OpenWithProgids
para sua extensão de arquivo e especificar o novo ProgID na lista junto com os ProgIDs antigos aos quais você dá suporte. Por exemplo:
HKEY_CLASSES_ROOT\
.vcproj\
(default)="VisualStudio.vcproj.14.0"
OpenWithProgids
vcprojfile //old progid
VisualStudio.vcproj.12.0 //old progid
VisualStudio.vcproj.14.0 //new progid
Se o ProgID antigo tiver verbos associados a ele, esses verbos também aparecerão em Abrir Com Nome do Produto no menu de atalho.