Редактори інтерфейсу, Різне, Програмування, статті

Існує величезна кількість програм для редагування текстів, графіки, відео та аудіо, є безліч інструментів для програмування. А чи є інструментарій для простого редагування інтерфейсу програм без їх декомпіляції? Так, такі програми є. Це eXeScope і Passolo, LingoWare Editor і Visual Localize, Symantec Resource Studio і Borland Resource WorkShop і, звичайно ж, Restorator – дуже популярний інструмент для зміни інтерфейсу будь 32-розрядної програми для Windows.

Restorator

Пропоную розпочати «знайомство з внутрішнім світом програм» саме з Restorator’a, хоча б тому, що на офіційному сайті (www.bome.com / Restorator) є російська shareware версія (термін використання обмежений 30 днями) з перекладеними підказками і допомогою.

Отже, використовуючи Restorator можна:

· Переглянути або витягти ресурси (меню, діалоги, тексти, іконки, курсори, звуки, анімацію, малюнки та інші належні додатком дані, які програміст включив в програму) і за необхідності відредагувати або замінити їх;

· Перевести практично будь-яку програму;

· Змінити «гарячі» клавіші програми;

· Створити patch (латка), який внесе ваші зміни у вихідний файл.

Мабуть, саме завдяки модулю ResPatcher Restorator став настільки популярний на 1/6 частини суші, а в Рунеті з’явилася безліч русифікаторів для різних програм і навіть цілі сайти, присвячені цій темі (Наприклад, rusoft.by.ru, раніше rus.agava.ru). Такі patches малі за розміром і не вимагають для роботи встановленого Restorator’а, тобто їх можна використовувати на будь-якому іншому комп’ютері.

Розминка на «кішечках»

Для розминки я вирішив «пройтися» цією програмою по усіма коханому Провіднику.

Робоча область Restorator складається з трьох частин (рис. 1).


Зліва – Resource Tree, в якому відкритий файл відображається у вигляді дерева ресурсів. Праворуч, вгорі – Resourсe Viewer – відображає обраний в Resource Tree ресурс. Внизу під Resource Viewer – браузер файлів, для навігації по диску і відкриття файлів в Resource Tree простим перетягуванням (drag-and-drop).

Отже, завантаживши explorer.exe з папки Windows в Resourсe Tree, я побачив «повний джентльменський набір» ресурсів. Це і «Bitmap» – точковий малюнок, який можна зробити в bmp або jpg файл, і «AVI» – відео, извлекаемое в однойменний формат, і «Menu» – в даному випадку це випадаюче меню «Пуск».

«Dialog» – діалогові вікна, «String» – текстові повідомлення (наприклад, повідомлення про помилки). «Accelerators» – список зареєстрованих цією програмою гарячих клавіш. «Icon» і «Cursor» – перелік іконок і курсорів, що зберігаються у цій програмі (зверніть увагу, що Restorator дозволяє змінювати колір фону). «RCData» – ресурс, характерний для програм на Delphi, що містить всю інформацію про вікно. «Version» – Інформація про версію та авторські права на даний файл («щоб уникнути непорозумінь» автор Restorator’a забороняє змінювати цю інформацію, але eXeScope, який можна завантажити з http://hp.vector.co.jp/authors/VA003525/Eindex . htm , Позбавлений цих обмежень).

Увага! Небезпека!

Ті, кому набридло бачити кожен день одне й те саме стартове меню Windows, але як і автору статті шкода ресурсів комп’ютера на Windowblinds і нервів на LiteStep і Aston, можуть за допомогою Restorator’а відвести душу. Переходимо в режим редагування і змінюємо, все що заманеться (не забуваючи про віконце попереднього перегляду і головне – про створення резервних копій файлів).

Ніколи не змінюйте ідентифікатори, службовці посиланням для програми! У ресурсах на подобі String і Accelerators ідентифікатори задаються перед відображуваним текстом або гарячої клавішею (наприклад, ‘524, «Робочий стіл» ‘і ‘416: «Ctrl + Z»’). У Dialog і Menu номер, яким елемент ідентифікується програмою, розташований після тексту елемента (AUTOCHECKBOX ‘& Розташувати поверх всіх вікон’, 1101, 14, 130, 130, 10, BS_NOTIFY і MENUITEM ‘& Скасувати’, 416). Значок «&» позначає, що буква, наступна після нього, є гарячою клавішею.

Після редагування меню «Пуск» у мене тепер виглядає так (рис. 2).


 

Відкривши розділ String, я вибрав «37» в з’явилися списку (надалі для стислості – String, 37) і поміняв назву кнопки «Пуск» (зауважте, що на відміну від програм на зразок WinHacker і WinBoost, Restorator не обмежує вашу фантазію п’ятьма символами), інші назви головного меню можна змінити в Menu, 204.

При спробі перезапису explorer.exe, як і всякого файлу, використовуваного в даний момент системою, Restorator пропонує скористатися інструментом «Операції з файлом при наступному пуску Windows».

У ролі цільового файлу повинен виступати файл, в даний момент використовується системою, а в ролі вихідного відредагований вами файл, який при наступному запуску Windows замінить цільовий.


 

Вибравши необхідні файли (див. рис. 3), Натискаю «Додати вхід». Після виходу Restorator створить в директорії Windows файл wininit.ini, що містить рядки такого вигляду:

[rename]

C:WINDOWZEXPLORER.EXE=C:WINDOWZEXPLOR~1.EXE

Із заміною прапорця Windows на «жовто-блакитний» було трохи складніше, тому що зберігається він у файлі user.exe, який за своєю структурою 16-розрядний і Restorator’ом не відкривається. Тому я запустив менше вибагливий eXeScope і імпортував замість логотипу Windows (Icon, 105, 16×16) свою іконку 16 на 16 пікселів.

Зверніть увагу, що eXeScope має візуальний редактор діалогів, тому діалогові вікна простіше змінювати саме в eXeScope.

Приступимо

Після «косметичних прикрас» я вирішив змінити щось більш суттєве. Наприклад, вікно властивостей панелі задач.

Так як це вікно діалогове, редагував я його за допомогою eXeScope.

Знову відкриваю explorer.exe, розкриваю гілку Resource, розділ Dialog і вибираю ресурс під номером 6. Цей діалог складається з 9 операторів: 5 Static і 4 AutoCheckBox. Спочатку я поекспериментував з кнопками AutCheckBox. Наприклад, якщо на вашому комп’ютері хтось постійно включає Автоматично прибирати з екрану для панелі задач, а вам це не подобається, то вибравши відповідний AutoCheckBox, можна поставити галочку навпроти «Disabled» і відключити цю можливість.

Добре, нижню частину діалогового вікна змінив, а що ж робити з верхньої? Туди можна помістити якусь картинку. Але який точковий малюнок з розділу Bitmap замінювати і що робити з рядками Static?

Для того щоб побачити межі областей Static я запустив Dialog Editor. Далі, для того щоб подивитися, що відбувається з цими п’ятьма областями при клацаннях по кнопках AutoCheckBox, заходжу в налаштування панелі задач. При виборі того чи іншого параметра панелі задач на постійну картинку (ресурс Bitmap, 149 все в тому ж explorer.exe) накладаються інші картинки, що ілюструють результат ваших дій.

Вибираю відповідну картинку і призначаю її замість Bitmap, 149 (eXeScope працює з малюнками не більше, ніж 256 Кб, Restorator таких обмежень не має, але впроваджувати в explorer.exe мегабайтні картинки я не рекомендую). При необхідності можна підкоригувати в Dialog Editor положення першої області Static, щоб відцентрувати малюнок щодо головного діалогового вікна. Розміри малюнка краще заздалегідь «Підігнати» до розмірів вікна, в яке цей малюнок буде вставлено, інакше кордону діалогового вікна приховають частина малюнка.

Тепер видаляю preview при налаштуванні панелі задач, який закриває мою картинку. Для цього, відкривши explorer.exe в Restorator’e (так як eXeSxope не дозволяє додавати або видаляти потрібні рядки в діалогових ресурсах, точніше дозволяє, але міняти доведеться в шістнадцятиричних кодах), видаляю Static2-5, залишивши оператор CONTROL”, 1111, ‘STATIC’, SS_BITMAP / SS_SUNKEN / WS_CLIPSIBLINGS, 14, 14, 183, 82. (Замість цих останніх чотирьох чисел у вас можуть бути інші в залежності від того, переміщали ви область, задається Static1).

Після перерахованих раніше дій діалогове вікно властивостей панелі задач у мене тепер виглядає наступним чином (рис. 4).


 

Правда explorer.exe після впровадження в нього цієї фотографії замість 180 Кб став займати 310 Кб, але краса, як кажуть, вимагає жертв 7.

Десерт

Говорячи про зміни інтерфейсу Windows, не можу не згадати два «цікавих» файлу, що зберігаються в \% windir% system, а саме kernel32.dll і shell32.dll.

Почну з kernel32.dll. Перший ресурс у вікні Dialog – вікно «Програма виконала неприпустиму операцію …». Текст, мабуть, самої «улюбленої» помилки розташований в розділі String, 7 (див. рис. 5). Другий ресурс – діалог, що викликається трійцею Ctrl + Alt + Del.


 

Тепер про shell32.dll – в ньому зберігаються практично всі повідомлення, діалоги та анімація, використовувані в Windows. Так я додав в діалоговий ресурс 1013 (вікно підтвердження видалення групи файлів) один елемент PUSHBUTTON (рис. 6), Не забувши при цьому зрушити інші кнопки, щоб варіанти відповіді не перевищували заданої довжини діалогового вікна.


 

Так я допоміг починаючому користувачеві (жіночої статі 7) з вибором правильного варіанту відповіді на подібне питання.

Поділися з одним

Якщо ви від душі «поізменяв» програму і прийшовши в захват від власної фантазії бажаєте порадувати і своїх друзів вашим UCA (user-styled custom application, стилізоване користувачем додаток), то, щоб не передавати повний змінений файл, зробіть patch за допомогою модуля ResPatcher.

Відкриваємо потрібний файл – змінені ресурси Restorator позначає синій стрілкою. У меню «Інструменти» вибираємо «Створити ResPatcher …» (якщо пункт недоступний, значить у вас незареєстрована версія), перевіряємо ім’я оригінального файлу, вибираємо місце збереження і назва для нашого модуля ResPatcher, заповнюємо наші координати (адреса e-mail, сторінка в інтернеті, номер ICQ), при бажанні вводимо інструкцію по установці і все – patch готовий! ResPatcher не звертає уваги на розмір змінною програми, орієнтуючись тільки на наявність необхідних ресурсів.

При бажанні ознайомитися з ресурсами типу «RCData» потрібно знайти програму написану на Delphi, але автор Restorator’а попереджає, що «занадто великі зміни призведуть до непрацездатності програми після її збереження ».

 

Справедливості заради слід зауважити, що не все так просто при редагуванні програм. Так при роботі з Restorator’ом можуть виникнути ситуації, через яких зміна програми неможливо.

Якщо у вікні перегляду обраного ресурсу виникає напис «ресурс пошкоджений», це означає, що файл чимось упакований, і для редагування даних його треба розпакувати. Наприклад, за допомогою UnASPack.

Якщо з’являється повідомлення «Текст перевищує обсяг мемо», значить розмір даного ресурсу більше 64 Кб і його редагування не по силам Restorator’у. В цьому випадку знову ж таки може виручити eXeScope.

І головне, не забувайте перед початком «експериментів» створювати резервні копії вихідних файлів! Інакше «піддослідна» програма може зовсім перестати працювати.

Увага! Автор статті і редакція журналу «Комп’ютери + Програми» не несуть ніякої відповідальності за невміле використання програм, описаних в статті.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*