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

Dragokas

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

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

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,244
Реакции
6,273
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.
Тогда делаем тупо новое расширение,присваеваем его нашей штуке и вот оно,долгожданное и неповторимое)
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,619
Реакции
6,060
Например мы сделали какую то штуку интересную,но пункт нужен именно для нее (по клавише shift ) или вообще персональная обработка.
А штука имеет стандартное расширение типа vbs.
Тогда делаем тупо новое расширение, присваиваем его нашей штуке и вот оно,долгожданное и неповторимое)
1) Ты имеешь в виду, что пункт будет привязан к конкретному файлу не по расширению имени, а по некоему идентификатору?
2) Что скажешь на счет присвоения иконки?
 

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,244
Реакции
6,273
1)Да,к каждому расширению имеется идентификатор-отсюда вывод.
2)Иконка это просто- параметр reg_sz с именем icon с указнием файла иконки с полным путем либо reg_expand с указанием файла для извлечения iso образа из файла.
например
reg_expand = %systemroot%\cmd.exe
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,619
Реакции
6,060
А вот такие символы & не встречал?
Что они означают?

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"
 

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,244
Реакции
6,273
Dragokas, по моему в разных случаях разное.
В твоем случае возможно сокращение имени,либо как значение - и - значение
GUI Here,Git,git_gui,git_shell - значения какие?
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,619
Реакции
6,060
GUI Here,Git,git_gui,git_shell - значения какие?
Уже снес с виртуалки. А разве это важно?

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

Попробуй открыть любую программу со строкой меню (Файл, Вид ...).
При зажатии ALT ты увидишь, что некоторые буквы подчеркиваются.
Программная реализация увиденного тобой как раз состоит из указания знака & перед этими буквами.
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
6,619
Реакции
6,060
Если хочешь попрактиковаться, качай GIT: http://git-scm.com/download/win
При установке выбираешь: registry based context menu.
Кстати, если выбрать plugin based context menu,
тогда список пунктов git для контекстного меню рабочего стола будет динамически формироваться
на основании того, есть ли на рабочем столе папка .git. Я не смотрел (возможно, служба используется).
 
Сверху Снизу