É possível encontrar facilmente o equivalente do Prompt de Comando de um item de menu de contexto?

3

Por exemplo, o Comodo Internet Security adicionou dois itens ao menu do botão direito, "Scan with Comodo" e "Run in Comodo Container". Eu particularmente não quero que os dois estejam lá entupindo meu menu de contexto; Eu nunca usarei a verificação (prefiro o Kaspersky para verificação de arquivos) e raramente usarei a área de trabalho virtual. O que eu gostaria de fazer é desativá-los via registro (o que eu sei fazer) MAS, em seguida, colocar um item para "Executar no Container Comodo" no meu menu para enviar. Eu já sei como adicionar esses itens criando um atalho contendo argumentos do Prompt de Comando no shell: sendto. No entanto, não consigo descobrir quais devem ser esses argumentos para que sirvam a mesma função que o item original do menu de contexto Comodo.

Alguém sabe se há uma maneira simples de descobrir o cmd equivalente a um item de menu de contexto criado por um aplicativo? Eu gostaria de poder fazer isso para vários itens de aplicativos diferentes, não apenas Comodo. Eu não sei se há uma maneira universal de traduzir essencialmente mumbo-jumbo de registro em código cmd compreensível, mas o Google não apresentou nada. Alguém sabe se isso é possível?

    
por ETL 14.06.2018 / 05:08

1 resposta

2

Isso pode ser complicado, pois há vários lugares e métodos para adicionar um item de menu de contexto.

HKEY_CLASSES_ROOT no Registro contém, entre outras coisas, itens de menu de contexto e registros de extensão do shell. Algumas subchaves dessa colmeia representam os tipos de objetos que você vê no Explorer. Você pode ter que procurar por onde exatamente o seu item de menu está registrado. Chaves particularmente interessantes são:

  • * aplica-se a todos os arquivos
  • Directory se aplica a todos os diretórios ao clicar com o botão direito do mouse em um item de pasta
  • A subchave Background de Directory se aplica a todos os diretórios ao clicar com o botão direito do mouse no plano de fundo da pasta atual
  • exefile aplica-se a aplicativos (arquivos EXE)

Algumas dessas subchaves têm uma subchave shell que contém subchaves para registros específicos do shell. Os registros com uma subchave command representam itens do menu de contexto. No meu sistema, por exemplo, os arquivos AC3 têm um item de menu de contexto "Reproduzir com o media player VLC" que vem deste ramo:

HKEY_CLASSES_ROOT
  Subkey: ac3file
    Subkey: shell
      Subkey: PlayWithVLC
        Default value: Play with VLC media player
        Subkey: command
          Default value: "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" --started-from-file --no-playlist-enqueue "%1"

O valor padrão da subchave command é a linha de comando invocada quando o item é clicado. %1 é substituído pelo arquivo / diretório no qual o item foi usado. Artigo relevante da HowToGeek.

Infelizmente, alguns não têm linha de comando e são executados através de objetos COM. Alguns itens do menu de contexto não possuem entradas de registro distintas e são adicionados dinamicamente por extensões de shell. As extensões de shell relevantes estão na ramificação shellex\ContextMenuHandlers da chave do tipo de arquivo, em vez de shell . Se o clique em tais itens produzir um novo processo, você poderá usar o Process Explorer para veja a linha de comando usada - basta passar o mouse sobre um processo. Caso contrário, pode não ser possível emular o item de menu com a linha de comando.

    
por 15.06.2018 / 01:29