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
deDirectory
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.