Di recente ho voluto aggiungere un nuovo menu di comando al menu di scelta rapida per avere la possibilità di eliminare in modo sicuro file e directory utilizzando Sysinternals SDelete . Utilizzando la documentazione MSDN e Regedit ho creato una nuova voce di menu nel mio registro con un sottomenu contenente il mio comando SDelete. L'ho fatto sia per il tipo di file *
che per Directory
per poter eliminare file e directory. Finora tutto ha funzionato bene e il mio nuovo menu ha funzionato per file e cartelle.
Tuttavia, quando in seguito volevo aprire il mio profilo utilizzando la jumplist Explorer nella barra delle applicazioni, mi sono reso conto che invece di aprire il mio esploratore ha invocato il mio comando SDelete sul mio profilo (a quel punto ero contento di aver aggiunto un ritardo di 5 secondi prima che il esecuzione ;-)). Fondamentalmente tutte le voci jumplist di Explorer si sono comportate così.
Ho rintracciato il problema nel mio gestore directory ma ancora non riesco a capire il problema. È possibile riprodurre il problema salvando il seguente codice in un file .reg ed eseguirlo. Ti preghiamo di farlo solo se sai come funzionano i file .reg e puoi annullare manualmente le modifiche!
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\""
Qualcuno può dirmi cosa sto facendo di sbagliato e come posso evitare questo comportamento da jumplist?