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,
33 UPM_UIEFFECTS
= 0x80000000,
34 UPM_DEFAULT
= 0x80003E9E
44 typedef struct _SPIVALUES
47 NONCLIENTMETRICSW ncm
;
50 UINT uiFocusBorderWidth
;
51 UINT uiFocusBorderHeight
;
54 ACCESSTIMEOUT accesstimeout
;
55 HIGHCONTRAST highcontrast
;
58 AUDIODESCRIPTION audiodescription
;
59 BOOL bClientAreaAnimation
;
60 BOOL bDisableOverlappedContent
;
62 BOOL bSpeechRecognition
;
66 SOUNDSENTRY soundsentry
;
71 CURSORACCELERATION_INFO caiMouse
;
74 BOOL bMouseCursorShadow
;
75 DWORD dwMouseClickLockTime
;
79 BOOL bSmoothScrolling
;
82 INT iMouseHoverHeight
;
90 INT iWheelScrollLines
;
91 #if (_WIN32_WINNT >= 0x0600)
92 UINT uiWheelScrollChars
;
96 FILTERKEYS filterkeys
;
97 SERIALKEYS serialkeys
;
98 STICKYKEYS stickykeys
;
99 TOGGLEKEYS togglekeys
;
106 INT iScrSaverTimeout
;
107 BOOL bScrSaverActive
;
108 BOOL bScrSaverRunning
;
109 #if(WINVER >= 0x0600)
110 BOOL bScrSaverSecure
;
120 DWORD dwUserPrefMask
;
122 UINT uiFontSmoothingType
;
123 UINT uiFontSmoothingContrast
;
124 UINT uiFontSmoothingOrientation
;
125 BOOL bDragFullWindows
;
128 DWORD dwMenuShowDelay
;
130 BOOL bBlockSendInputResets
;
131 #if(_WIN32_WINNT >= 0x0600)
136 TEXTMETRICW tmMenuFont
;
137 TEXTMETRICW tmCaptionFont
;
141 ULONG cxWallpaper
, cyWallpaper
;
142 WALLPAPER_MODE WallpaperMode
;
143 UNICODE_STRING ustrWallpaper
;
144 WCHAR awcWallpaper
[MAX_PATH
+ 1];
147 BOOL bFastTaskSwitch
;
148 UINT uiGridGranularity
;
150 ANIMATIONINFO animationinfo
;
153 DWORD dwForegroundLockTimeout
;
154 DWORD dwActiveTrackingTimeout
;
155 DWORD dwForegroundFlashCount
;
159 // SPI_SETDESKPATTERN
164 // SPI_GETWINDOWSEXTENSION
166 } SPIVALUES
, *PSPIVALUES
;
168 typedef union _SPIBUFFER
171 WCHAR awcWallpaper
[MAX_PATH
+1];
172 FILTERKEYS fiterkeys
;
173 TOGGLEKEYS togglekeys
;
175 STICKYKEYS stickykeys
;
176 ACCESSTIMEOUT accesstimeout
;
177 SERIALKEYS serialkeys
;
178 SOUNDSENTRY soundsentry
;
179 NONCLIENTMETRICSW ncmetrics
;
180 MINIMIZEDMETRICS mmmetrics
;
181 ICONMETRICS iconmetrics
;
182 HIGHCONTRAST highcontrast
;
183 ANIMATIONINFO animationinfo
;
184 #if(WINVER >= 0x0600)
185 AUDIODESCRIPTION audiodescription
;
189 extern SPIVALUES gspv
;
190 extern BOOL g_PaintDesktopVersion
;
192 BOOL
InitSysParams();
193 #define SPITESTPREF(x) (gspv.dwUserPrefMask & x ? 1 : 0)