Quais substituições do Windows Explorer têm esse recurso: assume as operações de abertura de pastas?

2

Houve pelo menos alguns tópicos sobre substituições do Explorer, também conhecidos como gerenciadores de arquivos alternativos, aqui no Superusuário. O encadeamento direto deve ser este: link

Mas o que eu gostaria de ter é um subconjunto mais restrito dessas opções disponíveis com o recurso que eu indiquei no título: ou seja, estou interessado apenas em tais substituições do Explorer que se integram ao Windows e não precisam ser aberto ou lançado. Em outras palavras, se eu clicar duas vezes em uma pasta, a pasta seria aberta por essa substituição do Explorer. Isso está em contraste com a quantidade de gerenciadores de arquivos alternativos, que não substituem o Explorer. Fiz algumas pesquisas, e o usuário fluxtendu vinculou a um bom contendo comparações de recursos entre gerenciadores de arquivos, mas infelizmente não menciona o recurso que estou procurando.

Eu já estou ciente da experiência pessoal de um que cumpre este critério: Explorer ++. E eu estava disse por afrazier que o Directory Opus e o explorer2 também fazem isso. Quais outras opções existem?

E, claro, também gostaria de receber recomendações. Eu acho que não fiquei totalmente feliz com o Explorer ++, e é por isso que eu quero experimentar outros.

    
por StormRyder 02.03.2012 / 10:41

1 resposta

5

O problema é que o Windows Explorer também fornece o shell inteiro para o Windows. Portanto, quando você clica nesse ícone de pasta, provavelmente já está usando o Explorer. Apenas inicia outro processo (ou janela).

Você pode querer examinar as substituições de shell.

Atualizar

Ok, deixe-me falar um pouco mais sobre minha compreensão das coisas.

Como todo o sistema funciona

Vamos começar pela minha área de trabalho.
Minha área de trabalho é desenhada pelo shell. O shell é fornecido pelo processo inicial explorer.exe que é executado quando o Windows é iniciado. Se eu tiver uma pasta na minha área de trabalho:

Eupossoclicarduasvezesparaabri-lo:

Isso criou um novo processo explorer.exe , que agora exibe a janela que mostra o conteúdo da minha pasta. Mas há muitos modos pelos quais a mesma janela poderia ter sido aberta.

Então, por que o Windows decidiu usar explorer.exe para exibir essa pasta?
Bem, como eu disse, a área de trabalho já é um processo explorer.exe . Por isso, basta usar ShellExecuteEx() para deixe a casca decidir o que fazer com ela. O shell criará uma nova instância explorer.exe (porque é difícil fazer isso ao meu conhecimento ).

Então, o que você pode fazer, não é usar explorer.exe para fornecer seu shell (como você já parece fazer). Você pode simplesmente fornecer um aplicativo alternativo no registro em:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell

Mas ninguém está parando esse novo shell de chamar ShellExecuteEx() , o que, mais uma vez, invocará o shell padrão e, portanto, explorer.exe !

Então, e agora?

Se você realmente quiser substituir o Windows Explorer, substitua o arquivo explorer.exe . Porque, no final, todo programa poderia ainda tentar executar C:\Windows\explorer.exe diretamente e então você terá o mesmo Explorer antigo novamente.

Mas, por favor, tenha em mente que eu nunca tentei substituir explorer.exe em um sistema, então eu não sei se isso seria possível e / ou estável para usar.

Como o aplicativo XYZ faz isso?

Existem vários aplicativos que simplesmente conectam ao Explorer, como o QTTabBar . Talvez o Explorer ++ funcione da mesma maneira. Desta forma, você não precisa tocar em nada, pois sua modificação é sempre carregada em novos processos explorer.exe . Entrar em detalhes sobre esse processo exigiria uma nova resposta.

E a caixa de diálogo Abrir arquivo?

Este é um novo conjunto de problemas. As caixas de diálogo File Save e File Open são parte do Biblioteca de Diálogos Comum . Tentando substituir esses é difícil imaginar. Quase o mesmo pode ser dito sobre aqueles que eu disse sobre explorer.exe . Mas isso seria muito mais assustador.

    
por 02.03.2012 / 19:54