I was looking around, and while there's a handful of UI-based tweaking tools, there's nothing for the command line.
The problem with using reg values is you need to understand binary math before editing UserPreferencesMask, or otherwise you have to accept someone's recommended values. After finding a good lead, I wrote a batch script which can be run from Post-Setup.
1. Running
UserPreferences.bat, reports the current
UserPreferencesMask reg values and maps out the enabled Settings.
Code:
C:\Users\GARLIN\Downloads>UserPreferencesMask.bat
"UserPreferencesMask"=hex(3):9E,1E,07,80,12,00,00,00
MenuAnimation
ComboBoxAnimation
ListBoxSmoothScrolling
GradientCaptions
HotTracking
MenuFade
SelectionFade
ToolTipAnimation
ToolTipFade
HidePointerWhileTyping
UseVisualStylesButtons
ShowShadowsUnderMenus
UIEffects
AnimateControlsInWindows
EnableClearType
2. "
UserPreferences.bat -help" dumps a list of all known names, and new aliases like
AnimationEffects (which is a group of several settings).
Code:
C:\Users\GARLIN\Downloads>UserPreferencesMask.bat -help
ActiveWindowTracking
ActiveWindowTrackingZOrder
AnimateControlsElementsInWindows
AnimateControlsInWindows
AnimationEffects (alias)
ClickLock
ComboBoxAnimation
CursorShadow
DisableOverlappedContent
EnableClearType
EnableSpeechRecognition
GradientCaptions
HidePointerWhileTyping
HotTracking
KeyboardCues
LanguageBar
ListBoxSmoothScrolling
MenuAnimation
MenuFade
SelectionFade
ShowPointerLocation
ShowShadowsUnderMenus
ShowShadowsUnderWindows
ToolTipAnimation
ToolTipFade
UIEffects
UseVisualStylesButtons
UseVisualWindowsAndButtons
3. You may specify a list of Settings, in the form
Name (enabled) or
-Name (disabled). The script will confirm which Settings which changes will be made; and if you're not running with Admin rights, print the proper reg file. Unrecognized Names are silently ignored.
For example, to disable AnimationEffects (an alias) and enable Mouse Click Lock.
Code:
C:\Users\GARLIN\Downloads>UserPreferencesMask.bat -AnimationEffects ClickLock
Enabled: ClickLock
Disabled: AnimateControlsInWindows, ComboBoxAnimation, ListBoxSmoothScrolling, MenuAnimation, SelectionFade, ToolTipAnimation
GradientCaptions
HotTracking
MenuFade
ToolTipFade
ClickLock
HidePointerWhileTyping
UseVisualStylesButtons
ShowShadowsUnderMenus
UIEffects
EnableClearType
[HKEY_CURRENT_USER\Control Panel\Desktop]
"UserPreferencesMask"=hex(3):90,92,07,80,10,00,00,00
[HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics]
"MinAnimate"=0
If you are running as Admin, the script will directly update the registry. You probably need to LOG OUT for the changes to take effect, not just restarting Explorer.
4. This script doesn't try to cover every possible Visual Effects tweak. But checking with
RegistryChangesView, it recreates all the changes that switching Animation Effects on & off makes. The final objective is a tool which only changes the bitmasks are needed, instead of forcing you to copy someone else's UserPreferencesMask.
So it's useful for scripting profile changes. Run it from the command line or Post-Setup
(After logon).