Aplicativo padrão para um monte de protocolos de URL controlados pelo aplicativo padrão .htm?

5

Eu estava tentando configurar meu computador para abrir URLs FTP e File no IE e tudo o mais relacionado ao navegador (http / https / html etc) no Chrome.

Eu acertei um obstáculo - depois de manipular praticamente todas as chaves do Registro que posso encontrar relacionadas aos aplicativos padrão.

Pelo que eu posso dizer, o aplicativo que está manipulando o tipo de arquivo ".htm" também abre TODOS os outros tipos e protocolos, independentemente das configurações padrão do aplicativo!

Isso é por design? Você não tem permissão para que aplicativos diferentes abram protocolos / tipos de arquivo diferentes? Se sim, qual é o objetivo do sistema de aplicativos padrão?

Alguém pode lançar alguma luz sobre isso?

Edit: Eu acho que deveria ter sido mais específico. Claro que eu sei sobre as configurações padrão do aplicativo no painel de controle. Isso, no entanto, é exatamente o meu ponto. Defina o aplicativo padrão para o FTP / arquivo / qualquer protocolo de URL e ele será substituído pelo aplicativo definido para manipular arquivos "htm" (não html, apenas htm). É também assim que o aplicativo "navegador" padrão está sendo definido pelo Windows. Ele define automaticamente o aplicativo do navegador como o aplicativo htm.

Atualizar

Parece que fui enganado pelo mecanismo que estava testando. Um campo URL / Hyperlink com um botão no Dynamics Ax para ser específico.

Colocando file: // ou caminhos UNC, FTP / HTTP / HTTPS ALL aberto com o aplicativo que lida com htm (ou navegador da web padrão).

Após o teste com o prompt de comando, conforme a sugestão de @ treintje, os diferentes tipos de arquivos e protocolos são abertos com os aplicativos corretos. Eu tenho uma suspeita Dynamics Axe usar uma chamada para urlmon.dll ou algo semelhante em algum nível para "interceptar" todos os protocolos e tipos de arquivos para garantir o navegador da web padrão lida com o link.

    
por Dynde 04.05.2017 / 11:33

3 respostas

1

A seguinte chave de registro parece controlar as associações de URL:

HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations

Cada subchave de UrlAssociations contém uma chave denominada "[protocolname] \ UserChoice". A configuração do registro chamada ProgId parece apontar para uma chave de registro da raiz da classe, como ftp / http / https / etc.

No meu sistema, no qual tenho o Google Chrome instalado, o valor do registro é, por padrão, configurado da seguinte maneira:

[...\UrlAssociations\ftp\UserChoice]
"ProgId"="ChromeHTML"

Para garantir que o Internet Explorer seja iniciado ao executar o seguinte comando:

start "" "ftp://localhost"

O valor do registro ProgId deve ser alterado como tal:

[...\UrlAssociations\ftp\UserChoice]
"ProgId"="ftp"

E o valor padrão da chave de registro ftp \ shell \ open \ command :

[HKEY_CLASSES_ROOT\ftp\shell\open\command]
@="\"C:\Program Files\Internet Explorer\\iexplore.exe\" \"%1\""
    
por 13.05.2017 / 15:25
0

Você pode alterar a associação de protocolos no Painel de controle > Todos os itens do painel de controle > Programas padrão > Definir associações. Para encontrar o registro, vá para este caminho :: Para FTP -

[HKEY_CLASSES_ROOT \ ftp] & [HKEY_CLASSES_ROOT \ PROTOCOLS \ Handler \ ftp]

também há chave de registro HTTP e HTTPs nesse caminho.

    
por 12.05.2017 / 16:22
0

Vá para Configurações > Apps > Apps padrão > Role para baixo e clique em Selecionar padrões por aplicativo

Depois é só encontrar o navegador desejado pela esquerda.

    
por 13.05.2017 / 03:38