Изменение интерфейса Windows XP
Лёгкая пластическая XP-рургия

Любят пользователи персональных компьютеров всяческие аудио-визуальные примочки — эротические обои для Рабочего Стола с какой-нибудь пластмассово-силиконовой Памеллой Андерсон, озвучивание системных событий крылатыми фразами из фильма «Иван Васильевич меняет профессию», курсоры и иконки из любимого мультика для взрослых «Симпсоны». Юморной народ даже придумал заменить финальную заставку Windows на «Теперь вы можете выбросить свой компьютер». А уж если вы работаете сисадмином, то все секретарши и бухгалтерши за скринсейвер с трёхмерным виртуальным аквариумом тут же отдадут вам и душу и тело (если сможете унести, конечно). Не знаю, с чем это связано — возможно, человеку быстро надоедает однообразие серого интерфейса операционной системы, и он хочет каких-то ярких красок, чтобы было на чём задержать взгляд. Возможно, это просто попытка проявить свою индивидуальность, сродни кольцу в носу или ирокезу на макушке подростка, не умеющего обратить на себя внимание окружающих другим способом. А может, людям на работе просто делать нечего, ведь тот, кто компьютером действительно зарабатывает себе на жизнь, довольно быстро перестаёт обращать внимание на всю эту мишуру (которую за окнами прикладных программ и не видно-то) и больше беспокоится о производительности своей машины, на которой негативно сказывается даже применение красочных обоев, не говоря уж о всем известных программах типа Talisman или Window Blinds. Но всё, что до сих пор было возможно в плане перелицовки интерфейса Windows, по большому счёту, было детскими игрушками. Сама Windows не давала особенно разгуляться фантазии, а программы, круто меняющие внешний вид окошек и десктопа, либо безбожно глючили, либо прихватизировали большую часть системных ресурсов, либо и то и другое одновременно. Это, кстати, давало серьёзный аргумент поклонникам Linux с его многочисленными интерфейсами в абсолютно бестолковом и некорректном споре «что лучше — Windows или Linux». Так было до дня «икс», вернее — дня «XP», 25 октября 2001 года, когда официально увидела свет новая операционная система от всё тех же рэдмондских товарищей — Windows XP, впервые имеющая встроенную поддержку сменных «шкурок».

С выходом новой ОС у всех пользователей, рискнувших на неё перейти, появилась возможность не только менять цветовую гамму интерфейса, но и перерисовывать по своему вкусу практически любой элемент GUI — начиная от внешнего вида кнопки Start и заканчивая скромным «чекбоксом». Но самое главное, что вся эта благодать осуществляется на уровне операционной системы, а не какими-то приблудными программами, поэтому и системных ресурсов на подобный макияж Windows тратится самый минимум, и глюки, по идее, не должны превышать обычного для «маздая» уровня. И всё бы было замечательно, если б в дистрибутив системы или, что более логично, в дополнительный пакет MS-Plus! XP были бы включены хотя бы с полдюжины неординарных «скинов», но, к величайшему разочарованию, создатели Windows об этом почему-то не позаботились. Максимум, чем можно насладиться после инсталляции ОС — это два типа интерфейса, классический и в стиле XP. Конечно, когда Windows XP победным маршем в полный рост зашагает по свету, то и темы для неё расплодятся на просторах Интернета, как поганки под Чернобылем, но уже сегодня имеется неплохой задел, позволяющий издеваться не только над расцветкой «форточек», но и полностью менять некоторые другие элементы интерфейса — именно о нём я и постараюсь рассказать.

Начальная заставка

Начнём мы издалека, с изменения стартовой картинки. Это, конечно, никоим образом не касается новых возможностей Windows XP по управлению интерфейсом, но для многих будет очень интересно. Учтите только, что всё это — недокументированные и несанкционированные трюки с довольно глубоким вторжением в системные файлы, а потому гарантий, что после ваших экспериментов Windows будет работать так же хорошо, как и раньше (ха-ха!), никто не даст, а потому заранее позаботьтесь о путях отхода — резервируйте всё и вся.

Заставка эта «зашита» в одном из главных системных файлов — \windows\system32\ntoskrnl.exe, и без специальных утилит изменить её невозможно. А потому первым делом качаем из Интернета программку Resource Hacker [1] — это одна из самых простых в употреблении утилит редактирования ресурсов выполнимых файлов, к тому же бесплатная. Те, кто уже знаком с подобными «хакерами», могут воспользоваться, например, своим любимым «шароварным» Restorator. Вторая программа, которая нам будет непременно нужна — графический редактор, но не простой «виндовый» Paint, который нам не подойдёт ввиду отсутствия у него некоторых функций, а продвинутый — Adobe Photoshop или гораздо более доступный Jasc Paint Shop Pro [2].

Для начала сделаем резервную копию файла ntoskrnl.exe и ещё одну копию, которую, собственно, и будем редактировать. Запускаем Resource Hacker и открываем этот последний файл — удобнее всего, если вы поместите его в папку самого Resource Hacker. В левой части интерфейса «хакера» видим дерево ресурсов, и в первой его ветви «Bitmap» — 12 картинок. Сочетание изображений с номерами 1, 8, и 10 складывается в заставку версии WinXP Pro, а 1, 7, и 9 — варианта Home Edition. Мы будем работать с профессиональной Windows, а потому выбираем номер 1 — это и есть сама заставка, остальные картинки — лишь её сопутствующие элементы. Но она гораздо больше напоминает «Чёрный квадрат» Малевича, а не «виндовый» логотип — скажете вы! Терпение, сейчас всё станет ясно. В меню «Action» нашего «хакера» выбираем команду «Save Bitmap» и указываем для «выдранного» из ntoskrnl.exe BMP-файла удобную директорию, назвав его также, как он обозначен и в самом ntoskrnl.exe, то есть 1.BMP, чтобы не запутаться. Повторяем такую же процедуру с картинками 8 и 10. Теперь нам нужно их отредактировать в Paint Shop Pro — рассматриваем эту программу, поскольку она немного попроще. Когда вы откроете в нём эти изображения, то увидите только сплошную черноту — для того, чтобы «проявился» настоящий логотип, нужно загрузить из Интернета специальные палитры. Для Paint Shop Pro это файл www.thetechguide.com/howto/xpbootlogo/16.pal [3], а для Adobe Photoshopwww.thetechguide.com/howto/xpbootlogo/16.act [4]. После этого в Paint Shop нажимаем клавиши Shift + O и выбираем в появившемся окне файл 16.pal — опция «Maintain Indexes» в этом диалоге ОБЯЗАТЕЛЬНО должна быть включена. Теперь мы наконец-то видим вместо черноты привычный логотип Windows XP, редактируйте и изменяйте его и остальные изображения, как вашей душе угодно — главное, соблюдайте изначальные размеры этих картинок и работайте с заданной палитрой.

После сохранения переделанных картинок снова переключаемся в Resource Hacker и в меню «Action» выбираем команду «Replace Bitmap» — в новом диалоге указываем, какой ресурс следует заменить и чем. То есть в диалоге замены изображения выделяем Bitmap-ресурс номер 1, щёлкаем кнопку «Open file with new Bitmap» и указываем путь к изменённому логотипу, после чего давим кнопку «Replace». То же самое делаем для картинок 8 и 10 и не забываем в меню «хакера» сохранить все изменения: «File» — «Save». Осталось заменить «родной» ntoskrnl.exe на «хакнутый». Из-под Windows сделать это не удастся — нужно загрузить другую ОС, если Windows XP установлена на диске FAT32. Если же вас угораздило выбрать Файловую систему NTFS, то доступ к диску из DOS или Windows 9x становится невозможным без применения специальных программ, поэтому оптимальным будет не искать их по всему Интернету, а заменить файл таким образом:

  1. Перезагрузите ПК
  2. Во время загрузки держите нажатой кнопку F8 для входа в загрузочное меню Windows XP
  3. Выбирайте режим командной строки «Command Prompt»
  4. Снова жмём F8
  5. Входим в систему под именем Администратора
  6. Также как в MS-DOS переходим в папку с изменённым файлом (лучше всего, если вы его поместите в корень системного диска) и вводим команду «copy ntoskrnl.exe c:\windows\system32\»
  7. Вновь перезагружаем ПК и «тащимся» от собственноручно нарисованного логотипа

Есть правда, более элегантный и грамотный способ замены логотипа, вплоть до ручной или автоматической смены нескольких различных заставок, с полным сохранением оригинала ntoskrnl.exe. Для того, чтобы им воспользоваться, сделайте несколько «хакнутых» файлов ntoskrnl.exe с разными логотипами, добавляя к названию каждого файла порядковый номер, например: Logo1.exe, Logo2.exe, Logo3.exe и так далее. Обратите только внимание, что название файлов должно соответствовать стандарту 8.3 (8 букв — название, и 3 — расширение). В корне системного диска найдите скрытый файл BOOT.INI и откройте его в Блокноте. Если у вас две ОС, то вы увидите примерно такие строки:

[boot loader]
timeout=5
default=C:\
[operating systems]
C:\="Windows Millennium Edition"
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows XP Professional" /fastdetect
Допишите после последней строки:
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows XP Professional 1" /fastdetect /kernel=Logo1.exe
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows XP Professional 2" /fastdetect /kernel=Logo2.exe
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows XP Professional 3" /fastdetect /kernel=Logo3.exe

Теперь нужную заставку можно будет выбирать прямо в расширившемся загрузочном меню, выбирая соответствующий номер. А если вы вместо номеров проставите названия, соответствующие темам заставок, то их выбор ещё более облегчится. При этом сохранится возможность загрузки и нетронутого рукой мастера ntoskrnl.exe. Автоматизировать же выбор заставок, вернее изменение файла BOOT.INI, поможет небольшая утилита LWD Kernel Selector [5]. Для случайной смены заставок достаточно поместить в папку \windows\system32\ побольше пронумерованных «хакнутых» файлов ntoskrnl.exe, саму программу LWDKernel.exe и закинуть в автозагрузку ярлык на запуск LWDKernel.exe с ключом «-random». Правда, программа эта сыровата и в случае с мультизагрузочными системами редактирует файл BOOT.INI неверно, так что не забывайте о резервировании.

Экран входа в систему

Сразу после начальной заставки пользователя встречает экран регистрации — Welcome Screen. Если за компьютером работает несколько человек, то именно на нём нужно выбрать свою учётную запись и ввести пароль. Если же пользователь один, то операционная система лишь поприветствует его и регистрация произойдёт автоматически. Кстати, если вам очень хочется, чтобы помимо учётной записи пользователя предлагалось ещё войти в систему и под именем Администратора, то просто добавьте в раздел реестра

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT \CurrentVersion\Winlogon\SpecialAccounts\UserList

параметр "Administrator"=dword:00000001, и на экране появится ещё одно поле — «Administrator». Но лучше не нарушать приятный дизайн этого диалога, а «логиниться» Админом, вызвав обычный диалог входа в Windows. Для этого, когда появится Welcome Screen, просто дважды нажмите клавиши Ctrl+Alt+Del — появится старое доброе окно для ввода имени и пароля пользователя.

Но мы отвлеклись от главного — как перерисовать Welcome Screen? А перерисовать его тоже не очень просто и даже сложнее, чем начальную заставку, поскольку и он хитрым образом «закодирован» внутри одного из системных файлов, а именно — \Windows\System32\logonui.exe. Технология его изменения такова. Опять копируем файл в две разных папочки — в одной сохраним его исходный вариант, чтобы без проблем вернуть на место в случае неудачи, а в другой оставим файл, который и будем препарировать. Берём уже известную программу Resource Hacker и открываем в нём этот, подготовленный к экзекуции logonui.exe. Да! Совсем забыл! Прежде чем приступать к операции, надо представить, что же вы хотите получить, а ещё лучше — сделать скриншот этого диалога и изменить его в каком-нибудь графическом редакторе так, как вы задумали. Учтите только, что для начала никаких серьёзных переделок не стоит планировать — общая структура картинки должна сохраниться. А это — широкая полоса сверху, отделённая от основного фона узкой разноцветной ленточкой и такие же полоса с ленточкой снизу, плюс картинка в верхнем левом углу экрана — в исходном варианте это что-то типа слабой засветки. Именно эти элементы мы и попробуем изменить. Потом, когда вы досконально разберётесь, как всё это закодировано в logonui.exe, сможете уже более заметно отойти от первоначального шаблона, в том числе изменить стандартные надписи, которые звучат в диалоге регистрации пользователя и выключения компьютера — найдёте их в ветви «String Table» программы Resource Hacker.

Итак, в Resource Hacker открываем ветвь \UIFILE\1000\1033\ (последняя цифра может отличаться) и в правой части окна программы двигаем полосу прокрутки вниз до тех пор, пока вместо белого поля не появятся первые строки кода:

<style resid=framess>
element
{
background: argb(0,0,0,0);
}
element [id=atom(contentcontainer)]
{
background: rgb(90,126,220);

Последняя строка — это как раз цвет основного фона нашей картинки, выраженный в виде RGB. Откройте «виндовый» редактор Paint и в меню «Colors» — «Edit Colors» — «Define Custom Colors» введите эти значения в соответствующие поля «Red» «Green» и «Blue» — получите тот самый голубой цвет, который наблюдаете при каждой загрузке ОС. Теперь откройте в Paint подготовленную заранее картинку-черновик и, используя элемент управления «пипетка», определите новые значения RGB — они отобразятся окне «Define Custom Colors», ну или определите их вручную, двигая курсор по цветовой карте. Теперь, когда мы знаем RGB-значения нового цвета основного фона, вводим их вместо старых, например, «background: rgb(23,16,24)» для тёмно-серого цвета.

Следуем дальше — ищем строки

element [id=atom(toppanel)]
{
background: rgb(0,48,156);

То, что это описание вида верхней тёмно-синей полосы, можно догадаться по фразе «[id=atom(toppanel)]». Меняем её цвет — вместо «background: rgb(0,48,156)» вводим новые значения. Ещё чуть ниже видим параметры нижней панели:

element [id=atom(bottompanel)]
{
background: gradient(argb(0,57,52,173), argb(0,0,48,156), 0);

Для неё задан не просто равномерный цвет, а небольшой градиент, то есть плавное изменение гаммы от одного края к другому — пары экспериментов будет достаточно, чтобы подобрать оптимально соответствующее замыслу сочетание этих двух цветов. Просмотрев весь код, думаю, вы найдёте описания и других элементов диалога регистрации пользователя, мы же пока на этом остановимся и перейдём к редактированию картинки, отображаемой в его углу, попутно давая разрешение программе сохранить внесённые нами изменения.

Раскроем теперь ветвь Bitmap\100\1033 — увидим тот самый мутно-голубой блик света, который, если присмотреться, можно заметить в левом верхнем углу заставки. Для того, чтобы его заменить на другое изображение, нужно, чтобы оно было в формате BMP. В меню «Action» Resource Hacker выбираем команду «Replace Bitmap», в появившемся диалоге вновь находим ресурс за номером 100 и указываем путь к файлу с картинкой, которая его заменит — проще пареной репы. Осталось ещё только указать размеры новой картинки, чтобы при её отображении не было никаких искажений. Для этого опять возвращаемся в ветвь \UIFILE\1000\1033\ и, нажав клавиши CTRL+F, находим строку, начинающуюся с <element id=atom(contentcontainer). Её надо изменить следующим образом:

<element id=atom(contentcontainer) layout=flowlayout(1,3,2,3) layoutpos=client сontent=rcbmp(100,0,0,XXXrp,YYYrp,1,0)>

где XXX и YYY — новые значения длины и ширины картинки — узнать их можно из свойств BMP-файла. Желательно, чтобы картинка не заползала на ту область, где размещены кнопки с именами зарегистрированных в системе пользователей, иначе будут наблюдаться неприятные эффекты при отображении нашего диалога.

Вот всё и готово, осталось только заменить исходный файл logonui.exe на тот, что мы получили в нашем получасовом эксперименте. Проще всего это сделать из-под другой операционной системы либо из режима защиты от сбоев, поскольку служба защиты системных файлов Windows XP не позволит этого, пока мы работаем в этой ОС. Предусмотрен и другой, более легитимный способ смены заставки — внесение в раздел реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon параметра «UIHost», значением которого является путь к альтернативному файлу logonui.exe. При этом исходный «виндовый» logonui.exe остаётся на своём законном месте в неприкосновенности, и возврат к нему осуществляется простым удалением параметра «UIHost». Преимущество такого подхода — в отсутствии необходимости замены системного файла из-под другой ОС.

Если же весь процесс редактирования заставки показался вам не столько увлекательным, сколько чересчур сложным и нудным, то можете воспользоваться уже готовыми чужими дизайнерскими опытами, если посетите, например, сайты

на которых уже собрано немало неплохих заставок. Думаю, на первых порах они окажутся куда лучше нашей с вами самодеятельности. Недостаток же применения скачанных из Интернета logonui.exe один — отсутствие уникальности. Используя то, что выложено на всеобщее обозрение, вы, естественно, всегда будете знать, что точно так же выглядит Windows и у тысяч других пользователей. Да и нет гарантии, что какой-то недоброжелатель не прикрепил к файлу хитрый троянский вирус, так что спокойный сон можно потерять. Хотя благодаря огромному числу уже готового материала заставку можно менять хоть каждый день. Утилиты для визуального редактирования экрана регистрации, насколько мне известно, пока не существует, а вот программка, которая предельно упрощает управление этими заставками и их смену, есть — XP Logon UI [11]. С её помощью вы не только сможете оперативно переключаться между разными заставками, но и просматривать их прямо в окне программы, что очень удобно. Нужно только в директории D:\WINNT\Resources создать папку LOGONUI, а внутри неё — собственные подпапки для каждого logonui.exe — XP Logon UI сама внесёт нужные данные в реестр, и при следующей перезагрузке вас будет радовать новая необычная картинка.

Стили интерфейса

А как же знаменитые стили Windows XP? Как сделать, чтобы «Форточки» сияли всеми цветами радуги? А очень просто — взять уже готовое на сайтах http://boomgames.com/xpthemes/browse.php?type=theme [12], http://www.themexp.org/view.php?type=vs [13] — там этого добра, как собак нерезаных. Новая оболочка устанавливается несложно. Качается ZIP-архив с файлами темы, распаковываются в папку D:\WINNT\Resources\Themes, запускается диалог «Display Properties», и на вкладке «Themes» устанавливается только что полученный свежий и, соответственно, пока ещё не опостылевший макияж Windows. Иногда нужно ещё вручную выставить нужный стиль на вкладке «Appearance» того же диалога свойств дисплея. Выбор тем в Интернете более чем богатый.

Что, тоже хочется всё сделать самостоятельно, чтобы ни у кого и никогда не было ничего похожего? Тогда разбирайтесь с мощнейшей программой StyleBuilder [14] — она предназначена как раз для создания своих собственных уникальных стилей. Правда, вас ждёт серьёзное потрясение, когда вы увидите, как много элементов интерфейса позволяет полностью перерисовывать эта утилита. Любой шрифт, любой цвет, любая форма любого элемента, начиная от окон и заканчивая меню Start. Например, с её помощью легко изменить цвет и размер шрифта, которым выводятся часики в системной области Панели Задач, или вид кнопки выключения компьютера в меню Start. Так что, программа эта для настоящих дизайнеров-фанатиков.

Есть и ещё одна интересная утилита, которая напрямую предназначена для работы с «фейсом» Windows — Window Blinds XP [15]. Применительно к этой ОС очередная вариация популярной Window Blinds оказывается вполне приемлемым решением, и не стоит бояться, что она вместе с ОС потребует для нормальной работы процессор гигагерц на десять. Дело в том, что технологии Windows Blinds напрямую интегрированы в операционную систему. Компания Stardock, создатель Window Blinds, помогала Microsoft разрабатывать Windows XP в части поддержки сменных оболочек, а потому можно вполне считать эту программу самым мощным и почти «родным» средством управления внешним видом Windows XP. Тем более, что с этой программой поставляются несколько дополнительных «шкурок», которые приятно разнообразят ваш Рабочий Стол. Ещё больше стилей вы найдёте на сайте www.wincustomize.com/index.asp [16], так что — флаг вам в руки (и барабан на шею)!

Полезная мелочь

Ну и на сладкое несколько интересных трюков, относящихся в какой-то мере и к пользовательскому интерфейсу и к удобству работы с ним. В Windows XP заложена возможность делать Панель Задач прозрачной, но, к сожалению, от пользователя она скрыта, и для того, чтобы ей воспользоваться, нужно обращаться к программам сторонних разработчиков. Если есть желание не останавливаться на достигнутом, а индивидуализировать ещё и Панель Задач, то самым оптимальным решением, полагаю, будет микроскопическая программка AlphaTrayXP [17], которая хороша тем, что при старте Windows изменяет свойства Панели Задач и сразу же выгружается из памяти, не отнимая ресурсы у более важных приложений.

Тем, кто работает на компьютере в офисе, или просто хочет быть уверенным, что никто не залезет на диск, пока вы на минутку отошли от машины советую создать на Рабочем Столе такой ярлык:

rundll32.exe user32.dll,LockWorkStation

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

Если вас раздражает новая системная папка «Shared Documents» в окне Проводника, и вы не собираетесь в ближайшем будущем предоставлять в общее пользование эти самые документы, поскольку локальной сети нет и не предвидится, то попробуйте удалить раздел реестра

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ MyComputer\NameSpace\DelegateFolders\{59031a47-3f72-44a7-89c5-5595fe6b30ee}

— папки «Shared Documents» после перезагрузки исчезнут. Желательно предварительно экспортировать эту ветвь реестра в REG-файл, чтобы можно было легко её восстановить.

На этом, думаю, пора остановиться, иначе весь журнал заполонит одна статья, тем более что нам никто не мешает продолжить тему борьбы с уникальным интерфейсом Windows XP в будущем. Пока же будет полезным на досуге прогуляться в Интернет за самой свежей информацией по этой системе — ссылки на сайты, соответствующие рассмотренной нами проблеме, вы найдёте ниже.

Ссылки по теме

Содержание файла 16.pal — палитра для Paint Shop Pro

JASC-PAL
0100
16
0 0 0
0 0 0
32 26 21
45 62 210
83 101 1
178 53 5
70 70 70
137 146 0
74 127 252
247 107 32
141 166 255
142 220 4
243 188 27
188 188 188
255 255 255
255 255 255




Темы