Написание твиков: контекстное меню.

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,069
Реакции
5,784
Всем привет!

В этой теме можно заказывать разного рода твики для контексного меню,а так же делиться своими.

Что я подразумеваю под твиками?
Если почти буквально-это специальная настройка системы.
Я под этим понимаю исправление неисправностей системы с помощью твиков реестра,разного рода настройки под себя.

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

В общем,кому надо -заказывайте.

А я пока что выложу несколько твиков для старта:))))

1) Запустить командную строку с правами администратора из контексного меню рабочего стола.
Посмотреть вложение cmd_admin.rar

Инструкция: скачать,распаковать,запустить файл "cmd_admin.bat" (для windows vista/7 правой кнопкой мыши-"запустить от имени администратора").
Для win xp/2000/server не применяется.

2)Распаковка файлов и директорий из 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\""

Инструкция:Создайте текстовый документ,скопируйте приведенный выше код и сохраните как reg-файл,запустите его.

3)Добавление пункта "Удалить содержимое папки" в контекстное меню.
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 *.*\""

Инструкция:Создайте текстовый документ,скопируйте приведенный выше код и сохраните как reg-файл,запустите его.

4)Как добавить свою команду в контексное меню (простой вариант)?
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\DesktopBackground\Shell\name]
@="Название команды"
"Icon"="путь к значку иконки"
"Position"="Расположение"

[HKEY_CLASSES_ROOT\DesktopBackground\Shell\name\command]
@="выполняемая команда"

Инструкция:Создайте текстовый документ,скопируйте приведенный выше код ,указав необходимые вам параметры и сохраните как reg-файл,запустите его.
 
Последнее редактирование:
Как добавить пункт меню «Закрепить на Начальном экране» в контекстное меню всех файлов в Windows 8

Код:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\pintostartscreen]
"MUIVerb"="@shell32.dll,-51201"
"NeverDefault"=""
"Description"="@shell32.dll,-51202"
"MultiSelectModel"="Single"

[HKEY_CLASSES_ROOT\*\shell\pintostartscreen\command]
"DelegateExecute"="{470C0EBD-5D73-4d58-9CED-E91E22E23282}"

Инструкция:создайте reg-файл и примените его.


Как добавить пункт «Закрепить в меню Пуск» в контекстное меню папки (при нажатой клавише shift)

Добавить пункт:
Код:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Folder\ShellEx\ContextMenuHandlers\{a2a9545d-a0c2-42b4-9708-a0b2badd77c8}]
Удалить пункт:
Код:
Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\Folder\ShellEx\ContextMenuHandlers\{a2a9545d-a0c2-42b4-9708-a0b2badd77c8}]

Инструкция:создайте reg-файл и примените его.
 
Последнее редактирование:
На какой то сборке, видел фичу в контекстном меню "убрать все ограничения и запустить от имени администратора". Если можно, то его ;)
 
Hotab, это можно.
Варианта 2.

1)Для какой то конкретной софтины
2)Для всех-тут будет припаяна утилитка для снятия ограничений

Какой надо?
 
Hotab, в несколько этапов:

1) Пункт меню папки "Открытие командной строки с правами администратора в нужной папке"

Посмотреть вложение CMDasAdmin.zip

Инструкция:
  1. Загрузите и распакуйте в любое место этот архив.
  2. Щелкните правой кнопкой мыши на файле ElevateCommand.inf, выберите команду Установить и согласитесь на установку.
  3. Сделайте то же самое с файлом CmdHereAsAdmin.inf.
(Взял у Стеркина Вадима)
Безымянный.jpg

Запуск с правами админа соответственно снимет ограничения.

2) Запустить командную строку с правами администратора из контексного меню рабочего стола.
Этот способ есть в начале темы-результат тот же,снятие ограничений и запуск под админом.

3) Стать владельцем папки/файла, получить полные права (пункт контекстного меню)

Код:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\runas]
@="Стать владельцем и задать полный доступ к объекту"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\*\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant администраторы:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant администраторы:F"

[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="Стать владельцем и задать полный доступ к объекту"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant администраторы:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant администраторы:F /t"

Инструкция: сохранить в reg-файл и применить.

Фишка старая,недавно видел у Dragokas .

4) Пункт запустить с правами администратора для какой то конкретной программы

Код:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\runas]
"MUIVerb"="Открыть в Блокноте от имени администратора"
"HasLUAShield"=""
"Icon"="notepad.exe"
;"Position"="Bottom"
"Extended"=""

[HKEY_CLASSES_ROOT\*\shell\runas\command]
;Блокнот
@="notepad.exe %1"
;Notepad++
;@="C:\\Program Files\\Notepad++\\notepad++.exe %1"

"MUIVerb"="Открыть в Блокноте от имени администратора"
Тут можно задать свое имя нужной программы/пункта

"Icon"="notepad.exe" -указываем путь до нужной программы до файла программа.exe и это будет картинкой для пункта

;"Position"="Bottom" -эта строка указывает на расположение команды в меню

[HKEY_CLASSES_ROOT\*\shell\runas\command] -тут в разделе command прописывается путь к программе

@="notepad.exe %1" путь к программе или сама программа,ставим ту, которая нужна.

Инструкция: сохранить в reg-файл и применить.
Взял опять у Стеркина.
Если перечень необходимых программ больше 1,то нужно делать иначе,если надо покажу как.

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

Детально пример описан тут и тут.

Если в каких то моментах возникнут затруднения -пишите ,помогу.

И последнее-если кликнуть правой кнопкой мыши по ярлыку любой программы,то так же будет доступен пункт меню запустить от имени администратора,так же без ограничения функционала программы.
Для вин ХР запускать консоль или программы подобными методами бессмысленно,контроль учетных записей можно сказать отсутствует.

Запрос удовлетворен?
 
Последнее редактирование:
Меню для работы с программой avz и вспомогательными утилитами


Инструкция:скачать архив,распаковать в корень диска С,открыть папку avz4 и запустить reg-файл avz.reg.
В архиве уже вложены все утилиты,в том числе сам avz.

Этот твик применим если вы еще не создавали собственное меню с выпадающим списком,иначе он будет заменен.
 
Последнее редактирование:
Koza Nozdri, ключ не мой. За моим авторством батник.
Но я бы использовал переменную окружения %username% вместо группы "администраторы" для достижения универсальности кода на локализации и оригинале ОС. А также еще добавил бы ключик /C к icacls с целью обхода возможных файловых ошибок.

На счет:
4) Пункт запустить с правами администратора для какой то конкретной программы
Скопировал в .reg, применил. Перезагрузился. Пункта нет. В чем может быть проблема?
Кстати этим пунктом нормально ли открываются файлы с пробелом в пути?
 
Последнее редактирование:
4) Пункт запустить с правами администратора для какой то конкретной программы
Скопировал в .reg, применил. Перезагрузился. Пункта нет. В чем может быть проблема?
Стас,приведи код.
Там много нюансов.
Ну и батник бы выложил)))

Добавлено через 20 минут 8 секунд
А все-понял.
Нажми shift и правой кнопкой по любому файлу.
Тогда пункт появится.
 
Яндекс поиск из контексного меню проводника

Предлагаю любопытный твик:
Поиск по Яндекс/Гугл из контексного меню ...проводника!
Приятно когда я вижу у себя что либо и простым кликом мышки могу найти это в сети.

Безымянный.jpg

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


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

P.S.
Задумка моя,с кодом помогал Dragokas.
 
Последнее редактирование:
А иногда хочется,а не можется.
Например когда смотришь что то от системы и не знаешь что это.
Еще думаю форму для ввода текста прикрутить.
 
Koza Nozdri, примешь заказ на твик?

Контекстное меню для .VBS-файлов:

1) запуск от имени администратора
2) запуск от имени администратора в командной строке

Написал вот такой:
Код:
Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\VBSFile\Shell\runas]
[-HKEY_CLASSES_ROOT\VBSFile\Shell\runas2]

[HKEY_CLASSES_ROOT\VBSFile\Shell\runas]
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\VBSFile\Shell\runas\command]
@=hex(2):22,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,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,57,00,\
  53,00,63,00,72,00,69,00,70,00,74,00,2e,00,65,00,78,00,65,00,22,00,20,00,22,\
  00,25,00,31,00,22,00,20,00,25,00,2a,00,00,00

[HKEY_CLASSES_ROOT\VBSFile\Shell\runas2]
"HasLUAShield"=""
"MUIVerb"="Запуск от имени администратора в командной строке"

[HKEY_CLASSES_ROOT\VBSFile\Shell\runas2\command]
@=hex(2):22,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,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,43,00,\
  53,00,63,00,72,00,69,00,70,00,74,00,2e,00,65,00,78,00,65,00,22,00,20,00,22,\
  00,25,00,31,00,22,00,20,00,25,00,2a,00,00,00

"IsolatedCommand"=hex(2):22,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,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,\
  00,5c,00,43,00,53,00,63,00,72,00,69,00,70,00,74,00,2e,00,65,00,78,00,65,00,\
  22,00,20,00,22,00,25,00,31,00,22,00,20,00,25,00,2a,00,00,00

но с пунктом 2 у меня сложности.
Скрипт запускается с обычными правами.
Подправишь?

Скрипт test.vbs для тестов:
VB.NET / VBA:
WScript.Echo "Hello World"
WScript.Sleep 5000
 

Вложения

  • VBS_runas.zip
    749 байт · Просмотры: 7
Dragokas, нельзя два раз использовать глагол,форсирующий запрос на повышение прав для выполняемой команды.
В данном случае лучший вариант для тебя использовать допсофт либо промежуточный скрипт для повышения уровня привилегии.
С этим помочь?
а ты уверен в том,что согласно пункту 1 у тебя запускается с правами администратора?
 
Последнее редактирование:
Назад
Сверху Снизу