-
Notifications
You must be signed in to change notification settings - Fork 0
/
SPI.cs
1251 lines (1072 loc) · 69.8 KB
/
SPI.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#region license
/*
EvrPlay - A simple media player which plays using the Enhanced Video Renderer
Copyright (C) 2008 andy vt
http://babvant.com
This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.
1. Definitions
The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law.
A "contribution" is the original software, or any additions or changes to the software.
A "contributor" is any person that distributes its contribution under this license.
"Licensed patents" are a contributor's patent claims that read directly on its contribution.
2. Grant of Rights
(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
3. Conditions and Limitations
(A) Reciprocal Grants- For any file you distribute that contains code from the software (in source code or binary format), you must provide recipients the source code to that file along with a copy of this license, which license will govern that file. Code that links to or derives from the software must be released under an OSI-certified open source license.
(B) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
(C) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically.
(D) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software.
(E) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.
(F) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement.
*/
#endregion
using System;
using System.Collections.Generic;
using System.Text;
namespace babgvant.EVRPlay
{
[Flags]
public enum SPIF
{
None = 0x00,
SPIF_UPDATEINIFILE = 0x01, // Writes the new system-wide parameter setting to the user profile.
SPIF_SENDCHANGE = 0x02, // Broadcasts the WM_SETTINGCHANGE message after updating the user profile.
SPIF_SENDWININICHANGE = 0x02 // Same as SPIF_SENDCHANGE.
}
#region SPI
/// <summary>
/// SPI_ System-wide parameter - Used in SystemParametersInfo function
/// </summary>
//[Description("SPI_(System-wide parameter - Used in SystemParametersInfo function )")]
public enum SPI : uint
{
/// <summary>
/// Determines whether the warning beeper is on.
/// The pvParam parameter must point to a BOOL variable that receives TRUE if the beeper is on, or FALSE if it is off.
/// </summary>
SPI_GETBEEP = 0x0001,
/// <summary>
/// Turns the warning beeper on or off. The uiParam parameter specifies TRUE for on, or FALSE for off.
/// </summary>
SPI_SETBEEP = 0x0002,
/// <summary>
/// Retrieves the two mouse threshold values and the mouse speed.
/// </summary>
SPI_GETMOUSE = 0x0003,
/// <summary>
/// Sets the two mouse threshold values and the mouse speed.
/// </summary>
SPI_SETMOUSE = 0x0004,
/// <summary>
/// Retrieves the border multiplier factor that determines the width of a window's sizing border.
/// The pvParam parameter must point to an integer variable that receives this value.
/// </summary>
SPI_GETBORDER = 0x0005,
/// <summary>
/// Sets the border multiplier factor that determines the width of a window's sizing border.
/// The uiParam parameter specifies the new value.
/// </summary>
SPI_SETBORDER = 0x0006,
/// <summary>
/// Retrieves the keyboard repeat-speed setting, which is a value in the range from 0 (approximately 2.5 repetitions per second)
/// through 31 (approximately 30 repetitions per second). The actual repeat rates are hardware-dependent and may vary from
/// a linear scale by as much as 20%. The pvParam parameter must point to a DWORD variable that receives the setting
/// </summary>
SPI_GETKEYBOARDSPEED = 0x000A,
/// <summary>
/// Sets the keyboard repeat-speed setting. The uiParam parameter must specify a value in the range from 0
/// (approximately 2.5 repetitions per second) through 31 (approximately 30 repetitions per second).
/// The actual repeat rates are hardware-dependent and may vary from a linear scale by as much as 20%.
/// If uiParam is greater than 31, the parameter is set to 31.
/// </summary>
SPI_SETKEYBOARDSPEED = 0x000B,
/// <summary>
/// Not implemented.
/// </summary>
SPI_LANGDRIVER = 0x000C,
/// <summary>
/// Sets or retrieves the width, in pixels, of an icon cell. The system uses this rectangle to arrange icons in large icon view.
/// To set this value, set uiParam to the new value and set pvParam to null. You cannot set this value to less than SM_CXICON.
/// To retrieve this value, pvParam must point to an integer that receives the current value.
/// </summary>
SPI_ICONHORIZONTALSPACING = 0x000D,
/// <summary>
/// Retrieves the screen saver time-out value, in seconds. The pvParam parameter must point to an integer variable that receives the value.
/// </summary>
SPI_GETSCREENSAVETIMEOUT = 0x000E,
/// <summary>
/// Sets the screen saver time-out value to the value of the uiParam parameter. This value is the amount of time, in seconds,
/// that the system must be idle before the screen saver activates.
/// </summary>
SPI_SETSCREENSAVETIMEOUT = 0x000F,
/// <summary>
/// Determines whether screen saving is enabled. The pvParam parameter must point to a bool variable that receives TRUE
/// if screen saving is enabled, or FALSE otherwise.
/// </summary>
SPI_GETSCREENSAVEACTIVE = 0x0010,
/// <summary>
/// Sets the state of the screen saver. The uiParam parameter specifies TRUE to activate screen saving, or FALSE to deactivate it.
/// </summary>
SPI_SETSCREENSAVEACTIVE = 0x0011,
/// <summary>
/// Retrieves the current granularity value of the desktop sizing grid. The pvParam parameter must point to an integer variable
/// that receives the granularity.
/// </summary>
SPI_GETGRIDGRANULARITY = 0x0012,
/// <summary>
/// Sets the granularity of the desktop sizing grid to the value of the uiParam parameter.
/// </summary>
SPI_SETGRIDGRANULARITY = 0x0013,
/// <summary>
/// Sets the desktop wallpaper. The value of the pvParam parameter determines the new wallpaper. To specify a wallpaper bitmap,
/// set pvParam to point to a null-terminated string containing the name of a bitmap file. Setting pvParam to "" removes the wallpaper.
/// Setting pvParam to SETWALLPAPER_DEFAULT or null reverts to the default wallpaper.
/// </summary>
SPI_SETDESKWALLPAPER = 0x0014,
/// <summary>
/// Sets the current desktop pattern by causing Windows to read the Pattern= setting from the WIN.INI file.
/// </summary>
SPI_SETDESKPATTERN = 0x0015,
/// <summary>
/// Retrieves the keyboard repeat-delay setting, which is a value in the range from 0 (approximately 250 ms delay) through 3
/// (approximately 1 second delay). The actual delay associated with each value may vary depending on the hardware. The pvParam parameter must point to an integer variable that receives the setting.
/// </summary>
SPI_GETKEYBOARDDELAY = 0x0016,
/// <summary>
/// Sets the keyboard repeat-delay setting. The uiParam parameter must specify 0, 1, 2, or 3, where zero sets the shortest delay
/// (approximately 250 ms) and 3 sets the longest delay (approximately 1 second). The actual delay associated with each value may
/// vary depending on the hardware.
/// </summary>
SPI_SETKEYBOARDDELAY = 0x0017,
/// <summary>
/// Sets or retrieves the height, in pixels, of an icon cell.
/// To set this value, set uiParam to the new value and set pvParam to null. You cannot set this value to less than SM_CYICON.
/// To retrieve this value, pvParam must point to an integer that receives the current value.
/// </summary>
SPI_ICONVERTICALSPACING = 0x0018,
/// <summary>
/// Determines whether icon-title wrapping is enabled. The pvParam parameter must point to a bool variable that receives TRUE
/// if enabled, or FALSE otherwise.
/// </summary>
SPI_GETICONTITLEWRAP = 0x0019,
/// <summary>
/// Turns icon-title wrapping on or off. The uiParam parameter specifies TRUE for on, or FALSE for off.
/// </summary>
SPI_SETICONTITLEWRAP = 0x001A,
/// <summary>
/// Determines whether pop-up menus are left-aligned or right-aligned, relative to the corresponding menu-bar item.
/// The pvParam parameter must point to a bool variable that receives TRUE if left-aligned, or FALSE otherwise.
/// </summary>
SPI_GETMENUDROPALIGNMENT = 0x001B,
/// <summary>
/// Sets the alignment value of pop-up menus. The uiParam parameter specifies TRUE for right alignment, or FALSE for left alignment.
/// </summary>
SPI_SETMENUDROPALIGNMENT = 0x001C,
/// <summary>
/// Sets the width of the double-click rectangle to the value of the uiParam parameter.
/// The double-click rectangle is the rectangle within which the second click of a double-click must fall for it to be registered
/// as a double-click.
/// To retrieve the width of the double-click rectangle, call GetSystemMetrics with the SM_CXDOUBLECLK flag.
/// </summary>
SPI_SETDOUBLECLKWIDTH = 0x001D,
/// <summary>
/// Sets the height of the double-click rectangle to the value of the uiParam parameter.
/// The double-click rectangle is the rectangle within which the second click of a double-click must fall for it to be registered
/// as a double-click.
/// To retrieve the height of the double-click rectangle, call GetSystemMetrics with the SM_CYDOUBLECLK flag.
/// </summary>
SPI_SETDOUBLECLKHEIGHT = 0x001E,
/// <summary>
/// Retrieves the logical font information for the current icon-title font. The uiParam parameter specifies the size of a LOGFONT structure,
/// and the pvParam parameter must point to the LOGFONT structure to fill in.
/// </summary>
SPI_GETICONTITLELOGFONT = 0x001F,
/// <summary>
/// Sets the double-click time for the mouse to the value of the uiParam parameter. The double-click time is the maximum number
/// of milliseconds that can occur between the first and second clicks of a double-click. You can also call the SetDoubleClickTime
/// function to set the double-click time. To get the current double-click time, call the GetDoubleClickTime function.
/// </summary>
SPI_SETDOUBLECLICKTIME = 0x0020,
/// <summary>
/// Swaps or restores the meaning of the left and right mouse buttons. The uiParam parameter specifies TRUE to swap the meanings
/// of the buttons, or FALSE to restore their original meanings.
/// </summary>
SPI_SETMOUSEBUTTONSWAP = 0x0021,
/// <summary>
/// Sets the font that is used for icon titles. The uiParam parameter specifies the size of a LOGFONT structure,
/// and the pvParam parameter must point to a LOGFONT structure.
/// </summary>
SPI_SETICONTITLELOGFONT = 0x0022,
/// <summary>
/// This flag is obsolete. Previous versions of the system use this flag to determine whether ALT+TAB fast task switching is enabled.
/// For Windows 95, Windows 98, and Windows NT version 4.0 and later, fast task switching is always enabled.
/// </summary>
SPI_GETFASTTASKSWITCH = 0x0023,
/// <summary>
/// This flag is obsolete. Previous versions of the system use this flag to enable or disable ALT+TAB fast task switching.
/// For Windows 95, Windows 98, and Windows NT version 4.0 and later, fast task switching is always enabled.
/// </summary>
SPI_SETFASTTASKSWITCH = 0x0024,
//#if(WINVER >= 0x0400)
/// <summary>
/// Sets dragging of full windows either on or off. The uiParam parameter specifies TRUE for on, or FALSE for off.
/// Windows 95: This flag is supported only if Windows Plus! is installed. See SPI_GETWINDOWSEXTENSION.
/// </summary>
SPI_SETDRAGFULLWINDOWS = 0x0025,
/// <summary>
/// Determines whether dragging of full windows is enabled. The pvParam parameter must point to a BOOL variable that receives TRUE
/// if enabled, or FALSE otherwise.
/// Windows 95: This flag is supported only if Windows Plus! is installed. See SPI_GETWINDOWSEXTENSION.
/// </summary>
SPI_GETDRAGFULLWINDOWS = 0x0026,
/// <summary>
/// Retrieves the metrics associated with the nonclient area of nonminimized windows. The pvParam parameter must point
/// to a NONCLIENTMETRICS structure that receives the information. Set the cbSize member of this structure and the uiParam parameter
/// to sizeof(NONCLIENTMETRICS).
/// </summary>
SPI_GETNONCLIENTMETRICS = 0x0029,
/// <summary>
/// Sets the metrics associated with the nonclient area of nonminimized windows. The pvParam parameter must point
/// to a NONCLIENTMETRICS structure that contains the new parameters. Set the cbSize member of this structure
/// and the uiParam parameter to sizeof(NONCLIENTMETRICS). Also, the lfHeight member of the LOGFONT structure must be a negative value.
/// </summary>
SPI_SETNONCLIENTMETRICS = 0x002A,
/// <summary>
/// Retrieves the metrics associated with minimized windows. The pvParam parameter must point to a MINIMIZEDMETRICS structure
/// that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(MINIMIZEDMETRICS).
/// </summary>
SPI_GETMINIMIZEDMETRICS = 0x002B,
/// <summary>
/// Sets the metrics associated with minimized windows. The pvParam parameter must point to a MINIMIZEDMETRICS structure
/// that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(MINIMIZEDMETRICS).
/// </summary>
SPI_SETMINIMIZEDMETRICS = 0x002C,
/// <summary>
/// Retrieves the metrics associated with icons. The pvParam parameter must point to an ICONMETRICS structure that receives
/// the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(ICONMETRICS).
/// </summary>
SPI_GETICONMETRICS = 0x002D,
/// <summary>
/// Sets the metrics associated with icons. The pvParam parameter must point to an ICONMETRICS structure that contains
/// the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(ICONMETRICS).
/// </summary>
SPI_SETICONMETRICS = 0x002E,
/// <summary>
/// Sets the size of the work area. The work area is the portion of the screen not obscured by the system taskbar
/// or by application desktop toolbars. The pvParam parameter is a pointer to a RECT structure that specifies the new work area rectangle,
/// expressed in virtual screen coordinates. In a system with multiple display monitors, the function sets the work area
/// of the monitor that contains the specified rectangle.
/// </summary>
SPI_SETWORKAREA = 0x002F,
/// <summary>
/// Retrieves the size of the work area on the primary display monitor. The work area is the portion of the screen not obscured
/// by the system taskbar or by application desktop toolbars. The pvParam parameter must point to a RECT structure that receives
/// the coordinates of the work area, expressed in virtual screen coordinates.
/// To get the work area of a monitor other than the primary display monitor, call the GetMonitorInfo function.
/// </summary>
SPI_GETWORKAREA = 0x0030,
/// <summary>
/// Windows Me/98/95: Pen windows is being loaded or unloaded. The uiParam parameter is TRUE when loading and FALSE
/// when unloading pen windows. The pvParam parameter is null.
/// </summary>
SPI_SETPENWINDOWS = 0x0031,
/// <summary>
/// Retrieves information about the HighContrast accessibility feature. The pvParam parameter must point to a HIGHCONTRAST structure
/// that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(HIGHCONTRAST).
/// For a general discussion, see remarks.
/// Windows NT: This value is not supported.
/// </summary>
/// <remarks>
/// There is a difference between the High Contrast color scheme and the High Contrast Mode. The High Contrast color scheme changes
/// the system colors to colors that have obvious contrast; you switch to this color scheme by using the Display Options in the control panel.
/// The High Contrast Mode, which uses SPI_GETHIGHCONTRAST and SPI_SETHIGHCONTRAST, advises applications to modify their appearance
/// for visually-impaired users. It involves such things as audible warning to users and customized color scheme
/// (using the Accessibility Options in the control panel). For more information, see HIGHCONTRAST on MSDN.
/// For more information on general accessibility features, see Accessibility on MSDN.
/// </remarks>
SPI_GETHIGHCONTRAST = 0x0042,
/// <summary>
/// Sets the parameters of the HighContrast accessibility feature. The pvParam parameter must point to a HIGHCONTRAST structure
/// that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(HIGHCONTRAST).
/// Windows NT: This value is not supported.
/// </summary>
SPI_SETHIGHCONTRAST = 0x0043,
/// <summary>
/// Determines whether the user relies on the keyboard instead of the mouse, and wants applications to display keyboard interfaces
/// that would otherwise be hidden. The pvParam parameter must point to a BOOL variable that receives TRUE
/// if the user relies on the keyboard; or FALSE otherwise.
/// Windows NT: This value is not supported.
/// </summary>
SPI_GETKEYBOARDPREF = 0x0044,
/// <summary>
/// Sets the keyboard preference. The uiParam parameter specifies TRUE if the user relies on the keyboard instead of the mouse,
/// and wants applications to display keyboard interfaces that would otherwise be hidden; uiParam is FALSE otherwise.
/// Windows NT: This value is not supported.
/// </summary>
SPI_SETKEYBOARDPREF = 0x0045,
/// <summary>
/// Determines whether a screen reviewer utility is running. A screen reviewer utility directs textual information to an output device,
/// such as a speech synthesizer or Braille display. When this flag is set, an application should provide textual information
/// in situations where it would otherwise present the information graphically.
/// The pvParam parameter is a pointer to a BOOL variable that receives TRUE if a screen reviewer utility is running, or FALSE otherwise.
/// Windows NT: This value is not supported.
/// </summary>
SPI_GETSCREENREADER = 0x0046,
/// <summary>
/// Determines whether a screen review utility is running. The uiParam parameter specifies TRUE for on, or FALSE for off.
/// Windows NT: This value is not supported.
/// </summary>
SPI_SETSCREENREADER = 0x0047,
/// <summary>
/// Retrieves the animation effects associated with user actions. The pvParam parameter must point to an ANIMATIONINFO structure
/// that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(ANIMATIONINFO).
/// </summary>
SPI_GETANIMATION = 0x0048,
/// <summary>
/// Sets the animation effects associated with user actions. The pvParam parameter must point to an ANIMATIONINFO structure
/// that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(ANIMATIONINFO).
/// </summary>
SPI_SETANIMATION = 0x0049,
/// <summary>
/// Determines whether the font smoothing feature is enabled. This feature uses font antialiasing to make font curves appear smoother
/// by painting pixels at different gray levels.
/// The pvParam parameter must point to a BOOL variable that receives TRUE if the feature is enabled, or FALSE if it is not.
/// Windows 95: This flag is supported only if Windows Plus! is installed. See SPI_GETWINDOWSEXTENSION.
/// </summary>
SPI_GETFONTSMOOTHING = 0x004A,
/// <summary>
/// Enables or disables the font smoothing feature, which uses font antialiasing to make font curves appear smoother
/// by painting pixels at different gray levels.
/// To enable the feature, set the uiParam parameter to TRUE. To disable the feature, set uiParam to FALSE.
/// Windows 95: This flag is supported only if Windows Plus! is installed. See SPI_GETWINDOWSEXTENSION.
/// </summary>
SPI_SETFONTSMOOTHING = 0x004B,
/// <summary>
/// Sets the width, in pixels, of the rectangle used to detect the start of a drag operation. Set uiParam to the new value.
/// To retrieve the drag width, call GetSystemMetrics with the SM_CXDRAG flag.
/// </summary>
SPI_SETDRAGWIDTH = 0x004C,
/// <summary>
/// Sets the height, in pixels, of the rectangle used to detect the start of a drag operation. Set uiParam to the new value.
/// To retrieve the drag height, call GetSystemMetrics with the SM_CYDRAG flag.
/// </summary>
SPI_SETDRAGHEIGHT = 0x004D,
/// <summary>
/// Used internally; applications should not use this value.
/// </summary>
SPI_SETHANDHELD = 0x004E,
/// <summary>
/// Retrieves the time-out value for the low-power phase of screen saving. The pvParam parameter must point to an integer variable
/// that receives the value. This flag is supported for 32-bit applications only.
/// Windows NT, Windows Me/98: This flag is supported for 16-bit and 32-bit applications.
/// Windows 95: This flag is supported for 16-bit applications only.
/// </summary>
SPI_GETLOWPOWERTIMEOUT = 0x004F,
/// <summary>
/// Retrieves the time-out value for the power-off phase of screen saving. The pvParam parameter must point to an integer variable
/// that receives the value. This flag is supported for 32-bit applications only.
/// Windows NT, Windows Me/98: This flag is supported for 16-bit and 32-bit applications.
/// Windows 95: This flag is supported for 16-bit applications only.
/// </summary>
SPI_GETPOWEROFFTIMEOUT = 0x0050,
/// <summary>
/// Sets the time-out value, in seconds, for the low-power phase of screen saving. The uiParam parameter specifies the new value.
/// The pvParam parameter must be null. This flag is supported for 32-bit applications only.
/// Windows NT, Windows Me/98: This flag is supported for 16-bit and 32-bit applications.
/// Windows 95: This flag is supported for 16-bit applications only.
/// </summary>
SPI_SETLOWPOWERTIMEOUT = 0x0051,
/// <summary>
/// Sets the time-out value, in seconds, for the power-off phase of screen saving. The uiParam parameter specifies the new value.
/// The pvParam parameter must be null. This flag is supported for 32-bit applications only.
/// Windows NT, Windows Me/98: This flag is supported for 16-bit and 32-bit applications.
/// Windows 95: This flag is supported for 16-bit applications only.
/// </summary>
SPI_SETPOWEROFFTIMEOUT = 0x0052,
/// <summary>
/// Determines whether the low-power phase of screen saving is enabled. The pvParam parameter must point to a BOOL variable
/// that receives TRUE if enabled, or FALSE if disabled. This flag is supported for 32-bit applications only.
/// Windows NT, Windows Me/98: This flag is supported for 16-bit and 32-bit applications.
/// Windows 95: This flag is supported for 16-bit applications only.
/// </summary>
SPI_GETLOWPOWERACTIVE = 0x0053,
/// <summary>
/// Determines whether the power-off phase of screen saving is enabled. The pvParam parameter must point to a BOOL variable
/// that receives TRUE if enabled, or FALSE if disabled. This flag is supported for 32-bit applications only.
/// Windows NT, Windows Me/98: This flag is supported for 16-bit and 32-bit applications.
/// Windows 95: This flag is supported for 16-bit applications only.
/// </summary>
SPI_GETPOWEROFFACTIVE = 0x0054,
/// <summary>
/// Activates or deactivates the low-power phase of screen saving. Set uiParam to 1 to activate, or zero to deactivate.
/// The pvParam parameter must be null. This flag is supported for 32-bit applications only.
/// Windows NT, Windows Me/98: This flag is supported for 16-bit and 32-bit applications.
/// Windows 95: This flag is supported for 16-bit applications only.
/// </summary>
SPI_SETLOWPOWERACTIVE = 0x0055,
/// <summary>
/// Activates or deactivates the power-off phase of screen saving. Set uiParam to 1 to activate, or zero to deactivate.
/// The pvParam parameter must be null. This flag is supported for 32-bit applications only.
/// Windows NT, Windows Me/98: This flag is supported for 16-bit and 32-bit applications.
/// Windows 95: This flag is supported for 16-bit applications only.
/// </summary>
SPI_SETPOWEROFFACTIVE = 0x0056,
/// <summary>
/// Reloads the system cursors. Set the uiParam parameter to zero and the pvParam parameter to null.
/// </summary>
SPI_SETCURSORS = 0x0057,
/// <summary>
/// Reloads the system icons. Set the uiParam parameter to zero and the pvParam parameter to null.
/// </summary>
SPI_SETICONS = 0x0058,
/// <summary>
/// Retrieves the input locale identifier for the system default input language. The pvParam parameter must point
/// to an HKL variable that receives this value. For more information, see Languages, Locales, and Keyboard Layouts on MSDN.
/// </summary>
SPI_GETDEFAULTINPUTLANG = 0x0059,
/// <summary>
/// Sets the default input language for the system shell and applications. The specified language must be displayable
/// using the current system character set. The pvParam parameter must point to an HKL variable that contains
/// the input locale identifier for the default language. For more information, see Languages, Locales, and Keyboard Layouts on MSDN.
/// </summary>
SPI_SETDEFAULTINPUTLANG = 0x005A,
/// <summary>
/// Sets the hot key set for switching between input languages. The uiParam and pvParam parameters are not used.
/// The value sets the shortcut keys in the keyboard property sheets by reading the registry again. The registry must be set before this flag is used. the path in the registry is \HKEY_CURRENT_USER\keyboard layout\toggle. Valid values are "1" = ALT+SHIFT, "2" = CTRL+SHIFT, and "3" = none.
/// </summary>
SPI_SETLANGTOGGLE = 0x005B,
/// <summary>
/// Windows 95: Determines whether the Windows extension, Windows Plus!, is installed. Set the uiParam parameter to 1.
/// The pvParam parameter is not used. The function returns TRUE if the extension is installed, or FALSE if it is not.
/// </summary>
SPI_GETWINDOWSEXTENSION = 0x005C,
/// <summary>
/// Enables or disables the Mouse Trails feature, which improves the visibility of mouse cursor movements by briefly showing
/// a trail of cursors and quickly erasing them.
/// To disable the feature, set the uiParam parameter to zero or 1. To enable the feature, set uiParam to a value greater than 1
/// to indicate the number of cursors drawn in the trail.
/// Windows 2000/NT: This value is not supported.
/// </summary>
SPI_SETMOUSETRAILS = 0x005D,
/// <summary>
/// Determines whether the Mouse Trails feature is enabled. This feature improves the visibility of mouse cursor movements
/// by briefly showing a trail of cursors and quickly erasing them.
/// The pvParam parameter must point to an integer variable that receives a value. If the value is zero or 1, the feature is disabled.
/// If the value is greater than 1, the feature is enabled and the value indicates the number of cursors drawn in the trail.
/// The uiParam parameter is not used.
/// Windows 2000/NT: This value is not supported.
/// </summary>
SPI_GETMOUSETRAILS = 0x005E,
/// <summary>
/// Windows Me/98: Used internally; applications should not use this flag.
/// </summary>
SPI_SETSCREENSAVERRUNNING = 0x0061,
/// <summary>
/// Same as SPI_SETSCREENSAVERRUNNING.
/// </summary>
SPI_SCREENSAVERRUNNING = SPI_SETSCREENSAVERRUNNING,
//#endif /* WINVER >= 0x0400 */
/// <summary>
/// Retrieves information about the FilterKeys accessibility feature. The pvParam parameter must point to a FILTERKEYS structure
/// that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(FILTERKEYS).
/// </summary>
SPI_GETFILTERKEYS = 0x0032,
/// <summary>
/// Sets the parameters of the FilterKeys accessibility feature. The pvParam parameter must point to a FILTERKEYS structure
/// that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(FILTERKEYS).
/// </summary>
SPI_SETFILTERKEYS = 0x0033,
/// <summary>
/// Retrieves information about the ToggleKeys accessibility feature. The pvParam parameter must point to a TOGGLEKEYS structure
/// that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(TOGGLEKEYS).
/// </summary>
SPI_GETTOGGLEKEYS = 0x0034,
/// <summary>
/// Sets the parameters of the ToggleKeys accessibility feature. The pvParam parameter must point to a TOGGLEKEYS structure
/// that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(TOGGLEKEYS).
/// </summary>
SPI_SETTOGGLEKEYS = 0x0035,
/// <summary>
/// Retrieves information about the MouseKeys accessibility feature. The pvParam parameter must point to a MOUSEKEYS structure
/// that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(MOUSEKEYS).
/// </summary>
SPI_GETMOUSEKEYS = 0x0036,
/// <summary>
/// Sets the parameters of the MouseKeys accessibility feature. The pvParam parameter must point to a MOUSEKEYS structure
/// that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(MOUSEKEYS).
/// </summary>
SPI_SETMOUSEKEYS = 0x0037,
/// <summary>
/// Determines whether the Show Sounds accessibility flag is on or off. If it is on, the user requires an application
/// to present information visually in situations where it would otherwise present the information only in audible form.
/// The pvParam parameter must point to a BOOL variable that receives TRUE if the feature is on, or FALSE if it is off.
/// Using this value is equivalent to calling GetSystemMetrics (SM_SHOWSOUNDS). That is the recommended call.
/// </summary>
SPI_GETSHOWSOUNDS = 0x0038,
/// <summary>
/// Sets the parameters of the SoundSentry accessibility feature. The pvParam parameter must point to a SOUNDSENTRY structure
/// that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(SOUNDSENTRY).
/// </summary>
SPI_SETSHOWSOUNDS = 0x0039,
/// <summary>
/// Retrieves information about the StickyKeys accessibility feature. The pvParam parameter must point to a STICKYKEYS structure
/// that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(STICKYKEYS).
/// </summary>
SPI_GETSTICKYKEYS = 0x003A,
/// <summary>
/// Sets the parameters of the StickyKeys accessibility feature. The pvParam parameter must point to a STICKYKEYS structure
/// that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(STICKYKEYS).
/// </summary>
SPI_SETSTICKYKEYS = 0x003B,
/// <summary>
/// Retrieves information about the time-out period associated with the accessibility features. The pvParam parameter must point
/// to an ACCESSTIMEOUT structure that receives the information. Set the cbSize member of this structure and the uiParam parameter
/// to sizeof(ACCESSTIMEOUT).
/// </summary>
SPI_GETACCESSTIMEOUT = 0x003C,
/// <summary>
/// Sets the time-out period associated with the accessibility features. The pvParam parameter must point to an ACCESSTIMEOUT
/// structure that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(ACCESSTIMEOUT).
/// </summary>
SPI_SETACCESSTIMEOUT = 0x003D,
//#if(WINVER >= 0x0400)
/// <summary>
/// Windows Me/98/95: Retrieves information about the SerialKeys accessibility feature. The pvParam parameter must point
/// to a SERIALKEYS structure that receives the information. Set the cbSize member of this structure and the uiParam parameter
/// to sizeof(SERIALKEYS).
/// Windows Server 2003, Windows XP/2000/NT: Not supported. The user controls this feature through the control panel.
/// </summary>
SPI_GETSERIALKEYS = 0x003E,
/// <summary>
/// Windows Me/98/95: Sets the parameters of the SerialKeys accessibility feature. The pvParam parameter must point
/// to a SERIALKEYS structure that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter
/// to sizeof(SERIALKEYS).
/// Windows Server 2003, Windows XP/2000/NT: Not supported. The user controls this feature through the control panel.
/// </summary>
SPI_SETSERIALKEYS = 0x003F,
//#endif /* WINVER >= 0x0400 */
/// <summary>
/// Retrieves information about the SoundSentry accessibility feature. The pvParam parameter must point to a SOUNDSENTRY structure
/// that receives the information. Set the cbSize member of this structure and the uiParam parameter to sizeof(SOUNDSENTRY).
/// </summary>
SPI_GETSOUNDSENTRY = 0x0040,
/// <summary>
/// Sets the parameters of the SoundSentry accessibility feature. The pvParam parameter must point to a SOUNDSENTRY structure
/// that contains the new parameters. Set the cbSize member of this structure and the uiParam parameter to sizeof(SOUNDSENTRY).
/// </summary>
SPI_SETSOUNDSENTRY = 0x0041,
//#if(_WIN32_WINNT >= 0x0400)
/// <summary>
/// Determines whether the snap-to-default-button feature is enabled. If enabled, the mouse cursor automatically moves
/// to the default button, such as OK or Apply, of a dialog box. The pvParam parameter must point to a BOOL variable
/// that receives TRUE if the feature is on, or FALSE if it is off.
/// Windows 95: Not supported.
/// </summary>
SPI_GETSNAPTODEFBUTTON = 0x005F,
/// <summary>
/// Enables or disables the snap-to-default-button feature. If enabled, the mouse cursor automatically moves to the default button,
/// such as OK or Apply, of a dialog box. Set the uiParam parameter to TRUE to enable the feature, or FALSE to disable it.
/// Applications should use the ShowWindow function when displaying a dialog box so the dialog manager can position the mouse cursor.
/// Windows 95: Not supported.
/// </summary>
SPI_SETSNAPTODEFBUTTON = 0x0060,
//#endif /* _WIN32_WINNT >= 0x0400 */
//#if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
/// <summary>
/// Retrieves the width, in pixels, of the rectangle within which the mouse pointer has to stay for TrackMouseEvent
/// to generate a WM_MOUSEHOVER message. The pvParam parameter must point to a UINT variable that receives the width.
/// Windows 95: Not supported.
/// </summary>
SPI_GETMOUSEHOVERWIDTH = 0x0062,
/// <summary>
/// Retrieves the width, in pixels, of the rectangle within which the mouse pointer has to stay for TrackMouseEvent
/// to generate a WM_MOUSEHOVER message. The pvParam parameter must point to a UINT variable that receives the width.
/// Windows 95: Not supported.
/// </summary>
SPI_SETMOUSEHOVERWIDTH = 0x0063,
/// <summary>
/// Retrieves the height, in pixels, of the rectangle within which the mouse pointer has to stay for TrackMouseEvent
/// to generate a WM_MOUSEHOVER message. The pvParam parameter must point to a UINT variable that receives the height.
/// Windows 95: Not supported.
/// </summary>
SPI_GETMOUSEHOVERHEIGHT = 0x0064,
/// <summary>
/// Sets the height, in pixels, of the rectangle within which the mouse pointer has to stay for TrackMouseEvent
/// to generate a WM_MOUSEHOVER message. Set the uiParam parameter to the new height.
/// Windows 95: Not supported.
/// </summary>
SPI_SETMOUSEHOVERHEIGHT = 0x0065,
/// <summary>
/// Retrieves the time, in milliseconds, that the mouse pointer has to stay in the hover rectangle for TrackMouseEvent
/// to generate a WM_MOUSEHOVER message. The pvParam parameter must point to a UINT variable that receives the time.
/// Windows 95: Not supported.
/// </summary>
SPI_GETMOUSEHOVERTIME = 0x0066,
/// <summary>
/// Sets the time, in milliseconds, that the mouse pointer has to stay in the hover rectangle for TrackMouseEvent
/// to generate a WM_MOUSEHOVER message. This is used only if you pass HOVER_DEFAULT in the dwHoverTime parameter in the call to TrackMouseEvent. Set the uiParam parameter to the new time.
/// Windows 95: Not supported.
/// </summary>
SPI_SETMOUSEHOVERTIME = 0x0067,
/// <summary>
/// Retrieves the number of lines to scroll when the mouse wheel is rotated. The pvParam parameter must point
/// to a UINT variable that receives the number of lines. The default value is 3.
/// Windows 95: Not supported.
/// </summary>
SPI_GETWHEELSCROLLLINES = 0x0068,
/// <summary>
/// Sets the number of lines to scroll when the mouse wheel is rotated. The number of lines is set from the uiParam parameter.
/// The number of lines is the suggested number of lines to scroll when the mouse wheel is rolled without using modifier keys.
/// If the number is 0, then no scrolling should occur. If the number of lines to scroll is greater than the number of lines viewable,
/// and in particular if it is WHEEL_PAGESCROLL (#defined as UINT_MAX), the scroll operation should be interpreted
/// as clicking once in the page down or page up regions of the scroll bar.
/// Windows 95: Not supported.
/// </summary>
SPI_SETWHEELSCROLLLINES = 0x0069,
/// <summary>
/// Retrieves the time, in milliseconds, that the system waits before displaying a shortcut menu when the mouse cursor is
/// over a submenu item. The pvParam parameter must point to a DWORD variable that receives the time of the delay.
/// Windows 95: Not supported.
/// </summary>
SPI_GETMENUSHOWDELAY = 0x006A,
/// <summary>
/// Sets uiParam to the time, in milliseconds, that the system waits before displaying a shortcut menu when the mouse cursor is
/// over a submenu item.
/// Windows 95: Not supported.
/// </summary>
SPI_SETMENUSHOWDELAY = 0x006B,
/// <summary>
/// Determines whether the IME status window is visible (on a per-user basis). The pvParam parameter must point to a BOOL variable
/// that receives TRUE if the status window is visible, or FALSE if it is not.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_GETSHOWIMEUI = 0x006E,
/// <summary>
/// Sets whether the IME status window is visible or not on a per-user basis. The uiParam parameter specifies TRUE for on or FALSE for off.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_SETSHOWIMEUI = 0x006F,
//#endif
//#if(WINVER >= 0x0500)
/// <summary>
/// Retrieves the current mouse speed. The mouse speed determines how far the pointer will move based on the distance the mouse moves.
/// The pvParam parameter must point to an integer that receives a value which ranges between 1 (slowest) and 20 (fastest).
/// A value of 10 is the default. The value can be set by an end user using the mouse control panel application or
/// by an application using SPI_SETMOUSESPEED.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_GETMOUSESPEED = 0x0070,
/// <summary>
/// Sets the current mouse speed. The pvParam parameter is an integer between 1 (slowest) and 20 (fastest). A value of 10 is the default.
/// This value is typically set using the mouse control panel application.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_SETMOUSESPEED = 0x0071,
/// <summary>
/// Determines whether a screen saver is currently running on the window station of the calling process.
/// The pvParam parameter must point to a BOOL variable that receives TRUE if a screen saver is currently running, or FALSE otherwise.
/// Note that only the interactive window station, "WinSta0", can have a screen saver running.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_GETSCREENSAVERRUNNING = 0x0072,
/// <summary>
/// Retrieves the full path of the bitmap file for the desktop wallpaper. The pvParam parameter must point to a buffer
/// that receives a null-terminated path string. Set the uiParam parameter to the size, in characters, of the pvParam buffer. The returned string will not exceed MAX_PATH characters. If there is no desktop wallpaper, the returned string is empty.
/// Windows NT, Windows Me/98/95: This value is not supported.
/// </summary>
SPI_GETDESKWALLPAPER = 0x0073,
//#endif /* WINVER >= 0x0500 */
//#if(WINVER >= 0x0500)
/// <summary>
/// Determines whether active window tracking (activating the window the mouse is on) is on or off. The pvParam parameter must point
/// to a BOOL variable that receives TRUE for on, or FALSE for off.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_GETACTIVEWINDOWTRACKING = 0x1000,
/// <summary>
/// Sets active window tracking (activating the window the mouse is on) either on or off. Set pvParam to TRUE for on or FALSE for off.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_SETACTIVEWINDOWTRACKING = 0x1001,
/// <summary>
/// Determines whether the menu animation feature is enabled. This master switch must be on to enable menu animation effects.
/// The pvParam parameter must point to a BOOL variable that receives TRUE if animation is enabled and FALSE if it is disabled.
/// If animation is enabled, SPI_GETMENUFADE indicates whether menus use fade or slide animation.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_GETMENUANIMATION = 0x1002,
/// <summary>
/// Enables or disables menu animation. This master switch must be on for any menu animation to occur.
/// The pvParam parameter is a BOOL variable; set pvParam to TRUE to enable animation and FALSE to disable animation.
/// If animation is enabled, SPI_GETMENUFADE indicates whether menus use fade or slide animation.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_SETMENUANIMATION = 0x1003,
/// <summary>
/// Determines whether the slide-open effect for combo boxes is enabled. The pvParam parameter must point to a BOOL variable
/// that receives TRUE for enabled, or FALSE for disabled.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_GETCOMBOBOXANIMATION = 0x1004,
/// <summary>
/// Enables or disables the slide-open effect for combo boxes. Set the pvParam parameter to TRUE to enable the gradient effect,
/// or FALSE to disable it.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_SETCOMBOBOXANIMATION = 0x1005,
/// <summary>
/// Determines whether the smooth-scrolling effect for list boxes is enabled. The pvParam parameter must point to a BOOL variable
/// that receives TRUE for enabled, or FALSE for disabled.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_GETLISTBOXSMOOTHSCROLLING = 0x1006,
/// <summary>
/// Enables or disables the smooth-scrolling effect for list boxes. Set the pvParam parameter to TRUE to enable the smooth-scrolling effect,
/// or FALSE to disable it.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_SETLISTBOXSMOOTHSCROLLING = 0x1007,
/// <summary>
/// Determines whether the gradient effect for window title bars is enabled. The pvParam parameter must point to a BOOL variable
/// that receives TRUE for enabled, or FALSE for disabled. For more information about the gradient effect, see the GetSysColor function.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_GETGRADIENTCAPTIONS = 0x1008,
/// <summary>
/// Enables or disables the gradient effect for window title bars. Set the pvParam parameter to TRUE to enable it, or FALSE to disable it.
/// The gradient effect is possible only if the system has a color depth of more than 256 colors. For more information about
/// the gradient effect, see the GetSysColor function.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_SETGRADIENTCAPTIONS = 0x1009,
/// <summary>
/// Determines whether menu access keys are always underlined. The pvParam parameter must point to a BOOL variable that receives TRUE
/// if menu access keys are always underlined, and FALSE if they are underlined only when the menu is activated by the keyboard.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_GETKEYBOARDCUES = 0x100A,
/// <summary>
/// Sets the underlining of menu access key letters. The pvParam parameter is a BOOL variable. Set pvParam to TRUE to always underline menu
/// access keys, or FALSE to underline menu access keys only when the menu is activated from the keyboard.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_SETKEYBOARDCUES = 0x100B,
/// <summary>
/// Same as SPI_GETKEYBOARDCUES.
/// </summary>
SPI_GETMENUUNDERLINES = SPI_GETKEYBOARDCUES,
/// <summary>
/// Same as SPI_SETKEYBOARDCUES.
/// </summary>
SPI_SETMENUUNDERLINES = SPI_SETKEYBOARDCUES,
/// <summary>
/// Determines whether windows activated through active window tracking will be brought to the top. The pvParam parameter must point
/// to a BOOL variable that receives TRUE for on, or FALSE for off.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_GETACTIVEWNDTRKZORDER = 0x100C,
/// <summary>
/// Determines whether or not windows activated through active window tracking should be brought to the top. Set pvParam to TRUE
/// for on or FALSE for off.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_SETACTIVEWNDTRKZORDER = 0x100D,
/// <summary>
/// Determines whether hot tracking of user-interface elements, such as menu names on menu bars, is enabled. The pvParam parameter
/// must point to a BOOL variable that receives TRUE for enabled, or FALSE for disabled.
/// Hot tracking means that when the cursor moves over an item, it is highlighted but not selected. You can query this value to decide
/// whether to use hot tracking in the user interface of your application.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_GETHOTTRACKING = 0x100E,
/// <summary>
/// Enables or disables hot tracking of user-interface elements such as menu names on menu bars. Set the pvParam parameter to TRUE
/// to enable it, or FALSE to disable it.
/// Hot-tracking means that when the cursor moves over an item, it is highlighted but not selected.
/// Windows NT, Windows 95: This value is not supported.
/// </summary>
SPI_SETHOTTRACKING = 0x100F,
/// <summary>
/// Determines whether menu fade animation is enabled. The pvParam parameter must point to a BOOL variable that receives TRUE
/// when fade animation is enabled and FALSE when it is disabled. If fade animation is disabled, menus use slide animation.
/// This flag is ignored unless menu animation is enabled, which you can do using the SPI_SETMENUANIMATION flag.
/// For more information, see AnimateWindow.
/// Windows NT, Windows Me/98/95: This value is not supported.
/// </summary>
SPI_GETMENUFADE = 0x1012,
/// <summary>
/// Enables or disables menu fade animation. Set pvParam to TRUE to enable the menu fade effect or FALSE to disable it.
/// If fade animation is disabled, menus use slide animation. he The menu fade effect is possible only if the system
/// has a color depth of more than 256 colors. This flag is ignored unless SPI_MENUANIMATION is also set. For more information,
/// see AnimateWindow.
/// Windows NT, Windows Me/98/95: This value is not supported.
/// </summary>
SPI_SETMENUFADE = 0x1013,
/// <summary>
/// Determines whether the selection fade effect is enabled. The pvParam parameter must point to a BOOL variable that receives TRUE
/// if enabled or FALSE if disabled.
/// The selection fade effect causes the menu item selected by the user to remain on the screen briefly while fading out
/// after the menu is dismissed.
/// Windows NT, Windows Me/98/95: This value is not supported.
/// </summary>
SPI_GETSELECTIONFADE = 0x1014,
/// <summary>
/// Set pvParam to TRUE to enable the selection fade effect or FALSE to disable it.
/// The selection fade effect causes the menu item selected by the user to remain on the screen briefly while fading out
/// after the menu is dismissed. The selection fade effect is possible only if the system has a color depth of more than 256 colors.
/// Windows NT, Windows Me/98/95: This value is not supported.
/// </summary>
SPI_SETSELECTIONFADE = 0x1015,
/// <summary>
/// Determines whether ToolTip animation is enabled. The pvParam parameter must point to a BOOL variable that receives TRUE
/// if enabled or FALSE if disabled. If ToolTip animation is enabled, SPI_GETTOOLTIPFADE indicates whether ToolTips use fade or slide animation.
/// Windows NT, Windows Me/98/95: This value is not supported.
/// </summary>
SPI_GETTOOLTIPANIMATION = 0x1016,
/// <summary>
/// Set pvParam to TRUE to enable ToolTip animation or FALSE to disable it. If enabled, you can use SPI_SETTOOLTIPFADE
/// to specify fade or slide animation.
/// Windows NT, Windows Me/98/95: This value is not supported.
/// </summary>
SPI_SETTOOLTIPANIMATION = 0x1017,
/// <summary>
/// If SPI_SETTOOLTIPANIMATION is enabled, SPI_GETTOOLTIPFADE indicates whether ToolTip animation uses a fade effect or a slide effect.
/// The pvParam parameter must point to a BOOL variable that receives TRUE for fade animation or FALSE for slide animation.
/// For more information on slide and fade effects, see AnimateWindow.
/// Windows NT, Windows Me/98/95: This value is not supported.
/// </summary>
SPI_GETTOOLTIPFADE = 0x1018,
/// <summary>
/// If the SPI_SETTOOLTIPANIMATION flag is enabled, use SPI_SETTOOLTIPFADE to indicate whether ToolTip animation uses a fade effect
/// or a slide effect. Set pvParam to TRUE for fade animation or FALSE for slide animation. The tooltip fade effect is possible only
/// if the system has a color depth of more than 256 colors. For more information on the slide and fade effects,
/// see the AnimateWindow function.
/// Windows NT, Windows Me/98/95: This value is not supported.
/// </summary>
SPI_SETTOOLTIPFADE = 0x1019,
/// <summary>
/// Determines whether the cursor has a shadow around it. The pvParam parameter must point to a BOOL variable that receives TRUE
/// if the shadow is enabled, FALSE if it is disabled. This effect appears only if the system has a color depth of more than 256 colors.
/// Windows NT, Windows Me/98/95: This value is not supported.
/// </summary>
SPI_GETCURSORSHADOW = 0x101A,
/// <summary>
/// Enables or disables a shadow around the cursor. The pvParam parameter is a BOOL variable. Set pvParam to TRUE to enable the shadow