Как сделать, чтобы окно WinRAR закрывалось по Esc
Как сделать, чтобы окно WinRAR закрывалось по Esc
Всем хорош архиватор WinRAR, но есть у него один недостаток. Этот недостаток заключается в том, что главное окно GUI-версии архиватора закрывается только по Alt-F4 или по нажатию на крестик. Очень неудобно, тем более, что архиватор не является программой, которая постоянно должна быть на экране. Отработал задачу - завершил работу. Автора уже просили сделать опциональным закрытие по Esc, но Евгений эту просьбу проигнорировал. Придется нам самим избавляться от этого неудобства.
На руборде Inoz2000 предложил интересное решение с патчем ресурсов. Открываем файл RarLng.dll в программе Resource Hacker, переходим в секцию "Accelerators", там находим группу "LISTACC" и в ней открываем единственный список акселераторов. В список надо добавить строчку "VK_ESCAPE, 110, VIRTKEY", как показано на скриншоте. После этого компилируем ресурсы соответствующей кнопкой, сохраняем изменения в файл. Вот и все, теперь WinRAR будет закрываться по нажатию клавиши Esc.
Добавляем в ресурсы акселератор
Теперь ответы на возможные вопросы. Что вообще это было? Про акселераторы можно почитать на MSDN. С названием клавиши все более-менее понятно, но следует внести ясность, откуда взялось значение 110. Если посмотреть в ресурсах главное меню, то пункт "Выход", отвечающий, собственно, за закрытие главного окна программы, имеет индекс 110. А мы просто добавили для этого пункта клавишу-акселератор Esc.
Индекс пункта меню "Выход"
Почему я использовал Resource Hacker вместо своего неизменного eXeScope? Дело в том, что при редактировании подобных ресурсов, eXeScope ограничивает размер редактируемого текста до исходного. То есть добавить строчку не получится, ее можно только вписать вместо какой-нибудь существующей. Resource Hacker пересобирает ресурсы заново, поэтому таких ограничений в нем нет.
Почему изменения вносились в языковую библиотеку RarLng.dll, а не в основной файл? При использовании локализации, ресурсы из dll имеют приоритет и перекрывают данные из основного файла. Если файл локализации RarLng.dll не используется (отсутствует), то изменения надо будет вносить в ресурсы самого исполняемого файла WinRAR.exe. Впрочем, если одинаково отредактировать оба файла, то ничего плохого тоже не случится.
Просмотров: 4498 | Комментариев: 22
Метки: архиваторы
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
ManHunter
(02.12.2020 в 19:51):
Нет
SubBonosec
(02.12.2020 в 19:50):
Да, насколько я понял, что "Александр Рошал" практически не меняет WinRar по адекватным "заявкам трудящихся", что странно, но почему я не понял... Ведь скрывать окно распаковки в UnRar есть, а в WinRar нетУ.
Тут приведён пример как "патчить код/ресурсы самого" WinRar.exe ?
Тут приведён пример как "патчить код/ресурсы самого" WinRar.exe ?
ManHunter
(02.12.2020 в 19:24):
Или использовать сторонний софт для скрытия окон или патчить код/ресурсы самого архиватора, чтобы окно распаковки вообще не создавалось.
SubBonosec
(02.12.2020 в 19:20):
Добрый ... !
А как сделать, что бы не было на экране видно распаковку файлов, например *.arj и *.cab вместе? Ведь UnRar.exe с *.arj архивами не работает. По ключу -ibck тоже видно, а приоритет Windows-процесса становится Низким...
Спасибо.
А как сделать, что бы не было на экране видно распаковку файлов, например *.arj и *.cab вместе? Ведь UnRar.exe с *.arj архивами не работает. По ключу -ibck тоже видно, а приоритет Windows-процесса становится Низким...
Спасибо.
Александр
(20.05.2019 в 13:25):
Да всё работает... Всё упаковывает/распаковывает... )) Но просто Вы давно её не обновляли. Хоцца поновее. ))
ManHunter
(20.05.2019 в 12:16):
Что же такого космического добавлено в последних версиях WinRAR, что нельзя работать с чуть более старыми сборками? Упаковывает, распаковывает, все свои архиваторные задачи выполняет на 146%
Александр
(19.05.2019 в 13:59):
Вы не сделаете последнюю сборку ВинРАР и не выложите её на Руборд?
Спасибо.
Спасибо.
Бармаглот
(01.02.2019 в 07:33):
Спасибо!
ManHunter
(31.01.2019 в 22:34):
Я старые сборки не храню. На руборде есть самая последняя, новее я ничего не делал.
Бармаглот
(31.01.2019 в 21:56):
ManHunter, можно попросить выложить вас все ваши сборочки WinRAR, что ранее делали, одной ссылкой на удобный для вас файлообменник / облачный сервис? Заранее спасибо!
Дмитрий
(29.11.2018 в 13:14):
Версия 5.1.3.333 тоже нормальная
Дмитрий
(29.11.2018 в 13:01):
Последняя версия Resource Hacker 5.1.6 - глючная, неправильно компилирует, заменяет первую часть в строках VK_***** на 0,
нашел в сети версию 5.0.41 (beta) - работает нормально.
нашел в сети версию 5.0.41 (beta) - работает нормально.
Compiller
(30.08.2016 в 10:00):
Дежавю - делал то же самое ещё до появления Resource Hacker году в 2000 в универе - на notepad от Windows 98 с помощью обрезанного до не могу редактора ресурсов из Borland С.
Там же можно было сделать сохранение по F2 например.
В XP и 2003 правлю файлик c:\WINDOWS\mui\FALLBACK\0419\explorer.exe.mui
Строки номер 595 и 578
Пуск меняю на *
Там же раньше ещё и Tab Sequence менялся - то есть порядок перебора элементов в окне нажатию TAB
Там же можно было сделать сохранение по F2 например.
В XP и 2003 правлю файлик c:\WINDOWS\mui\FALLBACK\0419\explorer.exe.mui
Строки номер 595 и 578
Пуск меняю на *
Там же раньше ещё и Tab Sequence менялся - то есть порядок перебора элементов в окне нажатию TAB
Миха
(30.08.2016 в 08:39):
я WinRAR тоже Resource Hacker(-ом) взламывал, удалял REMINDER DIALOG или менял стиль кнопки "Close" в этом диалоге на BS_AUTORADIOBUTTON
ManHunter
(29.08.2016 в 10:36):
Это неправильное чувство. Руборд в помощь, тема по сборкам WinRar.
Станислав
(29.08.2016 в 07:58):
Такое чувство что в статье не хватает ссылки на архив с уже "доработанным" винраром...
ManHunter
(28.08.2016 в 23:45):
Попробовал на муевом файле, мне Блокнот тоже не поддался.
pawel97
(28.08.2016 в 18:26):
А я к ctrl+w привык, и в огнелисе точно так же вкладка закрывается, или окно, если вкладка единственная. А про акселераторы, к своему стыду, не знал (не программист пока), так что спасибо за инфу.
Про блокнот: Windows\ru-RU\notepad.exe.mui - вот тут есть таблица акселераторов, только подстановка туда похожей строки не приводит к желаемому. ЧЯДНТ?
Про блокнот: Windows\ru-RU\notepad.exe.mui - вот тут есть таблица акселераторов, только подстановка туда похожей строки не приводит к желаемому. ЧЯДНТ?
Vladimir
(28.08.2016 в 15:59):
Вот всегда если пишу что-нибудь для себя, обязательно предусматриваю выход на Esc. Почему другие разрабы этого не делают? Esc ведь гораздо эргономичнее для нажатия, в отличие от Alt+F4.
ManHunter
(28.08.2016 в 13:45):
Не могу, там менюшки не в ресурсах. Да и вообще, AkelPad в качестве замены виндовому Блокноту уже давно рулит.
Never
(28.08.2016 в 13:15):
Бро, а блокнот виндовый так могешь? ))
kaktustv
(28.08.2016 в 09:59):
Ух, как интересно!
Добавить комментарий
Заполните форму для добавления комментария