01-26-2010, 05:35 AM
In this tutorial I will show you how to manually customize your Windows XP logon screen.
Intro (Click to View)
I will not use any Logon changer software, I will rather show you how to do it without such software.
But everyone needs Tools, and one we will use here is the Resource Hacker tool.
If you don't have this tool, download it please.
But everyone needs Tools, and one we will use here is the Resource Hacker tool.
If you don't have this tool, download it please.
Start (Click to View)
Open your File Explorer and browse to "C:\WINDOWS\system32", and locate "logonui.exe", or simply run a search for the file.
Once you found it copy it somewhere you feel right, and rename it. I will name mine "geeklogon.exe".
Ok a copy of "logonui.exe" is made and it was renamed, now press "Start" on your Taskbar and select "Run", type "regedit".
Now the Registry Editor is open, double click "HKEY_LOCAL_MACHINE", now expand "SOFTWARE" and then "Microsoft", now scroll down until you find "Windows NT", once expanded look for Winlogon.
On the right side you will see some thing like
The "UIHost" entry is what are we looking for, double click it and change it's current value "logonui.exe" to your new logon.
Like I said I will name mine "geeklogon.exe"
After you have set the new logon in the Registry you can close it.
Once you found it copy it somewhere you feel right, and rename it. I will name mine "geeklogon.exe".
Ok a copy of "logonui.exe" is made and it was renamed, now press "Start" on your Taskbar and select "Run", type "regedit".
Now the Registry Editor is open, double click "HKEY_LOCAL_MACHINE", now expand "SOFTWARE" and then "Microsoft", now scroll down until you find "Windows NT", once expanded look for Winlogon.
On the right side you will see some thing like
This Wrote:
The "UIHost" entry is what are we looking for, double click it and change it's current value "logonui.exe" to your new logon.
Like I said I will name mine "geeklogon.exe"
Screen Wrote:
After you have set the new logon in the Registry you can close it.
Editing (Click to View)
Now let us start editing the Logon.
Open up Resource Hacker and open your new logon file with it. (CTRL+O)/(geeklogon.exe)
You should see
In the list on the left all resources that are used by the logon are listed.
The "UIFILE" holds all layout scripts.
Under "Bitmap" as you can imagine are bitmaps saved,
wich your Login screen uses.
"String Table" is were you can find the text like "Welcome" or "Shutdown"
and the last is "Version Info", wich is not touched in this tut.
So let us start small and change some text...
Expand the "String Table" and "1" then select "1031"
On the right you see entries that you can now edit, change the text between "" how you like it.
After you have changed everything you wanted press on the Button "Compile Script".
Save the File.
NOTE: You can test your Logon now, paste a "copy"(not move) of your new logon in "C:\WINDOWS\system32", after
your file is in system32 dir you can press WIN+L to reach the Login screen
Open up Resource Hacker and open your new logon file with it. (CTRL+O)/(geeklogon.exe)
You should see
This Wrote:
In the list on the left all resources that are used by the logon are listed.
The "UIFILE" holds all layout scripts.
Under "Bitmap" as you can imagine are bitmaps saved,
wich your Login screen uses.
"String Table" is were you can find the text like "Welcome" or "Shutdown"
and the last is "Version Info", wich is not touched in this tut.
So let us start small and change some text...
Expand the "String Table" and "1" then select "1031"
Screen Wrote:
On the right you see entries that you can now edit, change the text between "" how you like it.
After you have changed everything you wanted press on the Button "Compile Script".
Save the File.
NOTE: You can test your Logon now, paste a "copy"(not move) of your new logon in "C:\WINDOWS\system32", after
your file is in system32 dir you can press WIN+L to reach the Login screen
Bitmap editing (Click to View)
NOTE: I will not show you how to design your Login so you will need to play with designing images for your Logon
Now let us edit some pictures, expand "Bitmap" and go to 100 -> 1031.
You will see a picture on the right that is used.
For now on you can not use bigger images then the original one so I would recommend exporting the current image and editing it.
In the top menu bar click on "Action" and then "Save[Bitmap : x : X]" x is a id number and in this case x=100, X=1031
Edit the image now how you want, with any image editing software.
Once you have the image you want to replace the original with, go to "Action"->"Replace Bitmap"
and click on "Open file with new Bitmap" and locate your new image" and then "Replace".
Once you have it save the file (CTRL+S)
NOTE: if you want to test it copy/replace "geeklogon.exe"(or however you named it) in the system32 directory with the one you are working on.
and press WIN+L
Now let us edit some pictures, expand "Bitmap" and go to 100 -> 1031.
You will see a picture on the right that is used.
Screen Wrote:
For now on you can not use bigger images then the original one so I would recommend exporting the current image and editing it.
In the top menu bar click on "Action" and then "Save[Bitmap : x : X]" x is a id number and in this case x=100, X=1031
Edit the image now how you want, with any image editing software.
Once you have the image you want to replace the original with, go to "Action"->"Replace Bitmap"
and click on "Open file with new Bitmap" and locate your new image" and then "Replace".
Screen Wrote:
Once you have it save the file (CTRL+S)
NOTE: if you want to test it copy/replace "geeklogon.exe"(or however you named it) in the system32 directory with the one you are working on.
and press WIN+L
Layout Editing (Click to View)
And here comes the fun/hard part, we will edit the layout script and allow usage of bigger bitmaps then original one.
NOTE: before saving the changes in the layout code you need to "Compile Script"
Now this part of code is bit of hard cause it seems like it was mixed with few languages...
But I will guide you throught the basics...
Now we work with "UIFILE" first this one looks like there is nothing, but if you scroll it down you will see some scripting.
You should read this one few times, and since it has obivious names like "toppanelss" I think you should get what it is standing for.
The actual layout code starts with this line
Everything above that is style definition
Now let us look at the functions we can use..
The most important function for embeding images is the "rcbmp" function wich accept 7 attributes
1: is the ID of the image to use (example above image ID 100)
2: this one defines how to handle the next attribute
3: html color code. if attr 2 is "6" it means that the image will be transparent and with attr 3 you define the color of the same image #FF00FF
4&5: are used to set width & height of the image. 100x100 image would be called as 100rp,100rp
6&7. I don't have a clue... sorry
example:
background: rcbmp(100,6,#FF00FF,1600rp,1200rp,1,0) // will output image 100 with transparent #FF00FF color in size of 1600x1200 pixel
The next useful function is "gardient" wich is used with the element "background:" and "argb(alpha,red,green,blue)"
the use of the function is as following
gardient(argb(100,255,255,255), argb(100,0,0,0),0) // the last attribute is to define direction of gardient 1:vertical 0:horizontal
this will output horizontal gardient from white to black
NOTE: before saving the changes in the layout code you need to "Compile Script"
Now this part of code is bit of hard cause it seems like it was mixed with few languages...
But I will guide you throught the basics...
Now we work with "UIFILE" first this one looks like there is nothing, but if you scroll it down you will see some scripting.
You should read this one few times, and since it has obivious names like "toppanelss" I think you should get what it is standing for.
Screen Wrote:
The actual layout code starts with this line
Code:
<logonframe resid=main id=atom(frame) sheet=styleref(framess) layout=borderlayout()>
Everything above that is style definition
Now let us look at the functions we can use..
The most important function for embeding images is the "rcbmp" function wich accept 7 attributes
1: is the ID of the image to use (example above image ID 100)
2: this one defines how to handle the next attribute
3: html color code. if attr 2 is "6" it means that the image will be transparent and with attr 3 you define the color of the same image #FF00FF
4&5: are used to set width & height of the image. 100x100 image would be called as 100rp,100rp
6&7. I don't have a clue... sorry
example:
background: rcbmp(100,6,#FF00FF,1600rp,1200rp,1,0) // will output image 100 with transparent #FF00FF color in size of 1600x1200 pixel
The next useful function is "gardient" wich is used with the element "background:" and "argb(alpha,red,green,blue)"
the use of the function is as following
gardient(argb(100,255,255,255), argb(100,0,0,0),0) // the last attribute is to define direction of gardient 1:vertical 0:horizontal
this will output horizontal gardient from white to black