Blog. Just Blog

Как сделать, чтобы окно WinRAR закрывалось по Esc

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Software | Автор: ManHunter
Как сделать, чтобы окно 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 ?
ManHunter (02.12.2020 в 19:24):
Или использовать сторонний софт для скрытия окон или патчить код/ресурсы самого архиватора, чтобы окно распаковки вообще не создавалось.
SubBonosec (02.12.2020 в 19:20):
Добрый ... !
А как сделать, что бы не было на экране видно распаковку файлов, например *.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) - работает нормально.
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
Миха (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 - вот тут есть таблица акселераторов, только подстановка туда похожей строки не приводит к желаемому. ЧЯДНТ?
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):
Ух, как интересно!

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.11 сек. / MySQL: 2 (0.0057 сек.) / Память: 4.5 Mb
Наверх