12 / 12 / 0
Регистрация: 23.03.2009
Сообщений: 107
1

Изменение имени определённого пункта контекстного меню Проводника

28.11.2013, 20:53. Показов 12595. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
День добрый. Задумался о такой проблеме:
Требуется изменить надпись "Запуск от имени администратора" в контекстном меню проводника на другую. В идеале ещё нужно изменить значок возле этого пункта.
Порылся в реестре, нашёл там такие значения некоторых параметров, но после изменения их и последующей перезагрузки каких-либо заметных изменений не произошло.

Посоветуйте в какую сторону смотреть.
Заранее благодарю.

P.S. Использую Windows 8.1. Но сомневаюсь, что в этом есть особые отличия от Windows 8 или Windows 7.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.11.2013, 20:53
Ответы с готовыми решениями:

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

Как создать свой пункт контекстного меню Проводника, не имея права на запись в раздел HKEY_CLASSES_ROOT?
Приветствую. Таким образом создается пункт меню для файлов. Записать в этот раздел можно только...

Можно ли задать горячие клавиши для выполнения действия из определённого пункта контекстного меню Проводника?
Вопщем весь вопрос в шапке

Редактирование контекстного меню Проводника
как удалить выделенные строки меню не удаляя сами программы

13
674 / 420 / 44
Регистрация: 09.07.2012
Сообщений: 1,419
29.11.2013, 10:33 2
первые 10 секунд в google
http://mehelper.ru/programs/re... ndows.html
http://uznaytut48.ru/windows/k... ndows.html
0
12 / 12 / 0
Регистрация: 23.03.2009
Сообщений: 107
02.12.2013, 05:04  [ТС] 3
Цитата Сообщение от Dywar Посмотреть сообщение
Я потестировал предложенные вами решения, но к сожалению, они не подошли:
1 ссылка: Программа хороша, спору нет, но я не обнаружил, где в ней можно изменить именно надпись "Запуск от имени администратора".
2 ссылка: Предложенный способ позволяет лишь добавить новые пункты в контекстное меню Windows, а не изменить существующие.

Но даже если предположить, что можно добавить ещё одну надпись с функционалом "Запуск от имени администратора", то я решительно не представляю что нужно прописать в качестве значения строкового параметра (т.е. какую программу вызывать).

Благодарю за участие, но как-то так...
0
250 / 250 / 135
Регистрация: 09.04.2011
Сообщений: 524
02.12.2013, 12:19 4
Лучший ответ Сообщение было отмечено как решение

Решение

Патриарх,
Изменение имени определённого пункта контекстного меню Проводника
3
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 17
21.06.2014, 02:49 5
Здравствуйте, у меня похожая задача, только надо изменить меню не *.exe, а произвольного файла, например, графического. Мне также нужна замена именно НАЗВАНИЯ пункта "открыть с помощью", на что-либо английское (да хоть "open with"), чтобы можно было заюзать подчёркнутый хоткей — соответственно прописать надо будет как-то вроде "open &with".

Подозреваю, что в HKEY_CLASSES_ROOT\* (и не только там) надо создавать какие-то ключи и всякое прописывать. Во всём реестре вообще нет слов "открыть с помощью" (и "открыть с помощь&ю" тем более), поэтому ноль идей, куда рыть, и поскольку в этом мало разбираюсь, лучше не лезть, пока знатоки не подскажут точку рытья.

П.С. поиск в гугле ничего внятного не дал -- только предложения добавления новых пунктов либо сторонние дурацкие проги типа FileMenu да ShellToys...
Да, ещё забыл добавить, у меня, прошу прощения, не 8, а Windows 7, но тоже думаю, что для данного вопроса решения будут идентичными.
0
674 / 420 / 44
Регистрация: 09.07.2012
Сообщений: 1,419
21.06.2014, 08:43 6
Вот, http://www.thewindowsclub.com/... ms-editors
Человек изменил "Open With" на "Share With", с быстрой клавишей доступа.
И реестром, и программами.
0
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 17
24.06.2014, 00:03 7
Dywar, К сожалению, эта статья совершенно не помогла.
То, что Вы увидели на первом рисунке, имеет другое происхождение. Там скриншот контекстного меню не любого файла, а конкретно опять же exe-файла — что видно из пункта "run as administrator", — а у этих файлов в меню нет пункта "открыть с помощью"/"open with" (который можно было бы изменить на что-либо). Так что чел там просто создал (с помощью одной из нижеуказанных прог) новый пункт с именем "S&hare with", вот и всё. (Кроме прочего, в статье даже не указывается как это сделано, и вообще она не соотнесена с рисунком, который, так сказать, просто "serving suggestion").
А дальше опять же идут пресловутые сторонние проги.

Идя далее в поисках инфы, я кое-как уяснил, что контекстное меню — это синтез из довольно разнородных источников, расположенных в реестре (а может и не только в нём). В целом, это сложный модуль, хитро варьируемый COM-объектами (handlers) в зависимости от того, "где нажали" (папка, файл — и тип каждого файла отдельно, библиотека и т.п.). Мало того, даже пункты меню, относящиеся к обработке одной прогой (напр., winzip/winrar) разбросаны в разных ветках. И с лёгкостью отредактировать (а также создать либо удалить) можно далеко не всё (особенно для т.н. зарегистрированных типов файлов). Довольно просто изменить отдельные команды меню для отдельных расширений (и то далеко не все и не для всех), что же до глобальных вещей вроде "открыть с помощью" или даже просто "открыть" — там далеко-о не так просто.

Намертво вшитый пункт "Открыть с помощью", насколько я понял в результате того же усердного поиска, переименовать не получится (кстати, его 2 типа: для известных расширений — раскрывающийся в подпункты, и для неизвестных — "Открыть с помощью...", и то этот второй виден лишь в определённых случаях). Так же обстоит и с пунктами "Создать ярлык", "Удалить", "Переименовать" и т.п. Но кое-что у меня сделать получилось — в этом немного помогла прога ShellMenuView. Хитрость следующая: мы создаём для файлов любого типа (*) пункт меню, "подсмотренный" в разделе реестра для файлов типа "Unknown".

Итак, если у вас русский Windows и вам нужно создать пункт контекстного меню на английском для быстроты работы с hotkey'ем (т.е. всё это для mouse-haters'ов), дублирующий русский "Открыть с помощью".
1. Идём в ветку реестра HKEY_CLASSES_ROOT\*\shell и создаём там новый раздел. Называем его соответственно необходимому нам пункту меню с учётом хоткея, например "Open &With". Создаваемому в нём по умолчанию параметру REG_SZ задаём то же имя (хотя этого можно не делать; но если разделу дать другое имя, то приоритет будет у значения REG_SZ).
2. Уже внутри этого раздела снова создаём раздел с названием "command", и параметру REG_SZ в нём даём значение "C:\Windows\SysWow64\rundll32.exe C:\Windows\system32\shell32.dll,OpenAs_RunDLL" "%1". (У меня Win7 x64, возможно, в других ОС путь к нужному rundll32.exe надо указать другой — тут я не могу помочь, не понимаю в этом.)
3. На этом всё. В контекстном меню любого файла появится пункт "Open With", нажав на который, вы попадаете в диалог "Выбор программы", где стрелками можно быстро выбрать нужное приложение.

Любители и ценители time-saving примочек в Windows быстро убедятся, что этот способ (для файлов, которые приходится открывать разными программами — например, если вы постобработчик графики, и открываете свои jpeg'и да tiff'ы то в фотошопе, то в пайнте, то в ирфане, то в standalone-плагинах в процессе рабочего потока) намного быстрее и удобнее "мышиного".

P.S. Всё это актуально только для тех, у кого русская локализация Windows, но язык ввода по умолчанию выставлен английский. На английских ОС и так будет "родная" горячая клавиша на "open with"; если же у вас русская винда и основной язык - русский, то вы опять же можете использовать без переключения встроенную клавишу "ю" в "открыть с помощью".
0
10579 / 5542 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
24.06.2014, 00:22 8
Цитата Сообщение от falbhanachaich Посмотреть сообщение
переименовать не получится
Вот вам новая пища для размышлений: каждая фраза, слово и предложение в windows 7 для каждого системного файла (если необходимо) хранятся в *.MUI файлах.
Изменение имени определённого пункта контекстного меню Проводника

Это файлы локализации, тоесть русская windows 7 HB отличается от французской windows 7 HB только установленным пакетом локализации, который можно увидеть (среди прочих) введя в командную строку ат имени администратора
Код
DISM.exe /Online /Get-Packages
Хотя в целом польза сомнительная
1
10579 / 5542 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
24.06.2014, 01:01 9
Лучший ответ Сообщение было отмечено vavun как решение

Решение

falbhanachaich, если я верно понял, то вам бы что то типа этого не помешало
Изменение имени определённого пункта контекстного меню Проводника


Аткрыть с помащйю
Код
Windows Registry Editor Version 5.00
 
[HKEY_CLASSES_ROOT\*\shell\Menu1]
"MUIVerb"="Аткрыть с помащйю"
"SubCommands"="photoshop;fl;torrent"
"Icon"="SHELL32.dll,77"
"Position"="Bottom"
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Photoshop]
@="Adobe Photoshop"
"Icon"="C:\\Program Files\\Adobe\\Adobe Photoshop CS5 (64 Bit)\\Photoshop.exe"
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Photoshop\command]
@="C:\\Program Files\\Adobe\\Adobe Photoshop CS5 (64 Bit)\\Photoshop.exe %1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\fl]
@="FL Studio 10"
"Icon"="C:\\Program Files (x86)\\Image-Line\\FL Studio 10\\FL.exe"
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\fl\command]
@="C:\\Program Files (x86)\\Image-Line\\FL Studio 10\\FL.exe %1"


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\torrent]
@="uTorrent"
"Icon"="C:\\Users\\Vavun\\AppData\\Roaming\\uTorrent\\uTorrent.exe"
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\torrent\command]
@="C:\\Users\\Vavun\\AppData\\Roaming\\uTorrent\\uTorrent.exe %1"
0
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 17
24.06.2014, 03:09 10
vavun, да, да, именно что-то типа этого! и именно не помешало бы! )) Не вот чтобы 100%, но именно очень близко типа!
Только после вашего первого совета я успел за полтора часа искорёжить и Windows и мозг! Этот файл проклятый, shell32.dll.mui как-то дьявольски хитро завязан со своим кэшем (который я не могу найти даже через Everything!); я уже его исправлял по-всякому, и права давал, и через этот Restorator 2007 + W7Patcher. Ну, я нашёл все его ипостаси - в C:\Windows\System32\ru-RU и в C:\Windows\winsxs\amd64_microsoft-windows-shell32.resources_31bf3856ad364e35_6.1.7601.17514_ru-ru_00f0e3bd408029dc и в C:\Windows\winsxs\x86_microsoft-windows-shell32.resources_31bf3856ad364e35_6.1.7601.17514_ru-ru_a4d248398822b8a6, ресторатором+патчером изменил все эти файлы (тот ваш пункт 208, который на скриншоте); теперь все файлы точно показывают обновлённое время, но дальше ещё инфернальней... Короче, если я открываю этот файл mui Restorator'ом из папки C:\Windows\System32\ru-RU, то он всё равно показывает старое значение в "208", т.е. "&Открыть с помощью" (причём почему-то с амперсандом на "О"), но если скопировать этот файл в другую, несистемную папку и открыть его ресторатором там, то там он показывает изменённое значение!!! При этом в сумме ничего не помогает -- в контекстном так и осталось "Открыть с помощью".

А ваш последний предложенный вариант, конечно, ахр.. охрененно изящный и я его обязательно изучу и возьму на вооружение, но вот почему это не 100% то: его надо вручную заполнять всем этим кодом и определёнными приложениями, а если их много стоит в системе, то для произвольного файла получится до фига работы, а главное — длиннющее меню; нужно же, чтобы остался функционал именно родного "открытЯ с помощьЯ", чтобы для каждого определённого зарегенного расширения выдавались лишь те приложения, с коими оно (расширение) заассоциировано. Т.е. опять же лучше изменить то самое меню "208" в файле shell32.dll.mui. Вот если вы подскажете, как его изменить так, чтоб он не кэшился из какого-то там своего потаённого логова, будет ващ... вообще замечательно.

Только у меня опять подозрение, что это не совсем тот файл или не совсем тот пункт, и подозрение это от амперсанда не на том месте; в рестораторе я нашёл более правильный пункт:
Изменение имени определённого пункта контекстного меню Проводника

Вот я сейчас с ним поэкспериментирую и поглядим что там будет, и насколько я угрохаю систему... но если я не пойму (или вы не объясните) фокуса, почему после копирования файла в другую папку этот ОДИН И ТОТ ЖЕ по идее файл в рестораторе показывает разное содержание, то и это не прокатит.
0
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 17
24.06.2014, 03:45 11
Да!!! Вот с тем, другим пунктом, всё получилось!
Изменение имени определённого пункта контекстного меню Проводника

Надо было не "208" в разделе "Меню" менять, а пункты с названиями "5376" и "5377" (соотв. строки 196 и 197) в разделе "Строковая таблица". Затем сохранить файлы ресурсов .res в несистемную папку с соотв. путями и пропатчить w7patcher'ом оба файла shell32.dll.mui — и в папке C:\Windows\System32\ru-RU, и в папке C:\Windows\SysWOW64\ru-RU (на всякий случай). И вроде как перезагрузиться (я, блин, так обрадовался, что не запомнил, поменялось ли это до или после ребута).

Vavun, большое спасибо за наводку, куда копать и каким софтом пользоваться, да и код ваш с альтернативным решением тоже пригодится. И, кстати, теперь у нас есть минимум три варианта для твика "суровых" пунктов контекстного меню (включая первый мой вариант с заимствованием пункта "openas" от Unknown-типа файлов, с переходом в диалоговое окно "Выбор программы").
Кстати, ещё вопрос к вам: там у вас в коде для реестра стоит позишн = "bottom", а что ещё можно сделать в плане размещения таких пользовательских меню, какие ещё значения есть? и ещё, например, как насчёт сепаратор поставить? Есть такая возможность?

P.S. Если кому-то будет интересно, опишу полную процедуру замены жосткаго пункта меню через ресторатор+патчер, ибо это не совсем минутное дело.
0
10579 / 5542 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
24.06.2014, 08:21 12
Лучший ответ Сообщение было отмечено vavun как решение

Решение

falbhanachaich, что то вы загнались совсем.

Код
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\OpenWithMy]

[HKEY_CLASSES_ROOT\*\shell\OpenWithMy\command]
@="Shell32.dll,OpenAs_RunDLL\" \"%1\"\""
Значит вот ваше решение, так ?
0
0 / 0 / 0
Регистрация: 29.05.2014
Сообщений: 17
24.06.2014, 15:36 13
vavun, не, это как раз первый вариант, который без подпунктов и сразу идёт в диалог "Выбор программы", просто ваша строка команды короче (я ж сказал, я в этом всём не шарю, заимствовал из типа файлов "Unknown"). "Моим" вариантом я его просто назвал, условно, потому что нигде не встретил этого решения, а вы о чём, в плане загонов?
А последний скриншот — это именно изменение mui-файла, как вы и советовали, только там другой параметр надо было менять. И тут я тоже на авторство не претендую . Короче, я оставил оба варианта с разными хоткеями: один сразу в диалог (если надо нерекомендованную прогу выбрать), другой — стандартный "открыть с помощью" с изменённым именем. Удобно и быстро.
Изменение имени определённого пункта контекстного меню Проводника

И можно ещё ваш тот третий вариант реализовать, с выборочными прогами.

Зато попутно произошёл интересный парадокс. После того как я поковырялся в mui — с правами, доступом, патчером, — у меня пропал один надоевший глюк: уже с полгода значки в трее загружались кое-как, постоянно треть значков не грузилась, причём каждый раз разных не хватало (то демона нет, то keyla, то от аудиодрайвера и т.п.). И теперь грузится всё, а я уж хотел винду сносить...
0
10579 / 5542 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
24.06.2014, 18:47 14
falbhanachaich, http://www.outsidethebox.ms/10891/#_Toc277324967
1
24.06.2014, 18:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.06.2014, 18:47
Помогаю со студенческими работами здесь

Расширение контекстного меню проводника Windows
Все здравия! Появилась необходимость расширить контекстное меню. Нашёл уроки (так как ссылка...

Отправка параметров программе из контекстного меню проводника
Здравствуйте))).Помогите пожалуйста решить один вопрос. Текст программы: #include <iostream> ...

Запуск программы из контекстного меню файлов проводника
Здравсвуйте! Пытаюсь добавить пункт, в контекстное меню файлов проводника, сделав запись в реестр....

Удаление пункта из контекстного меню
Здарова. Стояла прога TuneUp, при нажатии на Корзину(именно на нее) появляется пункт TuneUp...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru