Управление контекстным меню правой кнопки мыши в оболочке Windows

Я пытался манипулировать своими щелчками правой кнопкой мыши внутри окон, используя реестр. Мне удалось добавить отдельные строки внутри оболочки.

[HKEY_CLASSES_ROOT\Directory\shell\Notepad
[HKEY_CLASSES_ROOT\Directory\shell\notepad\Command]    
@="\"notepad.exe" \"%1\""

Например, запустит блокнот.

Теперь, что я действительно хочу, так это подкаталог внутри контекстного меню.

У кого-нибудь есть идея, где я могу прочитать об этом, или есть идея, как это сделать на самом деле?


person Alex    schedule 06.03.2010    source источник
comment
Я ничего не знаю об этой теме, но кажется, что использование поддерживаемых механизмов для этого лучше, чем копаться в реестре, который может меняться от выпуска к выпуску. Вы пытались написать расширение оболочки?   -  person asveikau    schedule 07.03.2010


Ответы (2)


Чтобы добавить подменю, вам нужно сначала добавить имя меню, например:

[HKEY_CLASSES_ROOT\Directory\shell\Notepad]
"SubCommands"="command1;command2;"
"MUIVerb"="Notepads"
"Position"="-"

Подкоманды - это трюк. каждая команда фактически является ссылкой на другую запись реестра.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\command1]
@="command1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\command1\command]
@="C:\\Windows\\System32\\cmd.exe"





[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\command2]
    @="command2"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\command2\command]
    @="C:\\Windows\\System32\\cmd.exe \K cd %1"

Это даст вам подконтекстное меню при нажатии на каталог. вы можете использовать %1 в команде, чтобы получить имя элемента, по которому щелкнул пользователь. Это работает для каталогов. Должно нормально работать с файлами.

person galusben    schedule 09.10.2013

Попробуйте использовать этот инструмент:

http://www.nirsoft.net/utils/shexview.html

person Mike Ohlsen    schedule 07.10.2010