Cenário
estou a usarJanelas 10, mas tenho o mesmo problema em outras versões do Windows.
Eu adicionei um item personalizado no menu de contexto do Windows. Ele deve ser acessível clicando com o botão direito em uma pasta de diretório ou em um plano de fundo de diretório.
Este script de registro reproduz meu item de menu de contexto personalizado (exceto os subcomandos):
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\PATHS]
"MUIVerb"="PATHS"
"SubCommands"="PATHS.AddDirBackground;PATHS.RemoveDirBackground"
"Icon"="C:\\Program Files\\PATHS\\PATHS.Title.ico"
"Position"="bottom"
[HKEY_CLASSES_ROOT\Directory\Background\shell\PATHS]
"MUIVerb"="PATHS"
"SubCommands"="PATHS.AddDirBackground;PATHS.RemoveDirBackground"
"Icon"="C:\\Program Files\\PATHS\\PATHS.Title.ico"
"Position"="bottom"
Problema
O problema que tenho é que o Windows parece tratar o plano de fundo da área de trabalho da mesma maneira que o plano de fundo do diretório, portanto, meu item de menu de contexto personalizado fica visível quando clico com o botão direito do mouse no plano de fundo da área de trabalho:
Não gosto desse comportamento, porque esse item do menu de contexto não é útil quando acessível no plano de fundo da área de trabalho, apenas aumenta o tamanho do menu de contexto da área de trabalho em geral.
Pergunta
Como eu poderia impedir que meu item do menu de contexto ainda aparecesse no menu de contexto do plano de fundo da área de trabalho?
Observe que é um item simples do menu de contexto adicionado manualmente por meio do registro. Não pretendo retrabalhar a implementação por meio da extensão do shell.
Pesquisar
Neste artigo vi uma metodologia natural ou hack para ocultar ou desabilitar qualquer item do menu de contexto:
No entanto, não tenho certeza de como fazer isso nem se é realmente disso que preciso.
Tentei adicionar um item "fantasma" noPapel de paredechave de registro tentando substituir o item original que tenhoDiretório\Fundochave, mas o item ainda é mostrado quando clico com o botão direito no plano de fundo da área de trabalho:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\DesktopBackground\shell\PATHS]
"MUIVerb"="PATHS"
"LegacyDisable"=""
Ou:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\DesktopBackground\shell\PATHS]
"MUIVerb"="PATHS"
"Extended"=""
Por outro lado, o truque funciona bem para os itens originais armazenados nas chaves de registro mencionadas acima, mas esse truque não funciona para esse item "fantasma" ou "fictício" que é aquele que eu quero esconder. menu contextual.