Статьи Первоапрельская реставрация

Discussion in 'Статьи' started by zerg, 10 Jun 2006.

  1. zerg

    zerg Elder - Старейшина

    Joined:
    5 Mar 2006
    Messages:
    42
    Likes Received:
    6
    Reputations:
    0
    Первоапрельская реставрация

    Вы когда-нибудь меняли интерфейс Windows? А почему? Потому, что надоел старый, чтобы ни у кого такого не было, просто из любопытства. А вы пробовали когда-нибудь разыграть друзей и знакомых, используя для этого измененный внешний вид системы? Если нет, я вам дарю эту идею, причем совершенно бесплатно.

    А поможет нам в этом небольшая утилитка под названием Resource Hacker. Эта программа предназначена для редактирования всевозможных “зашитых” ресурсов программы — таких, как курсоры, рисунки, диалоговые окна, контекстные меню и прочее. Кроме Resource Hacker, существует немало аналогичных программ (например, Restorator или Exescope), однако, в отличие от своих конкурентов, Resource Hacker распространяется совершенно бесплатно и имеет небольшой размер (541 Кб), позволяющий ему уместиться на обычной дискетке. Скачать его можно по этой ссылке: _http://delphi.icm.edu.pl/ftp/tools/ResHack.zip .
    Итак, что же можно сделать, используя эту программу? Например, изменить облик Винды. Ничего кардинального — только косметические изменения, специально по случаю первого апреля:). Прежде чем приступить к “творческому процессу”, сделайте резервную копию двух основных файлов: Shell32.exe и Explorer.exe. Они вам сгодятся на тот случай, если потребуется все вернуть “как было” (кто знает: может, у шефа нет чувства юмора). Сразу оговорюсь, что я буду приводить пример на основе версии Windows2000. В этой версии системы Shell32.exe расположен по адресу c:\WINNT\system32\.., а Explorer.exe — в системной директории c:\WINNT\. Начнем с самого главного файла системы Explorer.exe.

    После того как вы откроете этот файл в Resource Hacker, в окне программы отобразятся ресурсы, разбитые по категориям Bitmap, Icon, Menu, Dialog String Table и т.д. Все, что нужно сделать для редактирования ресурса, — развернуть соответствующую ветвь и выделить редактируемый элемент. Раскройте ветвь Bitmap и внимательно просмотрите графические изображения, “запрятанные” в этой ветви. Правда, знакомо? Например, рисунок, который мы видим ежеминутно, полоска выезжающего меню кнопки Start. Попробуем ее отредактировать. Самое главное для нас — узнать ее истинные размеры. Для этого мы сохраним эту полоску в виде *.bmp-файла, после чего узнать его размеры нам будет несложно. Как уже говорилось выше, нужно выделить этот элемент и кликнуть по нему правой кнопкой мыши. В контекстном меню выбираем третью строчку сверху Save [Bitmap : 157 : 1033] ... (цифры могут отличаться) и сохраняем файл на жестком диске. Любой графический редактор предоставит нам информацию о реальных размерах картинки. Сделав в ”Фотошопе” или еще где-нибудь свой собственный точечный *.bmp-рисунок с такими же размерами, заменим старый ресурс новым. Опять вызываем контекстное меню на том же элементе и выбираем строчку Replace Resource... На экране появится окно Replace bitmap, в котором при помощи кнопки Open file with new bitmap... выберем файл и с помощью операции Replace назначим тот самый рисунок, который мы желаем увидеть после нажатия кнопки Start. Если вам уже невтерпеж полюбоваться своим творением, проделайте следующее. Сохраните в программе Resource Hacker переделанный Explorer.exe и перезагрузитесь с системной дискеты. Теперь перезапишите файл из папки Winnt новым. Это нужно сделать потому, что, работая под Windows, удалить или перезаписать файл не удастся. Загружаем по новой систему, и — вуаля! Совсем другой вид!

    Тем же способом можно подправить bitmap-картинки библиотеки shell32 — например, исправить Windows 2000 на Windows 2006, чтоб не отставать от времени. Теперь, когда вы вызовете справку виндовского эксплорера, система удивит всех новым релизом. Зовите друзей и объявляйте, что установили бета-версию Windows 2006. Если вы собрались шутить над коллегами, обязательно измените и название кнопки Start. По поиску в Resource Hacker (ветвь String Table файла Explorer.exe) найдите слово Start, заключеннное в кавычки, и поменяйте его на любое слово или фразу. Если текст будет длинный, ширина кнопки увеличится. Теперь поработаем над надписями меню Start (или как там оно у вас теперь называется?). Для этого в файле Explorer.exe в ветви Menu найдем (клавиши Ctrl+F или View — Find Text), например, фразу “Shut Down”. Этот текст будет найден в элементе, в котором находятся также названия всех пунктов меню. Вносим свои коррективы и любуемся результатом (кстати, иконки тоже можно поменять). Если постараться и потратить на это достаточное количество времени, можно добиться серьезных изменений во внешнем облике системы.

    Менять можно не только иконки и рисунки в окнах Windows, но и системные надписи. Представьте себе картину: вы пытаетесь открыть содержимое пустого дисковода или сидирома, а тут вылетает сообщение: “Вместо того, чтобы тыкать куда попало, иногда полезно вставлять диск”. Хотите, чтобы и у вас такое было? Откройте в программе файл shell32.dll и найдите по поиску строчку “Please insert a disk into drive %c:.”. Программа найдет текст среди всех ресурсов файла в ветви Dialog, которая отвечает за диалоговые окна. Как только мы выделяем любой элемент этой ветви, в правой части окна программы появляется его текстовое описание и предварительный просмотр самого диалогового окна. Теперь текст можно поменять на любой другой. Сделать это можно двумя способами. Во-первых, вписать новые строчки в текстовое описание. Во-вторых, можно кликнуть правой кнопкой мыши на нужном элементе диалогового окна (в данном случае — на надписи) и выбрать строчку Edit Control. Вторым способом также очень удобно изменять размеры элементов диалогового окна, например, ширину и длину кнопок. Кроме того, кнопки можно перемещать по окну произвольным образом. Например, поменять местами ОК и Cancel.

    Посмотрим, что еще можно сделать. Одна из самых привычных производимых операций — очистка корзины от скопившегося мусора. Поэтому поработаем над контекстным меню, которое появляется при клике правой кнопкой мыши по Корзине. Снова вернемся к файлу shell32.dll и в ветви Menu отыщем строчку “Empty Recycle &Bin”. Вместо этого текста придумываем свой собственный. Теперь для большего эффекта изменяем диалоговое окно (мы это уже делали выше) подтверждения удаления файлов из корзины. Для этого ищем в ветви Dialog текст “Confirm Multiple File Delete” и изменяем все надписи в описании данного элемента. Если часто используется Scandisk, можно также поменять надписи диалогового окна. Берем файл shell32.exe, ищем строчку “Error-checking” и настравиваем все по вкусу. Там, где была надпись “Error-checking”, напишем “Визит к врачу”. Текст “This option will check the volume for errors” заменим на “Пройти медкомиссию”. Наконец, текст на кнопке “Check Now” поменяем на “Понеслось…”. Не завидую тому, кто захочет проверить диск первого апреля… Изменять можно не только shell32.dll и Explorer.exe, но и абсолютно любые программные файлы. В качестве первоапрельского розыгрыша можно серьезно увеличить размеры обычного калькулятора и подсунуть его вечно занятому бухгалтеру. Для этого нужно найти calc.exe в папке Winnt/system 32, изрядно над ним попотеть и сохранить куда-нибудь на винчестер. После этого нужно в свойствах иконки Калькулятора (в меню Start) поменять путь.

    Сюрприз можно устроить и тем, кто вместо того, чтобы заниматься делом, на работе раскладывает пасьянсы. Поработаем над файлами freecell.exe и sol.exe. Первое, что приходит в голову — удалить кнопку Новая игра. Для пасьянса “Косынка” это делается так: в ветви Menu удаляются две строчки: MENUITEM "&New Game\tF2", 102 и MENUITEM "&Select Game\tF3", 103. Для пасьянса “Солитер” проделывается аналогичная операция: в ветви Menu удаляем строку MENUITEM "&Deal\t F2", 1000. Можно пошутить немного по другому — все карты превратить в тузы. Правда, это займет какое-то время. Для этого нужно открыть файл cards.dll и изменить хранящиеся в нем рисунки карт. Сохранять подправленный файл нужно в ту же папку, куда записаны обновленные файл sol.exe и freecell.exe.

    Одним словом, включайте свою фантазию и экспериментируйте. Можно, например, изменить текст диалоговых окон. Тогда при проигрыше будет появляться надпись: “Колян, ты законченный неудачник”, а при выигрыше: “Умнеешь на глазах. Может, поработаешь?” Как и в случае с калькулятором, измененные файлы нужно сохранить отдельно и указать к ним путь в свойствах иконок. При помощи Resource Hacker можно не только изменять различные элементы интерфейса, но и добавлять свои. Например, вставлять в самых неподходящих местах фотографии, добавлять строчки в контекстные меню, устанавливать ползунки где надо и где не надо — в общем, веселиться на славу. И самое главное — ничего противозаконного!

    Что теперь? Составьте список действий и приготовьте дискетку с нужными файлами. Первого апреля встаньте пораньше и бегом на работу, пока там никого нет. И, пока никто не мешает, выполните нужные действия согласно составленному списку. Потом, как ни в чем не бывало, можно усесться на рабочее место наблюдать за происходящим. Первый, кто попадется на удочку, будет несколько секунд округленными глазами смотреть в монитор, а после нескольких минут работы с Windows будет смеяться здоровым смехом. Ну и на здоровье! Ведь день для того и предназначен, чтобы все улыбались:).



    Сергей Бондаренко, http://www.3domen.com

    © компьютерная газета