.:: UPMCalc v1.0.1 documentation ::.

UserPreferencesMask is a cryptic registry entry that stores many of the Windows
visual effects settings and also some input and accessibility preferences. It's
a bitmask stored as little-endian hex inside a REG_BINARY value. It cannot be di
rectly edited without the use of bitwise math and understanding of functions of
individual bits (which are only partially documented).
That's why UPMCalc was created, it makes it easy to decode and manipulate UserPr
eferencesMask data. It can be used as a tweaker but if you're looking for a full
-fledged Windows visual tweaker, look elsewhere - UPMCalc has a narrow scope sin
ce it only deals with settings stored inside UPM.
It is also meant to serve as a detailed and up-to-date UPM reference because pre
sently the only official documentation dates back from Windows 2000 and is not v
ery descriptive.
- The story of missing bits. Ever since UserPreferencesMask was introduced, many
bits have been flagged as "reserved for future use". These have no function, th
ey are always 0 and even if you changed them to 1, it would have no consequence.
UPM size has doubled in Vista and only a few new bits were assigned a function
so now there are more unused bits that used ones. UPMCalc doesn't deal with unus
ed bits, you can only change those that have a known purpose.
- Bit 7 (Mouse hot tracking) is practically deprecated. When it is 0, controls w
ill still be highlighted on mouse-over, it will only affect the menus (as far as
I can tell) and not in all windows (e.g. menus in Notepad will not be highlight
ed but shell menus will).
- Bit 17 (Enable theming): starting with XP SP2, applications are not allowed to
load themes, it's a privilege reserved by system. Because of that, UPMCalc can
disable theming instantly but re-enabling it will not take effect until next log
on. If you don't want to log off, you can activate theming manually through Cont
rol Panel (System > Advanced > Performance) but don't do it through Display Prop
erties because you will lose your customizations (wallpaper, screensaver, sounds
- When bit 31 (Enable UI effects) is set, individual effects can be turned on/of
f through dedicated bits, but when it is 0, it overrides those other bits and th
e effects are off. Disabling UI effects also disbles flat menus (a setting store
d outside UPM), which can look lousy on XP. To clarify, 0 doesn't override all o
ther bits, just those UI effects-related and it doesn't disable all Windows visu
al effects (for example, window animations are unaffected). It is generally reco
mmended to leave bit 31 with the default setting.
- Bit 32 (Disable overlapped content) is strictly an accessibility feature. When
this bit is set, it takes longer to log in. Also note that it will remove the w
allpaper and turn the desktop black (not effective immediately after Apply but o
n next logon).
- Bit 33 (Animate controls and elements inside windows) doesn't affect current w
indows, only those that were created after you applied this bit. So to see the c
hanges in UPMCalc window, you would have to exit and run it again.
- Bit 36 (Enable ClearType) can be misleading. On Vista, this bit is set if the
dropbox in the Effects dialog shows "ClearType", even if font smoothing is not a
ctually enabled. In other words, if font smoothing is enabled, bit 36 determines
whether standard (0) or ClearType (1) is used. On Win7, this bit also defaults
to 1 but it doesn't serve any purpose because standard font smoothing has been d
iscontinued (many people are complaining about this so perhaps it will be reintr
oduced with SP1).
- For calculatory purposes, you can switch between XP and Vista/Win7 mode but of
course you can only apply the data or get it from registry in the mode that cor
responds to your operating system.
Note that loading the defaults in XP mode only affects bits 0-31 so after switch
ing to Vista/Win7 mode, UPM will not necessarily have the default bit settings,
unless you hit the Default button again.
- UPMCalc officially supports XP, Vista and Win7 but it should also work fine wi
th their "relatives". Windows 2000 and Server 2003 will be treated as XP, while
Windows Server 2008 will be treated as Vista. UserPreferencesMask should be exac
tly the same on XP and 2003, same goes for Vista and 2008, but again, I haven't
verified this so I can't make it official.
Windows 2000 users should keep in mind that bits 14-18 weren't assigned a functi
on before XP so they will be useless.
- UPMCalc window hogs a big chunk of screen and is not resizable/scrollable so i
t isn't suitable for resolutions < 1024x768.
Legal-like stuff:
UPMCalc is freeware - share it but don't sell it, try it but don't buy it. The a
uthor, which is me, takes no responsibility for the actions of his program or pe
ople who use it.
2010 Andrea Milanovic aka aerDNA