Eu tenho vários aplicativos de terceiros que adicionam suas ações ao menu que é ativado clicando com o botão direito do mouse nos arquivos em um Windows Explorer. Estas são ferramentas como o TortoiseSVN.
Geralmente funciona bem, mas alguns aplicativos abrem janelas do Windows Explorer onde esses menus estão ausentes. Por exemplo, iniciar uma janela do Windows Explorer a partir do Cygwin usando explorer . &
ou usando a ação "Explorar arquivos" no Eclipse resulta em tal estado.
Isso é um bug no Vista? Existe alguma coisa que eu possa fazer para fazer o Windows Explorer se comportar de forma consistente?
Clarificação Editar:
Na verdade, após um exame cuidadoso, parece que os ícones do menu diferentes aparecem, dependendo do modo de chamada. Por exemplo. A aplicação "Unlocker" só aparece na versão "spawned", enquanto os ícones Tortoise e DiffMerge aparecem na versão lançada diretamente.
É assim que uma janela "normal" do Windows Explorer deve ficar na minha máquina. Isso foi aberto usando o atalho WinKey-E ou invocado no shell de comando do DOS:
Istoéoqueparece(examinandoomesmoarquivonomesmodiretório)quandoiniciadoapartirdoCygwin:
Esclarecimento Editar 2:
Estou observando as seguintes diferenças ao iniciar o Eclipse e o Cygwin:
- As sobreposições de ícones do TortoiseSVN e TortoiseGIT não aparecem
- Editar com o Notepad ++ não é exibido
- Os menus TortoiseSVN e TortoiseGIT não aparecem
- Os menus do DiffMerge não aparecem
- Os menus de borracha não aparecem
- 7Os menus não são exibidos
- menus Desbloquear fazer aparecer
A meu ver, destas aplicações, apenas o Notepad ++ e o TortoiseSVN foram instalados quando observei este problema, bem como o KDiff3 (mais tarde, desinstalei os menus de contexto do KDiff3 para tentar resolver o problema).
Além disso, pode ser relevante que eu esteja no Vista de 64 bits.
Atualização 3:
Graças à sugestão do Greech, instalei e executei o ShellExView, nas versões de 32 e 64 bits. Como eu estava adivinhando, os dois viram itens de conjuntos diferentes disponíveis.
Aqui estão as capturas de tela do ShellExView de 32 bits e do ShellExView de 64 bits. Eles estão limitados a todas as entradas que não sejam da Microsoft.
(Abra as imagens em novas guias / janelas para ver em tamanho maior)
32 bits:
64bits:
Portanto, o problema se reduz a isso: quando o Windows Explorer é gerado a partir de um aplicativo de 32 bits , ele obtém um conjunto diferente de menus do que quando iniciado de um de 64 bits. Para confirmar isso, iniciei um prompt de comando de 32 bits usando %windir%\SysWoW64\cmd.exe
e iniciei o explorer .
lá dentro. Como esperado, os menus do aplicativo de 32 bits estavam visíveis.
Conclusão
Sim, o problema é que eu estava executando o Eclipse de 32 bits no SO de 64 bits e ele gerava a versão de 32 bits do Windows Explorer que não tinha meus menus TortoiseSVN / TortoiseGIT de 64 bits conectados. A solução é instalar lado a lado as versões do Tortoise de 32 bits, como mencionado na página de downloads do TortoiseSVN :
Note for x64 users: you can install
both the 32 and 64-bit version side by
side. This will enable the TortoiseSVN
features also for 32-bit applications.
Muito obrigado a Arjan por fazer as perguntas certas e ao Greech por sugerir a ferramenta-chave para diagnosticar o problema subjacente. Vou aceitar a resposta de harrymc, já que ela realmente chega mais perto da resposta subjacente, e não acho que haja uma maneira de compartilhar a recompensa, mas quero que vocês saibam que sua ajuda foi crucial.