Постоянно отображать контекстное меню Windows 7


16

В Windows 7, когда вы удерживаете нажатой клавишу «Shift» при щелчке правой кнопкой мыши в проводнике Windows, в контекстное меню добавляются дополнительные элементы, такие как « Копировать как путь », « Открыть окно командной строки » или другие параметры « Отправить », в зависимости от на элемент, на который вы нажали.

Есть ли способ получить эти дополнения навсегда , не удерживая Shift?

Я надеюсь, что это можно сделать без установки дополнительных расширений оболочки (см. Ниже) - больше думать о взломе реестра или о чем-то ...

Обновить:

Решено для " Открыть командное окно здесь ", но не для " Копировать как путь "!


В моей системе XP я использовал для установки SmartStartMenu только для расширения оболочки, которое поставляется с ним, давая всегда полезные меню « Копировать путь », « Копировать короткий путь », « Запускать с аргументами командной строки » и « Открыть в окне DOS ». элементы, без необходимости удерживать клавишу Shift или любую другую «клавишу-модификатор».


Отличный вопрос Есть ли успехи в «копировании как пути»?
полковник Паник

Извините, нет ... Я привык удерживать Shift для этого: /
Мусио

1
Здравствуй! Вы нашли способ переместить пункты меню ShellEx из или в расширенное меню? Я искал везде, но не могу найти ничего, что будет работать. Хотелось бы скрыть некоторые элементы по умолчанию, когда они доступны в расширенном меню. Я попытался добавить строку «Extended» в реестр (как это делается с обычным меню оболочки), но безуспешно. Отключение легко, но не практично, так как иногда они нужны.
Leugim

Ответы:


5

Похоже, это то, что вы ищете: http://www.techspot.com/guides/210-edit-windows-extended-context-menu/

Это включает в себя использование небольшой программной утилиты «ShellMenuView», которая не требует установки и совместима со «всем от Windows 98 до Windows 7 x64». Вы можете скачать утилиту здесь ( 32-бит | 64-бит ).


2
Большое спасибо! Мне удалось отключить «Расширенный режим» для « Открыть окно команд здесь » с помощью инструмента ShellMenuView, но не повезло с « Копировать как путь ». Связанный инструмент ShellExView отображает « Copy as Path Menu », но я не могу изменить его поведение. Соответствующий CLSID в реестре имеет пустой ключ «ContextMenuOptIn» (REG_SZ), с которым я
поигрался

3
Вы должны абсолютно избегать использования сторонних приложений для того, чтобы делать то, что вы можете делать сами. Есть свободно распространяемые разработчики, которые действительно честны и готовят что-то, чтобы помочь людям, но есть также разработчики-хакеры, которые будут использовать свободно распространяемые троянские / шпионские программы для проникновения на ваш компьютер с целью извлечения данных и кражи личных данных. Проблема в том, что это действительно трудно отличить их друг от друга. Чистый счет здоровья на VirusTotal также не может гарантировать чистый файл, потому что действительно хорошие хакеры также могут загружать свои файлы в VTot и настраивать их до тех пор, пока больше не будет положительных результатов.
thebunnyrules

1
@thebunnyrules По этой логике мы все должны вернуться к использованию ручки и бумаги. Приложения существуют для того, чтобы сделать нашу жизнь проще, вот и вся их цель. Если вы не можете установить какие-либо приложения, то, возможно, вам не стоит использовать компьютер.
RobinJ

1
@RobinJ Во-первых, я думаю, что вы положили мою логику на средневековую стойку, растянули и скрутили ее до неузнаваемости. Я не говорил, что люди не должны устанавливать приложения. Я сказал, что люди не должны полагаться на приложения, написанные случайными незнакомцами с неизвестными намерениями, когда они могут сделать что-то столь же тривиальное, как это сами (см. Мой ответ ниже, вам, вероятно, понадобится столько же времени, чтобы следовать моему учебному пособию, что и скачать бесплатное программное обеспечение). и поиграть с этим).
thebunnyrules

5

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

Все ваши пункты контекстного меню, которые имеют дело с отдельными файлами или до 15 выбранных файлов, можно найти здесь:

HKEY_CLASSES_ROOT\*\shell

Действия, связанные с папкой, делятся на две категории: действия, доступные при щелчке правой кнопкой мыши по фону, и действия при щелчке правой кнопкой мыши по папке. И их можно найти здесь:

HKEY_CLASSES_ROOT\Directory\Background\shell
HKEY_CLASSES_ROOT\Directory\shell

Диски имеют свои собственные ключи здесь:

HKEY_CLASSES_ROOT\Drive\shell

Структура команд контекстного меню будет следующей

HKEY_CLASSES_ROOT\(*,Directory or Drive)\shell\(Command's Main Key)
HKEY_CLASSES_ROOT\(*,Directory or Drive)\shell\(Command's Main Key)\command <=this will store the executed command when when the context menu item related to this key is selected 

Элемент Command в контекстном меню будет иметь то же имя, что и основной ключ, если вы не укажете другое значение, создав строковое значение с именем MUIverb под основным ключом. Например. Вы можете создать строковое значение с именем MUIverb и установить его в качестве нового имени («MUIverb» = «Новое имя»).

Команда, которая будет расположена в расширенном сдвиге, когда она имеет строковое значение с именем Extended под основным ключом. Вы хотите, чтобы он находился в главном контекстном меню оболочки, удалите запись «Расширенное» строковое значение. Вы хотите перенести что-то в расширенное меню, просто поставьте «Расширенное» в его основной ключ. Вы также можете указать значок для пункта меню, поместив другое значение строки в той же клавише. Например: "Icon" = "C: \ Windows \ system32 \ SHELL32.dll, 133" или "Icon" = "C: \ Pictures \ Icons \ SomeRandomIcon.ico".

К сожалению, Microsoft совсем не последовательна. Вы не сможете найти все, что вы ищете в местах, которые я перечислил. Многие вещи находятся в шеллексе (например, скопировать как путь) и работают по другим правилам, чем те, о которых я вам говорил.

В случае копирования в качестве пути, я просто удалил его из контекстного меню и сделал свой собственный, который я прилагаю здесь для вашего удобства. Откройте блокнот и скопируйте содержимое каждого reg-файла, который я выложил здесь. Щелкните правой кнопкой мыши и выберите объединить.

Копировать как путь - удалить версию MS Vanilla из Shift Menu.reg :

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\CopyAsPathMenu]

Скопировать как путь Включить в обычном menu.reg

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Copy as Path]
"Icon"="C:\\Windows\\system32\\SHELL32.dll,133"
[HKEY_CLASSES_ROOT\*\shell\Copy as Path\command]
@="cmd.exe /c echo %1|clip"

[HKEY_CLASSES_ROOT\Directory\shell\Copy as Path]
"Icon"="C:\\Windows\\system32\\SHELL32.dll,133"
[HKEY_CLASSES_ROOT\Directory\shell\Copy as Path\command]
@="cmd.exe /c echo %1|clip"

[HKEY_CLASSES_ROOT\Directory\Background\shell\Copy as Path]
"Icon"="C:\\Windows\\system32\\SHELL32.dll,133"
[HKEY_CLASSES_ROOT\Directory\Background\shell\Copy as Path\command]
@="cmd.exe /c echo %V|clip"

Включить копирование как путь - с кавычками - в shift menu.reg

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Copy as Path (With Quotes)]
"Extended"=""
"Icon"="C:\\Windows\\system32\\SHELL32.dll,133"
[HKEY_CLASSES_ROOT\*\shell\Copy as Path (With Quotes)\command]
@="cmd.exe /c echo \"%1\"|clip"

[HKEY_CLASSES_ROOT\Directory\shell\Copy as Path (With Quotes)]
"Extended"=""
"Icon"="C:\\Windows\\system32\\SHELL32.dll,133"
[HKEY_CLASSES_ROOT\Directory\shell\Copy as Path (With Quotes)\command]
@="cmd.exe /c echo \"%1\"|clip"

[HKEY_CLASSES_ROOT\Directory\Background\shell\Copy as Path (With Quotes)]
"Extended"=""
"Icon"="C:\\Windows\\system32\\SHELL32.dll,133"
[HKEY_CLASSES_ROOT\Directory\Background\shell\Copy as Path (With Quotes)\command]
@="cmd.exe /c echo \"%V\"|clip"

Теперь вы можете возиться с реестром в RegEdit.exe, но это сильно ограниченный инструмент. Я бы порекомендовал вам написать ваши .reg файлы и объединить их по мере необходимости. Это также облегчит повторное применение ваших изменений при установке новых окон. Вы также можете экспортировать изменения, которые вы делаете в RegEdit, экспортируя отдельные ключи в виде файла .reg.


2

К сожалению, это не может быть сделано для «расширения» оболочки CopyAsPathMenu(GUID {f3d06e7c-1e45-4a26-847e-f9fcdee59be0} ), которое поставляется с Windows 7, потому что его QueryContextMenuметод содержит все полезные вещи, обусловленные проверкой CMF_EXTENDEDVERBSфлага ,

Теоретически, вы можете увидеть это, разобрав SHELL32.dll!?QueryContextMenu@CCopyAsPathMenu@@UAGJPAUHMENU__@@IIII@Z, но если вы не знаете, какой лунный язык я использую, вам придется многому научиться, прежде чем вы сможете; некоторые из них могут быть в файле справки средства отладки для Windows ( debugger.chm).


Спасибо, что поделились своими выводами! Я предполагаю, что на этом мы наконец-то можем закончить.
Мусио

0

Есть несколько инструментов, которые предоставляют функцию копирования пути в контекстном меню

Например

  • Path Copy Copy (да, это не опечатка)

    Вы можете копировать различные типы имен, такие как короткое имя, длинное имя, только имя папки, только имя файла ... Вы даже можете создать свой собственный тип пути для копирования с помощью регулярного выражения

    Путь Копировать Копировать

  • Путь Копировать

  • Все виды
  • ClipboardPath
  • ClipboardPath
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.