Форум программистов, компьютерный форум, киберфорум
Наши страницы

Windows

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 1, средняя оценка - 5.00
Kиpилл
Особый статус
Эксперт WindowsВирусоборец
8077 / 1645 / 77
Регистрация: 15.04.2011
Сообщений: 5,394
#1

Контекстное меню: редактируем команды, создаем твики реестра - Windows

02.07.2012, 18:09. Просмотров 60229. Ответов 18

Контекстное меню: редактируем команды
создаем твики реестра


всем привет!

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

рекомендую перед манипуляциями сделать резервную копию реестра.(инструкция)

итак,запускаем редактор реестра

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

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

как удалить пункты контексного меню?

1
Создайте резервную копию файлов реестра для возможности восстановления случайно утраченных данных.

2
Нажмите кнопку «Пуск» для вызова главного меню системы и перейдите в пункт «Выполнить» для запуска утилиты «Редактор реестра».

3
Ведите значение regedit в поле «Открыть» и нажмите кнопку OK для подтверждения выполнения команды.

4
Раскройте ветку HKEY_CLASSES_ROOT\*\shell и выберите папки ненужных приложений.

5
Удалите выбранные папки. Перезагрузка системы или инструмента «Проводник» не требуется.

6
Перейдите в ветку HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers. Обратите внимание на тот факт, что многие приложения записывают не свое очевидное название, а внутренний идентификатор.

7
Определите принадлежность идентификаторов путем копирования имени и поиска в реестре в разделе HKEY_CLASSES_ROOT\CLSID.

8
Выполните отключение выбранного идентификатора путем добавления знака «-» в начале его имени.

Этот алгоритм подходит также и для определения принадлежности идентификатора - проверьте какой из пунктов контекстного меню исчез после добавления знака «-» в начале имени выбранного идентификатора.

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

10
Воспользуйтесь платной утилитой ContextEdit для упрощения и большей наглядности процесса редактирования контекстного меню.

11
Выберите режим редактирования: All Files или regardless of extension в меню в левой части окна программы.

12
Снимите флажки на полях пунктов, подлежащих удалению в окнах Shell Commands и Context Menu Handlers в правой части окна приложения и нажмите кнопку Exit для выхода из программы.


итак ,первый и самый простой пример:

как добавить свою команду в контексное меню?

создаем reg с таким содержанием:
Код
Windows Registry Editor Version 5.00
 
[HKEY_CLASSES_ROOT\DesktopBackground\Shell\name]
@="Название команды"
"Icon"="путь к значку иконки"
"Position"="Расположение"
 
[HKEY_CLASSES_ROOT\DesktopBackground\Shell\name\command]
@="выполняемая команда"
соответственно вместо "Название команды" укажите необходимое Вам название пункта, которое будет отображаться в контекстном меню. Например: "Панель управления"
Вместо выполняемая команда укажите какая команда должна быть запущена при нажатии созданного Вами пункта в контекстном меню. Например: "control"
Вместо путь к значку иконки укажите путь к иконке, отображаемой рядом с Вашим пунктом в контекстном меню.
Вместо Расположение укажите месторасположение Вашего пункта в контекстном меню. Top - вверху, Bottom - внизу.
а можно и наоборот-указать команду с сохранением,а к исполнению-удалить( cmd /c "cd /d %1 && del /s /f /q *.*")

кстати,все твики пишутся по этому принципу так или иначе.
с некоторыми различиями


Добавление в контекстное меню DLL- или OCX-файлов пунктов "Регистрация" и "Отмена регистрации".

приходится работать с ocx-файлами или с dll-файлами, которые требуют регистрации в реестре с помощью Regsvr32.exe, то будет гораздо удобнее внести соответствующую запись в реестр, чем каждый раз использовать командную строку для каждого файла.

Создание пункта "Регистрация" в меню DLL- или OCX-файлов.

1) В ветках реестра HKEY_CLASSES_ROOT\ocxfile\Shell и HKEY_CLASSES_ROOT\dllfile\Shell
2) Создайте раздел Регистрация, а в нем подраздел command
3) В ветках реестра HKEY_CLASSES_ROOT\ocxfile\Shell\Регистрация\command и HKEY_CLASSES_ROOT\dllfile\Shell\Регистрация\command присвойте строковому параметру По умолчанию значение: regsvr32.exe "%1"
Создание пункта "Отмена регистрации" в меню DLL- или OCX-файлов.

1) В ветках реестра HKEY_CLASSES_ROOT\ocxfile\Shell и HKEY_CLASSES_ROOT\dllfile\Shell
2) Создайте раздел Отмена регистрации, а в нем подраздел command
3) В ветках реестра HKEY_CLASSES_ROOT\ocxfile\Shell\Отмена регистрации\command и HKEY_CLASSES_ROOT\dllfile\Shell\Отмена регистрации\command присвойте строковому параметру По умолчанию значение: regsvr32.exe /u "%1"

ну а reg будет выглядеть вот так

Код
Windows Registry Editor Version 5.00
 
[HKEY_CLASSES_ROOT\dllfile\Shell]
 
[HKEY_CLASSES_ROOT\dllfile\Shell\Регистрация]
 
[HKEY_CLASSES_ROOT\dllfile\Shell\Регистрация\command]
@="regsvr32.exe \"%1\""
 
[HKEY_CLASSES_ROOT\dllfile\Shell\Отмена регистрации]
 
[HKEY_CLASSES_ROOT\dllfile\Shell\Отмена регистрации\command]
@="regsvr32.exe /u \"%1\""
 
[HKEY_CLASSES_ROOT\ocxfile\Shell]
 
[HKEY_CLASSES_ROOT\ocxfile\Shell\Регистрация]
 
[HKEY_CLASSES_ROOT\ocxfile\Shell\Регистрация\command]
@="regsvr32.exe \"%1\""


Добавление опций "Выполнить", "Поиск" и "Очистить корзину" в контекстное меню.

добавляем пункт выполнить:
Код
Windows Registry Editor Version 5.00
 
[HKEY_CLASSES_ROOT\Directory\Background\shell\Run]
"Icon"="%SystemRoot%\System32\imageres.dll,-100"
"MUIVerb"="@%SystemRoot%\explorer.exe,-7023"
 
[HKEY_CLASSES_ROOT\Directory\Background\shell\Run\command]
@="%SystemRoot%\system32\rundll32.exe shell32.dll,#61"
пункт поиск
Код
Windows Registry Editor Version 5.00
 
[HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\Search]
@="{2559a1f0-21d7-11d4-bdaf-00c04f60b9f0}"
пункт очистить корзину

Код
Windows Registry Editor Version 5.00
 
[HKEY_CLASSES_ROOT\Directory\Background\shell\Recycle Bin]
"CommandStateHandler"="{c9298eef-69dd-4cdd-b153-bdbc38486781}"
"Description"="@shell32.dll,-31332"
"Icon"="shell32.dll,-254"
"MUIVerb"="@shell32.dll,-10564"
"Position"="Bottom"
 
[HKEY_CLASSES_ROOT\Directory\Background\shell\Recycle Bin\command]
"DelegateExecute"="{48527bb3-e8de-450b-8910-8c4099cb8624}"



Создание меню с ярлыками избранных приложений в контекстном меню рабочего стола.(см.рисунок)

что требуется сначала:
1) Создание каскадных меню в контекстном и добавление ярлыков.
Откройте ветку HKEY_CLASSES_ROOT\DesktopBackground\Shell
Создайте в данной ветке новый раздел. Нажмите правой кнопкой мыши на ключе "Shell" и выберите "Создать → Раздел". (Например, Menu1)
Выберите только что созданный раздел "Menu1" и в правой части окна создайте 4 строковых параметра:
Код
Icon
Position
MUIVerb
SubCommands
Icon - в значении данного параметра следует указать путь к значку меню.
Position - данный параметр определяет позицию каскадного меню в контекстном. По умолчанию это середина контекстного меню, но Вы можете выбрать значения Top (сверху) или Bottom (снизу).
MUIVerb - имя каскадного меню, которое будет отображаться в контекстном меню. Например, "Мои программы", "Браузеры" и т.д.
SubCommands - содержит список команд, разделенных точкой с запятой (. Эти команды будут показаны в каскадном меню. Вы не можете напрямую добавить ярлык приложения. Сначала в этом списке Вам нужно дать команде имя, а после этого зарегистрировать ее согласно инструкции во второй части статьи.
Предположим, что Вы уже создали каскадное меню "плееры", и теперь Вы хотите добавить в него ярлыки "плеер 1" и "плеер фига". В таком случае Вам нужно параметру SubCommands задать значение:
Код
плеер 1;плеер фига
Параметры Icon и Position Вы можете и не создавать,(на усмотрение) а вот MUIVerb и SubCommands — обязательны.
далее часть 2

Добавление функциональности ярлыкам путем их регистрации.

Как только Вы добавите ярлыки программ в каскадное меню, Вам необходимо будет их зарегистрировать следующим образом:

1) Откройте ветку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\Shell
2) Создайте для каждой из команд, указанных ранее в строковом параметре SubCommands, собственный одноименный раздел. В нашем примере мы использовали две команды: плеер 1 и плеер фига, поэтому нам нужно создать два раздела с такими же именами.
3) Выберите созданный раздел и в правой части окна редактора реестра задайте параметру Default (По умолчанию) имя, которые Вы хотите видеть в каскадном меню. Например, введите сюда плеер 1 (для раздела плеер 1) или офигенный плеер (для раздела плеер фига).
4) Если Вы хотите добавить ярлыку иконку, создайте новый строковой параметр с именем Icon и установите его значением путь к EXE файлу приложения или любой другой иконке.
Например, чтобы показать иконку плеер 1, Вы должны задать параметру Icon значение C:\Program Files\плеер 1\плеер 1.exe
5) В каждом из только что созданных разделов создайте новый раздел и назовите его command.
Выберите его и в правой части окна установите значением Default (По умолчанию) путь к EXE-файлу необходимой программы. Например, если ярлык должен открывать плеер 1, то для этого должно быть установлено значение C:\Program Files\плеер 1\плеер 1.exe



удалить пункт "Восстановить прежнюю версию" из контекстного меню Проводника

1)Откройте раздел реестра: HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\
2) Удалите раздел {596AB062-B4D2-4215-9F74-E9109B0A8153}
3) Откройте раздел реестра: HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers\
4) Удалите раздел {596AB062-B4D2-4215-9F74-E9109B0A8153}
5) Закройте все процессы Проводника и запустите его заново или перезайдите в систему.



Распаковка файлов и директорий из CAB-архивов (а так же упаковка в CAB-архивов) из контекстного меню "Отправить"

С папками, в пути к которым есть пробелы и спецсимволы не работает.

Код
Windows Registry Editor Version 5.00
 
[HKEY_CLASSES_ROOT\*\Shell]
 
[HKEY_CLASSES_ROOT\*\Shell\astext]
@="Как текст..."
 
[HKEY_CLASSES_ROOT\*\Shell\astext\command]
@="notepad.exe \"%1\""
 
[HKEY_CLASSES_ROOT\*\Shell\Expand]
@="Распаковать .cab"
 
[HKEY_CLASSES_ROOT\*\Shell\Expand\command]
@="expand -r \"%1\""
 
[HKEY_CLASSES_ROOT\*\Shell\MakeCab]
@="Запаковать в .cab"
 
[HKEY_CLASSES_ROOT\*\Shell\MakeCab\command]
@="makecab /D CompressionType=LZX /D CompressionMemory=21 \"%1\""


Добавление пункта "Удалить содержимое папки" в контекстное меню.

вас не напрягает то,что что бы очистить папку,надо ее открыть,все выделить и только потом произвести удаление?
меня ващееее напрягает!!!
исправляемся:
вариант 1
1)Откройте ветку реестра HKEY_CLASSES_ROOT\Directory\shell
2) Создайте в ней раздел DeleteFolderContent
3) Создайте в нем строковый(String) параметр MUIVerb со строкой Удалить содержимое папки.
4) В разделе DeleteFolderContent создайте подраздел command
5) Измените значение параметра (По умолчанию) раздела command на следующее:
Код
cmd /c "cd /d %1 && del /s /f /q *.*"
и еще вариант:
Код
Windows Registry Editor Version 5.00
 
[HKEY_CLASSES_ROOT\Directory\shell\DeleteFolderContent]
"MUIVerb"="Удалить содержимое папки"
 
[HKEY_CLASSES_ROOT\Directory\shell\DeleteFolderContent\command]
@="cmd /c \"cd /d %1 && del /s /f /q *.*\""
внимание!!!
Если вы выбираете тип файла:
Текстовые файлы, то имя файла в кавычки брать обязательно. (Например: "DeleteFolderContent.reg")
Если вы выбираете тип файла:
Все файлы, то имя файла в кавычки брать не надо.



Добавление пунктов "Копировать в папку" и "Переместить в папку" в контекстное меню.

Код
Windows Registry Editor Version 5.00
 
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\CopyTo]
@="{C2FBB630-2971-11d1-A18C-00C04FD75D13}"
 
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\MoveTo]
@="{C2FBB631-2971-11d1-A18C-00C04FD75D13}"
внимание!!!
Если вы выбираете тип файла:
Текстовые файлы, то имя файла в кавычки брать обязательно. (Например: "DeleteFolderContent.reg")
Если вы выбираете тип файла:
Все файлы, то имя файла в кавычки брать не надо.

вот еще метод:
Откройте ветку реестра HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers

Создайте в ней раздел со следующим именем (включая фигурные скобки):

Для добавления в контекстное меню пункта "Копировать в папку"--{C2FBB630-2971-11D1-A18C-00C04FD75D13}
Для добавления в контекстное меню пункта Переместить в папку---{C2FBB631-2971-11D1-A18C-00C04FD75D13}
тупо добавляем объект clsid в общем.


у кого есть еще твики,касаемые контексного меню-публикуйте,кому не жалко.
С вопросами по реестру и пожеланиями насчет твиков пишите в личку
p.s.
ссылками не мусорить,плиз!
23
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2012, 18:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Контекстное меню: редактируем команды, создаем твики реестра (Windows):

Контекстное меню - Windows
У меня на ворде контекстное меню в Ворд 2010 неправильно работает, когда я нажимаю правую кнопку у меня он появляется на 1 секунду и...

Контекстное меню, пустота - Windows
Всем привет, не первый раз сталкиваюсь с этой проблемой. Не представляю каким образом ее можно решить?

Удобное контекстное меню файлов и папок - Windows
Добрый день. Я при разборе скаченных файлов сортирую их в папки. Стандартными средствами виндовс недобно это делать. Хотелось бы...

Контекстное меню: Архивация с добавлением даты в имя файла - Windows
Здравствуйте. Изучил тему, но не смог найти решение для своей задачи. Задача: создать в контекстном меню команду архивации с...

Как правильно добавить команду в контекстное меню Проводника? - Windows
Всем доброго времени суток! Научился добавлять в контекстное меню проводника через реестр свои пункты меню. Но почему то этот пункт не...

Добавить в контекстное меню Мой компьютер пункт Управление дисками - Windows
Можно ли добавить в контекстное меню значка "Мой компьютер" пункт Управление дисками (которое находится в консоли Управления компьютером)?...

18
Persk
Модератор
Эксперт Windows
7405 / 3134 / 206
Регистрация: 25.10.2010
Сообщений: 12,961
02.07.2012, 19:09 #2
Koza Nozdri, ценная инфа 5+++
2
ScrollLock
киберпаразит
Эксперт Windows
9608 / 2656 / 165
Регистрация: 14.06.2011
Сообщений: 9,268
03.07.2012, 09:16 #3
Контекстное меню "Компьютер"

Добавляем пункт MSCONFIG
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\3]
@="Настройка системы (MSCONFIG)"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\3\command]
@="msconfig.exe /s"

---
Добавляем пункт "Диспетчер устройств"
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\2]
@="Диспетчер устройств"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\2\command]
@=hex(2):25,00,77,00,69,00,6e,00,64,00,69,00,72,00,25,00,5c,\
00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,00,6d,00,63,00,\
2e,00,65,00,78,00,65,00,20,00,2f,00,73,00,20,00,25,00,53,00,79,00,73,00,74,\
00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,\
65,00,6d,00,33,00,32,00,5c,00,64,00,65,00,76,00,6d,00,67,00,6d,00,74,00,2e,\
00,6d,00,73,00,63,00,20,00,2f,00,73,00,00,00

---
Добавляем пункт "Командная строка"
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\22]
@="Командная строка"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\22\command]
@="cmd.exe"

---
Добавляем пункт "Редактор реестра"
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\44]
@="Редактор реестра"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\44\command]
@="Regedit.exe"

---
Добавляем пункт "Службы"
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\5]
@="Службы"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\5\command]
@=hex(2):25,00,77,00,69,00,6e,00,64,00,69,00,72,00,25,00,5c,00,73,00,79,00,73, 00,\
74,00,65,00,6d,00,33,00,32,00,5c,00,6d,00,6d,00,63,00,2e,00,65,00,78,00, 65,00,20,\
00,2f,00,73,00,20,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52, 00,6f,00,6f,00,74,\
00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00, 32,00,5c,00,73,00,65,00,\
72,00,76,00,69,00,63,00,65,00,73,00,2e,00,6d,00,73, 00,63,00,20,00,2f,00,73,00,00,00


Копируем текст нужного твика, вставляем в любой текстовый редактор, сохраняем с расширением .reg Запускаем, соглашаемся, перезагружаемся
---
Проверено на Win7
---
Контекстное меню: редактируем команды, создаем твики реестра
Внимание! Перед манипуляциями с реестром, настоятельно рекомендую сделать точку восстановления системы, либо экспорт редактируемой ветки реестра
13
Kиpилл
Особый статус
Эксперт WindowsВирусоборец
8077 / 1645 / 77
Регистрация: 15.04.2011
Сообщений: 5,394
03.06.2013, 18:09  [ТС] #4
Вот лично меня всегда напрягало то,что нельзя быстро запустить командную строку от имени администратора.
Особенно это было бы удобно из контексного меню рабочего стола.

В архиве два файла,распаковываем оба,запускаем bat файл cmd_admin.bat и все ,готово-теперь из меню рабочего стола можем запускать командную строку от имени админа.
Теперь можем удалить эти файлы,они больше не нужны.
При желании можно прикрутить такую команду к папкам-что бы можно было в папке запускать консоль.
5
Вложения
Тип файла: rar cmd_admin.rar (1.1 Кб, 513 просмотров)
Kиpилл
Особый статус
Эксперт WindowsВирусоборец
8077 / 1645 / 77
Регистрация: 15.04.2011
Сообщений: 5,394
21.07.2013, 17:56  [ТС] #5
Предлагаю любопытный твик:
Поиск по Яндекс/Гугл из контексного меню проводника
Приятно когда я вижу у себя что либо и простым кликом мышки могу найти это в сети.


Инструкция:
просто запустить bat-файл,название файла=пункт соответствующей поисковой системы:

Google and Yandex search.7z


Твик для ОС Windows >Vista/7/8

P.S.
Задумка моя,с кодом помогал Dragokas.


Предыдущие версии
11
vavun
Выскочка
Эксперт Windows
9463 / 4937 / 746
Регистрация: 07.04.2013
Сообщений: 14,459
Записей в блоге: 2
15.09.2015, 04:42 #6
Твик для упрощения процесса анализа дампов памяти *.dmp, заточен под kdfe.cmd (подробнее тут)
С преферансом и куртизанками
Добавляет в контекстное меню файлов *.dmp два варианта запуска скрипта, обычный (Debug), и с ключом -v (Debug Full)
Контекстное меню: редактируем команды, создаем твики реестра
DMP.reg
Код
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.dmp]

# [HKEY_CLASSES_ROOT\.dmp\DefaultIcon]
# @="C:\\Windows\\system32\\imageres.dll,-8"


[HKEY_CLASSES_ROOT\.dmp\shell]
[HKEY_CLASSES_ROOT\.dmp\shell\Debug KDFE full]
"MUIVerb"="Debug Full"
"Icon"="shell32.dll,209"

[HKEY_CLASSES_ROOT\.dmp\shell\Debug KDFE full\command]
@="cmd /c mode con: cols=150 && color F0 && D:\\Path\\To\\kdfe.cmd \"%1\" -v"



[HKEY_CLASSES_ROOT\.dmp\shell\Debug KDFE min]
"MUIVerb"="Debug"
"Icon"="shell32.dll,209"

[HKEY_CLASSES_ROOT\.dmp\shell\Debug KDFE min\command]
@="cmd /c color F0 && D:\\Path\\To\\kdfe.cmd \"%1\""

D:\\Path\\To\\kdfe.cmd меняем на нужное, в соответствии с вашим расположением скрипта.

Автоматически перекрашивает цвет командной строки (белый фон черный текст)
(кому как, а мне так удобнее, часто бывает, что открыто много окон командной строки, а так в них проще не запутаться)

Дополнительно для варианта Debug Full делает окно командной строки шире mode con: cols=150, так как часто некоторые строки не влазят по ширине и переносятся на новую, что не удобно.
Результат
Контекстное меню: редактируем команды, создаем твики реестра

Сам скрипт kdfe.cmd остается без изменений.


UPD Обсуждение
2
vavun
Выскочка
Эксперт Windows
9463 / 4937 / 746
Регистрация: 07.04.2013
Сообщений: 14,459
Записей в блоге: 2
24.10.2015, 12:08 #7
Вот такую штуку использую у себя. Так или иначе часто использую каждый из этих пунктов.
Не смотря на то, что ничего нового тут нет решил "причесать" и выложить, может пригодится кому.

Контекстное меню: редактируем команды, создаем твики реестра

Названия пунктам давал не от балды, а с рассчетом на удобное добавление дополнительных пунктов в нужное место в будущем.
regedit.exe -m для того, чтобы иметь возможность запускать несколько копий редактора реестра одновременно.
Запуск командной строки в том числе и с правами администратора + дополнительная "плюшка" с раскрашиванием оной в зависимости от прав (в самом конце)

Код
Windows Registry Editor Version 5.00

;
;
;
; Контекстное меню компьютера 2.0
;
;
;


; Командная строка (вложенное меню, два пункта)
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\CMD_Menu]
"MUIVerb"="Командная строка"
"SubCommands"="runas;runas_user"
"Icon"="cmd.exe"
; "Position"="Bottom"
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\runas]
@="От имени администратора"
"Icon"="cmd.exe"
"HasLUAShield"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\runas\command]
@="cmd.exe"
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\runas_user]
@="От имени пользователя"
"Icon"="cmd.exe"
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\runas_user\command]
@="cmd.exe"



; Панель управления
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Control panel]
"MUIVerb"="Панель управления"
"Icon"="imageres.dll,22"
"Position"="Bottom"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Control panel\command]
@="control.exe"

; Программы и компоненты
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Z_10_AppWiz]
"MUIVerb"="Программы и компоненты"
"Icon"="%SystemRoot%\\system32\\imageres.dll,82"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Z_10_AppWiz\command]
@="control.exe appwiz.cpl"


; Диспетчер устройств
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Z_20_DeviceProperties]
"MUIVerb"="Диспетчер устройств"
"Icon"="%SystemRoot%\\system32\\DeviceProperties.exe,0"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Z_20_DeviceProperties\command]
@="mmc devmgmt.msc"


; Управление дисками
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Z_30_Disk_mng]
"MUIVerb"="Управление дисками"
"Icon"="%SystemRoot%\\system32\\dmdskres.dll,0"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Z_30_Disk_mng\command]
@="mmc diskmgmt.msc"


; Дополнительные параметры
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Z_40_PropertiesAdvanced]
"MUIVerb"="Дополнительные параметры"
"Icon"="%SystemRoot%\\system32\\SystemPropertiesAdvanced.exe,0"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Z_40_PropertiesAdvanced\command]
@="SystemPropertiesAdvanced.exe"


; Редактор реестра
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Z_50_Regedit]
"MUIVerb"="Редактор реестра"
"Icon"="%SystemRoot%\\regedit.exe,0"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Z_50_Regedit\command]
@="regedit.exe -m"


; Службы
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Z_60_Services]
"MUIVerb"="Службы"
"Icon"="%SystemRoot%\\system32\\filemgmt.dll,0"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Z_60_Services\command]
@="mmc services.msc"


; Редактор групповой политики
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Z_70_Gpedit]
"MUIVerb"="Редактор групповой политики"
"Icon"="%SystemRoot%\\system32\\gpedit.dll,0"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Z_70_Gpedit\command]
@="mmc gpedit.msc"


; Планировщик заданий
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Z_80_Taskschd]
"MUIVerb"="Планировщик заданий"
"Icon"="%SystemRoot%\\system32\\miguiresource.dll,1"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Z_80_Taskschd\command]
@="mmc taskschd.msc /s"


; Просмотр событий
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Z_90_Eventvwr]
"MUIVerb"="Просмотр событий"
"Icon"="%SystemRoot%\\system32\\miguiresource.dll,0"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Z_90_Eventvwr\command]
@="mmc eventvwr.msc /s"


; Цвет командной строки. С ограниченными правами 0A (зеленый текст на черном фоне) с правами администратора 0E (красный текст на черном фоне)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
"AutoRun"="cls && reg query HKEY_USERS\\S-1-5-19\\Environment /v TEMP 2>&1 | findstr /I /C:REG_EXPAND_SZ 2>&1 > NUL && (color 0C) || (color 0A)"
2
vavun
Выскочка
Эксперт Windows
9463 / 4937 / 746
Регистрация: 07.04.2013
Сообщений: 14,459
Записей в блоге: 2
02.01.2016, 04:06 #8
Запуск командной строки из любой папки и с рабочего стола (в том числе и с правам администратора)
Каталог командной строки будет установлен на тот, из которого был произведен запуск.

Будет полезен тем, кого задалбывает каждый раз cd /d D:\Change\This\Directory

Перед применением настоятельно рекомендуется создать точку восстановления.

Контекстное меню: редактируем команды, создаем твики реестра

Код
Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\Directory\Background\shell\cmd]

[HKEY_CLASSES_ROOT\Directory\Background\shell\cmd]
@="Командная строка"
"NoWorkingDirectory"=""
"Icon"="C:\\Windows\\system32\\cmd.exe,-0"

[HKEY_CLASSES_ROOT\Directory\Background\shell\cmd\command]
@="cmd.exe /s /k pushd \"%V\""



[HKEY_CLASSES_ROOT\Directory\Background\shell\runas]
@="Командная строка"
"NoWorkingDirectory"=""
"HasLUAShield"=""
"Icon"="C:\\Windows\\system32\\cmd.exe,-0"


[HKEY_CLASSES_ROOT\Directory\Background\shell\runas\command]
@="cmd.exe /s /k pushd \"%V\""

Не по теме:

Koza Nozdri, без скриптов и ярлыков

2
Kиpилл
Особый статус
Эксперт WindowsВирусоборец
8077 / 1645 / 77
Регистрация: 15.04.2011
Сообщений: 5,394
02.01.2016, 13:59  [ТС] #9
А,кстати,вспомнил почему не использовал этот метод - теперь сделай мне два пункта для чего угодно,что бы под админом запускалось))0

Цитата Сообщение от vavun Посмотреть сообщение
Но мне то не нужно два от админа )
Тогда подпиши в том посту - если кто то решит твикнуть еще меню или будет ставить какую то программу,которая будет создавать в контексном меню пункт,запускающийся таким же методом - то работать будет что то одно,остальное откажет.
И создавать бэкапы или точки отката.
1
Bratan2
0 / 0 / 0
Регистрация: 24.04.2015
Сообщений: 13
18.01.2016, 14:23 #10
Меняем формат Даты, Времени, вводим день недели..., кому как нравится...

Код
Windows Registry Editor Version 5.00
;Дата и Время
[HKEY_CURRENT_USER\Control Panel\International]
"sLongDate"="dd MMMM yyyy 'г.'"
"sShortDate"="dd.MM.yy"
"sTimeFormat"="HH:mm:ss"
"sShortTime"="HH:mm"
Отключаем UAC

Код
Windows Registry Editor Version 5.00
;EnableLUA отвечает за включение = 1 и отключение UAC = 0
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLUA"=dword:00000000
Меняем расположение установки программ по умолчанию, когда не возможно изменить путь при установке.

Код
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]
"ProgramFilesDir"="E:\\D"
0
vavun
Выскочка
Эксперт Windows
9463 / 4937 / 746
Регистрация: 07.04.2013
Сообщений: 14,459
Записей в блоге: 2
13.03.2016, 05:39 #11
Принудительный запуск с обычными правами exe файла требующего прав администратора

Код
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\exefile\shell\RunAsInvoker]
; "Extended"=""
"Icon"="imageres.dll,1"
@="Запуск с пониженными правами"

[HKEY_CLASSES_ROOT\exefile\shell\RunAsInvoker\command]
@="cmd /c set __COMPAT_LAYER=RunAsInvoker & start \"\" \"%1\" %*"
Результат:
Контекстное меню: редактируем команды, создаем твики реестра

Чтобы пункт появлялся только при зажатой клавише Shift раскомментируйте четвертую строку


Если какую то программу нужно запускать с пониженными правами постоянно, то можно использовать такой твик (на примере regedit):
Код
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Windows\\regedit.exe"="RunAsInvoker"
После его применения regedit.exe по умолчанию будет запускаться с правами обычного пользователя. (Указывать нужно полный путь)
При этом возможность запуска с правами администратора сохраняется "ПКМ => Запуск от имени администратора"

Результат:
Контекстное меню: редактируем команды, создаем твики реестра

Щита на значке regedit больше нет
0
vavun
Выскочка
Эксперт Windows
9463 / 4937 / 746
Регистрация: 07.04.2013
Сообщений: 14,459
Записей в блоге: 2
20.03.2016, 21:08 #12
Распаковка *.msi файлов из контекстного меню.

Бывает нужно достать из MSI пакета пару файлов, но не нужно устанавливать пакет, а открывать MSI архиваторами, как правило, бесполезно.
Ничего хорошего не выйдет.

Код
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Msi.Package\shell\Unpack]
"Icon"="msiexec.exe,0"
@="Распаковать"

[HKEY_CLASSES_ROOT\Msi.Package\shell\Unpack\command]
@="msiexec /a \"%1\" /qb targetdir=\"%1_UNP\""
Результат
Контекстное меню: редактируем команды, создаем твики реестра
3
vavun
Выскочка
Эксперт Windows
9463 / 4937 / 746
Регистрация: 07.04.2013
Сообщений: 14,459
Записей в блоге: 2
27.03.2016, 21:17 #13
Распаковка инсталяторов INNO из контекстного меню

По аналогии с предыдущим твиком для *.msi
Тоже проблема с архиваторами, скорее всего открыть установщик архиватором не выйдет.
  • Вариант с программой InnoExtract
    Код
    Windows Registry Editor Version 5.00
    
    [HKEY_CLASSES_ROOT\exefile\shell\InnoExt]
    @="Extract Inno setup file"
    "Icon"="C:\\IconPath\\inno.ico"
    "Extended"=""
    
    [HKEY_CLASSES_ROOT\exefile\shell\InnoExt\command]
    @="cmd /d /v /c \"set \"x=%1\"& set t=!x:.exe=.UNP!& innoextract \"!x!\" -d \"!t!\"\""
  • Вариант с программой Inno Setup Unpacker
    Код
    Windows Registry Editor Version 5.00
    
    [HKEY_CLASSES_ROOT\exefile\shell\InnoUnp]
    "Icon"="C:\\IconPath\\inno.ico"
    @="Unpack Inno setup file"
    "Extended"=""
    
    [HKEY_CLASSES_ROOT\exefile\shell\InnoUnp\command]
    @="cmd /d /v /c set \"x=%1\"& set t=!x:.exe=.UNP!& innounp -x -a -d\"!t!\" -m \"!x!\""
Можно использовать оба твика сразу, они друг другу не мешают

Контекстное меню: редактируем команды, создаем твики реестра

Так как пункт прописывается ко всем *.exe файлам без исключения он скрыт до нажатия ПКМ + Shift, чтобы не мозолил глаза, когда не нужно.

Для работы первого твика потребуется InnoExtract
Для работы второго твика потребуется Inno Setup Unpacker

Скачать и закинуть innounp.exe и/или innoextract.exe в любую директорию из %PATH%, например в C:\windows
Путь к иконке указываете свой или удаляете, будет без иконки

Отдельное спасибо юзеру ComSpec.

В архиве:
innoextract.exe 1.6
innounp.exe 0.45
иконка
0
Вложения
Тип файла: zip Files.zip (622.8 Кб, 16 просмотров)
vavun
Выскочка
Эксперт Windows
9463 / 4937 / 746
Регистрация: 07.04.2013
Сообщений: 14,459
Записей в блоге: 2
30.03.2016, 05:21 #14
Извлечение основного MSI файла из установочного файла InstallShield (распаковка InstallShield)

Проблема все та же, архиваторами так просто не подобраться.
Код
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\exefile\shell\InstSh]
"Icon"="C:\\IconPath\\inno.ico"
@="Unpack InstallShield setup file"
"Extended"=""

[HKEY_CLASSES_ROOT\exefile\shell\InstSh\command]
@="cmd /d /c \"set \"__COMPAT_LAYER=RunAsInvoker\"& start \"\" \"%1\" /s /x /b\"%%CD%%\" /v\" /qn\"\""
Контекстное меню: редактируем команды, создаем твики реестра

Появляется при нажатии ПКМ + Shift

Внимание !
Для извлечения происходит запуск установочного exe файла, (но с определенными параметрами)
Будьте осторожны при попытке распаковать таким образом установочные файлы полученные из сомнительных источников
и убедитесь, что файл действительно является установочным файлом InstallShield
1
vavun
Выскочка
Эксперт Windows
9463 / 4937 / 746
Регистрация: 07.04.2013
Сообщений: 14,459
Записей в блоге: 2
23.09.2017, 17:11 #15
Запрет конкретному .exe файлу выходить в интернет с помощью брандмауэра windows

Добавляет создание и удаление блокирующих правил конкретному exe файлу в контекстное меню всех exe файлов
Появляется при нажатии ПКМ + Shift

Код
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\exefile\shell\Firewall_Allow]
@="Разблокировать доступ в интернет"
"icon"="imageres.dll,101"
"Extended"=""

[HKEY_CLASSES_ROOT\exefile\shell\Firewall_Allow\command]
@="netsh advfirewall firewall delete rule name=\"%1\""

[HKEY_CLASSES_ROOT\exefile\shell\Firewall_Block]
@="Заблокировать доступ в интернет"
"icon"="imageres.dll,100"
"Extended"=""

[HKEY_CLASSES_ROOT\exefile\shell\Firewall_Block\command]
; @="netsh advfirewall firewall add rule name=\"%1\" dir=out action=block program=\"%1\""
@="cmd /d /c \"netsh advfirewall firewall add rule name=\"%1\" dir=in action=block program=\"%1\" & netsh advfirewall firewall add rule name=\"%1\" dir=out action=block program=\"%1\"\""
Контекстное меню: редактируем команды, создаем твики реестра
1
23.09.2017, 17:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2017, 17:11
Привет! Вот еще темы с ответами:

Есть ли список всех веток реестра относящиеся к контекстному меню? - Windows
Есть список всех веток реестра относящиеся к контекстному меню? К примеру FileSeek не могу найти, кроме контекстного меню рабочего...

Как добавить пункты в контекстное меню "Мой компьютер"? - Windows
Как пункты из контекстного меню (которые показаны на скриншоте) перенести в "Мой компьютер"?

Свои команды в выпадающем контекстном меню Проводника - Windows
Доброго времени суток, господа. Ситуация тупиковая... в реестре уже научился создавать свои менюшки, выпадающее меню... а как прикрутить...

Редактирование реестра: добавить пункт в контекстное меню - Windows XP
Добрый день всем! Я пытаюсь добавить свой пункт в контекстное меню в проводнике (ОС windows XP, SP3). Создала такой reg файл ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.