Реферат: Легкая пластическая XP-рургия
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, которую можно взять по адресу www.littlewhitedog.com/images/reviews/
other/00025/lwdkernel.zip. Для случайной смены заставок достаточно поместить в папку WindowsSystem32 побольше пронумерованных "хакнутых" файлов ntoskrnl.exe, саму программу LWDKernel.exe и закинуть в автозагрузку ярлык на запуск LWDKernel.exe с ключом "-random". Правда, программа эта сыровата и в случае с мультизагрузочными системами редактирует файл boot.ini неверно, так что не забывайте о резервировании.
Экран входа в систему
Сразу после начальной заставки пользователя встречает экран регистрации - Welcome Screen. Если за компьютером работает несколько человек, то именно здесь нужно выбрать свою учетную запись и ввести пароль. Если же пользователь один, то операционная система лишь поприветствует его и регистрация произойдет автоматически.
Кстати, если вам очень хочется, чтобы помимо учетной записи пользователя предлагалось еще войти в систему и под именем Администратора, то просто добавьте в раздел реестра
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogonSpecial
AccountsUserList
параметр "Administrator"=dword:00000001, и на экране появится еще одно поле - "Administrator". Но лучше не нарушать приятный дизайн этого диалога, а "логиниться" админом, вызвав обычный диалог входа в Windows.
Для этого, когда появится Welcome Screen, просто дважды нажмите клавиши Ctrl+Alt+Del - появится старое доброе окно для ввода имени и пароля пользователя.
Но мы отвлеклись от главного - как перерисовать Welcome Screen? А перерисовать его тоже не очень просто и даже сложнее, чем начальную заставку, поскольку и он хитрым образом закодирован внутри одного из системных файлов, а именно - WindowsSystem32logonui.exe.
Tехнология его изменения такова. Опять копируем файл в две разных папочки - в одной сохраняем его исходный вариант, чтобы без проблем вернуть на место в случае неудачи, а в другой оставляем файл, который и будем препарировать. Берем уже известную программу Resource Hacker и открываем в нем подготовленный к экзекуции logonui.exe. Да! совсем забыл!
Прежде чем приступать к операции, надо представить, что же вы хотите получить, а еще лучше - сделать скриншот этого диалога и изменить его в каком-нибудь графическом редакторе так, как вы задумали. Учтите только, что для начала никаких серьезных переделок не стоит планировать - общая структура картинки должна сохраниться. А это - широкая полоса сверху, отделенная от основного фона узкой разноцветной ленточкой и такая же полоса с ленточкой снизу, плюс картинка в верхнем левом углу экрана - в исходном варианте это что-то типа слабой засветки.
Именно эти элементы мы и попробуем изменить. Потом, когда вы досконально разберетесь, как все это закодировано в logonui.exe, сможете уже более заметно отойти от первоначального шаблона, в том числе изменить стандартные надписи в диалоге регистрации пользователя и выключения компьютера - найдете их в ветви "String Table" программы Resource Hacker.
Итак, в Resource Hacker открываем ветвь UIFILE10001033 (последняя цифра может отличаться) и в правой части окна программы двигаем полосу прокрутки вниз до тех пор, пока вместо белого поля не появятся первые строки кода: