Как добавить элемент в контекстное меню, когда НЕ выбираете папку или файл? [Дубликат]


8

Как добавить пункт меню в мое контекстное меню, чтобы открыть powershell (или любое другое произвольное приложение), когда я щелкаю правой кнопкой мыши в проводнике Windows?

Я нашел тонны ссылок о том, как добавить пункты меню при этом: (выбор папки; пример ссылки )

щелкнув правой кнопкой мыши по папке

... но не смог найти никаких инструкций о том, как добавить пункты меню при этом: (без выбора папки или файла)

ничего не щелкнув правой кнопкой мыши

Я нашел это и попытался добавить PowerShell HKEY_CLASSES_ROOT\Directory\Background\shell\, (свободно основываясь на инструкциях, которые я нашел и связал выше), но это не сработало для меня.

У меня, кстати, Windows 7. Кроме того, в настоящее время я заинтересован в добавлении только PowerShell, но я бы предпочел общее решение, которое я могу применить, чтобы добавить любую программу в контекстное меню.

Ответы:


5

шаги:

  1. Сохраните этот код в файле с именем powershell.reg:

    Windows Registry Editor Version 5.00
    
    [HKEY_CLASSES_ROOT\Directory\Background\shell\Powershell]
    @="&Powershell"
    
    [HKEY_CLASSES_ROOT\Directory\Background\shell\Powershell\command]
    @="C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe"
    
  2. Если вашей папки Windows нет C:\WINDOWS , измените скрипт соответствующим образом. Убедитесь, что вы используете двойную обратную косую черту.

  3. Дважды щелкните powershell.reg.

  4. Когда вас спросят, уверены ли вы, нажмите Yes.

  5. Нажмите OK.

Это результат:

Скриншот

Это работает, конечно, для любой программы. Просто замените каждое вхождение Powershellи полный путь powershell.exe, например, Windows Calculatorи C:\\WINDOWS\\system32\\calc.exe.


5

Основной процесс такой же, как описал Денис в своем ответе .

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

Иконка контекстного меню

  1. Добавьте запись Icon String Value под HKEY_CLASSES_ROOT\Directory\Background\shell\PowerShellключом.
  2. Укажите путь к значку для элемента.

Положение пункта меню

  1. Добавить Позиция запись Строка Значение под HKEY_CLASSES_ROOT\Directory\Background\shell\Powershellключ.
  2. Укажите, Topчтобы разместить элемент в верхней части меню или Bottomв нижней части меню.

Ниже приведен скрипт реестра процедур, которые я описал выше. Вставьте его в блокнот и сохраните его как powershell.reg (или что-нибудь еще, кроме расширения .reg ). Затем импортируйте его в системный реестр, чтобы добавить пункт меню.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\Powershell]
@="&Powershell"
"Icon"="C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe"
"Position"="Top"

[HKEY_CLASSES_ROOT\Directory\Background\shell\Powershell\command]
@="C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe"

Если вы чувствуете себя достаточно навязчиво и хотите поместить несколько программ в каскадное меню, вы можете следовать инструкциям здесь .


Я пытаюсь сделать то же самое, проблема в том, что на изображении в вопросе выше, путь к файлу показывает, что это «Библиотека», и эти добавления реестра, кажется, работают, только когда в папке нет доступа «Библиотека». ... есть идеи, как заставить библиотеку работать в пути к файлу?
Джейсон Дэйвис

@JasonDavis: Заменить Directoryв HKEY_CLASSES_ROOT\Directory\Backgroundс LibraryFolder( то есть: [HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\Powershell] а [HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\Powershell\command]). В остальном процесс такой же.
Алекс Эссильфи

@AlexEssilfie Отличная находка по Positionстоимости! Я годами редактировал реестр и никогда с ним не сталкивался. Как вы с этим столкнулись, и знаете ли вы какие-либо ресурсы, в которых перечислены все похожие возможные значения для контекстного меню? Был бы очень признателен.
Хашим

3

Воскресив это ради полноты картины, я только что прошел это, переустанавливая свою машину.

[HKEY_CLASSES_ROOT\Directory\shell\powershell\command]
@="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit cd '%1'"

[HKEY_CLASSES_ROOT\Directory\background\shell\powershell\command]
@="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit cd '%v'"

Первый раздел реестра предназначен для щелчка правой кнопкой мыши по папке, а второй раздел реестра соответствует щелчку правой кнопкой мыши при выборе ничего.

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