• Администрация SafeZone приветствует вас на нашем форуме!
    Если вы больше не желаете видеть рекламу при просмотре тем и сообщений - то достаточно просто зарегистрироваться. Для зарегистрированных пользователей реклама не отображается.

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

Dragokas

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

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

Кирилл

Команда форума
Администратор
Сообщения
13,050
Симпатии
5,655
#2
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
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,434
Симпатии
5,293
#3
Например мы сделали какую то штуку интересную,но пункт нужен именно для нее (по клавише shift ) или вообще персональная обработка.
А штука имеет стандартное расширение типа vbs.
Тогда делаем тупо новое расширение, присваиваем его нашей штуке и вот оно,долгожданное и неповторимое)
1) Ты имеешь в виду, что пункт будет привязан к конкретному файлу не по расширению имени, а по некоему идентификатору?
2) Что скажешь на счет присвоения иконки?
 

Кирилл

Команда форума
Администратор
Сообщения
13,050
Симпатии
5,655
#4
1)Да,к каждому расширению имеется идентификатор-отсюда вывод.
2)Иконка это просто- параметр reg_sz с именем icon с указнием файла иконки с полным путем либо reg_expand с указанием файла для извлечения iso образа из файла.
например
reg_expand = %systemroot%\cmd.exe
 

Dragokas

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

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"
 

Кирилл

Команда форума
Администратор
Сообщения
13,050
Симпатии
5,655
#6
Dragokas, по моему в разных случаях разное.
В твоем случае возможно сокращение имени,либо как значение - и - значение
GUI Here,Git,git_gui,git_shell - значения какие?
 

Dragokas

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

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

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

Кирилл

Команда форума
Администратор
Сообщения
13,050
Симпатии
5,655
#8
Так то для анализа посмотреть можно было.
Не только для этого.
Например в мультистроковых значениях это просто знак.
 

Dragokas

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