You are on page 1of 3

Windows 7 to officially support logon UI background customization

15 Mar 2009 380 Comments As you probably know, Windows 7 build 7057, a build recently leaked to the public, sports a new (yet ugly) login UI background. Delivering on the more customizable promise, Windows 7 now supports the ability to load images into the background of the login screen without the use of third-party

software or manual h

acks. Figure 1 Logon UI background image before and after customization. Although this functionality was designed with OEMs in mind, it is pretty easy to turn on and off using regedit and some images lying around your hard drive. First, a check is made to determine if the customization functionality is enabled or not. More precisely, a DWORD value named OEMBackground in the HKLM\Software\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background key is checked. Its data, of Boolean type, defines whether or not this behavior is turned on, i.e. 1 for enabled, 0 for disabled. This value may not exist by default, depending on your system. Afterwards, if customization is enabled, the primary monitors screen height and width are retrieved via calls to GetSystemMetrics. These values are used in the computation of the screen width (w)/height (h) ratio. For example, my desktop resolution is 19201200. The ratio, computed by the division of w/h, is 1.6:1. The result of this computation is looked up in an internal table that drives what image to load on disk. It appears resolutions higher than 19201200 will force the loading and zooming of an image of closest compatibility (i.e. same ratio, smaller image). As this is an OEM feature images are derived from %windir%\system32\oobe\info\backgrounds. Like the registry value, this folder may not exist by default. The following files (sorted by width-to-height ratio) are supported in this folder: backgroundDefault.jpg background768x1280.jpg (0.6) background900x1440.jpg (0.625) background960x1280.jpg (0.75) background1024x1280.jpg (0.8) background1280x1024.jpg (1.25) background1024x768.jpg (1.33-) background1280x960.jpg (1.33-) background1600x1200.jpg (1.33-) background1440x900.jpg (1.6) background1920x1200.jpg (1.6) background1280x768.jpg (1.66-)

background1360x768.jpg (1.770833-)

NOTE: Images must be less than 256kb in size. Thanks for pushing me to investigate, Jay C. The backgroundDefault.jpg image is loaded and stretched-to-fit when a resolution/ratio-specific background cannot be found. The other resolution/ratio-specific files are self-explanatory. If the background cannot be loaded (e.g. image physically too large, incorrect ratio, etc.), the default SKUbased image is loaded from imagesres.dll. Youll see a Windows Server-themed grayish background in there, too, suggesting this functionality is not specific to client SKUs. Curious Corner The RDP client, used in the screenshots above, is simply something I put together in C#. The System Center Virtual Machine Manager client provided by Microsoft doesnt offer the ability to control whether or not my keyboard was hooked when in windowed-mode therefore equating to an unacceptable level of suckage. http://www.aeroxp.org Bryant Its about time.

You might also like