Recentemente eu quis adicionar um novo menu de comando ao meu menu do botão direito para ter a possibilidade de excluir arquivos e diretórios com segurança usando Sysinternals. sdelete.aspx "> SDelete .
Usando a
documentação do MSDN e < a href="https://en.wikipedia.org/wiki/Windows_Registry#Editing"> Regedit Eu criei um novo item de menu no meu registro com um submenu contendo o meu comando SDelete.
Eu fiz isso para o tipo de arquivo
*
, bem como para
Directory
para poder excluir arquivos e diretórios. Até agora, tudo funcionou bem e meu novo menu funcionou para arquivos e pastas.
No entanto, quando mais tarde eu quis abrir meu perfil usando o Explorer jumplist na barra de tarefas, percebi que em vez de abrir meu explorador ele invocava meu comando SDelete no meu perfil (naquele momento eu estava feliz por ter adicionado 5 segundos atraso antes da execução ;-)). Basicamente, todas as entradas do jumplist do Explorer se comportavam assim.
Eu localizei o problema no meu manipulador de diretórios, mas ainda não consegui descobrir o problema. Você pode reproduzir o problema salvando o seguinte código em um arquivo .reg e executá-lo. Por favor, faça isso apenas se você souber como os arquivos .reg funcionam e pode desfazer as alterações manualmente!
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\sysinternals]
"MUIVerb"="Testmenu"
"SubCommands"="mySubCommand"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\mySubCommand]
@="A Command that should do sth."
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\mySubCommand\command]
@="cmd /K \"echo mySubCommand has been invoked\""
Alguém pode me dizer o que estou fazendo de errado e como posso evitar esse comportamento jumplist?