summaryrefslogtreecommitdiffstats
path: root/third_party/rust/winapi-0.2.8/src/winuser.rs
blob: 5769489112693a2136fb55cecb9a801e5500d3f6 (plain)
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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
// Copyright © 2015, Peter Atashian
// Licensed under the MIT License <LICENSE.md>
//! USER procedure declarations, constant definitions and macros

// Edit Control Styles
//
pub const ES_LEFT: ::DWORD = 0x0000;
pub const ES_CENTER: ::DWORD = 0x0001;
pub const ES_RIGHT: ::DWORD = 0x0002;
pub const ES_MULTILINE: ::DWORD = 0x0004;
pub const ES_UPPERCASE: ::DWORD = 0x0008;
pub const ES_LOWERCASE: ::DWORD = 0x0010;
pub const ES_PASSWORD: ::DWORD = 0x0020;
pub const ES_AUTOVSCROLL: ::DWORD = 0x0040;
pub const ES_AUTOHSCROLL: ::DWORD = 0x0080;
pub const ES_NOHIDESEL: ::DWORD = 0x0100;
pub const ES_OEMCONVERT: ::DWORD = 0x0400;
pub const ES_READONLY: ::DWORD = 0x0800;
pub const ES_WANTRETURN: ::DWORD = 0x1000;
pub const ES_NUMBER: ::DWORD = 0x2000;

// Edit Control Notification Codes
//
pub const EN_SETFOCUS: ::WORD = 0x0100;
pub const EN_KILLFOCUS: ::WORD = 0x0200;
pub const EN_CHANGE: ::WORD = 0x0300;
pub const EN_UPDATE: ::WORD = 0x0400;
pub const EN_ERRSPACE: ::WORD = 0x0500;
pub const EN_MAXTEXT: ::WORD = 0x0501;
pub const EN_HSCROLL: ::WORD = 0x0601;
pub const EN_VSCROLL: ::WORD = 0x0602;

pub const EN_ALIGN_LTR_EC: ::WORD = 0x0700;
pub const EN_ALIGN_RTL_EC: ::WORD = 0x0701;

// Edit control EM_SETMARGIN parameters
pub const EC_LEFTMARGIN: ::WORD = 0x0001;
pub const EC_RIGHTMARGIN: ::WORD = 0x0002;
pub const EC_USEFONTINFO: ::WORD = 0xffff;

// wParam of EM_GET/SETIMESTATUS
pub const EMSIS_COMPOSITIONSTRING: ::WORD = 0x0001;

// lParam for EMSIS_COMPOSITIONSTRING
pub const EIMES_GETCOMPSTRATONCE: ::WORD = 0x0001;
pub const EIMES_CANCELCOMPSTRINFOCUS: ::WORD = 0x0002;
pub const EIMES_COMPLETECOMPSTRKILLFOCUS: ::WORD = 0x0004;

// Edit Control Messages
//
pub const EM_GETSEL: ::WORD = 0x00B0;
pub const EM_SETSEL: ::WORD = 0x00B1;
pub const EM_GETRECT: ::WORD = 0x00B2;
pub const EM_SETRECT: ::WORD = 0x00B3;
pub const EM_SETRECTNP: ::WORD = 0x00B4;
pub const EM_SCROLL: ::WORD = 0x00B5;
pub const EM_LINESCROLL: ::WORD = 0x00B6;
pub const EM_SCROLLCARET: ::WORD = 0x00B7;
pub const EM_GETMODIFY: ::WORD = 0x00B8;
pub const EM_SETMODIFY: ::WORD = 0x00B9;
pub const EM_GETLINECOUNT: ::WORD = 0x00BA;
pub const EM_LINEINDEX: ::WORD = 0x00BB;
pub const EM_SETHANDLE: ::WORD = 0x00BC;
pub const EM_GETHANDLE: ::WORD = 0x00BD;
pub const EM_GETTHUMB: ::WORD = 0x00BE;
pub const EM_LINELENGTH: ::WORD = 0x00C1;
pub const EM_REPLACESEL: ::WORD = 0x00C2;
pub const EM_GETLINE: ::WORD = 0x00C4;
pub const EM_LIMITTEXT: ::WORD = 0x00C5;
pub const EM_CANUNDO: ::WORD = 0x00C6;
pub const EM_UNDO: ::WORD = 0x00C7;
pub const EM_FMTLINES: ::WORD = 0x00C8;
pub const EM_LINEFROMCHAR: ::WORD = 0x00C9;
pub const EM_SETTABSTOPS: ::WORD = 0x00CB;
pub const EM_SETPASSWORDCHAR: ::WORD = 0x00CC;
pub const EM_EMPTYUNDOBUFFER: ::WORD = 0x00CD;
pub const EM_GETFIRSTVISIBLELINE: ::WORD = 0x00CE;
pub const EM_SETREADONLY: ::WORD = 0x00CF;
pub const EM_SETWORDBREAKPROC: ::WORD = 0x00D0;
pub const EM_GETWORDBREAKPROC: ::WORD = 0x00D1;
pub const EM_GETPASSWORDCHAR: ::WORD = 0x00D2;

pub const EM_SETMARGINS: ::WORD = 0x00D3;
pub const EM_GETMARGINS: ::WORD = 0x00D4;
pub const EM_SETLIMITTEXT: ::WORD = EM_LIMITTEXT;
pub const EM_GETLIMITTEXT: ::WORD = 0x00D5;
pub const EM_POSFROMCHAR: ::WORD = 0x00D6;
pub const EM_CHARFROMPOS: ::WORD = 0x00D7;

pub const EM_SETIMESTATUS: ::WORD = 0x00D8;
pub const EM_GETIMESTATUS: ::WORD = 0x00D9;

// EDITWORDBREAKPROC code values
//
pub const WB_LEFT: ::WORD = 0;
pub const WB_RIGHT: ::WORD = 1;
pub const WB_ISDELIMITER: ::WORD = 2;

pub const BN_CLICKED: ::WORD = 0;
pub const BN_PAINT: ::WORD = 1;
pub const BN_HILITE: ::WORD = 2;
pub const BN_UNHILITE: ::WORD = 3;
pub const BN_DISABLE: ::WORD = 4;
pub const BN_DOUBLECLICKED: ::WORD = 5;
pub const BN_PUSHED: ::WORD = BN_HILITE;
pub const BN_UNPUSHED: ::WORD = BN_UNHILITE;
pub const BN_DBLCLK: ::WORD = BN_DOUBLECLICKED;
pub const BN_SETFOCUS: ::WORD = 6;
pub const BN_KILLFOCUS: ::WORD = 7;
pub const BS_PUSHBUTTON: ::DWORD = 0x00000000;
pub const BS_DEFPUSHBUTTON: ::DWORD = 0x00000001;
pub const BS_CHECKBOX: ::DWORD = 0x00000002;
pub const BS_AUTOCHECKBOX: ::DWORD = 0x00000003;
pub const BS_RADIOBUTTON: ::DWORD = 0x00000004;
pub const BS_3STATE: ::DWORD = 0x00000005;
pub const BS_AUTO3STATE: ::DWORD = 0x00000006;
pub const BS_GROUPBOX: ::DWORD = 0x00000007;
pub const BS_USERBUTTON: ::DWORD = 0x00000008;
pub const BS_AUTORADIOBUTTON: ::DWORD = 0x00000009;
pub const BS_PUSHBOX: ::DWORD = 0x0000000A;
pub const BS_OWNERDRAW: ::DWORD = 0x0000000B;
pub const BS_TYPEMASK: ::DWORD = 0x0000000F;
pub const BS_LEFTTEXT: ::DWORD = 0x00000020;
pub const BS_TEXT: ::DWORD = 0x00000000;
pub const BS_ICON: ::DWORD = 0x00000040;
pub const BS_BITMAP: ::DWORD = 0x00000080;
pub const BS_LEFT: ::DWORD = 0x00000100;
pub const BS_RIGHT: ::DWORD = 0x00000200;
pub const BS_CENTER: ::DWORD = 0x00000300;
pub const BS_TOP: ::DWORD = 0x00000400;
pub const BS_BOTTOM: ::DWORD = 0x00000800;
pub const BS_VCENTER: ::DWORD = 0x00000C00;
pub const BS_PUSHLIKE: ::DWORD = 0x00001000;
pub const BS_MULTILINE: ::DWORD = 0x00002000;
pub const BS_NOTIFY: ::DWORD = 0x00004000;
pub const BS_FLAT: ::DWORD = 0x00008000;
pub const BS_RIGHTBUTTON: ::DWORD = BS_LEFTTEXT;
pub const CCHILDREN_SCROLLBAR: usize = 5;
pub const CDS_UPDATEREGISTRY: ::DWORD = 0x00000001;
pub const CDS_TEST: ::DWORD = 0x00000002;
pub const CDS_FULLSCREEN: ::DWORD = 0x00000004;
pub const CDS_GLOBAL: ::DWORD = 0x00000008;
pub const CDS_SET_PRIMARY: ::DWORD = 0x00000010;
pub const CDS_VIDEOPARAMETERS: ::DWORD = 0x00000020;
pub const CDS_ENABLE_UNSAFE_MODES: ::DWORD = 0x00000100;
pub const CDS_DISABLE_UNSAFE_MODES: ::DWORD = 0x00000200;
pub const CDS_RESET: ::DWORD = 0x40000000;
pub const CDS_RESET_EX: ::DWORD = 0x20000000;
pub const CDS_NORESET: ::DWORD = 0x10000000;
pub const CF_TEXT: ::UINT = 1;
pub const CF_BITMAP: ::UINT = 2;
pub const CF_METAFILEPICT: ::UINT = 3;
pub const CF_SYLK: ::UINT = 4;
pub const CF_DIF: ::UINT = 5;
pub const CF_TIFF: ::UINT = 6;
pub const CF_OEMTEXT: ::UINT = 7;
pub const CF_DIB: ::UINT = 8;
pub const CF_PALETTE: ::UINT = 9;
pub const CF_PENDATA: ::UINT = 10;
pub const CF_RIFF: ::UINT = 11;
pub const CF_WAVE: ::UINT = 12;
pub const CF_UNICODETEXT: ::UINT = 13;
pub const CF_ENHMETAFILE: ::UINT = 14;
pub const CF_HDROP: ::UINT = 15;
pub const CF_LOCALE: ::UINT = 16;
pub const CF_DIBV5: ::UINT = 17;
pub const CF_OWNERDISPLAY: ::UINT = 0x0080;
pub const CF_DSPTEXT: ::UINT = 0x0081;
pub const CF_DSPBITMAP: ::UINT = 0x0082;
pub const CF_DSPENHMETAFILE: ::UINT = 0x008E;
pub const CF_DSPMETAFILEPICT: ::UINT = 0x0083;
pub const CF_PRIVATEFIRST: ::UINT = 0x0200;
pub const CF_PRIVATELAST: ::UINT = 0x02FF;
pub const CF_GDIOBJFIRST: ::UINT = 0x0300;
pub const CF_GDIOBJLAST: ::UINT = 0x03FF;
pub const CS_VREDRAW: ::DWORD = 0x0001;
pub const CS_HREDRAW: ::DWORD = 0x0002;
pub const CS_DBLCLKS: ::DWORD = 0x0008;
pub const CS_OWNDC: ::DWORD = 0x0020;
pub const CS_CLASSDC: ::DWORD = 0x0040;
pub const CS_PARENTDC: ::DWORD = 0x0080;
pub const CS_NOCLOSE: ::DWORD = 0x0200;
pub const CS_SAVEBITS: ::DWORD = 0x0800;
pub const CS_BYTEALIGNCLIENT: ::DWORD = 0x1000;
pub const CS_BYTEALIGNWINDOW: ::DWORD = 0x2000;
pub const CS_GLOBALCLASS: ::DWORD = 0x4000;
pub const CS_IME: ::DWORD = 0x00010000;
pub const CS_DROPSHADOW: ::DWORD = 0x00020000;
pub const DFC_CAPTION: ::UINT = 1;
pub const DFC_MENU: ::UINT = 2;
pub const DFC_SCROLL: ::UINT = 3;
pub const DFC_BUTTON: ::UINT = 4;
pub const DFCS_CAPTIONCLOSE: ::UINT = 0x0000;
pub const DFCS_CAPTIONMIN: ::UINT = 0x0001;
pub const DFCS_CAPTIONMAX: ::UINT = 0x0002;
pub const DFCS_CAPTIONRESTORE: ::UINT = 0x0003;
pub const DFCS_CAPTIONHELP: ::UINT = 0x0004;
pub const DFCS_MENUARROW: ::UINT = 0x0000;
pub const DFCS_MENUCHECK: ::UINT = 0x0001;
pub const DFCS_MENUBULLET: ::UINT = 0x0002;
pub const DFCS_MENUARROWRIGHT: ::UINT = 0x0004;
pub const DFCS_SCROLLUP: ::UINT = 0x0000;
pub const DFCS_SCROLLDOWN: ::UINT = 0x0001;
pub const DFCS_SCROLLLEFT: ::UINT = 0x0002;
pub const DFCS_SCROLLRIGHT: ::UINT = 0x0003;
pub const DFCS_SCROLLCOMBOBOX: ::UINT = 0x0005;
pub const DFCS_SCROLLSIZEGRIP: ::UINT = 0x0008;
pub const DFCS_SCROLLSIZEGRIPRIGHT: ::UINT = 0x0010;
pub const DFCS_BUTTONCHECK: ::UINT = 0x0000;
pub const DFCS_BUTTONRADIOIMAGE: ::UINT = 0x0001;
pub const DFCS_BUTTONRADIOMASK: ::UINT = 0x0002;
pub const DFCS_BUTTONRADIO: ::UINT = 0x0004;
pub const DFCS_BUTTON3STATE: ::UINT = 0x0008;
pub const DFCS_BUTTONPUSH: ::UINT = 0x0010;
pub const DFCS_INACTIVE: ::UINT = 0x0100;
pub const DFCS_PUSHED: ::UINT = 0x0200;
pub const DFCS_CHECKED: ::UINT = 0x0400;
// if WINVER >= 0x0500
pub const DFCS_TRANSPARENT: ::UINT = 0x0800;
pub const DFCS_HOT: ::UINT = 0x1000;
// end if WINVER >= 0x0500
pub const DFCS_ADJUSTRECT: ::UINT = 0x2000;
pub const DFCS_FLAT: ::UINT = 0x4000;
pub const DFCS_MONO: ::UINT = 0x8000;
pub const CW_USEDEFAULT: ::c_int = 0x80000000u32 as ::c_int;
pub const DISP_CHANGE_SUCCESSFUL: ::LONG = 0;
pub const DISP_CHANGE_RESTART: ::LONG = 1;
pub const DISP_CHANGE_FAILED: ::LONG = -1;
pub const DISP_CHANGE_BADMODE: ::LONG = -2;
pub const DISP_CHANGE_NOTUPDATED: ::LONG = -3;
pub const DISP_CHANGE_BADFLAGS: ::LONG = -4;
pub const DISP_CHANGE_BADPARAM: ::LONG = -5;
pub const DISP_CHANGE_BADDUALVIEW: ::LONG = -6;
pub const EDD_GET_DEVICE_INTERFACE_NAME: ::DWORD = 0x00000001;
pub const ENUM_CURRENT_SETTINGS: ::DWORD = 0xFFFFFFFF;
pub const ENUM_REGISTRY_SETTINGS: ::DWORD = 0xFFFFFFFE;
pub const GW_HWNDFIRST: ::UINT = 0;
pub const GW_HWNDLAST: ::UINT = 1;
pub const GW_HWNDNEXT: ::UINT = 2;
pub const GW_HWNDPREV: ::UINT = 3;
pub const GW_OWNER: ::UINT = 4;
pub const GW_CHILD: ::UINT = 5;
pub const GW_ENABLEDPOPUP: ::UINT = 6;
pub const GW_MAX: ::UINT = 6;
pub const HTERROR: ::c_int = -2;
pub const HTTRANSPARENT: ::c_int = -1;
pub const HTNOWHERE: ::c_int = 0;
pub const HTCLIENT: ::c_int = 1;
pub const HTCAPTION: ::c_int = 2;
pub const HTSYSMENU: ::c_int = 3;
pub const HTGROWBOX: ::c_int = 4;
pub const HTSIZE: ::c_int = HTGROWBOX;
pub const HTMENU: ::c_int = 5;
pub const HTHSCROLL: ::c_int = 6;
pub const HTVSCROLL: ::c_int = 7;
pub const HTMINBUTTON: ::c_int = 8;
pub const HTMAXBUTTON: ::c_int = 9;
pub const HTLEFT: ::c_int = 10;
pub const HTRIGHT: ::c_int = 11;
pub const HTTOP: ::c_int = 12;
pub const HTTOPLEFT: ::c_int = 13;
pub const HTTOPRIGHT: ::c_int = 14;
pub const HTBOTTOM: ::c_int = 15;
pub const HTBOTTOMLEFT: ::c_int = 16;
pub const HTBOTTOMRIGHT: ::c_int = 17;
pub const HTBORDER: ::c_int = 18;
pub const HTREDUCE: ::c_int = HTMINBUTTON;
pub const HTZOOM: ::c_int = HTMAXBUTTON;
pub const HTSIZEFIRST: ::c_int = HTLEFT;
pub const HTSIZELAST: ::c_int = HTBOTTOMRIGHT;
pub const HTOBJECT: ::c_int = 19;
pub const HTCLOSE: ::c_int = 20;
pub const HTHELP: ::c_int = 21;
pub const LSFW_LOCK: ::UINT = 1;
pub const LSFW_UNLOCK: ::UINT = 2;
pub const MDITILE_VERTICAL: ::UINT = 0x0000;
pub const MDITILE_HORIZONTAL: ::UINT = 0x0001;
pub const MDITILE_SKIPDISABLED: ::UINT = 0x0002;
pub const MDITILE_ZORDER: ::UINT = 0x0004;
pub const MB_OK: ::DWORD = 0x00000000;
pub const MB_OKCANCEL: ::DWORD = 0x00000001;
pub const MB_ABORTRETRYIGNORE: ::DWORD = 0x00000002;
pub const MB_YESNOCANCEL: ::DWORD = 0x00000003;
pub const MB_YESNO: ::DWORD = 0x00000004;
pub const MB_RETRYCANCEL: ::DWORD = 0x00000005;
pub const MB_CANCELTRYCONTINUE: ::DWORD = 0x00000006;
pub const MB_ICONHAND: ::DWORD = 0x00000010;
pub const MB_ICONQUESTION: ::DWORD = 0x00000020;
pub const MB_ICONEXCLAMATION: ::DWORD = 0x00000030;
pub const MB_ICONASTERISK: ::DWORD = 0x00000040;
pub const MB_USERICON: ::DWORD = 0x00000080;
pub const MB_ICONWARNING: ::DWORD = MB_ICONEXCLAMATION;
pub const MB_ICONERROR: ::DWORD = MB_ICONHAND;
pub const MB_ICONINFORMATION: ::DWORD = MB_ICONASTERISK;
pub const MB_ICONSTOP: ::DWORD = MB_ICONHAND;
pub const MB_DEFBUTTON1: ::DWORD = 0x00000000;
pub const MB_DEFBUTTON2: ::DWORD = 0x00000100;
pub const MB_DEFBUTTON3: ::DWORD = 0x00000200;
pub const MB_DEFBUTTON4: ::DWORD = 0x00000300;
pub const MB_APPLMODAL: ::DWORD = 0x00000000;
pub const MB_SYSTEMMODAL: ::DWORD = 0x00001000;
pub const MB_TASKMODAL: ::DWORD = 0x00002000;
pub const MB_HELP: ::DWORD = 0x00004000;
pub const MB_NOFOCUS: ::DWORD = 0x00008000;
pub const MB_SETFOREGROUND: ::DWORD = 0x00010000;
pub const MB_DEFAULT_DESKTOP_ONLY: ::DWORD = 0x00020000;
pub const MB_TOPMOST: ::DWORD = 0x00040000;
pub const MB_RIGHT: ::DWORD = 0x00080000;
pub const MB_RTLREADING: ::DWORD = 0x00100000;
pub const MB_SERVICE_NOTIFICATION: ::DWORD = 0x00200000;
pub const MB_SERVICE_NOTIFICATION_NT3X: ::DWORD = 0x00040000;
pub const MB_TYPEMASK: ::DWORD = 0x0000000F;
pub const MB_ICONMASK: ::DWORD = 0x000000F0;
pub const MB_DEFMASK: ::DWORD = 0x00000F00;
pub const MB_MODEMASK: ::DWORD = 0x00003000;
pub const MB_MISCMASK: ::DWORD = 0x0000C000;
pub const MF_BITMAP: ::UINT = 0x00000004;
pub const MF_CHECKED: ::UINT = 0x00000008;
pub const MF_DISABLED: ::UINT = 0x00000002;
pub const MF_ENABLED: ::UINT = 0x00000000;
pub const MF_GRAYED: ::UINT = 0x00000001;
pub const MF_MENUBARBREAK: ::UINT = 0x00000020;
pub const MF_MENUBREAK: ::UINT = 0x00000040;
pub const MF_OWNERDRAW: ::UINT = 0x00000100;
pub const MF_POPUP: ::UINT = 0x00000010;
pub const MF_SEPARATOR: ::UINT = 0x00000800;
pub const MF_STRING: ::UINT = 0x00000000;
pub const MF_UNCHECKED: ::UINT = 0x00000000;
pub const SB_HORZ: ::c_int = 0;
pub const SB_VERT: ::c_int = 1;
pub const SB_CTL: ::c_int = 2;
pub const SB_BOTH: ::c_int = 3;
pub const SW_HIDE: ::c_int = 0;
pub const SW_SHOWNORMAL: ::c_int = 1;
pub const SW_NORMAL: ::c_int = 1;
pub const SW_SHOWMINIMIZED: ::c_int = 2;
pub const SW_SHOWMAXIMIZED: ::c_int = 3;
pub const SW_MAXIMIZE: ::c_int = 3;
pub const SW_SHOWNOACTIVATE: ::c_int = 4;
pub const SW_SHOW: ::c_int = 5;
pub const SW_MINIMIZE: ::c_int = 6;
pub const SW_SHOWMINNOACTIVE: ::c_int = 7;
pub const SW_SHOWNA: ::c_int = 8;
pub const SW_RESTORE: ::c_int = 9;
pub const SW_SHOWDEFAULT: ::c_int = 10;
pub const SW_FORCEMINIMIZE: ::c_int = 11;
pub const SW_MAX: ::c_int = 11;
pub const SWP_NOSIZE: ::UINT = 0x0001;
pub const SWP_NOMOVE: ::UINT = 0x0002;
pub const SWP_NOZORDER: ::UINT = 0x0004;
pub const SWP_NOREDRAW: ::UINT = 0x0008;
pub const SWP_NOACTIVATE: ::UINT = 0x0010;
pub const SWP_FRAMECHANGED: ::UINT = 0x0020;
pub const SWP_SHOWWINDOW: ::UINT = 0x0040;
pub const SWP_HIDEWINDOW: ::UINT = 0x0080;
pub const SWP_NOCOPYBITS: ::UINT = 0x0100;
pub const SWP_NOOWNERZORDER: ::UINT = 0x0200;
pub const SWP_NOSENDCHANGING: ::UINT = 0x0400;
pub const SWP_DRAWFRAME: ::UINT = SWP_FRAMECHANGED;
pub const SWP_NOREPOSITION: ::UINT = SWP_NOOWNERZORDER;
pub const SWP_DEFERERASE: ::UINT = 0x2000;
pub const SWP_ASYNCWINDOWPOS: ::UINT = 0x4000;
pub const VK_LBUTTON: ::c_int = 0x01;
pub const VK_RBUTTON: ::c_int = 0x02;
pub const VK_CANCEL: ::c_int = 0x03;
pub const VK_MBUTTON: ::c_int = 0x04;
pub const VK_XBUTTON1: ::c_int = 0x05;
pub const VK_XBUTTON2: ::c_int = 0x06;
pub const VK_BACK: ::c_int = 0x08;
pub const VK_TAB: ::c_int = 0x09;
pub const VK_CLEAR: ::c_int = 0x0C;
pub const VK_RETURN: ::c_int = 0x0D;
pub const VK_SHIFT: ::c_int = 0x10;
pub const VK_CONTROL: ::c_int = 0x11;
pub const VK_MENU: ::c_int = 0x12;
pub const VK_PAUSE: ::c_int = 0x13;
pub const VK_CAPITAL: ::c_int = 0x14;
pub const VK_KANA: ::c_int = 0x15;
pub const VK_HANGUEL: ::c_int = 0x15;
pub const VK_HANGUL: ::c_int = 0x15;
pub const VK_JUNJA: ::c_int = 0x17;
pub const VK_FINAL: ::c_int = 0x18;
pub const VK_HANJA: ::c_int = 0x19;
pub const VK_KANJI: ::c_int = 0x19;
pub const VK_ESCAPE: ::c_int = 0x1B;
pub const VK_CONVERT: ::c_int = 0x1C;
pub const VK_NONCONVERT: ::c_int = 0x1D;
pub const VK_ACCEPT: ::c_int = 0x1E;
pub const VK_MODECHANGE: ::c_int = 0x1F;
pub const VK_SPACE: ::c_int = 0x20;
pub const VK_PRIOR: ::c_int = 0x21;
pub const VK_NEXT: ::c_int = 0x22;
pub const VK_END: ::c_int = 0x23;
pub const VK_HOME: ::c_int = 0x24;
pub const VK_LEFT: ::c_int = 0x25;
pub const VK_UP: ::c_int = 0x26;
pub const VK_RIGHT: ::c_int = 0x27;
pub const VK_DOWN: ::c_int = 0x28;
pub const VK_SELECT: ::c_int = 0x29;
pub const VK_PRINT: ::c_int = 0x2A;
pub const VK_EXECUTE: ::c_int = 0x2B;
pub const VK_SNAPSHOT: ::c_int = 0x2C;
pub const VK_INSERT: ::c_int = 0x2D;
pub const VK_DELETE: ::c_int = 0x2E;
pub const VK_HELP: ::c_int = 0x2F;
pub const VK_LWIN: ::c_int = 0x5B;
pub const VK_RWIN: ::c_int = 0x5C;
pub const VK_APPS: ::c_int = 0x5D;
pub const VK_SLEEP: ::c_int = 0x5F;
pub const VK_NUMPAD0: ::c_int = 0x60;
pub const VK_NUMPAD1: ::c_int = 0x61;
pub const VK_NUMPAD2: ::c_int = 0x62;
pub const VK_NUMPAD3: ::c_int = 0x63;
pub const VK_NUMPAD4: ::c_int = 0x64;
pub const VK_NUMPAD5: ::c_int = 0x65;
pub const VK_NUMPAD6: ::c_int = 0x66;
pub const VK_NUMPAD7: ::c_int = 0x67;
pub const VK_NUMPAD8: ::c_int = 0x68;
pub const VK_NUMPAD9: ::c_int = 0x69;
pub const VK_MULTIPLY: ::c_int = 0x6A;
pub const VK_ADD: ::c_int = 0x6B;
pub const VK_SEPARATOR: ::c_int = 0x6C;
pub const VK_SUBTRACT: ::c_int = 0x6D;
pub const VK_DECIMAL: ::c_int = 0x6E;
pub const VK_DIVIDE: ::c_int = 0x6F;
pub const VK_F1: ::c_int = 0x70;
pub const VK_F2: ::c_int = 0x71;
pub const VK_F3: ::c_int = 0x72;
pub const VK_F4: ::c_int = 0x73;
pub const VK_F5: ::c_int = 0x74;
pub const VK_F6: ::c_int = 0x75;
pub const VK_F7: ::c_int = 0x76;
pub const VK_F8: ::c_int = 0x77;
pub const VK_F9: ::c_int = 0x78;
pub const VK_F10: ::c_int = 0x79;
pub const VK_F11: ::c_int = 0x7A;
pub const VK_F12: ::c_int = 0x7B;
pub const VK_F13: ::c_int = 0x7C;
pub const VK_F14: ::c_int = 0x7D;
pub const VK_F15: ::c_int = 0x7E;
pub const VK_F16: ::c_int = 0x7F;
pub const VK_F17: ::c_int = 0x80;
pub const VK_F18: ::c_int = 0x81;
pub const VK_F19: ::c_int = 0x82;
pub const VK_F20: ::c_int = 0x83;
pub const VK_F21: ::c_int = 0x84;
pub const VK_F22: ::c_int = 0x85;
pub const VK_F23: ::c_int = 0x86;
pub const VK_F24: ::c_int = 0x87;
pub const VK_NUMLOCK: ::c_int = 0x90;
pub const VK_SCROLL: ::c_int = 0x91;
pub const VK_OEM_NEC_EQUAL: ::c_int = 0x92;
pub const VK_OEM_FJ_JISHO: ::c_int = 0x92;
pub const VK_OEM_FJ_MASSHOU: ::c_int = 0x93;
pub const VK_OEM_FJ_TOUROKU: ::c_int = 0x94;
pub const VK_OEM_FJ_LOYA: ::c_int = 0x95;
pub const VK_OEM_FJ_ROYA: ::c_int = 0x96;
pub const VK_LSHIFT: ::c_int = 0xA0;
pub const VK_RSHIFT: ::c_int = 0xA1;
pub const VK_LCONTROL: ::c_int = 0xA2;
pub const VK_RCONTROL: ::c_int = 0xA3;
pub const VK_LMENU: ::c_int = 0xA4;
pub const VK_RMENU: ::c_int = 0xA5;
pub const VK_BROWSER_BACK: ::c_int = 0xA6;
pub const VK_BROWSER_FORWARD: ::c_int = 0xA7;
pub const VK_BROWSER_REFRESH: ::c_int = 0xA8;
pub const VK_BROWSER_STOP: ::c_int = 0xA9;
pub const VK_BROWSER_SEARCH: ::c_int = 0xAA;
pub const VK_BROWSER_FAVORITES: ::c_int = 0xAB;
pub const VK_BROWSER_HOME: ::c_int = 0xAC;
pub const VK_VOLUME_MUTE: ::c_int = 0xAD;
pub const VK_VOLUME_DOWN: ::c_int = 0xAE;
pub const VK_VOLUME_UP: ::c_int = 0xAF;
pub const VK_MEDIA_NEXT_TRACK: ::c_int = 0xB0;
pub const VK_MEDIA_PREV_TRACK: ::c_int = 0xB1;
pub const VK_MEDIA_STOP: ::c_int = 0xB2;
pub const VK_MEDIA_PLAY_PAUSE: ::c_int = 0xB3;
pub const VK_LAUNCH_MAIL: ::c_int = 0xB4;
pub const VK_LAUNCH_MEDIA_SELECT: ::c_int = 0xB5;
pub const VK_LAUNCH_APP1: ::c_int = 0xB6;
pub const VK_LAUNCH_APP2: ::c_int = 0xB7;
pub const VK_OEM_1: ::c_int = 0xBA;
pub const VK_OEM_PLUS: ::c_int = 0xBB;
pub const VK_OEM_COMMA: ::c_int = 0xBC;
pub const VK_OEM_MINUS: ::c_int = 0xBD;
pub const VK_OEM_PERIOD: ::c_int = 0xBE;
pub const VK_OEM_2: ::c_int = 0xBF;
pub const VK_OEM_3: ::c_int = 0xC0;
pub const VK_OEM_4: ::c_int = 0xDB;
pub const VK_OEM_5: ::c_int = 0xDC;
pub const VK_OEM_6: ::c_int = 0xDD;
pub const VK_OEM_7: ::c_int = 0xDE;
pub const VK_OEM_8: ::c_int = 0xDF;
pub const VK_OEM_AX: ::c_int = 0xE1;
pub const VK_OEM_102: ::c_int = 0xE2;
pub const VK_ICO_HELP: ::c_int = 0xE3;
pub const VK_ICO_00: ::c_int = 0xE4;
pub const VK_PROCESSKEY: ::c_int = 0xE5;
pub const VK_ICO_CLEAR: ::c_int = 0xE6;
pub const VK_PACKET: ::c_int = 0xE7;
pub const VK_OEM_RESET: ::c_int = 0xE9;
pub const VK_OEM_JUMP: ::c_int = 0xEA;
pub const VK_OEM_PA1: ::c_int = 0xEB;
pub const VK_OEM_PA2: ::c_int = 0xEC;
pub const VK_OEM_PA3: ::c_int = 0xED;
pub const VK_OEM_WSCTRL: ::c_int = 0xEE;
pub const VK_OEM_CUSEL: ::c_int = 0xEF;
pub const VK_OEM_ATTN: ::c_int = 0xF0;
pub const VK_OEM_FINISH: ::c_int = 0xF1;
pub const VK_OEM_COPY: ::c_int = 0xF2;
pub const VK_OEM_AUTO: ::c_int = 0xF3;
pub const VK_OEM_ENLW: ::c_int = 0xF4;
pub const VK_OEM_BACKTAB: ::c_int = 0xF5;
pub const VK_ATTN: ::c_int = 0xF6;
pub const VK_CRSEL: ::c_int = 0xF7;
pub const VK_EXSEL: ::c_int = 0xF8;
pub const VK_EREOF: ::c_int = 0xF9;
pub const VK_PLAY: ::c_int = 0xFA;
pub const VK_ZOOM: ::c_int = 0xFB;
pub const VK_NONAME: ::c_int = 0xFC;
pub const VK_PA1: ::c_int = 0xFD;
pub const VK_OEM_CLEAR: ::c_int = 0xFE;
// if _WIN32_WINNT >= 0x0500
pub const APPCOMMAND_BROWSER_BACKWARD: ::c_short = 1;
pub const APPCOMMAND_BROWSER_FORWARD: ::c_short = 2;
pub const APPCOMMAND_BROWSER_REFRESH: ::c_short = 3;
pub const APPCOMMAND_BROWSER_STOP: ::c_short = 4;
pub const APPCOMMAND_BROWSER_SEARCH: ::c_short = 5;
pub const APPCOMMAND_BROWSER_FAVORITES: ::c_short = 6;
pub const APPCOMMAND_BROWSER_HOME: ::c_short = 7;
pub const APPCOMMAND_VOLUME_MUTE: ::c_short = 8;
pub const APPCOMMAND_VOLUME_DOWN: ::c_short = 9;
pub const APPCOMMAND_VOLUME_UP: ::c_short = 10;
pub const APPCOMMAND_MEDIA_NEXTTRACK: ::c_short = 11;
pub const APPCOMMAND_MEDIA_PREVIOUSTRACK: ::c_short = 12;
pub const APPCOMMAND_MEDIA_STOP: ::c_short = 13;
pub const APPCOMMAND_MEDIA_PLAY_PAUSE: ::c_short = 14;
pub const APPCOMMAND_LAUNCH_MAIL: ::c_short = 15;
pub const APPCOMMAND_LAUNCH_MEDIA_SELECT: ::c_short = 16;
pub const APPCOMMAND_LAUNCH_APP1: ::c_short = 17;
pub const APPCOMMAND_LAUNCH_APP2: ::c_short = 18;
pub const APPCOMMAND_BASS_DOWN: ::c_short = 19;
pub const APPCOMMAND_BASS_BOOST: ::c_short = 20;
pub const APPCOMMAND_BASS_UP: ::c_short = 21;
pub const APPCOMMAND_TREBLE_DOWN: ::c_short = 22;
pub const APPCOMMAND_TREBLE_UP: ::c_short = 23;
// if _WIN32_WINNT >= 0x0501
pub const APPCOMMAND_MICROPHONE_VOLUME_MUTE: ::c_short = 24;
pub const APPCOMMAND_MICROPHONE_VOLUME_DOWN: ::c_short = 25;
pub const APPCOMMAND_MICROPHONE_VOLUME_UP: ::c_short = 26;
pub const APPCOMMAND_HELP: ::c_short = 27;
pub const APPCOMMAND_FIND: ::c_short = 28;
pub const APPCOMMAND_NEW: ::c_short = 29;
pub const APPCOMMAND_OPEN: ::c_short = 30;
pub const APPCOMMAND_CLOSE: ::c_short = 31;
pub const APPCOMMAND_SAVE: ::c_short = 32;
pub const APPCOMMAND_PRINT: ::c_short = 33;
pub const APPCOMMAND_UNDO: ::c_short = 34;
pub const APPCOMMAND_REDO: ::c_short = 35;
pub const APPCOMMAND_COPY: ::c_short = 36;
pub const APPCOMMAND_CUT: ::c_short = 37;
pub const APPCOMMAND_PASTE: ::c_short = 38;
pub const APPCOMMAND_REPLY_TO_MAIL: ::c_short = 39;
pub const APPCOMMAND_FORWARD_MAIL: ::c_short = 40;
pub const APPCOMMAND_SEND_MAIL: ::c_short = 41;
pub const APPCOMMAND_SPELL_CHECK: ::c_short = 42;
pub const APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE: ::c_short = 43;
pub const APPCOMMAND_MIC_ON_OFF_TOGGLE: ::c_short = 44;
pub const APPCOMMAND_CORRECTION_LIST: ::c_short = 45;
pub const APPCOMMAND_MEDIA_PLAY: ::c_short = 46;
pub const APPCOMMAND_MEDIA_PAUSE: ::c_short = 47;
pub const APPCOMMAND_MEDIA_RECORD: ::c_short = 48;
pub const APPCOMMAND_MEDIA_FAST_FORWARD: ::c_short = 49;
pub const APPCOMMAND_MEDIA_REWIND: ::c_short = 50;
pub const APPCOMMAND_MEDIA_CHANNEL_UP: ::c_short = 51;
pub const APPCOMMAND_MEDIA_CHANNEL_DOWN: ::c_short = 52;
// end if _WIN32_WINNT >= 0x0501
// if _WIN32_WINNT >= 0x0600
pub const APPCOMMAND_DELETE: ::c_short = 53;
pub const APPCOMMAND_DWM_FLIP3D: ::c_short = 54;
// end if _WIN32_WINNT >= 0x0600
pub const WM_NULL: ::UINT = 0x0000;
pub const WM_CREATE: ::UINT = 0x0001;
pub const WM_DESTROY: ::UINT = 0x0002;
pub const WM_MOVE: ::UINT = 0x0003;
pub const WM_SIZE: ::UINT = 0x0005;
pub const WM_ACTIVATE: ::UINT = 0x0006;
pub const WM_SETFOCUS: ::UINT = 0x0007;
pub const WM_KILLFOCUS: ::UINT = 0x0008;
pub const WM_ENABLE: ::UINT = 0x000A;
pub const WM_SETREDRAW: ::UINT = 0x000B;
pub const WM_SETTEXT: ::UINT = 0x000C;
pub const WM_GETTEXT: ::UINT = 0x000D;
pub const WM_GETTEXTLENGTH: ::UINT = 0x000E;
pub const WM_PAINT: ::UINT = 0x000F;
pub const WM_CLOSE: ::UINT = 0x0010;
pub const WM_QUERYENDSESSION: ::UINT = 0x0011;
pub const WM_QUERYOPEN: ::UINT = 0x0013;
pub const WM_ENDSESSION: ::UINT = 0x0016;
pub const WM_QUIT: ::UINT = 0x0012;
pub const WM_ERASEBKGND: ::UINT = 0x0014;
pub const WM_SYSCOLORCHANGE: ::UINT = 0x0015;
pub const WM_SHOWWINDOW: ::UINT = 0x0018;
pub const WM_WININICHANGE: ::UINT = 0x001A;
pub const WM_SETTINGCHANGE: ::UINT = WM_WININICHANGE;
pub const WM_DEVMODECHANGE: ::UINT = 0x001B;
pub const WM_ACTIVATEAPP: ::UINT = 0x001C;
pub const WM_FONTCHANGE: ::UINT = 0x001D;
pub const WM_TIMECHANGE: ::UINT = 0x001E;
pub const WM_CANCELMODE: ::UINT = 0x001F;
pub const WM_SETCURSOR: ::UINT = 0x0020;
pub const WM_MOUSEACTIVATE: ::UINT = 0x0021;
pub const WM_CHILDACTIVATE: ::UINT = 0x0022;
pub const WM_QUEUESYNC: ::UINT = 0x0023;
pub const WM_GETMINMAXINFO: ::UINT = 0x0024;
pub const WM_PAINTICON: ::UINT = 0x0026;
pub const WM_ICONERASEBKGND: ::UINT = 0x0027;
pub const WM_NEXTDLGCTL: ::UINT = 0x0028;
pub const WM_SPOOLERSTATUS: ::UINT = 0x002A;
pub const WM_DRAWITEM: ::UINT = 0x002B;
pub const WM_MEASUREITEM: ::UINT = 0x002C;
pub const WM_DELETEITEM: ::UINT = 0x002D;
pub const WM_VKEYTOITEM: ::UINT = 0x002E;
pub const WM_CHARTOITEM: ::UINT = 0x002F;
pub const WM_SETFONT: ::UINT = 0x0030;
pub const WM_GETFONT: ::UINT = 0x0031;
pub const WM_SETHOTKEY: ::UINT = 0x0032;
pub const WM_GETHOTKEY: ::UINT = 0x0033;
pub const WM_QUERYDRAGICON: ::UINT = 0x0037;
pub const WM_COMPAREITEM: ::UINT = 0x0039;
pub const WM_GETOBJECT: ::UINT = 0x003D;
pub const WM_COMPACTING: ::UINT = 0x0041;
pub const WM_COMMNOTIFY: ::UINT = 0x0044;
pub const WM_WINDOWPOSCHANGING: ::UINT = 0x0046;
pub const WM_WINDOWPOSCHANGED: ::UINT = 0x0047;
pub const WM_POWER: ::UINT = 0x0048;
pub const WM_COPYDATA: ::UINT = 0x004A;
pub const WM_CANCELJOURNAL: ::UINT = 0x004B;
pub const WM_NOTIFY: ::UINT = 0x004E;
pub const WM_INPUTLANGCHANGEREQUEST: ::UINT = 0x0050;
pub const WM_INPUTLANGCHANGE: ::UINT = 0x0051;
pub const WM_TCARD: ::UINT = 0x0052;
pub const WM_HELP: ::UINT = 0x0053;
pub const WM_USERCHANGED: ::UINT = 0x0054;
pub const WM_NOTIFYFORMAT: ::UINT = 0x0055;
pub const WM_CONTEXTMENU: ::UINT = 0x007B;
pub const WM_STYLECHANGING: ::UINT = 0x007C;
pub const WM_STYLECHANGED: ::UINT = 0x007D;
pub const WM_DISPLAYCHANGE: ::UINT = 0x007E;
pub const WM_GETICON: ::UINT = 0x007F;
pub const WM_SETICON: ::UINT = 0x0080;
pub const WM_NCCREATE: ::UINT = 0x0081;
pub const WM_NCDESTROY: ::UINT = 0x0082;
pub const WM_NCCALCSIZE: ::UINT = 0x0083;
pub const WM_NCHITTEST: ::UINT = 0x0084;
pub const WM_NCPAINT: ::UINT = 0x0085;
pub const WM_NCACTIVATE: ::UINT = 0x0086;
pub const WM_GETDLGCODE: ::UINT = 0x0087;
pub const WM_SYNCPAINT: ::UINT = 0x0088;
pub const WM_NCMOUSEMOVE: ::UINT = 0x00A0;
pub const WM_NCLBUTTONDOWN: ::UINT = 0x00A1;
pub const WM_NCLBUTTONUP: ::UINT = 0x00A2;
pub const WM_NCLBUTTONDBLCLK: ::UINT = 0x00A3;
pub const WM_NCRBUTTONDOWN: ::UINT = 0x00A4;
pub const WM_NCRBUTTONUP: ::UINT = 0x00A5;
pub const WM_NCRBUTTONDBLCLK: ::UINT = 0x00A6;
pub const WM_NCMBUTTONDOWN: ::UINT = 0x00A7;
pub const WM_NCMBUTTONUP: ::UINT = 0x00A8;
pub const WM_NCMBUTTONDBLCLK: ::UINT = 0x00A9;
pub const WM_NCXBUTTONDOWN: ::UINT = 0x00AB;
pub const WM_NCXBUTTONUP: ::UINT = 0x00AC;
pub const WM_NCXBUTTONDBLCLK: ::UINT = 0x00AD;
pub const WM_INPUT_DEVICE_CHANGE: ::UINT = 0x00FE;
pub const WM_INPUT: ::UINT = 0x00FF;
pub const WM_KEYFIRST: ::UINT = 0x0100;
pub const WM_KEYDOWN: ::UINT = 0x0100;
pub const WM_KEYUP: ::UINT = 0x0101;
pub const WM_CHAR: ::UINT = 0x0102;
pub const WM_DEADCHAR: ::UINT = 0x0103;
pub const WM_SYSKEYDOWN: ::UINT = 0x0104;
pub const WM_SYSKEYUP: ::UINT = 0x0105;
pub const WM_SYSCHAR: ::UINT = 0x0106;
pub const WM_SYSDEADCHAR: ::UINT = 0x0107;
pub const WM_UNICHAR: ::UINT = 0x0109;
pub const WM_KEYLAST: ::UINT = 0x0109;
pub const WM_IME_STARTCOMPOSITION: ::UINT = 0x010D;
pub const WM_IME_ENDCOMPOSITION: ::UINT = 0x010E;
pub const WM_IME_COMPOSITION: ::UINT = 0x010F;
pub const WM_IME_KEYLAST: ::UINT = 0x010F;
pub const WM_INITDIALOG: ::UINT = 0x0110;
pub const WM_COMMAND: ::UINT = 0x0111;
pub const WM_SYSCOMMAND: ::UINT = 0x0112;
pub const WM_TIMER: ::UINT = 0x0113;
pub const WM_HSCROLL: ::UINT = 0x0114;
pub const WM_VSCROLL: ::UINT = 0x0115;
pub const WM_INITMENU: ::UINT = 0x0116;
pub const WM_INITMENUPOPUP: ::UINT = 0x0117;
pub const WM_GESTURE: ::UINT = 0x0119;
pub const WM_GESTURENOTIFY: ::UINT = 0x011A;
pub const WM_MENUSELECT: ::UINT = 0x011F;
pub const WM_MENUCHAR: ::UINT = 0x0120;
pub const WM_ENTERIDLE: ::UINT = 0x0121;
pub const WM_MENURBUTTONUP: ::UINT = 0x0122;
pub const WM_MENUDRAG: ::UINT = 0x0123;
pub const WM_MENUGETOBJECT: ::UINT = 0x0124;
pub const WM_UNINITMENUPOPUP: ::UINT = 0x0125;
pub const WM_MENUCOMMAND: ::UINT = 0x0126;
pub const WM_CHANGEUISTATE: ::UINT = 0x0127;
pub const WM_UPDATEUISTATE: ::UINT = 0x0128;
pub const WM_QUERYUISTATE: ::UINT = 0x0129;
pub const WM_CTLCOLORMSGBOX: ::UINT = 0x0132;
pub const WM_CTLCOLOREDIT: ::UINT = 0x0133;
pub const WM_CTLCOLORLISTBOX: ::UINT = 0x0134;
pub const WM_CTLCOLORBTN: ::UINT = 0x0135;
pub const WM_CTLCOLORDLG: ::UINT = 0x0136;
pub const WM_CTLCOLORSCROLLBAR: ::UINT = 0x0137;
pub const WM_CTLCOLORSTATIC: ::UINT = 0x0138;
pub const WM_MOUSEFIRST: ::UINT = 0x0200;
pub const WM_MOUSEMOVE: ::UINT = 0x0200;
pub const WM_LBUTTONDOWN: ::UINT = 0x0201;
pub const WM_LBUTTONUP: ::UINT = 0x0202;
pub const WM_LBUTTONDBLCLK: ::UINT = 0x0203;
pub const WM_RBUTTONDOWN: ::UINT = 0x0204;
pub const WM_RBUTTONUP: ::UINT = 0x0205;
pub const WM_RBUTTONDBLCLK: ::UINT = 0x0206;
pub const WM_MBUTTONDOWN: ::UINT = 0x0207;
pub const WM_MBUTTONUP: ::UINT = 0x0208;
pub const WM_MBUTTONDBLCLK: ::UINT = 0x0209;
pub const WM_MOUSEWHEEL: ::UINT = 0x020A;
pub const WM_XBUTTONDOWN: ::UINT = 0x020B;
pub const WM_XBUTTONUP: ::UINT = 0x020C;
pub const WM_XBUTTONDBLCLK: ::UINT = 0x020D;
pub const WM_MOUSEHWHEEL: ::UINT = 0x020E;
pub const WM_MOUSELAST: ::UINT = 0x020E;
pub const WM_PARENTNOTIFY: ::UINT = 0x0210;
pub const WM_ENTERMENULOOP: ::UINT = 0x0211;
pub const WM_EXITMENULOOP: ::UINT = 0x0212;
pub const WM_NEXTMENU: ::UINT = 0x0213;
pub const WM_SIZING: ::UINT = 0x0214;
pub const WM_CAPTURECHANGED: ::UINT = 0x0215;
pub const WM_MOVING: ::UINT = 0x0216;
pub const WM_POWERBROADCAST: ::UINT = 0x0218;
pub const WM_DEVICECHANGE: ::UINT = 0x0219;
pub const WM_MDICREATE: ::UINT = 0x0220;
pub const WM_MDIDESTROY: ::UINT = 0x0221;
pub const WM_MDIACTIVATE: ::UINT = 0x0222;
pub const WM_MDIRESTORE: ::UINT = 0x0223;
pub const WM_MDINEXT: ::UINT = 0x0224;
pub const WM_MDIMAXIMIZE: ::UINT = 0x0225;
pub const WM_MDITILE: ::UINT = 0x0226;
pub const WM_MDICASCADE: ::UINT = 0x0227;
pub const WM_MDIICONARRANGE: ::UINT = 0x0228;
pub const WM_MDIGETACTIVE: ::UINT = 0x0229;
pub const WM_MDISETMENU: ::UINT = 0x0230;
pub const WM_ENTERSIZEMOVE: ::UINT = 0x0231;
pub const WM_EXITSIZEMOVE: ::UINT = 0x0232;
pub const WM_DROPFILES: ::UINT = 0x0233;
pub const WM_MDIREFRESHMENU: ::UINT = 0x0234;
pub const WM_POINTERDEVICECHANGE: ::UINT = 0x238;
pub const WM_POINTERDEVICEINRANGE: ::UINT = 0x239;
pub const WM_POINTERDEVICEOUTOFRANGE: ::UINT = 0x23A;
pub const WM_TOUCH: ::UINT = 0x0240;
pub const WM_NCPOINTERUPDATE: ::UINT = 0x0241;
pub const WM_NCPOINTERDOWN: ::UINT = 0x0242;
pub const WM_NCPOINTERUP: ::UINT = 0x0243;
pub const WM_POINTERUPDATE: ::UINT = 0x0245;
pub const WM_POINTERDOWN: ::UINT = 0x0246;
pub const WM_POINTERUP: ::UINT = 0x0247;
pub const WM_POINTERENTER: ::UINT = 0x0249;
pub const WM_POINTERLEAVE: ::UINT = 0x024A;
pub const WM_POINTERACTIVATE: ::UINT = 0x024B;
pub const WM_POINTERCAPTURECHANGED: ::UINT = 0x024C;
pub const WM_TOUCHHITTESTING: ::UINT = 0x024D;
pub const WM_POINTERWHEEL: ::UINT = 0x024E;
pub const WM_POINTERHWHEEL: ::UINT = 0x024F;
pub const WM_IME_SETCONTEXT: ::UINT = 0x0281;
pub const WM_IME_NOTIFY: ::UINT = 0x0282;
pub const WM_IME_CONTROL: ::UINT = 0x0283;
pub const WM_IME_COMPOSITIONFULL: ::UINT = 0x0284;
pub const WM_IME_SELECT: ::UINT = 0x0285;
pub const WM_IME_CHAR: ::UINT = 0x0286;
pub const WM_IME_REQUEST: ::UINT = 0x0288;
pub const WM_IME_KEYDOWN: ::UINT = 0x0290;
pub const WM_IME_KEYUP: ::UINT = 0x0291;
pub const WM_MOUSEHOVER: ::UINT = 0x02A1;
pub const WM_MOUSELEAVE: ::UINT = 0x02A3;
pub const WM_NCMOUSEHOVER: ::UINT = 0x02A0;
pub const WM_NCMOUSELEAVE: ::UINT = 0x02A2;
pub const WM_WTSSESSION_CHANGE: ::UINT = 0x02B1;
pub const WM_TABLET_FIRST: ::UINT = 0x02c0;
pub const WM_TABLET_LAST: ::UINT = 0x02df;
pub const WM_DPICHANGED: ::UINT = 0x02E0;
pub const WM_CUT: ::UINT = 0x0300;
pub const WM_COPY: ::UINT = 0x0301;
pub const WM_PASTE: ::UINT = 0x0302;
pub const WM_CLEAR: ::UINT = 0x0303;
pub const WM_UNDO: ::UINT = 0x0304;
pub const WM_RENDERFORMAT: ::UINT = 0x0305;
pub const WM_RENDERALLFORMATS: ::UINT = 0x0306;
pub const WM_DESTROYCLIPBOARD: ::UINT = 0x0307;
pub const WM_DRAWCLIPBOARD: ::UINT = 0x0308;
pub const WM_PAINTCLIPBOARD: ::UINT = 0x0309;
pub const WM_VSCROLLCLIPBOARD: ::UINT = 0x030A;
pub const WM_SIZECLIPBOARD: ::UINT = 0x030B;
pub const WM_ASKCBFORMATNAME: ::UINT = 0x030C;
pub const WM_CHANGECBCHAIN: ::UINT = 0x030D;
pub const WM_HSCROLLCLIPBOARD: ::UINT = 0x030E;
pub const WM_QUERYNEWPALETTE: ::UINT = 0x030F;
pub const WM_PALETTEISCHANGING: ::UINT = 0x0310;
pub const WM_PALETTECHANGED: ::UINT = 0x0311;
pub const WM_HOTKEY: ::UINT = 0x0312;
pub const WM_PRINT: ::UINT = 0x0317;
pub const WM_PRINTCLIENT: ::UINT = 0x0318;
pub const WM_APPCOMMAND: ::UINT = 0x0319;
pub const WM_THEMECHANGED: ::UINT = 0x031A;
pub const WM_CLIPBOARDUPDATE: ::UINT = 0x031D;
pub const WM_DWMCOMPOSITIONCHANGED: ::UINT = 0x031E;
pub const WM_DWMNCRENDERINGCHANGED: ::UINT = 0x031F;
pub const WM_DWMCOLORIZATIONCOLORCHANGED: ::UINT = 0x0320;
pub const WM_DWMWINDOWMAXIMIZEDCHANGE: ::UINT = 0x0321;
pub const WM_DWMSENDICONICTHUMBNAIL: ::UINT = 0x0323;
pub const WM_DWMSENDICONICLIVEPREVIEWBITMAP: ::UINT = 0x0326;
pub const WM_GETTITLEBARINFOEX: ::UINT = 0x033F;
pub const WM_HANDHELDFIRST: ::UINT = 0x0358;
pub const WM_HANDHELDLAST: ::UINT = 0x035F;
pub const WM_AFXFIRST: ::UINT = 0x0360;
pub const WM_AFXLAST: ::UINT = 0x037F;
pub const WM_PENWINFIRST: ::UINT = 0x0380;
pub const WM_PENWINLAST: ::UINT = 0x038F;
pub const WM_APP: ::UINT = 0x8000;
pub const WM_USER: ::UINT = 0x0400;
pub const WMSZ_LEFT: ::UINT = 1;
pub const WMSZ_RIGHT: ::UINT = 2;
pub const WMSZ_TOP: ::UINT = 3;
pub const WMSZ_TOPLEFT: ::UINT = 4;
pub const WMSZ_TOPRIGHT: ::UINT = 5;
pub const WMSZ_BOTTOM: ::UINT = 6;
pub const WMSZ_BOTTOMLEFT: ::UINT = 7;
pub const WMSZ_BOTTOMRIGHT: ::UINT = 8;
pub const SMTO_NORMAL: ::UINT = 0x0000;
pub const SMTO_BLOCK: ::UINT = 0x0001;
pub const SMTO_ABORTIFHUNG: ::UINT = 0x0002;
pub const SMTO_NOTIMEOUTIFNOTHUNG: ::UINT = 0x0008;
pub const SMTO_ERRORONEXIT: ::UINT = 0x0020;
pub const MA_ACTIVATE: ::UINT = 1;
pub const MA_ACTIVATEANDEAT: ::UINT = 2;
pub const MA_NOACTIVATE: ::UINT = 3;
pub const MA_NOACTIVATEANDEAT: ::UINT = 4;
pub const ICON_SMALL: ::UINT = 0;
pub const ICON_BIG: ::UINT = 1;
pub const ICON_SMALL2: ::UINT = 2;
pub const SIZE_RESTORED: ::UINT = 0;
pub const SIZE_MINIMIZED: ::UINT = 1;
pub const SIZE_MAXIMIZED: ::UINT = 2;
pub const SIZE_MAXSHOW: ::UINT = 3;
pub const SIZE_MAXHIDE: ::UINT = 4;
pub const SIZENORMAL: ::UINT = SIZE_RESTORED;
pub const SIZEICONIC: ::UINT = SIZE_MINIMIZED;
pub const SIZEFULLSCREEN: ::UINT = SIZE_MAXIMIZED;
pub const SIZEZOOMSHOW: ::UINT = SIZE_MAXSHOW;
pub const SIZEZOOMHIDE: ::UINT = SIZE_MAXHIDE;
STRUCT!{struct NCCALCSIZE_PARAMS {
    rgrc: [::RECT; 3],
    lppos: PWINDOWPOS,
}}
pub type PNCCALCSIZE_PARAMS = *mut NCCALCSIZE_PARAMS;
pub type NPNCCALCSIZE_PARAMS = *mut NCCALCSIZE_PARAMS;
pub type LPNCCALCSIZE_PARAMS = *mut NCCALCSIZE_PARAMS;
pub const WVR_ALIGNTOP: ::UINT = 0x0010;
pub const WVR_ALIGNLEFT: ::UINT = 0x0020;
pub const WVR_ALIGNBOTTOM: ::UINT = 0x0040;
pub const WVR_ALIGNRIGHT: ::UINT = 0x0080;
pub const WVR_HREDRAW: ::UINT = 0x0100;
pub const WVR_VREDRAW: ::UINT = 0x0200;
pub const WVR_REDRAW: ::UINT = WVR_HREDRAW | WVR_VREDRAW;
pub const WVR_VALIDRECTS: ::UINT = 0x0400;
pub const HOVER_DEFAULT: ::UINT = 0xFFFFFFFF;
pub const WS_OVERLAPPED: ::DWORD = 0x00000000;
pub const WS_POPUP: ::DWORD = 0x80000000;
pub const WS_CHILD: ::DWORD = 0x40000000;
pub const WS_MINIMIZE: ::DWORD = 0x20000000;
pub const WS_VISIBLE: ::DWORD = 0x10000000;
pub const WS_DISABLED: ::DWORD = 0x08000000;
pub const WS_CLIPSIBLINGS: ::DWORD = 0x04000000;
pub const WS_CLIPCHILDREN: ::DWORD = 0x02000000;
pub const WS_MAXIMIZE: ::DWORD = 0x01000000;
pub const WS_CAPTION: ::DWORD = 0x00C00000;
pub const WS_BORDER: ::DWORD = 0x00800000;
pub const WS_DLGFRAME: ::DWORD = 0x00400000;
pub const WS_VSCROLL: ::DWORD = 0x00200000;
pub const WS_HSCROLL: ::DWORD = 0x00100000;
pub const WS_SYSMENU: ::DWORD = 0x00080000;
pub const WS_THICKFRAME: ::DWORD = 0x00040000;
pub const WS_GROUP: ::DWORD = 0x00020000;
pub const WS_TABSTOP: ::DWORD = 0x00010000;
pub const WS_MINIMIZEBOX: ::DWORD = 0x00020000;
pub const WS_MAXIMIZEBOX: ::DWORD = 0x00010000;
pub const WS_TILED: ::DWORD = WS_OVERLAPPED;
pub const WS_ICONIC: ::DWORD = WS_MINIMIZE;
pub const WS_SIZEBOX: ::DWORD = WS_THICKFRAME;
pub const WS_TILEDWINDOW: ::DWORD = WS_OVERLAPPEDWINDOW;
pub const WS_OVERLAPPEDWINDOW: ::DWORD = WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX;
pub const WS_POPUPWINDOW: ::DWORD = WS_POPUP | WS_BORDER | WS_SYSMENU;
pub const WS_CHILDWINDOW: ::DWORD = WS_CHILD;
pub const WS_EX_DLGMODALFRAME: ::DWORD = 0x00000001;
pub const WS_EX_NOPARENTNOTIFY: ::DWORD = 0x00000004;
pub const WS_EX_TOPMOST: ::DWORD = 0x00000008;
pub const WS_EX_ACCEPTFILES: ::DWORD = 0x00000010;
pub const WS_EX_TRANSPARENT: ::DWORD = 0x00000020;
pub const WS_EX_MDICHILD: ::DWORD = 0x00000040;
pub const WS_EX_TOOLWINDOW: ::DWORD = 0x00000080;
pub const WS_EX_WINDOWEDGE: ::DWORD = 0x00000100;
pub const WS_EX_CLIENTEDGE: ::DWORD = 0x00000200;
pub const WS_EX_CONTEXTHELP: ::DWORD = 0x00000400;
pub const WS_EX_RIGHT: ::DWORD = 0x00001000;
pub const WS_EX_LEFT: ::DWORD = 0x00000000;
pub const WS_EX_RTLREADING: ::DWORD = 0x00002000;
pub const WS_EX_LTRREADING: ::DWORD = 0x00000000;
pub const WS_EX_LEFTSCROLLBAR: ::DWORD = 0x00004000;
pub const WS_EX_RIGHTSCROLLBAR: ::DWORD = 0x00000000;
pub const WS_EX_CONTROLPARENT: ::DWORD = 0x00010000;
pub const WS_EX_STATICEDGE: ::DWORD = 0x00020000;
pub const WS_EX_APPWINDOW: ::DWORD = 0x00040000;
pub const WS_EX_OVERLAPPEDWINDOW: ::DWORD = WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE;
pub const WS_EX_PALETTEWINDOW: ::DWORD = WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST;
pub const WS_EX_LAYERED: ::DWORD = 0x00080000;
pub const WS_EX_NOINHERITLAYOUT: ::DWORD = 0x00100000;
pub const WS_EX_NOREDIRECTIONBITMAP: ::DWORD = 0x00200000;
pub const WS_EX_LAYOUTRTL: ::DWORD = 0x00400000;
pub const WS_EX_COMPOSITED: ::DWORD = 0x02000000;
pub const WS_EX_NOACTIVATE: ::DWORD = 0x08000000;
pub type NAMEENUMPROCA = Option<unsafe extern "system" fn(::LPSTR, ::LPARAM) -> ::BOOL>;
pub type NAMEENUMPROCW = Option<unsafe extern "system" fn(::LPWSTR, ::LPARAM) -> ::BOOL>;
pub type DESKTOPENUMPROCA = NAMEENUMPROCA;
pub type DESKTOPENUMPROCW = NAMEENUMPROCW;
pub type WINSTAENUMPROCA = NAMEENUMPROCA;
pub type WINSTAENUMPROCW = NAMEENUMPROCW;
pub type WNDENUMPROC = Option<unsafe extern "system" fn(::HWND, ::LPARAM) -> ::BOOL>;
pub type WNDPROC = Option<unsafe extern "system" fn(
    ::HWND, ::UINT, ::WPARAM, ::LPARAM,
) -> ::LRESULT>;
pub type DLGPROC = Option<unsafe extern "system" fn(
    ::HWND, ::UINT, ::WPARAM, ::LPARAM,
) -> ::INT_PTR>;
pub type HOOKPROC = Option<unsafe extern "system" fn(
    code: ::c_int, wParam: ::WPARAM, lParam: ::LPARAM,
) -> ::LRESULT>;
pub type TimerProc = Option<unsafe extern "system" fn(
    hwnd: ::HWND, uMsg: ::UINT, idEvent: ::UINT_PTR, dwTime: ::DWORD,
)>;
pub type DRAWSTATEPROC = Option<unsafe extern "system" fn(
    ::HDC, ::LPARAM, ::WPARAM, ::c_int, ::c_int,
) -> ::BOOL>;
pub type PROPENUMPROCA = Option<unsafe extern "system" fn(::HWND, ::LPCSTR, ::HANDLE) -> ::BOOL>;
pub type PROPENUMPROCW = Option<unsafe extern "system" fn(::HWND, ::LPCWSTR, ::HANDLE) -> ::BOOL>;
pub type GRAYSTRINGPROC = Option<unsafe extern "system" fn(::HDC, ::LPARAM, ::c_int) -> ::BOOL>;
pub type MSGBOXCALLBACK = Option<unsafe extern "system" fn(LPHELPINFO)>;
pub type WINEVENTPROC = Option<unsafe extern "system" fn(
    ::HWINEVENTHOOK, ::DWORD, ::HWND, ::LONG, ::LONG, ::DWORD, ::DWORD,
)>;
pub type HDEVNOTIFY = ::PVOID;
pub type MENUTEMPLATEA = ::VOID;
pub type MENUTEMPLATEW = ::VOID;
STRUCT!{struct MSG {
    hwnd: ::HWND,
    message: ::UINT,
    wParam: ::WPARAM,
    lParam: ::LPARAM,
    time: ::DWORD,
    pt: ::POINT,
}}
pub type PMSG = *mut MSG;
pub type NPMSG = *mut MSG;
pub type LPMSG = *mut MSG;
STRUCT!{struct PAINTSTRUCT {
    hdc: ::HDC,
    fErase: ::BOOL,
    rcPaint: ::RECT,
    fRestore: ::BOOL,
    fIncUpdate: ::BOOL,
    rgbReserved: [::BYTE; 32],
}}
pub type PPAINTSTRUCT = *mut PAINTSTRUCT;
pub type NPPAINTSTRUCT = *mut PAINTSTRUCT;
pub type LPPAINTSTRUCT = *mut PAINTSTRUCT;
STRUCT!{struct WINDOWPLACEMENT {
    length: ::UINT,
    flags: ::UINT,
    showCmd: ::UINT,
    ptMinPosition: ::POINT,
    ptMaxPosition: ::POINT,
    rcNormalPosition: ::RECT,
}}
pub type PWINDOWPLACEMENT = *mut WINDOWPLACEMENT;
pub type LPWINDOWPLACEMENT = *mut WINDOWPLACEMENT;
STRUCT!{nodebug struct WNDCLASSEXW {
    cbSize: ::UINT,
    style: ::UINT,
    lpfnWndProc: WNDPROC,
    cbClsExtra: ::c_int,
    cbWndExtra: ::c_int,
    hInstance: ::HINSTANCE,
    hIcon: ::HICON,
    hCursor: ::HCURSOR,
    hbrBackground: ::HBRUSH,
    lpszMenuName: ::LPCWSTR,
    lpszClassName: ::LPCWSTR,
    hIconSm: ::HICON,
}}
pub type PWNDCLASSEXW = *mut WNDCLASSEXW;
pub type NPWNDCLASSEXW = *mut WNDCLASSEXW;
pub type LPWNDCLASSEXW = *mut WNDCLASSEXW;
STRUCT!{nodebug struct WNDCLASSW {
    style: ::UINT,
    lpfnWndProc: WNDPROC,
    cbClsExtra: ::c_int,
    cbWndExtra: ::c_int,
    hInstance: ::HINSTANCE,
    hIcon: ::HICON,
    hCursor: ::HCURSOR,
    hbrBackground: ::HBRUSH,
    lpszMenuName: ::LPCWSTR,
    lpszClassName: ::LPCWSTR,
}}
pub type PWNDCLASSW = *mut WNDCLASSW;
pub type NPWNDCLASSW = *mut WNDCLASSW;
pub type LPWNDCLASSW = *mut WNDCLASSW;
STRUCT!{struct MINMAXINFO {
    ptReserved: ::POINT,
    ptMaxSize: ::POINT,
    ptMaxPosition: ::POINT,
    ptMinTrackSize: ::POINT,
    ptMaxTrackSize: ::POINT,
}}
STRUCT!{struct SCROLLBARINFO {
    cbSize: ::DWORD,
    rcScrollBar: ::RECT,
    dxyLineButton: ::c_int,
    xyThumbTop: ::c_int,
    xyThumbBottom: ::c_int,
    reserved: ::c_int,
    rgstate: [::DWORD; CCHILDREN_SCROLLBAR + 1],
}}
pub type PSCROLLBARINFO = *mut SCROLLBARINFO;
pub type LPSCROLLBARINFO = *mut SCROLLBARINFO;
STRUCT!{struct SCROLLINFO {
    cbSize: ::UINT,
    fMask: ::UINT,
    nMin: ::c_int,
    nMax: ::c_int,
    nPage: ::UINT,
    nPos: ::c_int,
    nTrackPos: ::c_int,
}}
pub type LPSCROLLINFO = *mut SCROLLINFO;
pub type LPCSCROLLINFO = *const SCROLLINFO;
STRUCT!{struct SIZE {
    cx: ::LONG,
    cy: ::LONG,
}}
pub type PSIZE = *mut SIZE;
pub type LPSIZE = *mut SIZE;
pub type SIZEL = SIZE;
pub type PSIZEL = *mut SIZEL;
pub type LPSIZEL = *mut SIZEL;
//1913
pub const UNICODE_NOCHAR: ::WPARAM = 0xffff;
pub type HDWP = *mut ::HANDLE;
//2193
pub const WHEEL_DELTA: ::DWORD = 120;
//2206
pub const XBUTTON1: ::DWORD = 0x0001;
pub const XBUTTON2: ::DWORD = 0x0002;
//2392
pub const MK_LBUTTON: ::WPARAM = 0x0001;
pub const MK_RBUTTON: ::WPARAM = 0x0002;
pub const MK_SHIFT: ::WPARAM = 0x0004;
pub const MK_CONTROL: ::WPARAM = 0x0008;
pub const MK_MBUTTON: ::WPARAM = 0x0010;
pub const MK_XBUTTON1: ::WPARAM = 0x0020;
pub const MK_XBUTTON2: ::WPARAM = 0x0040;
//2408
pub const TME_HOVER: ::DWORD = 0x0000_0001;
pub const TME_LEAVE: ::DWORD = 0x0000_0002;
pub const TME_NONCLIENT: ::DWORD = 0x0000_0010;
pub const TME_QUERY: ::DWORD = 0x4000_0000;
pub const TME_CANCEL: ::DWORD = 0x8000_0000;
pub const HWND_BROADCAST: ::HWND = 0xFFFF as ::HWND;
pub const HWND_MESSAGE: ::HWND = -3isize as ::HWND;
STRUCT!{struct TRACKMOUSEEVENT {
    cbSize: ::DWORD,
    dwFlags: ::DWORD,
    hwndTrack: ::HWND,
    dwHoverTime: ::DWORD,
}}
pub type LPTRACKMOUSEEVENT = *mut TRACKMOUSEEVENT;
//2575
STRUCT!{nodebug struct WINDOWPOS {
    hwnd: ::HWND,
    hwndInsertAfter: ::HWND,
    x: ::c_int,
    y: ::c_int,
    cx: ::c_int,
    cy: ::c_int,
    flags: ::UINT,
}}
pub type LPWINDOWPOS = *mut WINDOWPOS;
pub type PWINDOWPOS = *mut WINDOWPOS;
//3082
STRUCT!{struct CREATESTRUCTA {
    lpCreateParams: ::LPVOID,
    hInstance: ::HINSTANCE,
    hMenu: ::HMENU,
    hwndParent: ::HWND,
    cy: ::c_int,
    cx: ::c_int,
    y: ::c_int,
    x: ::c_int,
    style: ::LONG,
    lpszName: ::LPCSTR,
    lpszClass: ::LPCSTR,
    dwExStyle: ::DWORD,
}}
pub type LPCREATESTRUCTA = *mut CREATESTRUCTA;
STRUCT!{struct CREATESTRUCTW {
    lpCreateParams: ::LPVOID,
    hInstance: ::HINSTANCE,
    hMenu: ::HMENU,
    hwndParent: ::HWND,
    cy: ::c_int,
    cx: ::c_int,
    y: ::c_int,
    x: ::c_int,
    style: ::LONG,
    lpszName: ::LPCWSTR,
    lpszClass: ::LPCWSTR,
    dwExStyle: ::DWORD,
}}
pub type LPCREATESTRUCTW = *mut CREATESTRUCTW;
//3145
STRUCT!{struct NMHDR {
    hwndFrom: ::HWND,
    idFrom: ::UINT_PTR,
    code: ::UINT,  // NM_ code
}}
pub type LPNMHDR = *mut NMHDR;
//3400
pub const PM_NOREMOVE: ::UINT = 0x0000;
pub const PM_REMOVE: ::UINT = 0x0001;
pub const PM_NOYIELD: ::UINT = 0x0002;
pub const PM_QS_INPUT: ::UINT = QS_INPUT << 16;
pub const PM_QS_POSTMESSAGE: ::UINT = (QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16;
pub const PM_QS_PAINT: ::UINT = QS_PAINT << 16;
pub const PM_QS_SENDMESSAGE: ::UINT = QS_SENDMESSAGE << 16;
//
pub const LWA_COLORKEY: ::DWORD = 0x00000001;
pub const LWA_ALPHA: ::DWORD = 0x00000002;
//3469
pub const EWX_LOGOFF: ::UINT = 0x00000000;
pub const EWX_SHUTDOWN: ::UINT = 0x00000001;
pub const EWX_REBOOT: ::UINT = 0x00000002;
pub const EWX_FORCE: ::UINT = 0x00000004;
pub const EWX_POWEROFF: ::UINT = 0x00000008;
pub const EWX_FORCEIFHUNG: ::UINT = 0x00000010;
pub const EWX_QUICKRESOLVE: ::UINT = 0x00000020;
pub const EWX_RESTARTAPPS: ::UINT = 0x00000040;
pub const EWX_HYBRID_SHUTDOWN: ::UINT = 0x00400000;
pub const EWX_BOOTOPTIONS: ::UINT = 0x01000000;
//4054 (Win 7 SDK)
STRUCT!{struct FLASHWINFO {
    cbSize: ::UINT,
    hwnd: ::HWND,
    dwFlags: ::DWORD,
    uCount: ::UINT,
    dwTimeout: ::DWORD,
}}
pub type PFLASHWINFO = *mut FLASHWINFO;
pub const FLASHW_STOP: ::DWORD = 0;
pub const FLASHW_CAPTION: ::DWORD = 0x00000001;
pub const FLASHW_TRAY: ::DWORD = 0x00000002;
pub const FLASHW_ALL: ::DWORD = FLASHW_CAPTION | FLASHW_TRAY;
pub const FLASHW_TIMER: ::DWORD = 0x00000004;
pub const FLASHW_TIMERNOFG: ::DWORD = 0x0000000C;
// 4674
pub const HWND_TOP: ::HWND = 0 as ::HWND;
pub const HWND_BOTTOM: ::HWND = 1 as ::HWND;
pub const HWND_TOPMOST: ::HWND = -1isize as ::HWND;
pub const HWND_NOTOPMOST: ::HWND = -2isize as ::HWND;
//5499
pub const MAPVK_VK_TO_VSC: ::UINT = 0;
pub const MAPVK_VSC_TO_VK: ::UINT = 1;
pub const MAPVK_VK_TO_CHAR: ::UINT = 2;
pub const MAPVK_VSC_TO_VK_EX: ::UINT = 3;
pub const MAPVK_VK_TO_VSC_EX: ::UINT = 4;
//5741
pub const KEYEVENTF_EXTENDEDKEY: ::DWORD = 0x0001;
pub const KEYEVENTF_KEYUP: ::DWORD = 0x0002;
pub const KEYEVENTF_UNICODE: ::DWORD = 0x0004;
pub const KEYEVENTF_SCANCODE: ::DWORD = 0x0008;
pub const MOUSEEVENTF_MOVE: ::DWORD = 0x0001;
pub const MOUSEEVENTF_LEFTDOWN: ::DWORD = 0x0002;
pub const MOUSEEVENTF_LEFTUP: ::DWORD = 0x0004;
pub const MOUSEEVENTF_RIGHTDOWN: ::DWORD = 0x0008;
pub const MOUSEEVENTF_RIGHTUP: ::DWORD = 0x0010;
pub const MOUSEEVENTF_MIDDLEDOWN: ::DWORD = 0x0020;
pub const MOUSEEVENTF_MIDDLEUP: ::DWORD = 0x0040;
pub const MOUSEEVENTF_XDOWN: ::DWORD = 0x0080;
pub const MOUSEEVENTF_XUP: ::DWORD = 0x0100;
pub const MOUSEEVENTF_WHEEL: ::DWORD = 0x0800;
pub const MOUSEEVENTF_HWHEEL: ::DWORD = 0x01000;
pub const MOUSEEVENTF_MOVE_NOCOALESCE: ::DWORD = 0x2000;
pub const MOUSEEVENTF_VIRTUALDESK: ::DWORD = 0x4000;
pub const MOUSEEVENTF_ABSOLUTE: ::DWORD = 0x8000;
STRUCT!{struct MOUSEINPUT {
    dx: ::LONG,
    dy: ::LONG,
    mouseData: ::DWORD,
    dwFlags: ::DWORD,
    time: ::DWORD,
    dwExtraInfo: ::ULONG_PTR,
}}
pub type PMOUSEINPUT = *mut MOUSEINPUT;
pub type LPMOUSEINPUT = *mut MOUSEINPUT;
STRUCT!{struct KEYBDINPUT {
    wVk: ::WORD,
    wScan: ::WORD,
    dwFlags: ::DWORD,
    time: ::DWORD,
    dwExtraInfo: ::ULONG_PTR,
}}
pub type PKEYBDINPUT = *mut KEYBDINPUT;
pub type LPKEYBDINPUT = *mut KEYBDINPUT;
STRUCT!{struct HARDWAREINPUT {
    uMsg: ::DWORD,
    wParamL: ::WORD,
    wParamH: ::WORD,
}}
pub type PHARDWAREINPUT = *mut HARDWAREINPUT;
pub type LPHARDWAREINPUT= *mut HARDWAREINPUT;
pub const INPUT_MOUSE: ::DWORD = 0;
pub const INPUT_KEYBOARD: ::DWORD = 1;
pub const INPUT_HARDWARE: ::DWORD = 2;
#[cfg(target_arch = "x86")]
STRUCT!{struct INPUT {
    type_: ::DWORD,
    u: [u32; 6],
}}
#[cfg(target_arch = "x86_64")]
STRUCT!{struct INPUT {
    type_: ::DWORD,
    u: [u64; 4],
}}
UNION!{INPUT, u, mi, mi_mut, MOUSEINPUT}
UNION!{INPUT, u, ki, ki_mut, KEYBDINPUT}
UNION!{INPUT, u, hi, hi_mut, HARDWAREINPUT}
pub type PINPUT = *mut INPUT;
pub type LPINPUT = *mut INPUT;
// if WINVER >= 0x0601
DECLARE_HANDLE!(HTOUCHINPUT, HTOUCHINPUT__);
STRUCT!{struct TOUCHINPUT {
    x: ::LONG,
    y: ::LONG,
    hSource: ::HANDLE,
    dwID: ::DWORD,
    dwFlags: ::DWORD,
    dwMask: ::DWORD,
    dwTime: ::DWORD,
    dwExtraInfo: ::ULONG_PTR,
    cxContact: ::DWORD,
    cyContact: ::DWORD,
}}
pub type PTOUCHINPUT = *mut TOUCHINPUT;
pub type PCTOUCHINPUT = *const TOUCHINPUT;
//Touch input flag values (TOUCHINPUT.dwFlags)
pub const TOUCHEVENTF_MOVE: ::DWORD = 0x0001;
pub const TOUCHEVENTF_DOWN: ::DWORD = 0x0002;
pub const TOUCHEVENTF_UP: ::DWORD = 0x0004;
pub const TOUCHEVENTF_INRANGE: ::DWORD = 0x0008;
pub const TOUCHEVENTF_PRIMARY: ::DWORD = 0x0010;
pub const TOUCHEVENTF_NOCOALESCE: ::DWORD = 0x0020;
pub const TOUCHEVENTF_PEN: ::DWORD = 0x0040;
pub const TOUCHEVENTF_PALM: ::DWORD = 0x0080;
//Touch input mask values (TOUCHINPUT.dwMask)
pub const TOUCHINPUTMASKF_TIMEFROMSYSTEM: ::DWORD = 0x0001;
pub const TOUCHINPUTMASKF_EXTRAINFO: ::DWORD = 0x0002;
pub const TOUCHINPUTMASKF_CONTACTAREA: ::DWORD = 0x0004;
//RegisterTouchWindow flag values
pub const TWF_FINETOUCH: ::ULONG = 0x00000001;
pub const TWF_WANTPALM: ::ULONG = 0x00000002;
// end if WINVER >= 0x0601
//Indices for GetWindowLong etc.
pub const GWL_EXSTYLE: ::c_int = -20;
pub const GWL_STYLE: ::c_int = -16;
pub const GWL_WNDPROC: ::c_int = -4;
pub const GWLP_WNDPROC: ::c_int = -4;
pub const GWL_HINSTANCE: ::c_int = -6;
pub const GWLP_HINSTANCE: ::c_int = -6;
pub const GWL_HWNDPARENT: ::c_int = -8;
pub const GWLP_HWNDPARENT: ::c_int = -8;
pub const GWL_ID: ::c_int = -12;
pub const GWLP_ID: ::c_int = -12;
pub const GWL_USERDATA: ::c_int = -21;
pub const GWLP_USERDATA: ::c_int = -21;
//5976
ENUM!{enum POINTER_INPUT_TYPE {
    PT_POINTER = 0x00000001,
    PT_TOUCH = 0x00000002,
    PT_PEN = 0x00000003,
    PT_MOUSE = 0x00000004,
    PT_TOUCHPAD = 0x00000005,
}}
//6566
// flags for MsgWaitForMultipleObjectsEx
pub const MWMO_WAITALL: ::DWORD = 0x0001;
pub const MWMO_ALERTABLE: ::DWORD = 0x0002;
pub const MWMO_INPUTAVAILABLE: ::DWORD = 0x0004;
//6573
pub const QS_KEY: ::UINT = 0x0001;
pub const QS_MOUSEMOVE: ::UINT = 0x0002;
pub const QS_MOUSEBUTTON: ::UINT = 0x0004;
pub const QS_POSTMESSAGE: ::UINT = 0x0008;
pub const QS_TIMER: ::UINT = 0x0010;
pub const QS_PAINT: ::UINT = 0x0020;
pub const QS_SENDMESSAGE: ::UINT = 0x0040;
pub const QS_HOTKEY: ::UINT = 0x0080;
pub const QS_ALLPOSTMESSAGE: ::UINT = 0x0100;
pub const QS_RAWINPUT: ::UINT = 0x0400;
pub const QS_TOUCH: ::UINT = 0x0800;
pub const QS_POINTER: ::UINT = 0x1000;
pub const QS_MOUSE: ::UINT = QS_MOUSEMOVE | QS_MOUSEBUTTON;
pub const QS_INPUT: ::UINT = QS_MOUSE | QS_KEY | QS_RAWINPUT | QS_TOUCH | QS_POINTER;
pub const QS_ALLEVENTS: ::UINT = QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY;
pub const QS_ALLINPUT: ::UINT = QS_INPUT | QS_POSTMESSAGE | QS_TIMER
    | QS_PAINT | QS_HOTKEY | QS_SENDMESSAGE;
//6789
pub const SM_CXSCREEN: ::c_int = 0;
pub const SM_CYSCREEN: ::c_int = 1;
pub const SM_CXVSCROLL: ::c_int = 2;
pub const SM_CYHSCROLL: ::c_int = 3;
pub const SM_CYCAPTION: ::c_int = 4;
pub const SM_CXBORDER: ::c_int = 5;
pub const SM_CYBORDER: ::c_int = 6;
pub const SM_CXDLGFRAME: ::c_int = 7;
pub const SM_CYDLGFRAME: ::c_int = 8;
pub const SM_CYVTHUMB: ::c_int = 9;
pub const SM_CXHTHUMB: ::c_int = 10;
pub const SM_CXICON: ::c_int = 11;
pub const SM_CYICON: ::c_int = 12;
pub const SM_CXCURSOR: ::c_int = 13;
pub const SM_CYCURSOR: ::c_int = 14;
pub const SM_CYMENU: ::c_int = 15;
pub const SM_CXFULLSCREEN: ::c_int = 16;
pub const SM_CYFULLSCREEN: ::c_int = 17;
pub const SM_CYKANJIWINDOW: ::c_int = 18;
pub const SM_MOUSEPRESENT: ::c_int = 19;
pub const SM_CYVSCROLL: ::c_int = 20;
pub const SM_CXHSCROLL: ::c_int = 21;
pub const SM_DEBUG: ::c_int = 22;
pub const SM_SWAPBUTTON: ::c_int = 23;
pub const SM_RESERVED1: ::c_int = 24;
pub const SM_RESERVED2: ::c_int = 25;
pub const SM_RESERVED3: ::c_int = 26;
pub const SM_RESERVED4: ::c_int = 27;
pub const SM_CXMIN: ::c_int = 28;
pub const SM_CYMIN: ::c_int = 29;
pub const SM_CXSIZE: ::c_int = 30;
pub const SM_CYSIZE: ::c_int = 31;
pub const SM_CXFRAME: ::c_int = 32;
pub const SM_CYFRAME: ::c_int = 33;
pub const SM_CXMINTRACK: ::c_int = 34;
pub const SM_CYMINTRACK: ::c_int = 35;
pub const SM_CXDOUBLECLK: ::c_int = 36;
pub const SM_CYDOUBLECLK: ::c_int = 37;
pub const SM_CXICONSPACING: ::c_int = 38;
pub const SM_CYICONSPACING: ::c_int = 39;
pub const SM_MENUDROPALIGNMENT: ::c_int = 40;
pub const SM_PENWINDOWS: ::c_int = 41;
pub const SM_DBCSENABLED: ::c_int = 42;
pub const SM_CMOUSEBUTTONS: ::c_int = 43;
pub const SM_CXFIXEDFRAME: ::c_int = SM_CXDLGFRAME;
pub const SM_CYFIXEDFRAME: ::c_int = SM_CYDLGFRAME;
pub const SM_CXSIZEFRAME: ::c_int = SM_CXFRAME;
pub const SM_CYSIZEFRAME: ::c_int = SM_CYFRAME;
pub const SM_SECURE: ::c_int = 44;
pub const SM_CXEDGE: ::c_int = 45;
pub const SM_CYEDGE: ::c_int = 46;
pub const SM_CXMINSPACING: ::c_int = 47;
pub const SM_CYMINSPACING: ::c_int = 48;
pub const SM_CXSMICON: ::c_int = 49;
pub const SM_CYSMICON: ::c_int = 50;
pub const SM_CYSMCAPTION: ::c_int = 51;
pub const SM_CXSMSIZE: ::c_int = 52;
pub const SM_CYSMSIZE: ::c_int = 53;
pub const SM_CXMENUSIZE: ::c_int = 54;
pub const SM_CYMENUSIZE: ::c_int = 55;
pub const SM_ARRANGE: ::c_int = 56;
pub const SM_CXMINIMIZED: ::c_int = 57;
pub const SM_CYMINIMIZED: ::c_int = 58;
pub const SM_CXMAXTRACK: ::c_int = 59;
pub const SM_CYMAXTRACK: ::c_int = 60;
pub const SM_CXMAXIMIZED: ::c_int = 61;
pub const SM_CYMAXIMIZED: ::c_int = 62;
pub const SM_NETWORK: ::c_int = 63;
pub const SM_CLEANBOOT: ::c_int = 67;
pub const SM_CXDRAG: ::c_int = 68;
pub const SM_CYDRAG: ::c_int = 69;
pub const SM_SHOWSOUNDS: ::c_int = 70;
pub const SM_CXMENUCHECK: ::c_int = 71;
pub const SM_CYMENUCHECK: ::c_int = 72;
pub const SM_SLOWMACHINE: ::c_int = 73;
pub const SM_MIDEASTENABLED: ::c_int = 74;
pub const SM_MOUSEWHEELPRESENT: ::c_int = 75;
pub const SM_XVIRTUALSCREEN: ::c_int = 76;
pub const SM_YVIRTUALSCREEN: ::c_int = 77;
pub const SM_CXVIRTUALSCREEN: ::c_int = 78;
pub const SM_CYVIRTUALSCREEN: ::c_int = 79;
pub const SM_CMONITORS: ::c_int = 80;
pub const SM_SAMEDISPLAYFORMAT: ::c_int = 81;
pub const SM_IMMENABLED: ::c_int = 82;
pub const SM_CXFOCUSBORDER: ::c_int = 83;
pub const SM_CYFOCUSBORDER: ::c_int = 84;
pub const SM_TABLETPC: ::c_int = 86;
pub const SM_MEDIACENTER: ::c_int = 87;
pub const SM_STARTER: ::c_int = 88;
pub const SM_SERVERR2: ::c_int = 89;
pub const SM_MOUSEHORIZONTALWHEELPRESENT: ::c_int = 91;
pub const SM_CXPADDEDBORDER: ::c_int = 92;
pub const SM_DIGITIZER: ::c_int = 94;
pub const SM_MAXIMUMTOUCHES: ::c_int = 95;
pub const SM_CMETRICS: ::c_int = 97;
pub const SM_REMOTESESSION: ::c_int = 0x1000;
pub const SM_SHUTTINGDOWN: ::c_int = 0x2000;
pub const SM_REMOTECONTROL: ::c_int = 0x2001;
pub const SM_CARETBLINKINGENABLED: ::c_int = 0x2002;
pub const SM_CONVERTIBLESLATEMODE: ::c_int = 0x2003;
pub const SM_SYSTEMDOCKED: ::c_int = 0x2004;
//8855 (Win 7 SDK)
STRUCT!{struct ICONINFO {
    fIcon: ::BOOL,
    xHotspot: ::DWORD,
    yHotspot: ::DWORD,
    hbmMask: ::HBITMAP,
    hbmColor: ::HBITMAP,
}}
pub type PICONINFO = *mut ICONINFO;
//9066
// Color indexes for use in GetSysColor and SetSysColor
// 0-18 (after incrementing) are also valid in RegisterClass's WNDCLASS
pub const COLOR_SCROLLBAR: ::c_int = 0;
pub const COLOR_BACKGROUND: ::c_int = 1;
pub const COLOR_ACTIVECAPTION: ::c_int = 2;
pub const COLOR_INACTIVECAPTION: ::c_int = 3;
pub const COLOR_MENU: ::c_int = 4;
pub const COLOR_WINDOW: ::c_int = 5;
pub const COLOR_WINDOWFRAME: ::c_int = 6;
pub const COLOR_MENUTEXT: ::c_int = 7;
pub const COLOR_WINDOWTEXT: ::c_int = 8;
pub const COLOR_CAPTIONTEXT: ::c_int = 9;
pub const COLOR_ACTIVEBORDER: ::c_int = 10;
pub const COLOR_INACTIVEBORDER: ::c_int = 11;
pub const COLOR_APPWORKSPACE: ::c_int = 12;
pub const COLOR_HIGHLIGHT: ::c_int = 13;
pub const COLOR_HIGHLIGHTTEXT: ::c_int = 14;
pub const COLOR_BTNFACE: ::c_int = 15;
pub const COLOR_BTNSHADOW: ::c_int = 16;
pub const COLOR_GRAYTEXT: ::c_int = 17;
pub const COLOR_BTNTEXT: ::c_int = 18;
pub const COLOR_INACTIVECAPTIONTEXT: ::c_int = 19;
pub const COLOR_BTNHIGHLIGHT: ::c_int = 20;
// Introduced in Windows 95 (winver 0x0400):
pub const COLOR_3DDKSHADOW: ::c_int = 21;
pub const COLOR_3DLIGHT: ::c_int = 22;
pub const COLOR_INFOTEXT: ::c_int = 23;
pub const COLOR_INFOBK: ::c_int = 24;
pub const COLOR_DESKTOP: ::c_int = COLOR_BACKGROUND;
pub const COLOR_3DFACE: ::c_int = COLOR_BTNFACE;
pub const COLOR_3DSHADOW: ::c_int = COLOR_BTNSHADOW;
pub const COLOR_3DHIGHLIGHT: ::c_int = COLOR_BTNHIGHLIGHT;
pub const COLOR_3DHILIGHT: ::c_int = COLOR_BTNHIGHLIGHT;
pub const COLOR_BTNHILIGHT: ::c_int = COLOR_BTNHIGHLIGHT;
// Introduced in Windows 2000 (winver 0x0500)
pub const COLOR_HOTLIGHT: ::c_int = 26;
pub const COLOR_GRADIENTACTIVECAPTION: ::c_int = 27;
pub const COLOR_GRADIENTINACTIVECAPTION: ::c_int = 28;
// Introduced in Windows XP (winver 0x0501)
pub const COLOR_MENUHILIGHT: ::c_int = 29;
pub const COLOR_MENUBAR: ::c_int = 30;
//10069
pub const IDC_ARROW: ::LPCWSTR = 32512 as ::LPCWSTR;
pub const IDC_IBEAM: ::LPCWSTR = 32513 as ::LPCWSTR;
pub const IDC_WAIT: ::LPCWSTR = 32514 as ::LPCWSTR;
pub const IDC_CROSS: ::LPCWSTR = 32515 as ::LPCWSTR;
pub const IDC_UPARROW: ::LPCWSTR = 32516 as ::LPCWSTR;
pub const IDC_SIZE: ::LPCWSTR = 32640 as ::LPCWSTR;
pub const IDC_ICON: ::LPCWSTR = 32641 as ::LPCWSTR;
pub const IDC_SIZENWSE: ::LPCWSTR = 32642 as ::LPCWSTR;
pub const IDC_SIZENESW: ::LPCWSTR = 32643 as ::LPCWSTR;
pub const IDC_SIZEWE: ::LPCWSTR = 32644 as ::LPCWSTR;
pub const IDC_SIZENS: ::LPCWSTR = 32645 as ::LPCWSTR;
pub const IDC_SIZEALL: ::LPCWSTR = 32646 as ::LPCWSTR;
pub const IDC_NO: ::LPCWSTR = 32648 as ::LPCWSTR;
pub const IDC_HAND: ::LPCWSTR = 32649 as ::LPCWSTR;
pub const IDC_APPSTARTING: ::LPCWSTR = 32650 as ::LPCWSTR;
pub const IDC_HELP: ::LPCWSTR = 32651 as ::LPCWSTR;
//10492
pub const IDI_APPLICATION: ::LPCWSTR = 32512 as ::LPCWSTR;
pub const IDI_HAND: ::LPCWSTR = 32513 as ::LPCWSTR;
pub const IDI_QUESTION: ::LPCWSTR = 32514 as ::LPCWSTR;
pub const IDI_EXCLAMATION: ::LPCWSTR = 32515 as ::LPCWSTR;
pub const IDI_ASTERISK: ::LPCWSTR = 32516 as ::LPCWSTR;
pub const IDI_WINLOGO: ::LPCWSTR = 32517 as ::LPCWSTR;
pub const IDI_SHIELD: ::LPCWSTR = 32518 as ::LPCWSTR;
pub const IDI_WARNING: ::LPCWSTR = IDI_EXCLAMATION;
pub const IDI_ERROR: ::LPCWSTR = IDI_HAND;
pub const IDI_INFORMATION: ::LPCWSTR = IDI_ASTERISK;
pub const SPI_GETBEEP: ::UINT = 0x0001;
pub const SPI_SETBEEP: ::UINT = 0x0002;
pub const SPI_GETMOUSE: ::UINT = 0x0003;
pub const SPI_SETMOUSE: ::UINT = 0x0004;
pub const SPI_GETBORDER: ::UINT = 0x0005;
pub const SPI_SETBORDER: ::UINT = 0x0006;
pub const SPI_GETKEYBOARDSPEED: ::UINT = 0x000A;
pub const SPI_SETKEYBOARDSPEED: ::UINT = 0x000B;
pub const SPI_LANGDRIVER: ::UINT = 0x000C;
pub const SPI_ICONHORIZONTALSPACING: ::UINT = 0x000D;
pub const SPI_GETSCREENSAVETIMEOUT: ::UINT = 0x000E;
pub const SPI_SETSCREENSAVETIMEOUT: ::UINT = 0x000F;
pub const SPI_GETSCREENSAVEACTIVE: ::UINT = 0x0010;
pub const SPI_SETSCREENSAVEACTIVE: ::UINT = 0x0011;
pub const SPI_GETGRIDGRANULARITY: ::UINT = 0x0012;
pub const SPI_SETGRIDGRANULARITY: ::UINT = 0x0013;
pub const SPI_SETDESKWALLPAPER: ::UINT = 0x0014;
pub const SPI_SETDESKPATTERN: ::UINT = 0x0015;
pub const SPI_GETKEYBOARDDELAY: ::UINT = 0x0016;
pub const SPI_SETKEYBOARDDELAY: ::UINT = 0x0017;
pub const SPI_ICONVERTICALSPACING: ::UINT = 0x0018;
pub const SPI_GETICONTITLEWRAP: ::UINT = 0x0019;
pub const SPI_SETICONTITLEWRAP: ::UINT = 0x001A;
pub const SPI_GETMENUDROPALIGNMENT: ::UINT = 0x001B;
pub const SPI_SETMENUDROPALIGNMENT: ::UINT = 0x001C;
pub const SPI_SETDOUBLECLKWIDTH: ::UINT = 0x001D;
pub const SPI_SETDOUBLECLKHEIGHT: ::UINT = 0x001E;
pub const SPI_GETICONTITLELOGFONT: ::UINT = 0x001F;
pub const SPI_SETDOUBLECLICKTIME: ::UINT = 0x0020;
pub const SPI_SETMOUSEBUTTONSWAP: ::UINT = 0x0021;
pub const SPI_SETICONTITLELOGFONT: ::UINT = 0x0022;
pub const SPI_GETFASTTASKSWITCH: ::UINT = 0x0023;
pub const SPI_SETFASTTASKSWITCH: ::UINT = 0x0024;
pub const SPI_SETDRAGFULLWINDOWS: ::UINT = 0x0025;
pub const SPI_GETDRAGFULLWINDOWS: ::UINT = 0x0026;
pub const SPI_GETNONCLIENTMETRICS: ::UINT = 0x0029;
pub const SPI_SETNONCLIENTMETRICS: ::UINT = 0x002A;
pub const SPI_GETMINIMIZEDMETRICS: ::UINT = 0x002B;
pub const SPI_SETMINIMIZEDMETRICS: ::UINT = 0x002C;
pub const SPI_GETICONMETRICS: ::UINT = 0x002D;
pub const SPI_SETICONMETRICS: ::UINT = 0x002E;
pub const SPI_SETWORKAREA: ::UINT = 0x002F;
pub const SPI_GETWORKAREA: ::UINT = 0x0030;
pub const SPI_SETPENWINDOWS: ::UINT = 0x0031;
pub const SPI_GETHIGHCONTRAST: ::UINT = 0x0042;
pub const SPI_SETHIGHCONTRAST: ::UINT = 0x0043;
pub const SPI_GETKEYBOARDPREF: ::UINT = 0x0044;
pub const SPI_SETKEYBOARDPREF: ::UINT = 0x0045;
pub const SPI_GETSCREENREADER: ::UINT = 0x0046;
pub const SPI_SETSCREENREADER: ::UINT = 0x0047;
pub const SPI_GETANIMATION: ::UINT = 0x0048;
pub const SPI_SETANIMATION: ::UINT = 0x0049;
pub const SPI_GETFONTSMOOTHING: ::UINT = 0x004A;
pub const SPI_SETFONTSMOOTHING: ::UINT = 0x004B;
pub const SPI_SETDRAGWIDTH: ::UINT = 0x004C;
pub const SPI_SETDRAGHEIGHT: ::UINT = 0x004D;
pub const SPI_SETHANDHELD: ::UINT = 0x004E;
pub const SPI_GETLOWPOWERTIMEOUT: ::UINT = 0x004F;
pub const SPI_GETPOWEROFFTIMEOUT: ::UINT = 0x0050;
pub const SPI_SETLOWPOWERTIMEOUT: ::UINT = 0x0051;
pub const SPI_SETPOWEROFFTIMEOUT: ::UINT = 0x0052;
pub const SPI_GETLOWPOWERACTIVE: ::UINT = 0x0053;
pub const SPI_GETPOWEROFFACTIVE: ::UINT = 0x0054;
pub const SPI_SETLOWPOWERACTIVE: ::UINT = 0x0055;
pub const SPI_SETPOWEROFFACTIVE: ::UINT = 0x0056;
pub const SPI_SETCURSORS: ::UINT = 0x0057;
pub const SPI_SETICONS: ::UINT = 0x0058;
pub const SPI_GETDEFAULTINPUTLANG: ::UINT = 0x0059;
pub const SPI_SETDEFAULTINPUTLANG: ::UINT = 0x005A;
pub const SPI_SETLANGTOGGLE: ::UINT = 0x005B;
pub const SPI_GETWINDOWSEXTENSION: ::UINT = 0x005C;
pub const SPI_SETMOUSETRAILS: ::UINT = 0x005D;
pub const SPI_GETMOUSETRAILS: ::UINT = 0x005E;
pub const SPI_SETSCREENSAVERRUNNING: ::UINT = 0x0061;
pub const SPI_SCREENSAVERRUNNING: ::UINT = SPI_SETSCREENSAVERRUNNING;
pub const SPI_GETFILTERKEYS: ::UINT = 0x0032;
pub const SPI_SETFILTERKEYS: ::UINT = 0x0033;
pub const SPI_GETTOGGLEKEYS: ::UINT = 0x0034;
pub const SPI_SETTOGGLEKEYS: ::UINT = 0x0035;
pub const SPI_GETMOUSEKEYS: ::UINT = 0x0036;
pub const SPI_SETMOUSEKEYS: ::UINT = 0x0037;
pub const SPI_GETSHOWSOUNDS: ::UINT = 0x0038;
pub const SPI_SETSHOWSOUNDS: ::UINT = 0x0039;
pub const SPI_GETSTICKYKEYS: ::UINT = 0x003A;
pub const SPI_SETSTICKYKEYS: ::UINT = 0x003B;
pub const SPI_GETACCESSTIMEOUT: ::UINT = 0x003C;
pub const SPI_SETACCESSTIMEOUT: ::UINT = 0x003D;
pub const SPI_GETSERIALKEYS: ::UINT = 0x003E;
pub const SPI_SETSERIALKEYS: ::UINT = 0x003F;
pub const SPI_GETSOUNDSENTRY: ::UINT = 0x0040;
pub const SPI_SETSOUNDSENTRY: ::UINT = 0x0041;
pub const SPI_GETSNAPTODEFBUTTON: ::UINT = 0x005F;
pub const SPI_SETSNAPTODEFBUTTON: ::UINT = 0x0060;
pub const SPI_GETMOUSEHOVERWIDTH: ::UINT = 0x0062;
pub const SPI_SETMOUSEHOVERWIDTH: ::UINT = 0x0063;
pub const SPI_GETMOUSEHOVERHEIGHT: ::UINT = 0x0064;
pub const SPI_SETMOUSEHOVERHEIGHT: ::UINT = 0x0065;
pub const SPI_GETMOUSEHOVERTIME: ::UINT = 0x0066;
pub const SPI_SETMOUSEHOVERTIME: ::UINT = 0x0067;
pub const SPI_GETWHEELSCROLLLINES: ::UINT = 0x0068;
pub const SPI_SETWHEELSCROLLLINES: ::UINT = 0x0069;
pub const SPI_GETMENUSHOWDELAY: ::UINT = 0x006A;
pub const SPI_SETMENUSHOWDELAY: ::UINT = 0x006B;
pub const SPI_GETWHEELSCROLLCHARS: ::UINT = 0x006C;
pub const SPI_SETWHEELSCROLLCHARS: ::UINT = 0x006D;
pub const SPI_GETSHOWIMEUI: ::UINT = 0x006E;
pub const SPI_SETSHOWIMEUI: ::UINT = 0x006F;
pub const SPI_GETMOUSESPEED: ::UINT = 0x0070;
pub const SPI_SETMOUSESPEED: ::UINT = 0x0071;
pub const SPI_GETSCREENSAVERRUNNING: ::UINT = 0x0072;
pub const SPI_GETDESKWALLPAPER: ::UINT = 0x0073;
pub const SPI_GETAUDIODESCRIPTION: ::UINT = 0x0074;
pub const SPI_SETAUDIODESCRIPTION: ::UINT = 0x0075;
pub const SPI_GETSCREENSAVESECURE: ::UINT = 0x0076;
pub const SPI_SETSCREENSAVESECURE: ::UINT = 0x0077;
pub const SPI_GETHUNGAPPTIMEOUT: ::UINT = 0x0078;
pub const SPI_SETHUNGAPPTIMEOUT: ::UINT = 0x0079;
pub const SPI_GETWAITTOKILLTIMEOUT: ::UINT = 0x007A;
pub const SPI_SETWAITTOKILLTIMEOUT: ::UINT = 0x007B;
pub const SPI_GETWAITTOKILLSERVICETIMEOUT: ::UINT = 0x007C;
pub const SPI_SETWAITTOKILLSERVICETIMEOUT: ::UINT = 0x007D;
pub const SPI_GETMOUSEDOCKTHRESHOLD: ::UINT = 0x007E;
pub const SPI_SETMOUSEDOCKTHRESHOLD: ::UINT = 0x007F;
pub const SPI_GETPENDOCKTHRESHOLD: ::UINT = 0x0080;
pub const SPI_SETPENDOCKTHRESHOLD: ::UINT = 0x0081;
pub const SPI_GETWINARRANGING: ::UINT = 0x0082;
pub const SPI_SETWINARRANGING: ::UINT = 0x0083;
pub const SPI_GETMOUSEDRAGOUTTHRESHOLD: ::UINT = 0x0084;
pub const SPI_SETMOUSEDRAGOUTTHRESHOLD: ::UINT = 0x0085;
pub const SPI_GETPENDRAGOUTTHRESHOLD: ::UINT = 0x0086;
pub const SPI_SETPENDRAGOUTTHRESHOLD: ::UINT = 0x0087;
pub const SPI_GETMOUSESIDEMOVETHRESHOLD: ::UINT = 0x0088;
pub const SPI_SETMOUSESIDEMOVETHRESHOLD: ::UINT = 0x0089;
pub const SPI_GETPENSIDEMOVETHRESHOLD: ::UINT = 0x008A;
pub const SPI_SETPENSIDEMOVETHRESHOLD: ::UINT = 0x008B;
pub const SPI_GETDRAGFROMMAXIMIZE: ::UINT = 0x008C;
pub const SPI_SETDRAGFROMMAXIMIZE: ::UINT = 0x008D;
pub const SPI_GETSNAPSIZING: ::UINT = 0x008E;
pub const SPI_SETSNAPSIZING: ::UINT = 0x008F;
pub const SPI_GETDOCKMOVING: ::UINT = 0x0090;
pub const SPI_SETDOCKMOVING: ::UINT = 0x0091;
pub const SPI_GETACTIVEWINDOWTRACKING: ::UINT = 0x1000;
pub const SPI_SETACTIVEWINDOWTRACKING: ::UINT = 0x1001;
pub const SPI_GETMENUANIMATION: ::UINT = 0x1002;
pub const SPI_SETMENUANIMATION: ::UINT = 0x1003;
pub const SPI_GETCOMBOBOXANIMATION: ::UINT = 0x1004;
pub const SPI_SETCOMBOBOXANIMATION: ::UINT = 0x1005;
pub const SPI_GETLISTBOXSMOOTHSCROLLING: ::UINT = 0x1006;
pub const SPI_SETLISTBOXSMOOTHSCROLLING: ::UINT = 0x1007;
pub const SPI_GETGRADIENTCAPTIONS: ::UINT = 0x1008;
pub const SPI_SETGRADIENTCAPTIONS: ::UINT = 0x1009;
pub const SPI_GETKEYBOARDCUES: ::UINT = 0x100A;
pub const SPI_SETKEYBOARDCUES: ::UINT = 0x100B;
pub const SPI_GETMENUUNDERLINES: ::UINT = SPI_GETKEYBOARDCUES;
pub const SPI_SETMENUUNDERLINES: ::UINT = SPI_SETKEYBOARDCUES;
pub const SPI_GETACTIVEWNDTRKZORDER: ::UINT = 0x100C;
pub const SPI_SETACTIVEWNDTRKZORDER: ::UINT = 0x100D;
pub const SPI_GETHOTTRACKING: ::UINT = 0x100E;
pub const SPI_SETHOTTRACKING: ::UINT = 0x100F;
pub const SPI_GETMENUFADE: ::UINT = 0x1012;
pub const SPI_SETMENUFADE: ::UINT = 0x1013;
pub const SPI_GETSELECTIONFADE: ::UINT = 0x1014;
pub const SPI_SETSELECTIONFADE: ::UINT = 0x1015;
pub const SPI_GETTOOLTIPANIMATION: ::UINT = 0x1016;
pub const SPI_SETTOOLTIPANIMATION: ::UINT = 0x1017;
pub const SPI_GETTOOLTIPFADE: ::UINT = 0x1018;
pub const SPI_SETTOOLTIPFADE: ::UINT = 0x1019;
pub const SPI_GETCURSORSHADOW: ::UINT = 0x101A;
pub const SPI_SETCURSORSHADOW: ::UINT = 0x101B;
pub const SPI_GETMOUSESONAR: ::UINT = 0x101C;
pub const SPI_SETMOUSESONAR: ::UINT = 0x101D;
pub const SPI_GETMOUSECLICKLOCK: ::UINT = 0x101E;
pub const SPI_SETMOUSECLICKLOCK: ::UINT = 0x101F;
pub const SPI_GETMOUSEVANISH: ::UINT = 0x1020;
pub const SPI_SETMOUSEVANISH: ::UINT = 0x1021;
pub const SPI_GETFLATMENU: ::UINT = 0x1022;
pub const SPI_SETFLATMENU: ::UINT = 0x1023;
pub const SPI_GETDROPSHADOW: ::UINT = 0x1024;
pub const SPI_SETDROPSHADOW: ::UINT = 0x1025;
pub const SPI_GETBLOCKSENDINPUTRESETS: ::UINT = 0x1026;
pub const SPI_SETBLOCKSENDINPUTRESETS: ::UINT = 0x1027;
pub const SPI_GETUIEFFECTS: ::UINT = 0x103E;
pub const SPI_SETUIEFFECTS: ::UINT = 0x103F;
pub const SPI_GETDISABLEOVERLAPPEDCONTENT: ::UINT = 0x1040;
pub const SPI_SETDISABLEOVERLAPPEDCONTENT: ::UINT = 0x1041;
pub const SPI_GETCLIENTAREAANIMATION: ::UINT = 0x1042;
pub const SPI_SETCLIENTAREAANIMATION: ::UINT = 0x1043;
pub const SPI_GETCLEARTYPE: ::UINT = 0x1048;
pub const SPI_SETCLEARTYPE: ::UINT = 0x1049;
pub const SPI_GETSPEECHRECOGNITION: ::UINT = 0x104A;
pub const SPI_SETSPEECHRECOGNITION: ::UINT = 0x104B;
pub const SPI_GETFOREGROUNDLOCKTIMEOUT: ::UINT = 0x2000;
pub const SPI_SETFOREGROUNDLOCKTIMEOUT: ::UINT = 0x2001;
pub const SPI_GETACTIVEWNDTRKTIMEOUT: ::UINT = 0x2002;
pub const SPI_SETACTIVEWNDTRKTIMEOUT: ::UINT = 0x2003;
pub const SPI_GETFOREGROUNDFLASHCOUNT: ::UINT = 0x2004;
pub const SPI_SETFOREGROUNDFLASHCOUNT: ::UINT = 0x2005;
pub const SPI_GETCARETWIDTH: ::UINT = 0x2006;
pub const SPI_SETCARETWIDTH: ::UINT = 0x2007;
pub const SPI_GETMOUSECLICKLOCKTIME: ::UINT = 0x2008;
pub const SPI_SETMOUSECLICKLOCKTIME: ::UINT = 0x2009;
pub const SPI_GETFONTSMOOTHINGTYPE: ::UINT = 0x200A;
pub const SPI_SETFONTSMOOTHINGTYPE: ::UINT = 0x200B;
pub const FE_FONTSMOOTHINGSTANDARD: ::UINT = 0x0001;
pub const FE_FONTSMOOTHINGCLEARTYPE: ::UINT = 0x0002;
pub const SPI_GETFONTSMOOTHINGCONTRAST: ::UINT = 0x200C;
pub const SPI_SETFONTSMOOTHINGCONTRAST: ::UINT = 0x200D;
pub const SPI_GETFOCUSBORDERWIDTH: ::UINT = 0x200E;
pub const SPI_SETFOCUSBORDERWIDTH: ::UINT = 0x200F;
pub const SPI_GETFOCUSBORDERHEIGHT: ::UINT = 0x2010;
pub const SPI_SETFOCUSBORDERHEIGHT: ::UINT = 0x2011;
pub const SPI_GETFONTSMOOTHINGORIENTATION: ::UINT = 0x2012;
pub const SPI_SETFONTSMOOTHINGORIENTATION: ::UINT = 0x2013;
pub const FE_FONTSMOOTHINGORIENTATIONBGR: ::UINT = 0x0000;
pub const FE_FONTSMOOTHINGORIENTATIONRGB: ::UINT = 0x0001;
pub const SPI_GETMINIMUMHITRADIUS: ::UINT = 0x2014;
pub const SPI_SETMINIMUMHITRADIUS: ::UINT = 0x2015;
pub const SPI_GETMESSAGEDURATION: ::UINT = 0x2016;
pub const SPI_SETMESSAGEDURATION: ::UINT = 0x2017;
//11264
pub const CB_GETEDITSEL: ::UINT = 0x0140;
pub const CB_LIMITTEXT: ::UINT = 0x0141;
pub const CB_SETEDITSEL: ::UINT = 0x0142;
pub const CB_ADDSTRING: ::UINT = 0x0143;
pub const CB_DELETESTRING: ::UINT = 0x0144;
pub const CB_DIR: ::UINT = 0x0145;
pub const CB_GETCOUNT: ::UINT = 0x0146;
pub const CB_GETCURSEL: ::UINT = 0x0147;
pub const CB_GETLBTEXT: ::UINT = 0x0148;
pub const CB_GETLBTEXTLEN: ::UINT = 0x0149;
pub const CB_INSERTSTRING: ::UINT = 0x014A;
pub const CB_RESETCONTENT: ::UINT = 0x014B;
pub const CB_FINDSTRING: ::UINT = 0x014C;
pub const CB_SELECTSTRING: ::UINT = 0x014D;
pub const CB_SETCURSEL: ::UINT = 0x014E;
pub const CB_SHOWDROPDOWN: ::UINT = 0x014F;
pub const CB_GETITEMDATA: ::UINT = 0x0150;
pub const CB_SETITEMDATA: ::UINT = 0x0151;
pub const CB_GETDROPPEDCONTROLRECT: ::UINT = 0x0152;
pub const CB_SETITEMHEIGHT: ::UINT = 0x0153;
pub const CB_GETITEMHEIGHT: ::UINT = 0x0154;
pub const CB_SETEXTENDEDUI: ::UINT = 0x0155;
pub const CB_GETEXTENDEDUI: ::UINT = 0x0156;
pub const CB_GETDROPPEDSTATE: ::UINT = 0x0157;
pub const CB_FINDSTRINGEXACT: ::UINT = 0x0158;
pub const CB_SETLOCALE: ::UINT = 0x0159;
pub const CB_GETLOCALE: ::UINT = 0x015A;
pub const CB_GETTOPINDEX: ::UINT = 0x015b;
pub const CB_SETTOPINDEX: ::UINT = 0x015c;
pub const CB_GETHORIZONTALEXTENT: ::UINT = 0x015d;
pub const CB_SETHORIZONTALEXTENT: ::UINT = 0x015e;
pub const CB_GETDROPPEDWIDTH: ::UINT = 0x015f;
pub const CB_SETDROPPEDWIDTH: ::UINT = 0x0160;
pub const CB_INITSTORAGE: ::UINT = 0x0161;
//12141
STRUCT!{nodebug struct NONCLIENTMETRICSA {
    cbSize: ::UINT,
    iBorderWidth: ::c_int,
    iScrollWidth: ::c_int,
    iScrollHeight: ::c_int,
    iCaptionWidth: ::c_int,
    iCaptionHeight: ::c_int,
    lfCaptionFont: ::LOGFONTA,
    iSmCaptionWidth: ::c_int,
    iSmCaptionHeight: ::c_int,
    lfSmCaptionFont: ::LOGFONTA,
    iMenuWidth: ::c_int,
    iMenuHeight: ::c_int,
    lfMenuFont: ::LOGFONTA,
    lfStatusFont: ::LOGFONTA,
    lfMessageFont: ::LOGFONTA,
    iPaddedBorderWidth: ::c_int,
}}
pub type LPNONCLIENTMETRICSA = *mut NONCLIENTMETRICSA;
STRUCT!{nodebug struct NONCLIENTMETRICSW {
    cbSize: ::UINT,
    iBorderWidth: ::c_int,
    iScrollWidth: ::c_int,
    iScrollHeight: ::c_int,
    iCaptionWidth: ::c_int,
    iCaptionHeight: ::c_int,
    lfCaptionFont: ::LOGFONTW,
    iSmCaptionWidth: ::c_int,
    iSmCaptionHeight: ::c_int,
    lfSmCaptionFont: ::LOGFONTW,
    iMenuWidth: ::c_int,
    iMenuHeight: ::c_int,
    lfMenuFont: ::LOGFONTW,
    lfStatusFont: ::LOGFONTW,
    lfMessageFont: ::LOGFONTW,
    iPaddedBorderWidth: ::c_int,
}}
pub type LPNONCLIENTMETRICSW = *mut NONCLIENTMETRICSW;
//12869
pub const MONITOR_DEFAULTTONULL: ::DWORD = 0x00000000;
pub const MONITOR_DEFAULTTOPRIMARY: ::DWORD = 0x00000001;
pub const MONITOR_DEFAULTTONEAREST: ::DWORD = 0x00000002;
//12900
pub const MONITORINFOF_PRIMARY: ::DWORD = 1;
pub const CCHDEVICENAME: usize = 32;
STRUCT!{struct MONITORINFO {
    cbSize: ::DWORD,
    rcMonitor: ::RECT,
    rcWork: ::RECT,
    dwFlags: ::DWORD,
}}
pub type LPMONITORINFO = *mut MONITORINFO;
STRUCT!{struct MONITORINFOEXA {
    cbSize: ::DWORD,
    rcMonitor: ::RECT,
    rcWork: ::RECT,
    dwFlags: ::DWORD,
    szDevice: [::CHAR; ::CCHDEVICENAME],
}}
pub type LPMONITORINFOEXA = *mut MONITORINFOEXA;
STRUCT!{struct MONITORINFOEXW {
    cbSize: ::DWORD,
    rcMonitor: ::RECT,
    rcWork: ::RECT,
    dwFlags: ::DWORD,
    szDevice: [::WCHAR; ::CCHDEVICENAME],
}}
pub type LPMONITORINFOEXW = *mut MONITORINFOEXW;
//12971
pub type MONITORENUMPROC = Option<unsafe extern "system" fn(
    ::HMONITOR, ::HDC, ::LPRECT, ::LPARAM,
) -> ::BOOL>;
//14098
DECLARE_HANDLE!(HRAWINPUT, HRAWINPUT__);
pub fn GET_RAWINPUT_CODE_WPARAM(wParam: ::WPARAM) -> ::WPARAM { wParam & 0xff }
pub const RIM_INPUT: ::WPARAM = 0;
pub const RIM_INPUTSINK: ::WPARAM = 1;
STRUCT!{struct RAWINPUTHEADER {
    dwType: ::DWORD,
    dwSize: ::DWORD,
    hDevice: ::HANDLE,
    wParam: ::WPARAM,
}}
pub type PRAWINPUTHEADER = *mut RAWINPUTHEADER;
pub type LPRAWINPUTHEADER = *mut RAWINPUTHEADER;
pub const RIM_TYPEMOUSE: ::DWORD = 0;
pub const RIM_TYPEKEYBOARD: ::DWORD = 1;
pub const RIM_TYPEHID: ::DWORD = 2;
STRUCT!{struct RAWMOUSE {
    usFlags: ::USHORT,
    memory_padding: ::USHORT, // 16bit Padding for 32bit align in following union
    usButtonFlags: ::USHORT,
    usButtonData: ::USHORT,
    ulRawButtons: ::ULONG,
    lLastX: ::LONG,
    lLastY: ::LONG,
    ulExtraInformation: ::ULONG,
}}
pub type PRAWMOUSE = *mut RAWMOUSE;
pub type LPRAWMOUSE = *mut RAWMOUSE;
pub const RI_MOUSE_LEFT_BUTTON_DOWN: ::USHORT = 0x0001;
pub const RI_MOUSE_LEFT_BUTTON_UP: ::USHORT = 0x0002;
pub const RI_MOUSE_RIGHT_BUTTON_DOWN: ::USHORT = 0x0004;
pub const RI_MOUSE_RIGHT_BUTTON_UP: ::USHORT = 0x0008;
pub const RI_MOUSE_MIDDLE_BUTTON_DOWN: ::USHORT = 0x0010;
pub const RI_MOUSE_MIDDLE_BUTTON_UP: ::USHORT = 0x0020;
pub const RI_MOUSE_BUTTON_1_DOWN: ::USHORT = RI_MOUSE_LEFT_BUTTON_DOWN;
pub const RI_MOUSE_BUTTON_1_UP: ::USHORT = RI_MOUSE_LEFT_BUTTON_UP;
pub const RI_MOUSE_BUTTON_2_DOWN: ::USHORT = RI_MOUSE_RIGHT_BUTTON_DOWN;
pub const RI_MOUSE_BUTTON_2_UP: ::USHORT = RI_MOUSE_RIGHT_BUTTON_UP;
pub const RI_MOUSE_BUTTON_3_DOWN: ::USHORT = RI_MOUSE_MIDDLE_BUTTON_DOWN;
pub const RI_MOUSE_BUTTON_3_UP: ::USHORT = RI_MOUSE_MIDDLE_BUTTON_UP;
pub const RI_MOUSE_BUTTON_4_DOWN: ::USHORT = 0x0040;
pub const RI_MOUSE_BUTTON_4_UP: ::USHORT = 0x0080;
pub const RI_MOUSE_BUTTON_5_DOWN: ::USHORT = 0x0100;
pub const RI_MOUSE_BUTTON_5_UP: ::USHORT = 0x0200;
pub const RI_MOUSE_WHEEL: ::USHORT = 0x0400;
pub const MOUSE_MOVE_RELATIVE: ::USHORT = 0;
pub const MOUSE_MOVE_ABSOLUTE: ::USHORT = 1;
pub const MOUSE_VIRTUAL_DESKTOP: ::USHORT = 0x02;
pub const MOUSE_ATTRIBUTES_CHANGED: ::USHORT = 0x04;
pub const MOUSE_MOVE_NOCOALESCE: ::USHORT = 0x08;
STRUCT!{struct RAWKEYBOARD {
    MakeCode: ::USHORT,
    Flags: ::USHORT,
    Reserved: ::USHORT,
    VKey: ::USHORT,
    Message: ::UINT,
    ExtraInformation: ::ULONG,
}}
pub type PRAWKEYBOARD = *mut RAWKEYBOARD;
pub type LPRAWKEYBOARD = *mut RAWKEYBOARD;
pub const KEYBOARD_OVERRUN_MAKE_CODE: ::DWORD = 0xFF;
pub const RI_KEY_MAKE: ::DWORD = 0;
pub const RI_KEY_BREAK: ::DWORD = 1;
pub const RI_KEY_E0: ::DWORD = 2;
pub const RI_KEY_E1: ::DWORD = 4;
pub const RI_KEY_TERMSRV_SET_LED: ::DWORD = 8;
pub const RI_KEY_TERMSRV_SHADOW: ::DWORD = 0x10;
STRUCT!{struct RAWHID {
    dwSizeHid: ::DWORD,
    dwCount: ::DWORD,
    bRawData: [::BYTE; 0],
}}
pub type PRAWHID = *mut RAWHID;
pub type LPRAWHID = *mut RAWHID;
STRUCT!{struct RAWINPUT {
    header: RAWINPUTHEADER,
    mouse: RAWMOUSE,
}}
UNION!(RAWINPUT, mouse, mouse, mouse_mut, RAWMOUSE);
UNION!(RAWINPUT, mouse, keyboard, keyboard_mut, RAWKEYBOARD);
UNION!(RAWINPUT, mouse, hid, hid_mut, RAWHID);
#[test]
fn test_RAWINPUT() {
    use std::mem::{size_of, align_of};
    assert!(size_of::<RAWMOUSE>() >= size_of::<RAWMOUSE>());
    assert!(size_of::<RAWMOUSE>() >= size_of::<RAWKEYBOARD>());
    assert!(size_of::<RAWMOUSE>() >= size_of::<RAWHID>());
    assert!(align_of::<RAWMOUSE>() >= align_of::<RAWMOUSE>());
    assert!(align_of::<RAWMOUSE>() >= align_of::<RAWKEYBOARD>());
    assert!(align_of::<RAWMOUSE>() >= align_of::<RAWHID>());
}
pub type PRAWINPUT = *mut RAWINPUT;
pub type LPRAWINPUT = *mut RAWINPUT;
pub const RID_INPUT: ::DWORD = 0x10000003;
pub const RID_HEADER: ::DWORD = 0x10000005;
pub const RIDI_PREPARSEDDATA: ::DWORD = 0x20000005;
pub const RIDI_DEVICENAME: ::DWORD = 0x20000007;
pub const RIDI_DEVICEINFO: ::DWORD = 0x2000000b;
STRUCT!{struct RID_DEVICE_INFO_MOUSE {
    dwId: ::DWORD,
    dwNumberOfButtons: ::DWORD,
    dwSampleRate: ::DWORD,
    fHasHorizontalWheel: ::BOOL,
}}
pub type PRID_DEVICE_INFO_MOUSE = *mut RID_DEVICE_INFO_MOUSE;
STRUCT!{struct RID_DEVICE_INFO_KEYBOARD {
    dwType: ::DWORD,
    dwSubType: ::DWORD,
    dwKeyboardMode: ::DWORD,
    dwNumberOfFunctionKeys: ::DWORD,
    dwNumberOfIndicators: ::DWORD,
    dwNumberOfKeysTotal: ::DWORD,
}}
pub type PRID_DEVICE_INFO_KEYBOARD = *mut RID_DEVICE_INFO_KEYBOARD;
STRUCT!{struct RID_DEVICE_INFO_HID {
    dwVendorId: ::DWORD,
    dwProductId: ::DWORD,
    dwVersionNumber: ::DWORD,
    usUsagePage: ::USHORT,
    usUsage: ::USHORT,
}}
pub type PRID_DEVICE_INFO_HID = *mut RID_DEVICE_INFO_HID;
STRUCT!{struct RID_DEVICE_INFO {
    cbSize: ::DWORD,
    dwType: ::DWORD,
    keyboard: RID_DEVICE_INFO_KEYBOARD,
}}
UNION!(RID_DEVICE_INFO, keyboard, mouse, mouse_mut, RID_DEVICE_INFO_MOUSE);
UNION!(RID_DEVICE_INFO, keyboard, keyboard, keyboard_mut, RID_DEVICE_INFO_KEYBOARD);
UNION!(RID_DEVICE_INFO, keyboard, hid, hid_mut, RID_DEVICE_INFO_HID);
#[test]
fn test_RID_DEVICE_INFO() {
    use std::mem::{size_of, align_of};
    assert!(size_of::<RID_DEVICE_INFO_KEYBOARD>() >= size_of::<RID_DEVICE_INFO_MOUSE>());
    assert!(size_of::<RID_DEVICE_INFO_KEYBOARD>() >= size_of::<RID_DEVICE_INFO_KEYBOARD>());
    assert!(size_of::<RID_DEVICE_INFO_KEYBOARD>() >= size_of::<RID_DEVICE_INFO_HID>());
    assert!(align_of::<RID_DEVICE_INFO_KEYBOARD>() >= align_of::<RID_DEVICE_INFO_MOUSE>());
    assert!(align_of::<RID_DEVICE_INFO_KEYBOARD>()
        >= align_of::<RID_DEVICE_INFO_KEYBOARD>());
    assert!(align_of::<RID_DEVICE_INFO_KEYBOARD>() >= align_of::<RID_DEVICE_INFO_HID>());
}
pub type PRID_DEVICE_INFO = *mut RID_DEVICE_INFO;
pub type LPRID_DEVICE_INFO = *mut RID_DEVICE_INFO;
STRUCT!{struct RAWINPUTDEVICE {
    usUsagePage: ::USHORT,
    usUsage: ::USHORT,
    dwFlags: ::DWORD,
    hwndTarget: ::HWND,
}}
pub type PRAWINPUTDEVICE = *mut RAWINPUTDEVICE;
pub type LPRAWINPUTDEVICE = *mut RAWINPUTDEVICE;
pub type PCRAWINPUTDEVICE = *const RAWINPUTDEVICE;
pub const RIDEV_REMOVE: ::DWORD = 0x00000001;
pub const RIDEV_EXCLUDE: ::DWORD = 0x00000010;
pub const RIDEV_PAGEONLY: ::DWORD = 0x00000020;
pub const RIDEV_NOLEGACY: ::DWORD = 0x00000030;
pub const RIDEV_INPUTSINK: ::DWORD = 0x00000100;
pub const RIDEV_CAPTUREMOUSE: ::DWORD = 0x00000200;
pub const RIDEV_NOHOTKEYS: ::DWORD = 0x00000200;
pub const RIDEV_APPKEYS: ::DWORD = 0x00000400;
pub const RIDEV_EXINPUTSINK: ::DWORD = 0x00001000;
pub const RIDEV_DEVNOTIFY: ::DWORD = 0x00002000;
pub const RIDEV_EXMODEMASK: ::DWORD = 0x000000F0;
pub const GIDC_ARRIVAL: ::DWORD = 1;
pub const GIDC_REMOVAL: ::DWORD = 2;
STRUCT!{struct RAWINPUTDEVICELIST {
    hDevice: ::HANDLE,
    dwType: ::DWORD,
}}
pub type PRAWINPUTDEVICELIST = *mut RAWINPUTDEVICELIST;
STRUCT!{struct CHANGEFILTERSTRUCT {
    cbSize: ::DWORD,
    ExtStatus: ::DWORD,
}}
pub type PCHANGEFILTERSTRUCT = *mut CHANGEFILTERSTRUCT;
STRUCT!{struct DLGTEMPLATE {
    style: ::DWORD,
    dwExtendedStyle: ::DWORD,
    cdit: ::WORD,
    x: ::c_short,
    y: ::c_short,
    cx: ::c_short,
    cy: ::c_short,
}}
pub type LPDLGTEMPLATEA = *mut DLGTEMPLATE;
pub type LPDLGTEMPLATEW = *mut DLGTEMPLATE;
pub type LPCDLGTEMPLATEA = *const DLGTEMPLATE;
pub type LPCDLGTEMPLATEW = *const DLGTEMPLATE;
STRUCT!{struct DRAWTEXTPARAMS {
    cbSize: ::UINT,
    iTabLength: ::c_int,
    iLeftMargin: ::c_int,
    iRightMargin: ::c_int,
    uiLengthDrawn: ::UINT,
}}
pub type LPDRAWTEXTPARAMS = *mut DRAWTEXTPARAMS;
STRUCT!{struct ACCEL {
    fVirt: ::BYTE,
    key: ::WORD,
    cmd: ::WORD,
}}
pub type LPACCEL = *mut ACCEL;
STRUCT!{struct MENUITEMINFOA {
    cbSize: ::UINT,
    fMask: ::UINT,
    fType: ::UINT,
    fState: ::UINT,
    wID: ::UINT,
    hSubMenu: ::HMENU,
    hbmpChecked: ::HBITMAP,
    hbmpUnchecked: ::HBITMAP,
    dwItemData: ::ULONG_PTR,
    dwTypeData: ::LPSTR,
    cch: ::UINT,
    hbmpItem: ::HBITMAP,
}}
pub type LPMENUITEMINFOA = *mut MENUITEMINFOA;
pub type LPCMENUITEMINFOA = *const MENUITEMINFOA;
STRUCT!{struct MENUITEMINFOW {
    cbSize: ::UINT,
    fMask: ::UINT,
    fType: ::UINT,
    fState: ::UINT,
    wID: ::UINT,
    hSubMenu: ::HMENU,
    hbmpChecked: ::HBITMAP,
    hbmpUnchecked: ::HBITMAP,
    dwItemData: ::ULONG_PTR,
    dwTypeData: ::LPWSTR,
    cch: ::UINT,
    hbmpItem: ::HBITMAP,
}}
pub type LPMENUITEMINFOW = *mut MENUITEMINFOW;
pub type LPCMENUITEMINFOW = *const MENUITEMINFOW;
STRUCT!{nodebug struct MSGBOXPARAMSA {
    cbSize: ::UINT,
    hwndOwner: ::HWND,
    hInstance: ::HINSTANCE,
    lpszText: ::LPCSTR,
    lpszCaption: ::LPCSTR,
    dwStyle: ::DWORD,
    lpszIcon: ::LPCSTR,
    dwContextHelpId: ::DWORD_PTR,
    lpfnMsgBoxCallback: ::MSGBOXCALLBACK,
    dwLanguageId: ::DWORD,
}}
pub type PMSGBOXPARAMSA = *mut MSGBOXPARAMSA;
pub type LPMSGBOXPARAMSA = *mut MSGBOXPARAMSA;
STRUCT!{nodebug struct MSGBOXPARAMSW {
    cbSize: ::UINT,
    hwndOwner: ::HWND,
    hInstance: ::HINSTANCE,
    lpszText: ::LPCWSTR,
    lpszCaption: ::LPCWSTR,
    dwStyle: ::DWORD,
    lpszIcon: ::LPCWSTR,
    dwContextHelpId: ::DWORD_PTR,
    lpfnMsgBoxCallback: ::MSGBOXCALLBACK,
    dwLanguageId: ::DWORD,
}}
pub type PMSGBOXPARAMSW = *mut MSGBOXPARAMSW;
pub type LPMSGBOXPARAMSW = *mut MSGBOXPARAMSW;
STRUCT!{struct HELPINFO {
    cbSize: ::UINT,
    iContextType: ::c_int,
    iCtrlId: ::c_int,
    hItemHandle: ::HANDLE,
    dwContextId: ::DWORD,
    MousePos: ::POINT,
}}
pub type LPHELPINFO = *mut HELPINFO;
#[allow(trivial_numeric_casts)]
pub fn GET_WHEEL_DELTA_WPARAM(wParam: ::WPARAM) -> ::c_short {
    ::HIWORD(wParam as ::DWORD) as ::c_short
}
#[allow(trivial_numeric_casts)]
pub fn GET_KEYSTATE_WPARAM(wparam: ::WPARAM) -> ::c_int {
    ::LOWORD(wparam as ::DWORD) as ::c_short as ::c_int
}
#[allow(trivial_numeric_casts)]
pub fn GET_XBUTTON_WPARAM(wparam: ::WPARAM) -> ::c_int {
    ::HIWORD(wparam as ::DWORD) as ::c_int
}
pub const SIF_RANGE: ::UINT = 0x0001;
pub const SIF_PAGE: ::UINT = 0x0002;
pub const SIF_POS: ::UINT = 0x0004;
pub const SIF_DISABLENOSCROLL: ::UINT = 0x0008;
pub const SIF_TRACKPOS: ::UINT = 0x0010;
pub const SIF_ALL: ::UINT = SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS;
pub const SW_SCROLLCHILDREN: ::UINT = 0x0001;
pub const SW_INVALIDATE: ::UINT = 0x0002;
pub const SW_ERASE: ::UINT = 0x0004;
pub const SW_SMOOTHSCROLL: ::UINT = 0x0010;
pub const SB_LINEUP: ::c_int = 0;
pub const SB_LINELEFT: ::c_int = 0;
pub const SB_LINEDOWN: ::c_int = 1;
pub const SB_LINERIGHT: ::c_int = 1;
pub const SB_PAGEUP: ::c_int = 2;
pub const SB_PAGELEFT: ::c_int = 2;
pub const SB_PAGEDOWN: ::c_int = 3;
pub const SB_PAGERIGHT: ::c_int = 3;
pub const SB_THUMBPOSITION: ::c_int = 4;
pub const SB_THUMBTRACK: ::c_int = 5;
pub const SB_TOP: ::c_int = 6;
pub const SB_LEFT: ::c_int = 6;
pub const SB_BOTTOM: ::c_int = 7;
pub const SB_RIGHT: ::c_int = 7;
pub const SB_ENDSCROLL: ::c_int = 8;
pub const LR_DEFAULTCOLOR: ::UINT = 0x00000000;
pub const LR_MONOCHROME: ::UINT = 0x00000001;
pub const LR_COLOR: ::UINT = 0x00000002;
pub const LR_COPYRETURNORG: ::UINT = 0x00000004;
pub const LR_COPYDELETEORG: ::UINT = 0x00000008;
pub const LR_LOADFROMFILE: ::UINT = 0x00000010;
pub const LR_LOADTRANSPARENT: ::UINT = 0x00000020;
pub const LR_DEFAULTSIZE: ::UINT = 0x00000040;
pub const LR_VGACOLOR: ::UINT = 0x00000080;
pub const LR_LOADMAP3DCOLORS: ::UINT = 0x00001000;
pub const LR_CREATEDIBSECTION: ::UINT = 0x00002000;
pub const LR_COPYFROMRESOURCE: ::UINT = 0x00004000;
pub const LR_SHARED: ::UINT = 0x00008000;
pub const IMAGE_BITMAP: ::UINT = 0;
pub const IMAGE_ICON: ::UINT = 1;
pub const IMAGE_CURSOR: ::UINT = 2;
pub const IMAGE_ENHMETAFILE: ::UINT = 3;
pub const DT_TOP: ::UINT = 0x00000000;
pub const DT_LEFT: ::UINT = 0x00000000;
pub const DT_CENTER: ::UINT = 0x00000001;
pub const DT_RIGHT: ::UINT = 0x00000002;
pub const DT_VCENTER: ::UINT = 0x00000004;
pub const DT_BOTTOM: ::UINT = 0x00000008;
pub const DT_WORDBREAK: ::UINT = 0x00000010;
pub const DT_SINGLELINE: ::UINT = 0x00000020;
pub const DT_EXPANDTABS: ::UINT = 0x00000040;
pub const DT_TABSTOP: ::UINT = 0x00000080;
pub const DT_NOCLIP: ::UINT = 0x00000100;
pub const DT_EXTERNALLEADING: ::UINT = 0x00000200;
pub const DT_CALCRECT: ::UINT = 0x00000400;
pub const DT_NOPREFIX: ::UINT = 0x00000800;
pub const DT_INTERNAL: ::UINT = 0x00001000;
pub const DT_EDITCONTROL: ::UINT = 0x00002000;
pub const DT_PATH_ELLIPSIS: ::UINT = 0x00004000;
pub const DT_END_ELLIPSIS: ::UINT = 0x00008000;
pub const DT_MODIFYSTRING: ::UINT = 0x00010000;
pub const DT_RTLREADING: ::UINT = 0x00020000;
pub const DT_WORD_ELLIPSIS: ::UINT = 0x00040000;
pub const DT_NOFULLWIDTHCHARBREAK: ::UINT = 0x00080000;
pub const DT_HIDEPREFIX: ::UINT = 0x00100000;
pub const DT_PREFIXONLY: ::UINT = 0x00200000;
STRUCT!{struct KBDLLHOOKSTRUCT {
    vkCode: ::DWORD,
    scanCode: ::DWORD,
    flags: ::DWORD,
    time: ::DWORD,
    dwExtraInfo: ::ULONG_PTR,
}}
pub type PKBDLLHOOKSTRUCT = *mut KBDLLHOOKSTRUCT;
pub type LPKBDLLHOOKSTRUCT = *mut KBDLLHOOKSTRUCT;
STRUCT!{struct MSLLHOOKSTRUCT {
    pt: ::POINT,
    mouseData: ::DWORD,
    flags: ::DWORD,
    time: ::DWORD,
    dwExtraInfo: ::ULONG_PTR,
}}
pub type PMSLLHOOKSTRUCT = *mut MSLLHOOKSTRUCT;
pub type LPMSLLHOOKSTRUCT = *mut MSLLHOOKSTRUCT;
pub const WH_MIN: ::c_int = -1;
pub const WH_MSGFILTER: ::c_int = -1;
pub const WH_JOURNALRECORD: ::c_int = 0;
pub const WH_JOURNALPLAYBACK: ::c_int = 1;
pub const WH_KEYBOARD: ::c_int = 2;
pub const WH_GETMESSAGE: ::c_int = 3;
pub const WH_CALLWNDPROC: ::c_int = 4;
pub const WH_CBT: ::c_int = 5;
pub const WH_SYSMSGFILTER: ::c_int = 6;
pub const WH_MOUSE: ::c_int = 7;
pub const WH_HARDWARE: ::c_int = 8;
pub const WH_DEBUG: ::c_int = 9;
pub const WH_SHELL: ::c_int = 10;
pub const WH_FOREGROUNDIDLE: ::c_int = 11;
pub const WH_CALLWNDPROCRET: ::c_int = 12;
pub const WH_KEYBOARD_LL: ::c_int = 13;
pub const WH_MOUSE_LL: ::c_int = 14;
pub const WH_MAX: ::c_int = 14;
pub const WH_MINHOOK: ::c_int = WH_MIN;
pub const WH_MAXHOOK: ::c_int = WH_MAX;
pub const KLF_ACTIVATE: ::UINT = 1;
pub const KLF_SUBSTITUTE_OK: ::UINT = 2;
pub const KLF_UNLOADPREVIOUS: ::UINT = 4;
pub const KLF_REORDER: ::UINT = 8;
pub const KLF_REPLACELANG: ::UINT = 16;
pub const KLF_NOTELLSHELL: ::UINT = 128;
pub const KLF_SETFORPROCESS: ::UINT = 256;
//RedrawWindow() flags
pub const RDW_INVALIDATE: ::UINT = 0x0001;
pub const RDW_INTERNALPAINT: ::UINT = 0x0002;
pub const RDW_ERASE: ::UINT = 0x0004;
pub const RDW_VALIDATE: ::UINT = 0x0008;
pub const RDW_NOINTERNALPAINT: ::UINT = 0x0010;
pub const RDW_NOERASE: ::UINT = 0x0020;
pub const RDW_NOCHILDREN: ::UINT = 0x0040;
pub const RDW_ALLCHILDREN: ::UINT = 0x0080;
pub const RDW_UPDATENOW: ::UINT = 0x0100;
pub const RDW_ERASENOW: ::UINT = 0x0200;
pub const RDW_FRAME: ::UINT = 0x0400;
pub const RDW_NOFRAME: ::UINT = 0x0800;
STRUCT!{struct MEASUREITEMSTRUCT {
    CtlType: ::UINT,
    CtlID: ::UINT,
    itemID: ::UINT,
    itemWidth: ::UINT,
    itemHeight: ::UINT,
    itemData: ::ULONG_PTR,
}}
pub type LPMEASUREITEMSTRUCT = *mut MEASUREITEMSTRUCT;
STRUCT!{struct DRAWITEMSTRUCT {
    CtlType: ::UINT,
    CtlID: ::UINT,
    itemID: ::UINT,
    itemAction: ::UINT,
    itemState: ::UINT,
    hwndItem: ::HWND,
    hDC: ::HDC,
    rcItem: ::RECT,
    itemData: ::ULONG_PTR,
}}
pub type LPDRAWITEMSTRUCT = *mut DRAWITEMSTRUCT;
STRUCT!{struct DELETEITEMSTRUCT {
    CtlType: ::UINT,
    CtlID: ::UINT,
    itemID: ::UINT,
    hwndItem: ::HWND,
    itemData: ::ULONG_PTR,
}}
pub type LPDELETEITEMSTRUCT = *mut DELETEITEMSTRUCT;
STRUCT!{struct COMPAREITEMSTRUCT {
    CtlType: ::UINT,
    CtlID: ::UINT,
    hwndItem: ::HWND,
    itemID1: ::UINT,
    itemData1: ::ULONG_PTR,
    itemID2: ::UINT,
    itemData2: ::ULONG_PTR,
    dwLocaleId: ::DWORD,
}}
pub type LPCOMPAREITEMSTRUCT = *mut COMPAREITEMSTRUCT;
/* Image type */
pub const DST_COMPLEX: ::UINT = 0x0000;
pub const DST_TEXT: ::UINT = 0x0001;
pub const DST_PREFIXTEXT: ::UINT = 0x0002;
pub const DST_ICON: ::UINT = 0x0003;
pub const DST_BITMAP: ::UINT = 0x0004;
pub const DI_MASK: ::UINT = 0x0001;
pub const DI_IMAGE: ::UINT = 0x0002;
pub const DI_NORMAL: ::UINT = 0x0003;
pub const DI_COMPAT: ::UINT = 0x0004;
pub const DI_DEFAULTSIZE: ::UINT = 0x0008;
// if WINVER >= 0x0601
// GetSystemMetrics(SM_DIGITIZER) flag values
pub const NID_INTEGRATED_TOUCH: ::UINT = 0x00000001;
pub const NID_EXTERNAL_TOUCH: ::UINT = 0x00000002;
pub const NID_INTEGRATED_PEN: ::UINT = 0x00000004;
pub const NID_EXTERNAL_PEN: ::UINT = 0x00000008;
pub const NID_MULTI_INPUT: ::UINT = 0x00000040;
pub const NID_READY: ::UINT = 0x00000080;
// end if WINVER >= 0x0601

// System Menu Command Values
//
pub const SC_SIZE: ::WPARAM = 0xF000;
pub const SC_MOVE: ::WPARAM = 0xF010;
pub const SC_MINIMIZE: ::WPARAM = 0xF020;
pub const SC_MAXIMIZE: ::WPARAM = 0xF030;
pub const SC_NEXTWINDOW: ::WPARAM = 0xF040;
pub const SC_PREVWINDOW: ::WPARAM = 0xF050;
pub const SC_CLOSE: ::WPARAM = 0xF060;
pub const SC_VSCROLL: ::WPARAM = 0xF070;
pub const SC_HSCROLL: ::WPARAM = 0xF080;
pub const SC_MOUSEMENU: ::WPARAM = 0xF090;
pub const SC_KEYMENU: ::WPARAM = 0xF100;
pub const SC_ARRANGE: ::WPARAM = 0xF110;
pub const SC_RESTORE: ::WPARAM = 0xF120;
pub const SC_TASKLIST: ::WPARAM = 0xF130;
pub const SC_SCREENSAVE: ::WPARAM = 0xF140;
pub const SC_HOTKEY: ::WPARAM = 0xF150;
// if WINVER >= 0x0400
pub const SC_DEFAULT: ::WPARAM = 0xF160;
pub const SC_MONITORPOWER: ::WPARAM = 0xF170;
pub const SC_CONTEXTHELP: ::WPARAM = 0xF180;
pub const SC_SEPARATOR: ::WPARAM = 0xF00F;
// endif WINVER >= 0x0400