В контекстных меню рабочего стола и компьютера очень удобно иметь различные программы и инструменты для быстрого доступа. Проблема лишь в том, что по мере добавления новых пунктов в меню, оно разрастается, и ориентироваться в нем становится все труднее.
В этой статье я расскажу, как создать в контекстных меню раскрывающиеся (каскадные) меню, которые будут содержать собственные наборы программ и административных средств.
Каждый пункт меню будет снабжен значком, чтобы можно было легко найти нужное приложение.
На этой странице:
- Обзор
- Регистрация команд в реестре
- Создание раскрывающегося меню и добавление в него пунктов
- Создание раскрывающегося меню с несколькими уровнями вложенности
- Упорядочивание пунктов контекстного меню рабочего стола и компьютера
- Готовые наборы раскрывающихся меню
Обзор
Для работы раскрывающегося меню нужны две составляющих:
- команды, которые выполняются при щелчке по пункту меню
- меню, раскрывающее список пунктов
Сначала я расскажу, как зарегистрировать в реестре собственные команды. По сравнению со способом добавления отдельных пунктов меню, о котором я рассказывал здесь, такой подход имеет два преимущества:
- Единожды зарегистрировав команду, ее можно вызывать из любого меню, если их несколько.
- Управление пунктами меню значительно упрощается.
Следуя простым пошаговым инструкциям, через 10 минут вы создадите собственное раскрывающееся меню, которое показано на рисунке ниже.
В конце статьи вы также найдете готовые наборы раскрывающихся меню.
Регистрация команд в реестре
Сначала мы зарегистрируем команды, которые будут выполняться при щелчке по пункту меню. Откройте редактор реестра и приступим!
- Перейдите в раздел
- В этом разделе создайте подразделы для каждой программы или команды, которую вы хотите видеть в меню. Названия подразделов могут быть любыми, но обязательно латинскими и без пробелов. В моем примере создается три подраздела:
- regedit
- taskmgr
- devmgmt
- В каждом из созданных подразделов дважды щелкните параметр (По умолчанию) и в качестве значения задайте имя ярлыка, которое вы хотите видеть в меню. Например, для подраздела regedit я задал имя Редактор реестра.
- Если вы хотите, чтобы рядом с названием отображался значок, создайте там же строковый параметр Icon и в качестве значения укажите исполняемый файл или библиотеку с номером ресурса. Я указал regedit.exe, чтобы использовать стандартный значок редактора реестра.
- Теперь задайте команду для пункта меню. В каждом разделе, который вы создали на шаге 2, создайте подраздел с именем command. Затем дважды щелкните параметр (По умолчанию) и в качестве значения укажите путь к программе. Например, для редактора реестра я указал regedit.exe (полный путь не нужен, поскольку исполняемый файл находится в системной папке).
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\Shell
В реестре должна получиться такая картина:
Создание раскрывающегося меню и добавление в него пунктов
Теперь нужно в реестре создать меню и добавить в него пункты, которые будут служить для вызова команд.
- В зависимости от того, где вы хотите создать раскрывающееся меню, выберите раздел.
- для меню «Компьютер» перейдите в раздел:
HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell
- для меню рабочего стола перейдите в раздел:
HKEY_CLASSES_ROOT\DesktopBackground\Shell
- для меню «Компьютер» перейдите в раздел:
- Щелкните правой кнопкой мыши по разделу shell и выберите пункт Создать – Новый раздел. Имя для раздела можно выбрать любое, но оно обязательно должно быть латинское. Назовите его, например, Menu1. В этом разделе будут созданы следующие строковые параметры.
- Параметр MUIVerb (обязательно) отвечает за название раскрывающегося меню, поэтому значение можете выбирать любое. Я назвал свое Система.
- Параметр SubCommands (обязательно) содержит список указателей для команд, которые будут выполняться из меню. Названия указателей должны соответствовать названиям подразделов реестра, которые вы создали на шаге 2 в предыдущем разделе статьи. Разделяйте указатели точкой с запятой (;) и перечисляйте их в том порядке, в котором вы хотите видеть пункты в меню. Чтобы вам было проще понять, я приведу свой список:
- Параметр Icon (необязательно) задает значок для раскрывающегося меню. Можно задать путь к библиотеке (dll) и номер ресурса (значка), либо полный путь к исполняемому файлу (если он в системной папке, достаточно указать только имя). Для своего меню «Система» я задал значок imageres.dll,104 (сначала начала имя файла, а через запятую – номер ресурса).
- Параметр Position (необязательно) отвечает за расположение раскрывающегося меню в контекстном меню. Вы можете задать ему значение Top (вверху) или Bottom (внизу). Если значение не задавать, раскрывающееся меню окажется в середине контекстного меню. Я расположил свое меню внизу.
- Параметр Extended (необязательно) отвечает за отображение пункта в меню. Когда параметр присутствует, чтобы увидеть созданный пункт, нужно вызывать контекстное меню, удерживая нажатой клавишей SHIFT. Этому параметру не требуются значения.
regedit;taskmgr;devmgmt
Таким образом, у меня в меню будут редактор реестра, диспетчер задач и диспетчер устройств.
Если вы хотите создать два меню, создайте раздел Menu2 и повторите шаги 3 – 7. Таких меню можно сделать сколько угодно.
Давайте посмотрим, что получилось в реестре.
Кстати, уже все готово! В контекстном меню компьютера появилось раскрывающееся меню «Система» со списком пунктов.
Если вы запутались или у вас что-то не получается, удалите созданные разделы и параметры, а затем импортируйте приведенный ниже REG-файл (он добавляет раскрывающееся меню в контекстное меню компьютера).
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Menu1] "MUIVerb"="Система" "SubCommands"="regedit;taskmgr;devmgr" "Icon"="imageres.dll,104" "Position"="Bottom" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\regedit] @="Редактор реестра" "Icon"="regedit.exe" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\regedit\command] @="regedit.exe" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\taskmgr] @="Диспетчер задач" "Icon"="taskmgr.exe" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\taskmgr\command] @="taskmgr.exe" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\devmgr] @="Диспетчер устройств" "Icon"="devmgr.dll,4" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\devmgr\command] @=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\ 00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,00,6d,00,\ 63,00,2e,00,65,00,78,00,65,00,20,00,2f,00,73,00,20,00,25,00,53,00,79,00,73,\ 00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,\ 74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,65,00,76,00,6d,00,67,00,6d,00,74,\ 00,2e,00,6d,00,73,00,63,00,00,00
Теперь вы можете увидеть, какая структура должна быть в реестре.
Создание раскрывающегося меню с несколькими уровнями вложенности
Выше я продемонстрировал, как создать раскрывающееся меню со списком пунктов. Эти пункты тоже можно сделать раскрывающимися, т.е. возможно создание вложенных меню, как показано на рисунке ниже.
Как видите, в меню есть пункт «Диск», который в свою очередь раскрывает меню с утилитами для обслуживания диска. Он отделен от остальных пунктов разделителем, хотя это не очень хорошо видно на рисунке, поскольку пункт выделен. Дальше я расскажу, как создать такое меню на основе уже изложенного выше материала.
- В разделе реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\Shell
создайте ярлыки для двух новых пунктов (Дефрагментация диска и Очистка диска), следуя инструкциям в разделе статьи «Регистрация команд в реестре». Я назвал подразделы defrag и cleanmgr.
- В том же разделе реестра создайте подраздел disk-menu (название может быть любым). Дальше все будет очень похоже на то, что вы проходили в первом разделе статьи.
- В подразделе disk-menu создайте строковые параметры:
- MUIVerb для названия меню, например, со значением Диск
- Icon для значка меню, например со значением imageres.dll,31
- SubCommands для ярлыков этого меню (в данном случае со значением defrag;cleanmgr)
- Если вы хотите использовать разделитель, создайте параметр REG_DWORD с именем CommandFlags и шестнадцатеричным значением:
- 20 для размещения разделителя над пунктом меню
- 40 для размещения разделителя под пунктом меню
Я задал значение 40, поскольку планирую сделать меню первым пунктом и отделить его от остальных.
В реестре должна получиться такая картина:
Вложенное меню готово, и осталось лишь указать на него ссылку в родительском меню, как было описано в разделе статьи «Создание раскрывающегося меню и добавление в него пунктов». Следуя моему примеру, в разделе
HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Menu1
параметр SubCommands должен принять следующий вид:
disk-menu;regedit;taskmgr;devmgmt
Таким образом, раскрывающееся меню будет содержать вложенное меню disk-menu (Диск) первым пунктом, а также три отдельных пункта: Редактор реестра, Диспетчер задач и Диспетчер устройств.
Если вы запутались или у вас что-то не получается, удалите созданные разделы и параметры, а затем импортируйте приведенный ниже REG-файл.
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Menu1] "MUIVerb"="Система" "SubCommands"="disk-menu;regedit;taskmgr;devmgr" "Icon"="imageres.dll,104" "Position"="Bottom" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\regedit] @="Редактор реестра" "Icon"="regedit.exe" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\regedit\command] @="regedit.exe" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\taskmgr] @="Диспетчер задач" "Icon"="taskmgr.exe" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\taskmgr\command] @="taskmgr.exe" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\devmgr] @="Диспетчер устройств" "Icon"="devmgr.dll,4" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\devmgr\command] @=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\ 00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,00,6d,00,\ 63,00,2e,00,65,00,78,00,65,00,20,00,2f,00,73,00,20,00,25,00,53,00,79,00,73,\ 00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,\ 74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,65,00,76,00,6d,00,67,00,6d,00,74,\ 00,2e,00,6d,00,73,00,63,00,00,00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\cleanmgr] @="Очистка диска" "Icon"="cleanmgr.exe" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\cleanmgr\command] @="cleanmgr.exe" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\defrag] @="Дефрагментация диска" "Icon"="dfrgui.exe" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\defrag\command] @="dfrgui.exe" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\disk-menu] "MUIVerb"="Диск" "Icon"="imageres.dll,31" "CommandFlags"=dword:00000040 "SubCommands"="defrag;cleanmgr"
Более глубокий уровень вложенности достигается аналогичным образом. В параметре SubCommands для вложенного меню указывается ссылка на команду в разделе CommandStore, содержащую параметры следующего уровня вложенности.
Упорядочивание пунктов контекстного меню рабочего стола и компьютера
Если вы добавите в контекстное меню рабочего стола или компьютера несколько отдельных пунктов и/или раскрывающихся меню, то, возможно, у вас возникнет идея расположить их в определенном порядке. Выше я рассказывал, как задать расположение пункта в меню с помощью параметра Position. Но он влияет на позицию вашего пункта относительно стандартных (встроенных) пунктов контекстного меню, т.е. позволяет поместить пункт под ними, над ними или где-то в середине меню. Я также рассказывал, что порядок отдельных пунктов раскрывающегося меню можно задать с помощью параметра SubCommands, перечислив их там в желаемом порядке. Можно сортировать пункты раскрывающихся меню, и я покажу, как это сделать двумя различными способами.
Перечисление пунктов меню в параметре реестра
На примере меню рабочего стола я разберу самый сложный случай сортировки, внизу меню, где помимо своих пунктов играют роль встроенные. В меню рабочего стола у меня созданы три меню (Система, Администрирование и Стандартные программы).
У всех них задано одинаковое расположение внизу контекстного меню с помощью параметра Position.
Примечание. В меню рабочего стола упорядочивание работает только внизу (Position=Bottom) и в середине (Position отсутствует).
Однако мои меню перемежаются со стандартными пунктами (Разрешение экрана, Гаджеты и Персонализация), что не очень удобно. Это происходит потому, что пункты выстраиваются в алфавитном порядке соответствующих им подразделов реестра.
Чтобы изменить порядок меню, нужно прописать его в качестве значения для параметра (По умолчанию) в разделе
HKEY_CLASSES_ROOT\DesktopBackground\Shell
Дважды щелкните параметр (По умолчанию) и введите названия разделов меню в реестре в желаемом порядке через запятую:
Display,Gadgets,Personalize,WinApps,Admin,System
Если вы хотите убрать стандартные пункты из меню, придется удалить соответствующие им разделы, но я не рекомендую этого делать, конечно.
Алфавитный порядок разделов реестра, соответствующих пунктам меню
Описанным выше способом можно изменить порядок отдельных пунктов и раскрывающихся меню в контекстном меню компьютера. С той лишь разницей, что параметр (По умолчанию) изменяется в разделе
HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell
Однако при этом в меню компьютера стандартный пункт Открыть смещается вниз и не выделяется жирным, поскольку нарушается встроенный в систему порядок пунктов меню.
Если вас это не устраивает, просто удалите параметр (По умолчанию). Он будет восстановлен без значения, и пункт Открыть вернется на свое место.
Можно отсортировать пункты иначе, используя алфавитный порядок названий разделов собственных меню. Достаточно начать названия, например, с последней буквы латинского алфавита (z) и цифры, определяющей порядок пункта.
В принципе, этот же способ можно использовать и для сортировки меню рабочего стола.
Готовые наборы раскрывающихся меню
Я подготовил наборы REG-файлов, с помощью которых вы сможете создать любое из трех раскрывающихся меню (или все сразу) в контекстных меню рабочего стола и компьютера. Раскрывающиеся меню имеют один уровень вложенности.
Для управления меню используется оболочка BS Post Installer.
Вы можете:
- создать раскрывающиеся меню в контекстном меню рабочего стола или компьютера
- выбрать, где будет располагаться каждое раскрывающееся меню: вверху, внизу или посередине контекстного меню.
- удалить любое меню, если оно вас чем-то не устроит
Скачать наборы меню (примечание для владельцев 64-разрядных систем)
Я также создал архив с REG-файлами, которые использовались в статье в качестве образцов, включая и дополнительный уровень вложенности.
hb860
Ничего нового для себя не узнал, но статья интересная и качественная.
Спасибо за труд
Vadim Sterkin
hb860, спасибо за отзыв. А я вот узнал новое… например, что описанный в MSDN параметр ExtendedSubCommandsKey для создания вложенных меню не работает :)
михаил
Vadim Sterkin ,если вас не затруднит,объясните как в контекстном меню рабочего стола,папки сделать пункт отображать скрытые файлы и папки и не отображать,если такое конечно возможно.каждый раз лезть в свойства папки для этого муторное дело :)
Vadim Sterkin
михаил, навскидку — записью нужных значений в реестр и перезагрузкой оболочки (при этом все папки будут закрыты). Примерный код CMD-файла:
Надо понимать, в статье я объясняю, только лишь как добавить команды в меню. А вот как реализовать свое желание из командной строки, вы должны придумать самостоятельно. У нас есть форум Скриптовые языки администрирования Windows, обращайтесь туда.
hb860
Вадим, совет с пришибанием Проводника — не комильфо.
Сейчас что-нибудь придумаем.
И отпишемся.
Pozia
hb860,
по моему если прописать твик применив его через inf файл то перезагрузка проводника не нужна
Pozia
Vadim Sterkin, по поводу вопроса от hb860, знаю как сделать в принципе, но не знаю как в одну команду запихнуть? Или можно как то прописать запуск нескольких команд через одну кнопку в контекстном меню?
В частности, нужно просто запустить батник вот такой на показ скрытых файлов:
Reg Add «HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced» /v «Hidden» /t REG_DWORD /d «0x00000001» /f
Reg Add «HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced» /v «SuperHidden» /t REG_DWORD /d «0x00000001» /f
Reg Add «HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced» /v «ShowSuperHidden» /t REG_DWORD /d «0x00000001» /f
Vadim Sterkin
Pozia, ну так сделайте INF-файл и проверьте. Что же касается батника, то если он и отличается от моего, то только тем, что изменения вступят в силу лишь после выхода из системы.
Повторюсь, что вопрос не относится к теме статьи, т.к. я не ставил целью открыть здесь филиал скриптового форума.
KipFun
На x64 не работает почему то, пункты появляются но при наведении менюшки не вываливаются
hb860
Pozia, я тут погуглил и нашел это:
А также сотни вариаций этого скрипта. Но это работает, я проверил
Vadim Sterkin
KipFun, вы не уточнили, но я догадался, что для импорта вы использовали оболочку (BS Post Installer). Она 32-разрядная, поэтому правильно срабатывает только импорт пунктов меню, а сами команды перенаправляются в
А вот если импортировать непосредственно REG-файлы, то все будет работать, потому что редактор реестра 64-разрядный. Это связано с перенаправлением реестра в 64-разрядных системах (см. также эту тему форума). Я не учел этот момент, признаюсь :) В моем распоряжении сейчас нет 64-разрядной системы. Но я проверил сейчас это на системе коллеги, который любезно предоставил доступ к своей виртуалке через TeamViewer (очень удобно :).
Vadim Sterkin
hb860, спасибо (я же сказал, что нужен VBS :).
Ю.А.
Vadim Sterkin, я воспользовался Вашим *.cmd (Спасибо!) в автономном
режиме в таком виде:
———————————
При открытом Проводнике после запуска *cmd достаточно в контексте
кликнуть «Обновить», и «получаеш счастье» :-) без перезапуска самого
Проводника. Но вот как втиснуть эту команду в *cmd перед «exit» — не
знаю. Поиск по Inet-у мой «могучий ум» так и не прочистил!
Прошу помощи!
Vadim Sterkin
Ю.А., см. скрипт hb860. Команда
Укажите полный путь к скрипту, если он не в системной папке.
Ю.А.
Vadim Sterkin, спасибо за ответ.
Но мне нужна возможность запускать *.cmd — файлы с флешки
на любом ПК, и тут затык — при работе этого файла окно проводника
становится не активным и, естественно, команда F5 не срабатывает
ни с *.vbs, ни с *.cmd. Пока обновляю страницу в рукопашную, всё Ok,
но все-таки интересно, можно ли обойти этот нюанс?
Vadim Sterkin
Ю.А., я же говорил
BoaSoft
Я для этого писал специальную утилитку, которая действует аналогично F5. Просто ищется окно проводника и в него посылается сообщение, аналогичное действию F5.
Vadim Sterkin
BoaSoft, и где она? :)
Роман
Всё прекрасно, но от одна беда.. После нескольких перезагрузок у меня исчезают эти пункты меню.
Помогает только повторная установка((
Почему такое может происходить?
Как бороться? Стоит 7 профессиональная х86
Vadim Sterkin
Роман, исчезать пункты меню могут потому, что исчезают параметры из разделов реестра, соответствующих рабочему столу и компьютеру (см. статью). Почему это может происходить, я понятия не имею. Откат какой-нибудь делается сторонними средствами или восстановлением системы к точке.
andrey2003
Подскажите как добавить разделитель в меню рабочего стола.
Чтобы он был под пунктом «Система», пробовал в
HKEY_CLASSES_ROOT\DesktopBackground\Shell\System
создавать параметр REG_DWORD с именем CommandFlags и шестнадцатеричным значением 40, не получилось.
Vadim Sterkin
andrey2003, думаю, что для этого нужно использовать программные методы, а не реестр, который позволяет добавить разделители только во вложенные меню.
VaNnO
подскажите пожалуйста как описанное вами реализовать на win xp? Порылся в нэте, много чего нашел, но вот с рабочим столом так справиться и не могу, в контекстном меню файлов и папок новые команды появляются, а вот в меню рабочего стола нет…
Andrew1996
Vadim Sterkin, Спасибо большое за ваш труд!Ноя хочу у вас попросить чтобы Вы написали все тоже но для Windows XP ! Я решил изменить внешний вид своей ОС и добавляю функционала!Я буду очень признателен вам ,если вы поможете!Заранее спасибо!
Vadim Sterkin
Andrew1996, в ХР возможностей меньше. Следуя статье Как добавить свой пункт в контекстное меню рабочего стола и компьютера, вы добьетесь нужного результата, но без значков в меню.
А вообще, про ХР я уже давно ничего не пишу, я ей 5 лет не пользуюсь, чего и вам желаю :)
Andrew1996
Если честно то я пользовался уже семёркой,но мне она надоела потому что из моих 2 гб ОЗУ она потребляла 400 мб без включенных программ!!!
Поэтому я перешел обратно на XP и все прекрасно!Можете ли вы сделать мне(в виде исключения) раскрывающееся меню Администрирование (2 часа не могу это сделать!)???Буду благодарен если вы поможете мне.
Vadim Sterkin
Andrew1996, 2 Гб достаточно для 7, а кэширование памяти — нормально. Что же касается меню, то раскрывающихся контекстных меню в ХР нет. См. также ссылку в предыдущем ответе.
Kvant
Кстати, в параметре «SubCommands» можно добавить символ «|» — и на этом месте в вашем меню будет находиться разделитель.
Например:
«regedit;|;taskmgr;devmgmt» — после редактора реестра в меню будет разделитель.
Vadim Sterkin
Kvant, спасибо за информацию!
Vitaliy
Помогите (или сдедайте пж.) 2ва .reg файла для windows 7: ( со значками в контекстном меню)
1.Показать/скрыть расширение файлов
2.Показать/скрыть скрытые файлы
Vadim Sterkin
Vitaliy, в статье и в комментариях достаточно информации. По крайней мере для 2го пункта точно.
Об этом запланирована публикация, недели через две :) Так что если сами не можете вникнуть, следите за обновлениями блога!
Виталий
Показать/скрыть расширение файлов как добавить в контекстное меню Windows 7 оной строчкой? сп.
Vadim Sterkin
Виталий, см. https://www.outsidethebox.ms/12452/#_Toc302426005 — там в скрипте надо раскомментировать строки 13, 24 и 30, отвечающие за показ/скрытие расширений. Чтобы раскомментировать, уберите ‘ в начале строки.
Виталий
Vadim Sterkin, извините пж. всё сделал как в там: в скрипте надо раскомментировать строки 13, 24 и 30, отвечающие за показ/скрытие расширений. Чтобы раскомментировать, уберите ‘ в начале строки., но никаких результатов. Может в файле реестра что-то надо добавить?
Не могли бы сделать готовый скрипт и регфайл для: откр/скр расширения и скрытых (сист) файлов?
Vadim Sterkin
Виталий, ну я даже не знаю, что там можно сделать не так…
Это раскомментированный код — переключает скрытые, системные и расширения одновременно. Просто запустите его и посмотрите. Твик реестра тот же.
Это скрипт только для расширений. Твик реестра тот же, просто переименовать название пункта меню нужно.
Анатолий
При открытии контекстого меню. Откерыть с помощью. Выбрать программую.
Ничего не получаеться.
Vadim Sterkin
Анатолий, я ничего не понял. Я не писал про меню «Открыть с помощью», так что если у вас проблема с ним, обратитесь в форум.
Sergey
Как обойти ограничение на общее число элементов каскадного меню (16)? Ни в Вашей статье, ни в статье, которая попалась мне раньше (http://www.askvg.com/add-cascading-menus-for-your-favorite-programs-in-windows-7-desktop-context-menu/) ни слова об этом нет. Но ограничение есть!
Vadim Sterkin
Sergey, сделайте еще один уровень вложенности — в моей статье это описано, в отличие от указанной вами :)
Sergey
У меня два уровня вложенности. Не помогает. Общее число пунктов меню — по прежнему 16. Если это число исчерпывается, например, вторым пунктом на втором уровне вложенности, то третий пункт меню на том же втором уровне просто не раскрывается. Если во второй пункт на втором уровне вложенности добавить несколько элементов меню, так чтобы общее число пунктов (до исходного на первом уровне) превышало 16, то оставшиеся пункты второго пункта на втором уровне просто «отрезаются» — их нет в меню, не раскрываются меню и следующих пунктов. Видимо, где-то в реестре должен быть параметр, вводящий эти ограничения!