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

Тема в разделе "Реестр Microsoft Windows", создана пользователем Dragokas, 16 дек 2013.

  1. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.478
    Симпатии:
    4.307
    - которая появляется только по комбинации клавиш "Shift + правый клик мышью"
    - для определенного расширения имени файла.

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

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.216
    Симпатии:
    4.978
    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 и orderman нравится это.
  3. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.478
    Симпатии:
    4.307
    1) Ты имеешь в виду, что пункт будет привязан к конкретному файлу не по расширению имени, а по некоему идентификатору?
    2) Что скажешь на счет присвоения иконки?
     
  4. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.216
    Симпатии:
    4.978
    1)Да,к каждому расширению имеется идентификатор-отсюда вывод.
    2)Иконка это просто- параметр reg_sz с именем icon с указнием файла иконки с полным путем либо reg_expand с указанием файла для извлечения iso образа из файла.
    например
    reg_expand = %systemroot%\cmd.exe
     
    Dragokas нравится это.
  5. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.478
    Симпатии:
    4.307
    А вот такие символы & не встречал?
    Что они означают?

    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"
     
  6. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.216
    Симпатии:
    4.978
    Dragokas, по моему в разных случаях разное.
    В твоем случае возможно сокращение имени,либо как значение - и - значение
    GUI Here,Git,git_gui,git_shell - значения какие?
     
  7. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.478
    Симпатии:
    4.307
    Уже снес с виртуалки. А разве это важно?

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

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

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.216
    Симпатии:
    4.978
    Так то для анализа посмотреть можно было.
    Не только для этого.
    Например в мультистроковых значениях это просто знак.
     
  9. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

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

Поделиться этой страницей