Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...

Изменение экрана приветствия

Текущий рейтинг: 3.7 (проголосовало 342)
 Посетителей: 145141 | Просмотров: 182592 (сегодня 0)  Шрифт: - +

В этой статье я расскажу о том, как создать (точнее изменить оригинальный) экран приветствия вручную, используя лишь программу Restorator для редактирования ресурсов (вы можете использовать другой редактор ресурсов). Конечно, нам понадобится графический редактор, чтобы изменить картинки (я использовал Adobe Photoshop CS2)

*
Увеличить рисунок

Приступаем к работе

  1. Заходим в каталог SYSTEM32 (обычно путь для всех примерно одинаковый - C:\Windows\System32).
  2. Копируем файл logonui.exe в файл myui.exe. Таким образом, мы создадим копию оригинального файла и не будем делать ничего, чему бы могла возразить система (файл myui.exe должен также находиться в папке SYSTEM32)
  3. Открываем файл myui.exe программой для редактирования ресурсов Restorator.

Описание ресурсов

Открыв файл, мы видим ресурсы. Рассмотрим их подробнее.

UIFILE => 1000
Данный ресурс содержит информацию, например, o положении картинок, нужно ли ставить текст "Приветствие" или же заменить его на картинку. Taкже здесь задаются цвета фона и т.д. По ходу создания экрана приветствия мы будем постоянно редактировать данный ресурс.

Bitmap => 1x
Это сами картинки, которые используются экраном приветствия, будем редактировать по порядку. В отличие от картинок Boot Screens (загрузочных экранов), здесь мы не ограничиваемся 16 цветами - это радует :)

String Table
K этому ресурсу обращаться НЕ будем, если только вы не захотите сменить надпись "Приветствие" (об этом в самом конце)

Ресурсы

100
Эта картинка отображается в левом верхнем углу (блик света)

102
Поле для ввода пароля

103
Не нажатая кнопка "Подтвердить"

104
Нажатая кнопка "Подтвердить"

105
Не нажатая кнопка "Подсказка о пароле"

106
Нажатая кнопка "Подсказка о пароле"

107
Нажатая кнопка "Выключение компьютера"

108
Нажатая кнопка "Выход из сеанса"

109
Стрелка вниз при пролистывании списка пользователей

110
Стрелка вверх при пролистывании списка пользователей

111
Отображаемая панель при пролистывании списка пользователей

112
Панель, которая отображается позади имени пользователя

113
Область, которая будет вмещать в себя картинку пользователя

114
Картинка, загружаемая по умолчанию, если отсутствует картинка пользователя

119
Аналогично с 113, только выделенная

121
Не нажатая кнопка "Выключение компьютера"

122
Не нажатая кнопка "Выход из сеанса"

123
Логотип, который отображается, думаю его трудно не узнать :)

124
Вертикальная полоса, которая разделяет экран приветствия при просмотре списка пользователей

125
Горизонтальная полоска, которая отображается вверху экрана приветствия

126
Горизонтальная полоска, которая отображается внизу экрана приветствия

127
Аналогично с 123

Редактирование ресурсов

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

Меняем цвета экрана приветствия

Мы будем редактировать строки ресурса UIFILE => 1000. Установка цветов - дело несложное. В каждой редактируемой строке нам необходимо будет установить нужный цвет, который указывается по принципу RGB (Красный Зелёный Синий). Например, строка имеет вид

background: rgb(90,126,220);

Здесь 90,126,220 - 90 красный, 126 зелёный, 220 синий

Я буду предлагать вашему вниманию такую структуру (разберу на примере первую редактируемую нами строку):

Строка 418 - фон всего экрана приветствия
background: rgb(90,126,220);

Здесь

Строка 418
номер строки, к которой следует перейти

background: rgb(90,126,220);
содержимое строки по умолчанию

Начинаем ;)

Строка 418 - фон всего экрана приветствия
background: rgb(90,126,220);

Строка 568 - фон под областью поля пользователя
background: rgb(90,126,220);

Строка 594 - обводка области поля пользователя
bordercolor: rgb(90,126,220);

Строка 669 - фон под областью пользователя, когда курсор мыши находится на левой половине экрана
background: rgb(90,126,220);

Строка 680 - обводка области пользователя, когда курсор мыши находится на левой половине экрана
bordercolor: rgb(0,255,255);

Строка 434 - верхняя область, в стандартном экране приветствия заполнена синим цветом
background: rgb(0,48,156);

Строка 449 - нижняя область, в стандартном экране приветствия заполнена синим цветом

Внимание! Данная строка отличается от вышеупомянутых, т.к. в нижней области не сплошной цвет, а градиент, т.е. нам необходимо указать два цвета - от какого градиент начнётся и каким закончится. Но можно сделать градиент и на верхнюю область, просто замените строку 434 нужной, взяв пример из строки 449 и отредактируйте цвета в строке

Строка 449 по умолчанию
background: gradient(argb(0,57,52,173), argb(0,0,48,156), 0);

В этой строке 57,52,173 - это начальный цвет градиента, данный цвет будет отображаться СЛЕВА
В этой строке 0,48,156 - это конечный цвет градиента, данный цвет будет отображаться СПРАВА


Строка 495 - цвет текста, в стандартном экране приветствия этот цвет белый. Он влияет на надписи "Приветствие" и "Чтобы начать работу, щелкните имя пользователя"
foreground: rgb(239,247,255);

Строка 628 - цвет текста имени пользователя при наведении курсора мыши
foreground: rgb(239,247,255)

Строка 648 - цвет текста, который, например, накладывается на надпись "Выполняется программ: х" (когда пользователь выделен)
foreground: rgb(239,247,255);

Строка 695 - цвет текста имени пользователя, когда курсор мыши находится на левой половине экрана
foreground: rgb(239,247,255);

Строка 463 - цвет текста надписи "Выключить компьютер"
foreground: white;

Внимание! Здесь у нас небольшое исключение - цвет указывается не по принципу RGB, а необходимо указать английское слово, обозначающее нужный цвет. В примере выше цвет "Белый", необходимо заменить слово "white".

Строка 479 - цвет текста надписи в нижней правой части экрана приветствия "После входа в систему можно добавлять..."
foreground: white;
аналогично с предыдущей строкой 463, необходимо заменить слово "white" на нужный цвет.

Строка 507 - цвет текста на тень для надписи "Приветствие"
foreground: rgb(49,81,181);
Здесь уже возвращаемся к принципу RGB.

Строка 906
Эта строка отвечает за два параметра.

  • В первом замените на цвет вашего фона, чтобы вокруг логотипа не отобразилось "чудо" ;) (необходимо заменить значения 90,126,220)
  • Второй устанавливает значения размера картинки логотипа XP. Если вы увеличиваете картинку, необходимо установить новые размеры, чтобы ваша картинка не показывалась в сжатом виде (необходимо заменить 137,86 - 137 это ширина картинки, а 86 это высота)
<element id=atom(product) contentalign=topright padding=rect(0rp,0rp,20rp,20rp) content=rcbmp(123,3,-1,137,86,0,0) background=rgb(90,126,220) />


Изменение надписи "Приветствие"

Можно изменить текст надписи, а можно заменить ее на собственный рисунок.

Если вы хотите изменить стандартную надпись "Приветствие", вам необходимо обратиться к ресурсу "String Table". Вы увидите в самом начале ресурса следующее:

7, "Приветствие"

Вот это и есть та самая надпись, которая отображается посередине экрана.

Внимание! Если вы хотите изменить слово "Приветствие", то для изменения ресурса пользуйтесь программой ResHacker, т.к. я заметил, что при использовании программы Restorator происходила ошибка загрузки экрана приветствия.

Если вы хотите убрать слово "Приветствие" и вместо нее установить, например, свой портрет :) то делаем следующее. Открываем ресурс UIFILE => 1000 и удаляем содержимое строк 911 и 912 (обратите внимание, что мы удаляем именно содержимое, а не сами строки). Вместо удаленного содержимого вставляем

<element id=atom(welcome) content=rcbmp(999,3,-1,399,120,0,0) />

999 - имя ресурса картинки, вы должны самостоятельно добавить ресурс с именем 999 в группу "Bitmap" и назначить данному ресурсу вашу картинку
399 - ширина рисунка
120 - высота рисунка

Вставляем изображение во весь экран приветствия

Думаю это самая интересная часть статьи :-)
Существует возможность не только установить один цвет фона для всего экрана приветсвия, но и заменить этот самый один единственный цвет на полноценное 32 битное изображение своего любимого кота кузю ;-)
Т.к. мы будем вставлять изображение на весь экран, нам больше не нужен ресурс 100, который содержит блик света в верхнем левом углу экрана, поэтому, мы назначаем этому ресурсу наше изображение, которое будет фоном экрана приветствия.

Начнём ;)
Переходим к строке 418 и заменяем строку на следующую:

background: rcbmp(100);

Где 100 - ресурс, содержащий ваше изображение
Ещё, нам необходимо заменить строку, отвечающую за отображение нашего старого доброго блика света, если не заменим, то наше большое изображение будет дублировано в эту маленькую область в уменьшенном виде.
Заменяем строку 903 на

<element id=atom(contentcontainer) layout=flowlayout(1,3,2,3) layoutpos=client>

Просто? Не так ли?

Убираем верхнюю и нижнюю панели

Думаю многие из вас (да я даже уверен!) захотят вставить изображение до самых краёв монитора))), и верхняя и нижняя панели тому препятствие, которое мы с радостью и быстренько сейчас устраним :)
Для удаления панелей делаем следующее
Удаляем содержимое строк 882, 883 и 884 (избавимся от верхней панели)
Примечание. Удалять целые строки вовсе не обязательно, можно их просто закомментировать, для этого отмечаем символами
/* начало комментария
*/ конец комментария

С нижней панелью всё не так просто, необходимо сначала заменить содержимое строки 449 на

background: rcbmp(100);

Где 100 - ресурс, содержащий ваше изображение

Также, нам необходимо удалить содержимое строк, начиная с 452 и заканчивая 455 включительно (этим действием мы уберём полоску, которая лежит в ресурсе 126)

Немного косметики ;-)

Можно навести немного косметики, удалив горизонтальную полоску посередине экрана, хотя это конечно уже дело вкуса
Удаляем содержимое строк начиная с 527 и заканчивая 530 включительно
Ещё для косметики можно удалить маленький логотип XP, переходим к строке 906 и в этой строке удаляем следующую часть

content=rcbmp(123,3,-1,137,86,0,0)

ИЛИ можно не удалять данный логотип, а перенести его в нижний правый угол, для этого удаляем содержимое строки 906
Примечание. Если вы не хотите перемещать логотип XP, а хотите добавить новое изображение в нижний правый угол, то просто замените значение 123 на имя ресурса содержащего ваше изображение и не удаляйте содержимое строки 906
Устанавливаем курсор на строку 925, если точнее, то перед содержимым

 </logonframe>

вставляем следующий код

<element id=atom(ContentContainerLeftPanel1) layout=filllayout() layoutpos=right>
<element id=atom(ContentContainerLeftPanel2) layout=flowlayout(1,3,2,3) layoutpos=bottom>
<element id=atom(product) contentalign=bottomright padding=rect(0rp,0rp,10,0) content=rcbmp(123,3,-1,0,0,0,0) background=argb(0,0,0,0) />
</element>
</element>

Заметьте, в 3 строки часть строки содержит информацию о ресурсе с изображением

content=rcbmp(123,3,-1,0,0,0,0)

Примечание. Если вы хотите сделать данное лого очень красивое, то сохраняйте изображение с альфа прозрачностью
Если вы сохраняете с альфа прозрачностью, то обязательно измените в строке

content=rcbmp(123,3,-1,0,0,0,0)

число 3 на 2, это обязательно, только тогда ваше изображение будет выглядеть действительно красивым
Внимание! Если вы произведёте вышеуказанную замену чисел, но при этом ваше изображение не будет сохранено в необходимом формате, при загрузке экрана приветствия вы получите сообщение об ошибке "Value creation failed '' at line xxx", где xxx - номер строки, в которой произошла ошибка, экран приветствия при этом не будет загружен, для решения проблемы либо сохраните ваше изображение в нужном формате, либо произведите обратную замену чисел.
Примечание. В конце данного раздела рассказано, как сохранить изображение в нужном формате с прозрачностью, чтобы избежать ошибок загрузки экрана приветствия, да и вообще чтобы сделать ваш экран приветствия более симпатичным ;)
Далее, на 902 строку (она по-умолчанию пустая) вставляем

<element id=atom(contentcontainer0) layout=filllayout() layoutpos=client>

и перед 930 строкой вставляем (перед </logonframe>)

</element>


Сохранение изображений с альфа-прозрачностью в Adobe Photoshop

Сейчас я вам расскажу, как сохранить изображение так, чтобы оно было прозрачным на фоне изображения экрана приветствия
Примечание. Данный небольшой рассказ также может помочь вам создать прозрачное изображение oemlogo.bmp, чтобы оно сливалось с цветом диалогового окна Свойств системы.
Я опишу действия создания изображения с альфа-прозрачностью в графическом редакторе Adobe Photoshop CS2, более поздними версиями данного редактора не пользуюсь по причине слабости машины, но я думаю вы разберётесь ;)
И так, приступим
1. Откройте ваше изображение (PSD файл) в графическом редакторе, либо создайте новый документ
2. При создании документа вовсе не обязательно ставить "Содержимое фона" как "Прозрачный", ставьте тот фон, на котором вам будет удобно редактировать ваше изображение
3. После редактирования вашего изображения установите "Видимость слоя" "Задний план" так, чтобы слой не был виден
4. Нажимаем меню Изображение - Вычисления...
Примечание. Если в списке слоёв у вас установлен выбор одного из текстового слоя, то пункт меню "Вычисления..." будет недоступен
5. Убедитесь, что в группах "Источник 1" и "Источник 2" значение параметра "Слой" соответствует "Объединенный"
6. В группах "Источник 1" и "Источник 2" установите опцию "Канал" как "Прозрачность"
Примечание. В некоторых случаях, если опция "Канал" в группе "Источник 2" установлена на "Прозрачность", изображение может получиться менее видимым
7.  Нажимаем кнопочку OK ;)
8. Сохраняем наше изображение в формате BMP, даже не пытайтесь сохранять в JPEG фомате, проверено, ничего хорошего не получается ;)
Внимание! При показе диалога сохранения файла не убирайте галочку с опции "Альфа-каналы"
Внимание! Глубина цвета сохраняемого изображения должна быть только 32 бит
На этом всё! :)

Заставляем систему использовать изменённый экран приветствия

Ну вот и закончено редактирование ресурсов экрана приветствия! Oстаётся заставить систему использовать наш экран приветствия. Это достигается путем редактирования параметров реестра. Открываем редактор реестра (Пуск - Выполнить - REGEDIT - OK. После того, как редактор реестра запустился, переходим в раздел

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

и меняем значение расширяемого строкового параметра UIHost на myui.exe. После чего закрываем редактор реестра.

Чтобы просмотреть созданный экран приветствия необязательно перезагружаться - достаточно выполнить команду "Завершение сеанса" или "Смена пользователя".

Чтобы использовать собственный экран приветствия при установке системы, вам нужно скопировать измененный экран приветствия в папку System32 и импортировать вышеуказанные параметры в реестр во время установки ОС. Твик реестра будет выглядеть примерно так:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
UIHost="%systemroot%\system32\myui.exe"

Примечание. Если путь к экрану приветствия указан неверно, будет использоваться стандартное классическое приглашение на вход в систему. Если вы используете твик для классического приглашения на вход в систему, то экран приветствия автоматически игнорируется, так что вы не можете использовать оба. Однако вы можете иметь оба файла в системе. Просто не используйте GinaDll твик, если вы хотите использовать экран приветствия.

На этом все! Удачных экспериментов!

Автор: K.A.V  •  Иcточник: winxpregp.narod.ru/  •  Опубликована: 13.06.2008
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER


Оценить статью:
Вверх
Комментарии посетителей
24.01.2009/01:29  p.p.

Здравствуйте.
Большое спасибо за статью!
Подскажите,пожалуйста,как мне изменить слово "Приветствие" на "Добро пожаловать" (как в Windows Vista - просто буква "Д" получается наполовину обрезанной)? Пользовался программой ResHacker.
15.12.2009/13:22  Microteam

p.p попробуй подвинуть текст
06.03.2010/17:14  Kitsune

вот теперь интересно как поменять стиль кнопок выключения!
20.04.2010/16:02  d3dyd

Подскажите, пожалуйста, как подвинуть текст "Приветствие"? Хочу чтобы он был внизу экрана.
Спасибо.
29.04.2010/18:24  shtur2005

Сорри, я наверно ослеп..Файлюка C:\Windows\System32\myui.exe нету..Чё делать-то, о великий сэнсэй?

Может, оЧепятались?(=
30.04.2010/09:02  Vadikan

Имя файла дано для примера... его нужно создать, там же написано...
Дальнейшие вопросы направляйте в форумы оформления http://forum.oszone.net/forum-112.html
Комментарии отключены. С вопросами по статьям обращайтесь в форум.