4 // Make usable for different users (multiple structs!)
6 #define SPI_TABLE1_MIN 1
7 #define SPI_TABLE1_MAX 119
8 #define SPI_TABLE2_MIN 4096
9 #define SPI_TABLE2_MAX 4171
10 #define SPI_TABLE3_MIN 8192
11 #define SPI_TABLE3_MAX 8215
13 #define SPIF_PROTECT 0x80000
15 typedef enum _USERPREFMASKS
17 UPM_ACTIVEWINDOWTRACKING
= 0x01,
18 UPM_MENUANIMATION
= 0x02,
19 UPM_COMBOBOXANIMATION
= 0x04,
20 UPM_LISTBOXSMOOTHSCROLLING
= 0x08,
21 UPM_GRADIENTCAPTIONS
= 0x10,
22 UPM_KEYBOARDCUES
= 0x20,
23 UPM_ACTIVEWNDTRKZORDER
= 0x40,
24 UPM_HOTTRACKING
= 0x80,
27 UPM_SELECTIONFADE
= 0x400,
28 UPM_TOOLTIPANIMATION
= 0x800,
29 UPM_TOOLTIPFADE
= 0x1000,
30 UPM_CURSORSHADOW
= 0x2000,
31 UPM_CLICKLOCK
= 0x8000,
32 UPM_FLATMENU
= 0x20000,
33 UPM_DROPSHADOW
= 0x40000,
35 UPM_UIEFFECTS
= 0x80000000,
36 UPM_DEFAULT
= 0x80003E9E
48 typedef struct _SPIVALUES
51 NONCLIENTMETRICSW ncm
;
54 UINT uiFocusBorderWidth
;
55 UINT uiFocusBorderHeight
;
58 ACCESSTIMEOUT accesstimeout
;
59 HIGHCONTRASTW highcontrast
;
62 AUDIODESCRIPTION audiodescription
;
63 BOOL bClientAreaAnimation
;
64 BOOL bDisableOverlappedContent
;
66 BOOL bSpeechRecognition
;
70 SOUNDSENTRYW soundsentry
;
75 CURSORACCELERATION_INFO caiMouse
;
78 BOOL bMouseCursorShadow
;
79 DWORD dwMouseClickLockTime
;
83 BOOL bSmoothScrolling
;
86 INT iMouseHoverHeight
;
94 INT iWheelScrollLines
;
95 #if (_WIN32_WINNT >= 0x0600)
96 UINT uiWheelScrollChars
;
100 FILTERKEYS filterkeys
;
101 SERIALKEYS serialkeys
;
102 STICKYKEYS stickykeys
;
103 TOGGLEKEYS togglekeys
;
110 INT iScrSaverTimeout
;
111 BOOL bScrSaverActive
;
112 BOOL bScrSaverRunning
;
113 #if(WINVER >= 0x0600)
114 BOOL bScrSaverSecure
;
124 DWORD dwUserPrefMask
;
126 UINT uiFontSmoothingType
;
127 UINT uiFontSmoothingContrast
;
128 UINT uiFontSmoothingOrientation
;
129 BOOL bDragFullWindows
;
131 DWORD dwMenuShowDelay
;
132 BOOL bBlockSendInputResets
;
133 #if(_WIN32_WINNT >= 0x0600)
138 TEXTMETRICW tmMenuFont
;
139 TEXTMETRICW tmCaptionFont
;
143 ULONG cxWallpaper
, cyWallpaper
;
144 WALLPAPER_MODE WallpaperMode
;
145 UNICODE_STRING ustrWallpaper
;
146 WCHAR awcWallpaper
[MAX_PATH
+ 1];
149 BOOL bFastTaskSwitch
;
150 UINT uiGridGranularity
;
152 ANIMATIONINFO animationinfo
;
155 DWORD dwForegroundLockTimeout
;
156 DWORD dwActiveTrackingTimeout
;
157 DWORD dwForegroundFlashCount
;
161 // SPI_SETDESKPATTERN
166 // SPI_GETWINDOWSEXTENSION
168 } SPIVALUES
, *PSPIVALUES
;
170 typedef union _SPIBUFFER
173 WCHAR awcWallpaper
[MAX_PATH
+1];
174 FILTERKEYS fiterkeys
;
175 TOGGLEKEYS togglekeys
;
177 STICKYKEYS stickykeys
;
178 ACCESSTIMEOUT accesstimeout
;
179 SERIALKEYS serialkeys
;
180 SOUNDSENTRYW soundsentry
;
181 NONCLIENTMETRICSW ncmetrics
;
182 MINIMIZEDMETRICS mmmetrics
;
183 ICONMETRICSW iconmetrics
;
184 HIGHCONTRASTW highcontrast
;
185 ANIMATIONINFO animationinfo
;
186 #if(WINVER >= 0x0600)
187 AUDIODESCRIPTION audiodescription
;
191 extern SPIVALUES gspv
;
192 extern BOOL g_PaintDesktopVersion
;
194 BOOL
InitSysParams();
195 #define SPITESTPREF(x) (gspv.dwUserPrefMask & x ? 1 : 0)