Как создать группу контекстного меню по нажатии Shift

Dragokas

Angry & Scary Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
7,813
Реакции
6,592
- которая появляется только по комбинации клавиш "Shift + правый клик мышью"
- для определенного расширения имени файла.

__________________________
Инфа для себя:
? > как отключить пункт контекстного меню, не удаляя запись из реестра:
--> добавить пустой параметр типа RegSZ с именем LegacyDisable.
Источник: http://www.howtogeek.com/howto/windows-vista/how-to-clean-up-your-messy-windows-context-menu/
 
Последнее редактирование:
Dragokas, давай по порядку.
Что бы добавить разного рода пункты.
Для удобства возьмем HKCR так как он более удобен для редакции и имеет приоритет при обработке системой,при этом преобладая над глобальными настройками в пользу пользовательских.

Что бы пункт открывался при нажатии клавиши shift требуется всего лишь добавить параметр reg_sz с именем Extended.
2.jpg



И тогда уже получим результат:
Безымянный.jpg



Что бы добавить к определенному типу файлов (а это удобно когда особенности задумки вынуждают создать например собственное расширение)
соответственно к глаголу shell добавляем параметр reg_sz с именем Extended.
например
progid HKEY_CLASSES_ROOT\.bat = batfile
a chell для batfile
HKEY_CLASSES_ROOT\batfile\shell = (см.картинку)
3.jpg


Соответственно я имею и аналогичные пункты:

upload_2013-12-16_21-3-18.png




Вообще глаголы ,а особенно schell довольно уникальная штука,все никак не соберусь написать про это.
Как и про остальное...

Тут есть момент:
Например мы сделали какую то штуку интересную,но пункт нужен именно для нее (по клавише shift ) или вообще персональная обработка.
А штука имеет стандартное расширение типа vbs.
Тогда делаем тупо новое расширение,присваеваем его нашей штуке и вот оно,долгожданное и неповторимое)
 
Например мы сделали какую то штуку интересную,но пункт нужен именно для нее (по клавише shift ) или вообще персональная обработка.
А штука имеет стандартное расширение типа vbs.
Тогда делаем тупо новое расширение, присваиваем его нашей штуке и вот оно,долгожданное и неповторимое)
1) Ты имеешь в виду, что пункт будет привязан к конкретному файлу не по расширению имени, а по некоему идентификатору?
2) Что скажешь на счет присвоения иконки?
 
1)Да,к каждому расширению имеется идентификатор-отсюда вывод.
2)Иконка это просто- параметр reg_sz с именем icon с указнием файла иконки с полным путем либо reg_expand с указанием файла для извлечения iso образа из файла.
например
reg_expand = %systemroot%\cmd.exe
 
А вот такие символы & не встречал?
Что они означают?

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\git_shell
@="Git Ba&sh Here"

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\git_gui
@="Git &GUI Here"
 
Dragokas, по моему в разных случаях разное.
В твоем случае возможно сокращение имени,либо как значение - и - значение
GUI Here,Git,git_gui,git_shell - значения какие?
 
GUI Here,Git,git_gui,git_shell - значения какие?
Уже снес с виртуалки. А разве это важно?

Я только один раз видел подобное:
& используется при создании системных меню, как идентификатор того, что следующая за ним буква
при одновременном зажатии ALT + этой буквы спровоцирует вызов этого меню.

Попробуй открыть любую программу со строкой меню (Файл, Вид ...).
При зажатии ALT ты увидишь, что некоторые буквы подчеркиваются.
Программная реализация увиденного тобой как раз состоит из указания знака & перед этими буквами.
 
Если хочешь попрактиковаться, качай GIT: http://git-scm.com/download/win
При установке выбираешь: registry based context menu.
Кстати, если выбрать plugin based context menu,
тогда список пунктов git для контекстного меню рабочего стола будет динамически формироваться
на основании того, есть ли на рабочем столе папка .git. Я не смотрел (возможно, служба используется).
 
Назад
Сверху Снизу