Итак, вы считаете себя проффи-пользователем Windows 95. Вы поражаете
своих друзей и знакомых умными фразами про реестр и рассуждениями о тонкостях настройки Windows 95. А хотите поразить окружающих еще больше? Если да, то попробуйте изменить надпись на кнопке Пуск, написав на ней, скажем, слово "Меню" или может быть свое имя! Что тут изменять, скажите вы
- открыл файл в HEX редакторе, сделал поиск слова "Пуск" и исправил! На самом же деле все не так просто как кажется! Вся проблема заключается в том, что текстовые сообщения в Windows-программах, также как и длинные имена файлов и каталогов, хранятся в Unicode-формате.
Это 16-разрядная схема кодировки символов, в отличии от однобайтного стандарта Windows ANSI (256 символов
- 2 в 8-й степени), позволяет представить 65536 (то есть 2 в 16-й степени) символов. Возможного количества уникальных кодов хватит с лихвой для кодировки букв всех современных, а также нескольких старых и мертвых языков. Эта система позволяет решить проблему множественности кодирования букв и переносимости файлов из одной локализованной (то есть переведенной на какой-либо язык) ОС в другую, поддерживая любые национальные алфавиты. Не смотря на автоматически привносимую
Виндой популярность, эту кодировку не поддерживает ни один из известных мне шестнадцатеричных редакторов, в том числе и многомегабайтный HEX Workshop. А даже если бы и поддерживал, то без специальных настроек или локализации оного редактора вы бы все равно ничего не увидели. С этой же проблемой кстати сталкиваются и программы позволяющие изменять надпись кнопки Start, например WinHacker, работающий корректно только в англоязычной версии Windows 95. Единственной известной мне утилитой, позволяющей корректно просматривать (но, к сожалению, не редактировать) Unicode-строки является Peek
(и редактор FAR). Эта утилита добавляет в контекстное меню всех файлов свои пункты, позволяющие "выдирать" из файлов всю текстовую информацию. Программа создает текстовый документ, содержащий все текстовые строки с указанием адресов где они расположены. Причем
для корректной ее работы с русскими unicoded-символами их (русские заглавные и прописные буквы) необходимо предварительно добавить в список распознаваемых программой символов в реестре в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Aries\Peek\Unicode\Character Set. Впрочем, необходимость в этой утилите при редактировании кнопки Пуск отпадет если вы дочитаете статью до конца.
Итак, как же все-таки изменить надпись главной кнопки Windows
95? Во первых, необходимо сделать резервную копию редактируемого файла, то бишь explorer.exe из директории Windows 95. Зачем? А вдруг не получится, вдруг вы ошибетесь или неправильно поймете меня? Не переустанавливать же из-за этого Windows! После резервирования, перед началом редактирования необходимо перезагрузиться в режиме эмуляции MS-DOS, либо просто перезагрузить машину в command prompt режиме и набрать в командной строке Lock. На вопрос о включении режима прямого доступа к диску необходимо ответить Yes, после чего можно запустить любой шестнадцатеричный редактор, например Hiew или Disk Edit из Нортоновских утилит, либо воспользоваться встроенным в
DOS Navigator HEX-редактором.
Учитывая популярность последнего, буду объяснять процесс редактирования на его примере.
Итак вы открыли файл по клавише F3, а затем по F4 вызвали режим HEX-редактирования (однократное нажатие, не путать с Dump'ом). Нажмите F5 (перейти) и введите адрес 2D43C для русской версии Windows 95 или 2DF0C для английской. Справа вверху, в текстовой части редактора появится строка приблизительно такого содержания: (.%.1.). За этой строкой будет стоять еще несколько символов и точек, после которых и идет искомая нами строка Пуск или Start. Правда надпись Пуск вы не увидите, однако если у вас англоязычная версия Windows 95, то чуть-чуть приглядевшись вы увидите нужную надпись
- она будет выглядеть как: S.t.a.r.t. Да именно так! Дальнейшее изменение надписи в данном случае представляется очевидным. Просто замените соответствующие имеющиеся буквы (переход в текстовую часть производится клавишей Tab) на любые другие (но только английские). При этом следует сохранять надпись в существующих текстовых границах, а также сохранять общее количество выводимых на кнопке букв
- то есть пять. Нужно также отметить, что символы представляемые в редакторе точками (код 00) на самом деле ими, то есть символами известного знака препинания не являются, и их присутствие между буквами обязательно. Кстати вы при желании можете поставить между буквами и пробел или применить его если вы не использовали все пять букв и хотите затереть старые буквы чтоб они не показывались на кнопке. При этом опять-таки нельзя забывать про символы "точек".
Это что касается английского варианта explorer'a. С русским все гораздо сложней по той причине, что реально выводимые на кнопке буквы не видны в редакторе. Буквы "П", "у", "с" и "к"
расположены по следующим адресам и имеют следующие коды: П
- 2D43C, код 1F, у - 2D43E, код 43, с - 2D440, код 41, к - 2D442 c кодом 3A. Собственно говоря ограничения по редактированию здесь те же что и с английской версией, только в данном случае букв должно быть четыре и в они должны быть разделены ромбиком (символ с кодом 04). Вообще-то, на самом деле, говорить что буквы отделяются ромбиком не очень-то верно, по той простой причине, что код символа ромба является составной частью кода каждой русской Unicoded-буквы, впрочем как и "точки" в английских
символах. Кстати, именно поэтому, при смешении букв английского и русского языков, постарайтесь не запутаться с соответствующими "разделителями". Исключением не является и символ пробела (код 20 00, а не 20 04) как бы относимый к английскому
алфавиту.
Возможные мотивы и ограничения установки знака пробела совпадают при редактировании
надписей кнопок обеих версий Windows 95. В нашем примере с переделыванием надписи
"Пуск" на "Меню" последовательность новых кодов будет выглядеть следующим образом: 1C 04 35 04 3D 04 4E 04.
Описанным методом можно изменить не только надпись на кнопке Пуск, но и подсказку "Нажмите работу с нажатия этой кнопки", появляющуюся над кнопкой или выезжающую при загрузке Windows 95 (адреса 2CEA4 и 2D31B), а также многое многое другое.
Кстати, кроме баловства, редактирование надписи кнопки может принести и некоторую пользу. Например, если заменить все буквы Пуск или Start на символы с кодом 00 (опять-таки не путать с обычной точкой), в том числе и бывшие "ромбики-разделители" с кодом 04 (в англоязычной версии в этом нет необходимости), то вы, убрав надпись на бывшей кнопке Пуск, тем самым уменьшите ее размер приблизительно в три раза. Соответственно у вас появится чуть больше места на панели задач, то есть больше кнопок программ сможет там поместиться и тем медленней будет происходить уменьшение их размеров по мере роста их количества. Звучит запутанно, однако, когда вы откроете одновременно больше десятка окон, вы заметите
в панели задач разницу.
Напоследок, для удобства редактирования, приведу Unicode-таблицу русских букв.