Diff

Not logged in

Differences From Artifact [b45c73c216c900bc]:

To Artifact [71091da201e7d6e2]:


4 4 * Windows API header module * 5 5 * * 6 6 * Translated from MinGW Windows headers * 7 7 * * 8 8 * Placed into public domain * 9 9 \***********************************************************************/ 10 10 module win32.winuser; 11 -pragma(lib, "user32.lib"); 11 +pragma(lib, "user32"); 12 12 13 13 // Conversion Notes: 14 14 // The following macros were for win16 only, and are not included in this file: 15 15 //#define EnumTaskWindows(h, f, p) EnumThreadWindows((DWORD)h, f, p) 16 16 //#define PostAppMessageA(t, m, w, l) PostThreadMessageA((DWORD)t, m, w, l) 17 17 //#define PostAppMessageW(t, m, w, l) PostThreadMessageW((DWORD)t, m, w, l) 18 18 //#define GetSysModalWindow() (NULL) ................................................................................ 26 26 // FIXME: clean up Windows version support 27 27 28 28 template MAKEINTATOM_T(int i) { 29 29 const LPTSTR MAKEINTATOM_T = cast(LPTSTR) i; 30 30 } 31 31 32 32 const WC_DIALOG = MAKEINTATOM_T!(0x8002); 33 + 34 +const FAPPCOMMAND_MOUSE = 0x8000; 35 +const FAPPCOMMAND_KEY = 0; 36 +const FAPPCOMMAND_OEM = 0x1000; 37 +const FAPPCOMMAND_MASK = 0xF000; 33 38 34 39 const FVIRTKEY = 1; 35 40 const FNOINVERT = 2; 36 41 const FSHIFT = 4; 37 42 const FCONTROL = 8; 38 43 const FALT = 16; 39 44 ................................................................................ 82 87 HCBT_CLICKSKIPPED, 83 88 HCBT_KEYSKIPPED, 84 89 HCBT_SYSCOMMAND, 85 90 HCBT_SETFOCUS // = 9 86 91 } 87 92 88 93 enum { 89 - CF_TEXT = 1, 94 + CF_TEXT = 0x0001, 90 95 CF_BITMAP, 91 96 CF_METAFILEPICT, 92 97 CF_SYLK, 93 98 CF_DIF, 94 99 CF_TIFF, 95 100 CF_OEMTEXT, 96 101 CF_DIB, ................................................................................ 98 103 CF_PENDATA, 99 104 CF_RIFF, 100 105 CF_WAVE, 101 106 CF_UNICODETEXT, 102 107 CF_ENHMETAFILE, 103 108 CF_HDROP, 104 109 CF_LOCALE, 105 - CF_MAX, // = 17 106 - CF_OWNERDISPLAY = 128, 110 + CF_MAX, // = 0x0011 111 + CF_OWNERDISPLAY = 0x0080, 107 112 CF_DSPTEXT, 108 113 CF_DSPBITMAP, 109 - CF_DSPMETAFILEPICT, // = 131 110 - CF_DSPENHMETAFILE = 142, 111 - CF_PRIVATEFIRST = 512, 112 - CF_PRIVATELAST = 767, 113 - CF_GDIOBJFIRST = 768, 114 - CF_GDIOBJLAST = 1023 114 + CF_DSPMETAFILEPICT, // = 0x0083 115 + CF_DSPENHMETAFILE = 0x008E, 116 + CF_PRIVATEFIRST = 0x0200, 117 + CF_PRIVATELAST = 0x02FF, 118 + CF_GDIOBJFIRST = 0x0300, 119 + CF_GDIOBJLAST = 0x03FF 115 120 } 116 121 117 122 const HKL_PREV = 0; 118 123 const HKL_NEXT = 1; 119 124 120 125 const KLF_ACTIVATE = 1; 121 126 const KLF_SUBSTITUTE_OK = 2; ................................................................................ 165 170 const BSF_IGNORECURRENTTASK = 0x00000002; 166 171 const BSF_FLUSHDISK = 0x00000004; 167 172 const BSF_NOHANG = 0x00000008; 168 173 const BSF_POSTMESSAGE = 0x00000010; 169 174 const BSF_FORCEIFHUNG = 0x00000020; 170 175 const BSF_NOTIMEOUTIFNOTHUNG = 0x00000040; 171 176 172 -static if (_WIN32_WINNT >= 0x500) { 173 - const BSF_ALLOWSFW = 0x00000080; 174 - const BSF_SENDNOTIFYMESSAGE = 0x00000100; 175 -} 177 +const BSF_ALLOWSFW = 0x00000080; 178 +const BSF_SENDNOTIFYMESSAGE = 0x00000100; 179 + 176 180 static if (_WIN32_WINNT >= 0x501) { 177 181 const BSF_RETURNHDESK = 0x00000200; 178 182 const BSF_LUID = 0x00000400; 179 183 } 180 184 181 185 const BROADCAST_QUERY_DENY = 1112363332; 182 186 const DWORD ENUM_CURRENT_SETTINGS = -1; ................................................................................ 447 451 448 452 const DC_ACTIVE = 0x00000001; 449 453 const DC_SMALLCAP = 0x00000002; 450 454 const DC_ICON = 0x00000004; 451 455 const DC_TEXT = 0x00000008; 452 456 const DC_INBUTTON = 0x00000010; 453 457 454 -static if (WINVER >= 0x500) { 455 -const DC_GRADIENT=0x00000020; 456 -} 458 +const DC_GRADIENT = 0x00000020; 457 459 static if (_WIN32_WINNT >= 0x501) { 458 -const DC_BUTTONS=0x00001000; 460 + const DC_BUTTONS = 0x00001000; 459 461 } 460 462 461 463 // Where are these documented? 462 464 //const DC_CAPTION = DC_ICON|DC_TEXT|DC_BUTTONS; 463 465 //const DC_NC = DC_CAPTION|DC_FRAME; 464 466 465 467 const BDR_RAISEDOUTER = 1; ................................................................................ 492 494 const BF_DIAGONAL_ENDBOTTOMRIGHT = BF_DIAGONAL|BF_BOTTOM|BF_RIGHT; 493 495 const BF_MIDDLE = 0x800; 494 496 const BF_SOFT = 0x1000; 495 497 const BF_ADJUST = 0x2000; 496 498 const BF_FLAT = 0x4000; 497 499 const BF_MONO = 0x8000; 498 500 499 -const DFC_CAPTION=1; 500 -const DFC_MENU=2; 501 -const DFC_SCROLL=3; 502 -const DFC_BUTTON=4; 503 -static if (WINVER >= 0x500) { 504 -const DFC_POPUPMENU=5; 505 -}// WINVER >= 0x500 501 +enum { 502 + DFC_CAPTION = 1, 503 + DFC_MENU, 504 + DFC_SCROLL, 505 + DFC_BUTTON, 506 + DFC_POPUPMENU // = 5 507 +} 506 508 507 509 const DFCS_CAPTIONCLOSE = 0; 508 510 const DFCS_CAPTIONMIN = 1; 509 511 const DFCS_CAPTIONMAX = 2; 510 512 const DFCS_CAPTIONRESTORE = 3; 511 513 const DFCS_CAPTIONHELP = 4; 512 514 ................................................................................ 528 530 const DFCS_BUTTONRADIOMASK = 2; 529 531 const DFCS_BUTTONRADIO = 4; 530 532 const DFCS_BUTTON3STATE = 8; 531 533 const DFCS_BUTTONPUSH = 16; 532 534 const DFCS_INACTIVE = 256; 533 535 const DFCS_PUSHED = 512; 534 536 const DFCS_CHECKED = 1024; 535 -static if (WINVER >= 0x500) { 536 -const DFCS_TRANSPARENT = 0x800; 537 -const DFCS_HOT = 0x1000; 537 +static if (_WIN32_WINNT >= 0x500) { 538 + const DFCS_TRANSPARENT = 0x800; 539 + const DFCS_HOT = 0x1000; 538 540 } 539 541 const DFCS_ADJUSTRECT = 0x2000; 540 542 const DFCS_FLAT = 0x4000; 541 543 const DFCS_MONO = 0x8000; 542 544 543 545 enum { 544 546 DST_COMPLEX = 0, ................................................................................ 705 707 const IDC_UPARROW = MAKEINTRESOURCE_T!(32516); 706 708 const IDC_SIZENWSE = MAKEINTRESOURCE_T!(32642); 707 709 const IDC_SIZENESW = MAKEINTRESOURCE_T!(32643); 708 710 const IDC_SIZEWE = MAKEINTRESOURCE_T!(32644); 709 711 const IDC_SIZENS = MAKEINTRESOURCE_T!(32645); 710 712 const IDC_SIZEALL = MAKEINTRESOURCE_T!(32646); 711 713 const IDC_NO = MAKEINTRESOURCE_T!(32648); 712 -const IDC_HAND = MAKEINTRESOURCE_T!(32649); 714 +static if (_WIN32_WINNT >= 0x500) { 715 + const IDC_HAND = MAKEINTRESOURCE_T!(32649); 716 +} 713 717 const IDC_APPSTARTING = MAKEINTRESOURCE_T!(32650); 714 718 const IDC_HELP = MAKEINTRESOURCE_T!(32651); 715 719 const IDC_ICON = MAKEINTRESOURCE_T!(32641); 716 720 const IDC_SIZE = MAKEINTRESOURCE_T!(32640); 717 721 const IDI_APPLICATION = MAKEINTRESOURCE_T!(32512); 718 722 const IDI_HAND = MAKEINTRESOURCE_T!(32513); 719 723 const IDI_QUESTION = MAKEINTRESOURCE_T!(32514); 720 724 const IDI_EXCLAMATION = MAKEINTRESOURCE_T!(32515); 721 725 const IDI_ASTERISK = MAKEINTRESOURCE_T!(32516); 722 726 const IDI_WINLOGO = MAKEINTRESOURCE_T!(32517); 727 +static if (_WIN32_WINNT >= 0x600) { 728 + const IDI_SHIELD = MAKEINTRESOURCE_T!(32518); 729 +} 730 + 723 731 const IDI_WARNING = IDI_EXCLAMATION; 724 732 const IDI_ERROR = IDI_HAND; 725 733 const IDI_INFORMATION = IDI_ASTERISK; 734 + 735 +static if(_WIN32_WINNT >= 0x500) { 736 + 737 +const MNGOF_TOPGAP = 0x00000001; 738 +const MNGOF_BOTTOMGAP = 0x00000002; 739 +const MNGO_NOINTERFACE = 0x00000000; 740 +const MNGO_NOERROR = 0x00000001; 741 + 742 +} 726 743 727 744 const MIIM_STATE = 1; 728 745 const MIIM_ID = 2; 729 746 const MIIM_SUBMENU = 4; 730 747 const MIIM_CHECKMARKS = 8; 731 748 const MIIM_TYPE = 16; 732 749 const MIIM_DATA = 32; 733 750 const MIIM_STRING = 64; 734 751 const MIIM_BITMAP = 128; 735 752 const MIIM_FTYPE = 256; 736 753 737 -static if (WINVER >= 0x500) { 754 +static if (_WIN32_WINNT >= 0x500) { 738 755 739 -const MIM_MAXHEIGHT = 1; 740 -const MIM_BACKGROUND = 2; 741 -const MIM_HELPID = 4; 742 -const MIM_MENUDATA = 8; 743 -const MIM_STYLE = 16; 744 -const MIM_APPLYTOSUBMENUS = 0x80000000L; 756 + const MIM_MAXHEIGHT = 1; 757 + const MIM_BACKGROUND = 2; 758 + const MIM_HELPID = 4; 759 + const MIM_MENUDATA = 8; 760 + const MIM_STYLE = 16; 761 + const MIM_APPLYTOSUBMENUS = 0x80000000L; 745 762 746 -const MNS_NOCHECK = 0x80000000; 747 -const MNS_MODELESS = 0x40000000; 748 -const MNS_DRAGDROP = 0x20000000; 749 -const MNS_AUTODISMISS = 0x10000000; 750 -const MNS_NOTIFYBYPOS = 0x08000000; 751 -const MNS_CHECKORBMP = 0x04000000; 763 + const MNS_NOCHECK = 0x80000000; 764 + const MNS_MODELESS = 0x40000000; 765 + const MNS_DRAGDROP = 0x20000000; 766 + const MNS_AUTODISMISS = 0x10000000; 767 + const MNS_NOTIFYBYPOS = 0x08000000; 768 + const MNS_CHECKORBMP = 0x04000000; 752 769 753 770 } 754 771 755 772 const MFT_BITMAP = 4; 756 773 const MFT_MENUBARBREAK = 32; 757 774 const MFT_MENUBREAK = 64; 758 775 const MFT_OWNERDRAW = 256; ................................................................................ 814 831 const MB_DEFBUTTON3 = 512; 815 832 const MB_DEFBUTTON4 = 0x300; 816 833 const MB_ICONINFORMATION = 64; 817 834 const MB_ICONSTOP = 16; 818 835 const MB_OKCANCEL = 1; 819 836 const MB_RETRYCANCEL = 5; 820 837 821 -static if (_WIN32_WINNT_ONLY) { 822 - static if (_WIN32_WINNT >= 0x400) { 823 - const MB_SERVICE_NOTIFICATION = 0x00200000; 824 - } else { 825 - const MB_SERVICE_NOTIFICATION = 0x00040000; 826 - } 827 - const MB_SERVICE_NOTIFICATION_NT3X = 0x00040000; 828 -} 838 +const MB_SERVICE_NOTIFICATION = 0x00200000; 839 +const MB_SERVICE_NOTIFICATION_NT3X = 0x00040000; 829 840 830 841 const MB_SETFOREGROUND = 0x10000; 831 842 const MB_SYSTEMMODAL = 4096; 832 843 const MB_TASKMODAL = 0x2000; 833 844 const MB_YESNO = 4; 834 845 const MB_YESNOCANCEL = 3; 835 846 const MB_ICONMASK = 240; 836 847 const MB_DEFMASK = 3840; 837 848 const MB_MODEMASK = 0x00003000; 838 849 const MB_MISCMASK = 0x0000C000; 839 850 const MB_NOFOCUS = 0x00008000; 840 851 const MB_TYPEMASK = 15; 841 852 // [Redefined] MB_TOPMOST=0x40000 842 -static if (WINVER >= 0x500) { 853 +static if (_WIN32_WINNT >= 0x500) { 843 854 const MB_CANCELTRYCONTINUE=6; 844 855 } 845 856 846 857 const IDOK = 1; 847 858 const IDCANCEL = 2; 848 859 const IDABORT = 3; 849 860 const IDRETRY = 4; 850 861 const IDIGNORE = 5; 851 862 const IDYES = 6; 852 863 const IDNO = 7; 853 -static if (WINVER >= 0x400) { 854 -const IDCLOSE = 8; 855 -const IDHELP = 9; 864 +static if (_WIN32_WINNT >= 0x400) { 865 + const IDCLOSE = 8; 866 + const IDHELP = 9; 856 867 } 857 -static if (WINVER >= 0x500) { 858 -const IDTRYAGAIN = 10; 859 -const IDCONTINUE = 11; 868 +static if (_WIN32_WINNT >= 0x500) { 869 + const IDTRYAGAIN = 10; 870 + const IDCONTINUE = 11; 860 871 } 861 872 862 873 const GWL_EXSTYLE = -20; 863 874 const GWL_STYLE = -16; 864 875 const GWL_WNDPROC = -4; 865 876 const GWLP_WNDPROC = -4; 866 877 const GWL_HINSTANCE = -6; ................................................................................ 1142 1153 const OIC_WINLOGO = 32517; 1143 1154 const OIC_WARNING = OIC_BANG; 1144 1155 const OIC_ERROR = OIC_HAND; 1145 1156 const OIC_INFORMATION = OIC_NOTE; 1146 1157 1147 1158 const HELPINFO_MENUITEM = 2; 1148 1159 const HELPINFO_WINDOW = 1; 1160 + 1161 +static if (_WIN32_WINNT >= 0x501) { 1162 + 1163 +const WTS_CONSOLE_CONNECT = 0x1; 1164 +const WTS_CONSOLE_DISCONNECT = 0x2; 1165 +const WTS_REMOTE_CONNECT = 0x3; 1166 +const WTS_REMOTE_DISCONNECT = 0x4; 1167 +const WTS_SESSION_LOGON = 0x5; 1168 +const WTS_SESSION_LOGOFF = 0x6; 1169 +const WTS_SESSION_LOCK = 0x7; 1170 +const WTS_SESSION_UNLOCK = 0x8; 1171 +const WTS_SESSION_REMOTE_CONTROL = 0x9; 1172 + 1173 +} 1149 1174 1150 1175 const MSGF_DIALOGBOX = 0; 1151 1176 const MSGF_MESSAGEBOX = 1; 1152 1177 const MSGF_MENU = 2; 1153 1178 const MSGF_MOVE = 3; 1154 1179 const MSGF_SIZE = 4; 1155 1180 const MSGF_SCROLLBAR = 5; ................................................................................ 1167 1192 const MOUSEEVENTF_WHEEL = 0x0800; 1168 1193 const MOUSEEVENTF_ABSOLUTE = 32768; 1169 1194 1170 1195 const PM_NOREMOVE = 0; 1171 1196 const PM_REMOVE = 1; 1172 1197 const PM_NOYIELD = 2; 1173 1198 1174 -static if (WINVER >= 0x500) { 1199 +static if (_WIN32_WINNT >= 0x500) { 1175 1200 const PM_QS_INPUT = (QS_INPUT << 16); 1176 1201 const PM_QS_POSTMESSAGE = ((QS_POSTMESSAGE|QS_HOTKEY|QS_TIMER) << 16); 1177 1202 const PM_QS_PAINT = (QS_PAINT << 16); 1178 1203 const PM_QS_SENDMESSAGE = (QS_SENDMESSAGE << 16); 1179 1204 } 1180 1205 const HWND 1181 1206 HWND_BROADCAST = cast(HWND)0xffff, ................................................................................ 1222 1247 const SWP_SHOWWINDOW = 64; 1223 1248 const SWP_NOOWNERZORDER = 512; 1224 1249 const SWP_NOREPOSITION = 512; 1225 1250 const SWP_NOSENDCHANGING = 1024; 1226 1251 const SWP_DEFERERASE = 8192; 1227 1252 const SWP_ASYNCWINDOWPOS = 16384; 1228 1253 1229 -const HSHELL_ACTIVATESHELLWINDOW = 3; 1230 -const HSHELL_GETMINRECT = 5; 1231 -const HSHELL_LANGUAGE = 8; 1232 -const HSHELL_REDRAW = 6; 1233 -const HSHELL_TASKMAN = 7; 1234 -const HSHELL_WINDOWACTIVATED = 4; 1235 -const HSHELL_WINDOWCREATED = 1; 1236 -const HSHELL_WINDOWDESTROYED = 2; 1237 -const HSHELL_FLASH = 32774; 1254 +enum { // passed variously as int or WPARAM 1255 + HSHELL_WINDOWCREATED = 1, 1256 + HSHELL_WINDOWDESTROYED, 1257 + HSHELL_ACTIVATESHELLWINDOW, 1258 + HSHELL_WINDOWACTIVATED, 1259 + HSHELL_GETMINRECT, 1260 + HSHELL_REDRAW, 1261 + HSHELL_TASKMAN, 1262 + HSHELL_LANGUAGE, // = 8 1263 + HSHELL_ENDTASK = 10, 1264 + HSHELL_ACCESSIBILITYSTATE, 1265 + HSHELL_APPCOMMAND, // = 12 1266 + HSHELL_RUDEAPPACTIVATED = 32772, 1267 + HSHELL_FLASH = 32774 1268 +} 1238 1269 1239 -static if (WINVER >= 0x500) { 1240 -const SPI_SETFOREGROUNDLOCKTIMEOUT=0x2001; 1241 -const SPI_GETFOREGROUNDLOCKTIMEOUT=0x2000; 1270 +static if (_WIN32_WINNT >= 0x501) { 1271 + enum { 1272 + HSHELL_WINDOWREPLACED = 13, 1273 + HSHELL_WINDOWREPLACING 1274 + } 1242 1275 } 1276 + 1277 +enum SPI_SETFOREGROUNDLOCKTIMEOUT = 0x2001; 1278 +enum SPI_GETFOREGROUNDLOCKTIMEOUT = 0x2000; 1243 1279 1244 1280 const SPI_GETACCESSTIMEOUT=60; 1245 1281 const SPI_GETACTIVEWNDTRKTIMEOUT=8194; 1246 1282 const SPI_GETANIMATION=72; 1247 1283 const SPI_GETBEEP=1; 1248 1284 const SPI_GETBORDER=5; 1249 1285 const SPI_GETDEFAULTINPUTLANG=89; ................................................................................ 1331 1367 const SPI_SETSHOWSOUNDS=57; 1332 1368 const SPI_SETSOUNDSENTRY=65; 1333 1369 const SPI_SETSTICKYKEYS=59; 1334 1370 const SPI_SETTOGGLEKEYS=53; 1335 1371 const SPI_SETWHEELSCROLLLINES=105; 1336 1372 const SPI_SETWORKAREA=47; 1337 1373 1338 -static if (WINVER >= 0x500) { 1374 +static if (_WIN32_WINNT >= 0x500) { 1339 1375 const SPI_GETDESKWALLPAPER=115; 1340 1376 const SPI_GETMOUSESPEED=112; 1341 1377 const SPI_GETSCREENSAVERRUNNING=114; 1342 1378 const SPI_GETACTIVEWINDOWTRACKING=0x1000; 1343 1379 const SPI_GETACTIVEWNDTRKZORDER=0x100C; 1344 1380 const SPI_GETCOMBOBOXANIMATION=0x1004; 1345 1381 const SPI_GETCURSORSHADOW=0x101A; ................................................................................ 1374 1410 const SPIF_SENDWININICHANGE=2; 1375 1411 const SPIF_SENDCHANGE=2; 1376 1412 // [Redefined] ATF_ONOFFFEEDBACK=2 1377 1413 // [Redefined] ATF_TIMEOUTON=1 1378 1414 const WM_APP=32768; 1379 1415 const WM_ACTIVATE=6; 1380 1416 const WM_ACTIVATEAPP=28; 1381 -// FIXME/CHECK: Are WM_AFX {FIRST, LAST} valid for WINVER < 0x400? 1417 +// FIXME/CHECK: Are WM_AFX {FIRST, LAST} valid for _WIN32_WINNT < 0x400? 1382 1418 const WM_AFXFIRST=864; 1383 1419 const WM_AFXLAST=895; 1384 1420 const WM_ASKCBFORMATNAME=780; 1385 1421 const WM_CANCELJOURNAL=75; 1386 1422 const WM_CANCELMODE=31; 1387 1423 const WM_CAPTURECHANGED=533; 1388 1424 const WM_CHANGECBCHAIN=781; ................................................................................ 1457 1493 const WM_MDIMAXIMIZE=549; 1458 1494 const WM_MDINEXT=548; 1459 1495 const WM_MDIREFRESHMENU=564; 1460 1496 const WM_MDIRESTORE=547; 1461 1497 const WM_MDISETMENU=560; 1462 1498 const WM_MDITILE=550; 1463 1499 const WM_MEASUREITEM=44; 1464 -static if (WINVER >= 0x500) { 1465 -const WM_UNINITMENUPOPUP=0x0125; 1466 -const WM_MENURBUTTONUP=290; 1467 -const WM_MENUCOMMAND=0x0126; 1468 -const WM_MENUGETOBJECT=0x0124; 1469 -const WM_MENUDRAG=0x0123; 1500 +static if (_WIN32_WINNT >= 0x500) { 1501 + const WM_UNINITMENUPOPUP=0x0125; 1502 + const WM_MENURBUTTONUP=290; 1503 + const WM_MENUCOMMAND=0x0126; 1504 + const WM_MENUGETOBJECT=0x0124; 1505 + const WM_MENUDRAG=0x0123; 1470 1506 } 1471 1507 1472 1508 static if (_WIN32_WINNT >= 0x500) { 1473 1509 1474 1510 enum { 1475 1511 WM_CHANGEUISTATE = 0x0127, 1476 1512 WM_UPDATEUISTATE = 0x0128, ................................................................................ 1572 1608 const WM_STYLECHANGING=124; 1573 1609 const WM_SYSCHAR=262; 1574 1610 const WM_SYSCOLORCHANGE=21; 1575 1611 const WM_SYSCOMMAND=274; 1576 1612 const WM_SYSDEADCHAR=263; 1577 1613 const WM_SYSKEYDOWN=260; 1578 1614 const WM_SYSKEYUP=261; 1615 +static if(_WIN32_WINNT >= 0x501) { 1616 +const WM_TABLET_FIRST=704; 1617 +const WM_TABLET_LAST=735; 1618 +} 1579 1619 const WM_TCARD=82; 1580 1620 const WM_THEMECHANGED=794; 1581 1621 const WM_TIMECHANGE=30; 1582 1622 const WM_TIMER=275; 1583 1623 const WM_UNDO=772; 1584 1624 const WM_USER=1024; 1585 1625 const WM_USERCHANGED=84; 1586 1626 const WM_VKEYTOITEM=46; 1587 1627 const WM_VSCROLL=277; 1588 1628 const WM_VSCROLLCLIPBOARD=778; 1589 1629 const WM_WINDOWPOSCHANGED=71; 1590 1630 const WM_WINDOWPOSCHANGING=70; 1591 1631 const WM_WININICHANGE=26; 1632 +static if(_WIN32_WINNT >= 0x501) { 1633 +const WM_WTSSESSION_CHANGE=689; 1634 +} 1592 1635 const WM_INPUT=255; 1593 1636 const WM_KEYFIRST=256; 1637 +static if(_WIN32_WINNT >= 0x501) { 1638 +const WM_UNICHAR=265; 1639 +const WM_KEYLAST=265; 1640 +const UNICODE_NOCHAR=0xFFFF; 1641 +} else { 1594 1642 const WM_KEYLAST=264; 1643 +} 1595 1644 const WM_SYNCPAINT=136; 1596 1645 const WM_MOUSEACTIVATE=33; 1597 1646 const WM_MOUSEMOVE=512; 1598 1647 const WM_LBUTTONDOWN=513; 1599 1648 const WM_LBUTTONUP=514; 1600 1649 const WM_LBUTTONDBLCLK=515; 1601 1650 const WM_RBUTTONDOWN=516; ................................................................................ 1602 1651 const WM_RBUTTONUP=517; 1603 1652 const WM_RBUTTONDBLCLK=518; 1604 1653 const WM_MBUTTONDOWN=519; 1605 1654 const WM_MBUTTONUP=520; 1606 1655 const WM_MBUTTONDBLCLK=521; 1607 1656 const WM_MOUSEWHEEL=522; 1608 1657 const WM_MOUSEFIRST=512; 1609 -static if (_WIN32_WINNT >= 0x500) { 1658 +static if (_WIN32_WINNT >= 0x600) { 1659 +const WM_XBUTTONDOWN=523; 1660 +const WM_XBUTTONUP=524; 1661 +const WM_XBUTTONDBLCLK=525; 1662 +const WM_MOUSEHWHEEL=526; 1663 +const WM_MOUSELAST=526; 1664 +} 1665 +else static if (_WIN32_WINNT >= 0x500) { 1610 1666 const WM_XBUTTONDOWN=523; 1611 1667 const WM_XBUTTONUP=524; 1612 1668 const WM_XBUTTONDBLCLK=525; 1613 1669 const WM_MOUSELAST=525; 1614 1670 } else { 1615 1671 const WM_MOUSELAST=522; 1616 1672 } ................................................................................ 1628 1684 } 1629 1685 const BM_CLICK=245; 1630 1686 const BM_GETCHECK=240; 1631 1687 const BM_GETIMAGE=246; 1632 1688 const BM_GETSTATE=242; 1633 1689 const BM_SETCHECK=241; 1634 1690 const BM_SETIMAGE=247; 1691 +static if(_WIN32_WINNT >= 0x600) { 1692 + const BM_SETDONTCLICK = 248; 1693 +} 1635 1694 const BM_SETSTATE=243; 1636 1695 const BM_SETSTYLE=244; 1637 1696 const BN_CLICKED=0; 1638 1697 const BN_DBLCLK=5; 1639 1698 const BN_DISABLE=4; 1640 1699 const BN_DOUBLECLICKED=5; 1641 1700 const BN_HILITE=2; ................................................................................ 1675 1734 const CB_SETEXTENDEDUI=341; 1676 1735 const CB_SETHORIZONTALEXTENT=350; 1677 1736 const CB_SETITEMDATA=337; 1678 1737 const CB_SETITEMHEIGHT=339; 1679 1738 const CB_SETLOCALE=345; 1680 1739 const CB_SETTOPINDEX=348; 1681 1740 const CB_SHOWDROPDOWN=335; 1741 + 1742 +static if(_WIN32_WINNT >= 0x501) { 1743 +const CB_GETCOMBOBOXINFO = 356; 1744 +} 1682 1745 1683 1746 const CBN_CLOSEUP=8; 1684 1747 const CBN_DBLCLK=2; 1685 1748 const CBN_DROPDOWN=7; 1686 1749 const CBN_EDITCHANGE=5; 1687 1750 const CBN_EDITUPDATE=6; 1688 1751 const CBN_ERRSPACE=(-1); ................................................................................ 1725 1788 const EM_SETREADONLY=207; 1726 1789 const EM_SETRECT=179; 1727 1790 const EM_SETRECTNP=180; 1728 1791 const EM_SETSEL=177; 1729 1792 const EM_SETTABSTOPS=203; 1730 1793 const EM_SETWORDBREAKPROC=208; 1731 1794 const EM_UNDO=199; 1795 + 1796 +static if(_WIN32_WINNT >= 0x500) { 1797 + const EM_SETIMESTATUS=216; 1798 + const EM_GETIMESTATUS=217; 1799 +} 1732 1800 1733 1801 const EN_CHANGE=768; 1734 1802 const EN_ERRSPACE=1280; 1735 1803 const EN_HSCROLL=1537; 1736 1804 const EN_KILLFOCUS=512; 1737 1805 const EN_MAXTEXT=1281; 1738 1806 const EN_SETFOCUS=256; ................................................................................ 1775 1843 const LB_SETHORIZONTALEXTENT=404; 1776 1844 const LB_SETITEMDATA=410; 1777 1845 const LB_SETITEMHEIGHT=416; 1778 1846 const LB_SETLOCALE=421; 1779 1847 const LB_SETSEL=389; 1780 1848 const LB_SETTABSTOPS=402; 1781 1849 const LB_SETTOPINDEX=407; 1850 +static if(_WIN32_WINNT >= 0x501) { 1851 +const LB_GETLISTBOXINFO=434; 1852 +} 1782 1853 1783 1854 const LBN_DBLCLK=2; 1784 1855 const LBN_ERRSPACE=-2; 1785 1856 const LBN_KILLFOCUS=5; 1786 1857 const LBN_SELCANCEL=3; 1787 1858 const LBN_SELCHANGE=1; 1788 1859 const LBN_SETFOCUS=4; ................................................................................ 1791 1862 const SBM_GETPOS=225; 1792 1863 const SBM_GETRANGE=227; 1793 1864 const SBM_GETSCROLLINFO=234; 1794 1865 const SBM_SETPOS=224; 1795 1866 const SBM_SETRANGE=226; 1796 1867 const SBM_SETRANGEREDRAW=230; 1797 1868 const SBM_SETSCROLLINFO=233; 1869 +static if(_WIN32_WINNT >= 0x501) { 1870 +const SBM_GETSCROLLBARINFO=235; 1871 +} 1872 + 1798 1873 const STM_GETICON=369; 1799 1874 const STM_GETIMAGE=371; 1800 1875 const STM_SETICON=368; 1801 1876 const STM_SETIMAGE=370; 1802 1877 const STN_CLICKED=0; 1803 1878 const STN_DBLCLK=1; 1804 1879 const STN_DISABLE=3; ................................................................................ 2021 2096 VK_OEM_2 = 0xBF, 2022 2097 VK_OEM_3 = 0xC0, 2023 2098 VK_OEM_4 = 0xDB, 2024 2099 VK_OEM_5 = 0xDC, 2025 2100 VK_OEM_6 = 0xDD, 2026 2101 VK_OEM_7 = 0xDE, 2027 2102 VK_OEM_8 = 0xDF, 2028 - //static if (_WIN32_WINNT > = 0x500) { 2103 + //static if (_WIN32_WINNT > = 0x500) { 2029 2104 VK_OEM_102 = 0xE2, 2030 2105 //} 2031 2106 VK_PROCESSKEY = 0xE5, 2032 - //static if (_WIN32_WINNT > = 0x500) { 2107 + //static if (_WIN32_WINNT > = 0x500) { 2033 2108 VK_PACKET = 0xE7, 2034 2109 //} 2035 2110 VK_ATTN = 0xF6, 2036 2111 VK_CRSEL = 0xF7, 2037 2112 VK_EXSEL = 0xF8, 2038 2113 VK_EREOF = 0xF9, 2039 2114 VK_PLAY = 0xFA, ................................................................................ 2052 2127 2053 2128 const MK_LBUTTON=1; 2054 2129 const MK_RBUTTON=2; 2055 2130 const MK_SHIFT=4; 2056 2131 const MK_CONTROL=8; 2057 2132 const MK_MBUTTON=16; 2058 2133 static if (_WIN32_WINNT >= 0x500) { 2059 -const MK_XBUTTON1=32; 2060 -const MK_XBUTTON2=64; 2134 + const MK_XBUTTON1 = 32; 2135 + const MK_XBUTTON2 = 64; 2061 2136 } 2062 2137 const TPM_CENTERALIGN=4; 2063 2138 const TPM_LEFTALIGN=0; 2064 2139 const TPM_RIGHTALIGN=8; 2065 2140 const TPM_LEFTBUTTON=0; 2066 2141 const TPM_RIGHTBUTTON=2; 2067 2142 const TPM_HORIZONTAL=0; 2068 2143 const TPM_VERTICAL=64; 2069 2144 const TPM_TOPALIGN=0; 2070 2145 const TPM_VCENTERALIGN=16; 2071 2146 const TPM_BOTTOMALIGN=32; 2072 2147 const TPM_NONOTIFY=128; 2073 2148 const TPM_RETURNCMD=256; 2074 -static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x410)) { 2075 -const TPM_RECURSE=1; 2149 +static if (_WIN32_WINNT >= 0x410) { 2150 + const TPM_RECURSE = 1; 2076 2151 } 2077 2152 2078 2153 const HELP_COMMAND=0x102; 2079 2154 const HELP_CONTENTS=3; 2080 2155 const HELP_CONTEXT=1; 2081 2156 const HELP_CONTEXTPOPUP=8; 2082 2157 const HELP_FORCEFILE=9; ................................................................................ 2338 2413 const MOD_LEFT=32768; 2339 2414 2340 2415 const LLKHF_EXTENDED=(KF_EXTENDED >> 8); 2341 2416 const LLKHF_INJECTED=0x00000010; 2342 2417 const LLKHF_ALTDOWN=(KF_ALTDOWN >> 8); 2343 2418 const LLKHF_UP=(KF_UP >> 8); 2344 2419 2345 -static if (WINVER >= 0x500) { 2346 -const FLASHW_STOP=0; 2347 -const FLASHW_CAPTION=1; 2348 -const FLASHW_TRAY=2; 2349 -const FLASHW_ALL=(FLASHW_CAPTION|FLASHW_TRAY); 2350 -const FLASHW_TIMER=4; 2351 -const FLASHW_TIMERNOFG=12; 2420 +static if (_WIN32_WINNT >= 0x500) { 2421 + const FLASHW_STOP=0; 2422 + const FLASHW_CAPTION=1; 2423 + const FLASHW_TRAY=2; 2424 + const FLASHW_ALL=(FLASHW_CAPTION|FLASHW_TRAY); 2425 + const FLASHW_TIMER=4; 2426 + const FLASHW_TIMERNOFG=12; 2352 2427 } 2353 2428 2354 2429 const CURSOR_SHOWING=0x00000001; 2355 2430 const WS_ACTIVECAPTION=0x00000001; 2356 2431 static if (_WIN32_WINNT >= 0x403) { 2357 -const INPUT_MOUSE=0x00000000; 2358 -const INPUT_KEYBOARD=0x00000001; 2359 -const INPUT_HARDWARE=0x00000002; 2432 + const INPUT_MOUSE=0x00000000; 2433 + const INPUT_KEYBOARD=0x00000001; 2434 + const INPUT_HARDWARE=0x00000002; 2360 2435 } 2361 -static if (WINVER >= 0x400) { 2362 2436 const ENDSESSION_LOGOFF = 0x80000000; 2363 -} 2364 2437 2365 -static if (WINVER >= 0x500) { 2438 +static if (_WIN32_WINNT >= 0x500) { 2366 2439 const CHILDID_SELF = 0; 2367 2440 const OBJID_WINDOW = 0x00000000; 2368 2441 const OBJID_SYSMENU = 0xFFFFFFFF; 2369 2442 const OBJID_TITLEBAR = 0xFFFFFFFE; 2370 2443 const OBJID_MENU = 0xFFFFFFFD; 2371 2444 const OBJID_CLIENT = 0xFFFFFFFC; 2372 2445 const OBJID_VSCROLL = 0xFFFFFFFB; ................................................................................ 2464 2537 const CONSOLE_CARET_VISIBLE = 0x00000002; 2465 2538 2466 2539 const CONSOLE_APPLICATION_16BIT = 0x00000001; 2467 2540 2468 2541 } 2469 2542 const EVENT_MAX=0x7fffffff; 2470 2543 2471 -}//(WINVER >= 0x500) 2472 - 2473 -static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x490)) { 2474 -const DWORD ASFW_ANY = -1; 2475 -const LSFW_LOCK = 1; 2476 -const LSFW_UNLOCK = 2; 2477 -} 2544 +}//(_WIN32_WINNT >= 0x500) 2478 2545 2479 2546 static if (_WIN32_WINNT >= 0x500) { 2480 -const LWA_COLORKEY=0x01; 2481 -const LWA_ALPHA=0x02; 2482 -const ULW_COLORKEY=0x01; 2483 -const ULW_ALPHA=0x02; 2484 -const ULW_OPAQUE=0x04; 2547 + const DWORD ASFW_ANY = -1; 2548 + enum : UINT { 2549 + LSFW_LOCK = 1, 2550 + LSFW_UNLOCK 2551 + } 2552 + 2553 + const LWA_COLORKEY = 0x01; 2554 + const LWA_ALPHA = 0x02; 2555 + const ULW_COLORKEY = 0x01; 2556 + const ULW_ALPHA = 0x02; 2557 + const ULW_OPAQUE = 0x04; 2485 2558 } 2486 2559 2487 2560 const GA_PARENT = 1; 2488 2561 const GA_ROOT = 2; 2489 2562 const GA_ROOTOWNER = 3; 2490 2563 2491 -static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x410)) { 2492 - 2493 -const MONITOR_DEFAULTTONULL = 0; 2494 -const MONITOR_DEFAULTTOPRIMARY = 1; 2495 -const MONITOR_DEFAULTTONEAREST = 2; 2496 -const MONITORINFOF_PRIMARY = 1; 2497 - 2498 -const EDS_RAWMODE = 0x00000002; 2499 - 2500 -const ISMEX_NOSEND = 0x00000000; 2501 -const ISMEX_SEND = 0x00000001; 2502 -const ISMEX_NOTIFY = 0x00000002; 2503 -const ISMEX_CALLBACK = 0x00000004; 2504 -const ISMEX_REPLIED = 0x00000008; 2505 -} 2506 - 2507 2564 static if (_WIN32_WINNT >= 0x500) { 2508 -const GR_GDIOBJECTS = 0; 2509 -const GR_USEROBJECTS = 1; 2510 -} 2565 + enum : DWORD { 2566 + MONITOR_DEFAULTTONULL, 2567 + MONITOR_DEFAULTTOPRIMARY, 2568 + MONITOR_DEFAULTTONEAREST // = 2 2569 + } 2570 + const MONITORINFOF_PRIMARY = 1; 2511 2571 2512 -static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x490)) { 2513 -const GMMP_USE_DISPLAY_POINTS = 1; 2514 -const GMMP_USE_HIGH_RESOLUTION_POINTS = 2; 2572 + const EDS_RAWMODE = 0x00000002; 2573 + 2574 + const ISMEX_NOSEND = 0x00000000; 2575 + const ISMEX_SEND = 0x00000001; 2576 + const ISMEX_NOTIFY = 0x00000002; 2577 + const ISMEX_CALLBACK = 0x00000004; 2578 + const ISMEX_REPLIED = 0x00000008; 2579 + 2580 + const GR_GDIOBJECTS = 0; 2581 + const GR_USEROBJECTS = 1; 2582 + 2583 + const GMMP_USE_DISPLAY_POINTS = 1; 2584 + const GMMP_USE_HIGH_RESOLUTION_POINTS = 2; 2515 2585 } 2516 2586 2517 2587 static if (_WIN32_WINNT >= 0x501) { 2518 -const PW_CLIENTONLY = 0x00000001; 2519 -const RIM_INPUT = 0x00000000; 2520 -const RIM_INPUTSINK = 0x00000001; 2521 -const RIM_TYPEMOUSE = 0x00000000; 2522 -const RIM_TYPEKEYBOARD = 0x00000001; 2523 -const RIM_TYPEHID = 0x00000002; 2524 -const MOUSE_MOVE_RELATIVE = 0x00000000; 2525 -const MOUSE_MOVE_ABSOLUTE = 0x00000001; 2526 -const MOUSE_VIRTUAL_DESKTOP = 0x00000002; 2527 -const MOUSE_ATTRIBUTES_CHANGED = 0x00000004; 2528 -const RI_MOUSE_LEFT_BUTTON_DOWN = 0x0001; 2529 -const RI_MOUSE_LEFT_BUTTON_UP = 0x0002; 2530 -const RI_MOUSE_RIGHT_BUTTON_DOWN = 0x0004; 2531 -const RI_MOUSE_RIGHT_BUTTON_UP = 0x0008; 2532 -const RI_MOUSE_MIDDLE_BUTTON_DOWN = 0x0010; 2533 -const RI_MOUSE_MIDDLE_BUTTON_UP = 0x0020; 2534 -const RI_MOUSE_BUTTON_1_DOWN = RI_MOUSE_LEFT_BUTTON_DOWN; 2535 -const RI_MOUSE_BUTTON_1_UP = RI_MOUSE_LEFT_BUTTON_UP; 2536 -const RI_MOUSE_BUTTON_2_DOWN = RI_MOUSE_RIGHT_BUTTON_DOWN; 2537 -const RI_MOUSE_BUTTON_2_UP = RI_MOUSE_RIGHT_BUTTON_UP; 2538 -const RI_MOUSE_BUTTON_3_DOWN = RI_MOUSE_MIDDLE_BUTTON_DOWN; 2539 -const RI_MOUSE_BUTTON_3_UP = RI_MOUSE_MIDDLE_BUTTON_UP; 2540 -const RI_MOUSE_BUTTON_4_DOWN = 0x0040; 2541 -const RI_MOUSE_BUTTON_4_UP = 0x0080; 2542 -const RI_MOUSE_BUTTON_5_DOWN = 0x0100; 2543 -const RI_MOUSE_BUTTON_5_UP = 0x0200; 2544 -const RI_MOUSE_WHEEL = 0x0400; 2545 -const KEYBOARD_OVERRUN_MAKE_CODE = 0x00ff; 2546 -const RI_KEY_MAKE = 0x0000; 2547 -const RI_KEY_BREAK = 0x0001; 2548 -const RI_KEY_E0 = 0x0002; 2549 -const RI_KEY_E1 = 0x0004; 2550 -const RI_KEY_TERMSRV_SET_LED = 0x0008; 2551 -const RI_KEY_TERMSRV_SHADOW = 0x0010; 2552 - 2553 -const RID_INPUT = 0x10000003; 2554 -const RID_HEADER = 0x10000005; 2555 - 2556 -const RIDI_PREPARSEDDATA = 0x20000005; 2557 -const RIDI_DEVICENAME = 0x20000007; 2558 -const RIDI_DEVICEINFO = 0x2000000b; 2559 - 2560 -const RIDEV_REMOVE = 0x00000001; 2561 -const RIDEV_EXCLUDE = 0x00000010; 2562 -const RIDEV_PAGEONLY = 0x00000020; 2563 -const RIDEV_NOLEGACY = 0x00000030; 2564 -const RIDEV_INPUTSINK = 0x00000100; 2565 -const RIDEV_CAPTUREMOUSE = 0x00000200; 2566 -const RIDEV_NOHOTKEYS = 0x00000200; 2567 -const RIDEV_APPKEYS = 0x00000400; 2588 + const PW_CLIENTONLY = 0x00000001; 2589 + const RIM_INPUT = 0x00000000; 2590 + const RIM_INPUTSINK = 0x00000001; 2591 + const RIM_TYPEMOUSE = 0x00000000; 2592 + const RIM_TYPEKEYBOARD = 0x00000001; 2593 + const RIM_TYPEHID = 0x00000002; 2594 + const MOUSE_MOVE_RELATIVE = 0x00000000; 2595 + const MOUSE_MOVE_ABSOLUTE = 0x00000001; 2596 + const MOUSE_VIRTUAL_DESKTOP = 0x00000002; 2597 + const MOUSE_ATTRIBUTES_CHANGED = 0x00000004; 2598 + const RI_MOUSE_LEFT_BUTTON_DOWN = 0x0001; 2599 + const RI_MOUSE_LEFT_BUTTON_UP = 0x0002; 2600 + const RI_MOUSE_RIGHT_BUTTON_DOWN = 0x0004; 2601 + const RI_MOUSE_RIGHT_BUTTON_UP = 0x0008; 2602 + const RI_MOUSE_MIDDLE_BUTTON_DOWN = 0x0010; 2603 + const RI_MOUSE_MIDDLE_BUTTON_UP = 0x0020; 2604 + const RI_MOUSE_BUTTON_1_DOWN = RI_MOUSE_LEFT_BUTTON_DOWN; 2605 + const RI_MOUSE_BUTTON_1_UP = RI_MOUSE_LEFT_BUTTON_UP; 2606 + const RI_MOUSE_BUTTON_2_DOWN = RI_MOUSE_RIGHT_BUTTON_DOWN; 2607 + const RI_MOUSE_BUTTON_2_UP = RI_MOUSE_RIGHT_BUTTON_UP; 2608 + const RI_MOUSE_BUTTON_3_DOWN = RI_MOUSE_MIDDLE_BUTTON_DOWN; 2609 + const RI_MOUSE_BUTTON_3_UP = RI_MOUSE_MIDDLE_BUTTON_UP; 2610 + const RI_MOUSE_BUTTON_4_DOWN = 0x0040; 2611 + const RI_MOUSE_BUTTON_4_UP = 0x0080; 2612 + const RI_MOUSE_BUTTON_5_DOWN = 0x0100; 2613 + const RI_MOUSE_BUTTON_5_UP = 0x0200; 2614 + const RI_MOUSE_WHEEL = 0x0400; 2615 + const KEYBOARD_OVERRUN_MAKE_CODE = 0x00ff; 2616 + const RI_KEY_MAKE = 0x0000; 2617 + const RI_KEY_BREAK = 0x0001; 2618 + const RI_KEY_E0 = 0x0002; 2619 + const RI_KEY_E1 = 0x0004; 2620 + const RI_KEY_TERMSRV_SET_LED = 0x0008; 2621 + const RI_KEY_TERMSRV_SHADOW = 0x0010; 2622 + 2623 + const RID_INPUT = 0x10000003; 2624 + const RID_HEADER = 0x10000005; 2625 + 2626 + const RIDI_PREPARSEDDATA = 0x20000005; 2627 + const RIDI_DEVICENAME = 0x20000007; 2628 + const RIDI_DEVICEINFO = 0x2000000b; 2629 + 2630 + const RIDEV_REMOVE = 0x00000001; 2631 + const RIDEV_EXCLUDE = 0x00000010; 2632 + const RIDEV_PAGEONLY = 0x00000020; 2633 + const RIDEV_NOLEGACY = 0x00000030; 2634 + const RIDEV_INPUTSINK = 0x00000100; 2635 + const RIDEV_CAPTUREMOUSE = 0x00000200; 2636 + const RIDEV_NOHOTKEYS = 0x00000200; 2637 + const RIDEV_APPKEYS = 0x00000400; 2568 2638 } 2569 2639 2570 2640 // Callbacks 2571 2641 // --------- 2572 2642 extern (Windows) { 2573 - alias BOOL function (HWND, UINT, WPARAM, LPARAM) DLGPROC; 2574 - alias void function (HWND, UINT, UINT, DWORD) TIMERPROC; 2643 + alias INT_PTR function (HWND, UINT, WPARAM, LPARAM) DLGPROC; 2644 + alias void function (HWND, UINT, UINT_PTR, DWORD) TIMERPROC; 2575 2645 alias BOOL function (HDC, LPARAM, int) GRAYSTRINGPROC; 2576 2646 alias LRESULT function (int, WPARAM, LPARAM) HOOKPROC; 2577 2647 alias BOOL function (HWND, LPCSTR, HANDLE) PROPENUMPROCA; 2578 2648 alias BOOL function (HWND, LPCWSTR, HANDLE) PROPENUMPROCW; 2579 - alias BOOL function (HWND, LPSTR, HANDLE, DWORD) PROPENUMPROCEXA; 2580 - alias BOOL function (HWND, LPWSTR, HANDLE, DWORD) PROPENUMPROCEXW; 2649 + alias BOOL function (HWND, LPSTR, HANDLE, ULONG_PTR) PROPENUMPROCEXA; 2650 + alias BOOL function (HWND, LPWSTR, HANDLE, ULONG_PTR) PROPENUMPROCEXW; 2581 2651 alias int function (LPSTR, int, int, int) EDITWORDBREAKPROCA; 2582 2652 alias int function (LPWSTR, int, int, int) EDITWORDBREAKPROCW; 2583 2653 alias LRESULT function (HWND, UINT, WPARAM, LPARAM) WNDPROC; 2584 2654 alias BOOL function (HDC, LPARAM, WPARAM, int, int) DRAWSTATEPROC; 2585 2655 alias BOOL function (HWND, LPARAM) WNDENUMPROC; 2586 2656 alias BOOL function (HWND, LPARAM) ENUMWINDOWSPROC; 2587 2657 alias void function (LPHELPINFO) MSGBOXCALLBACK; 2588 2658 2589 - static if (WINVER >= 0x410) { 2659 + static if (_WIN32_WINNT >= 0x410) { 2590 2660 alias BOOL function (HMONITOR, HDC, LPRECT, LPARAM) MONITORENUMPROC; 2591 2661 } 2592 2662 alias BOOL function (LPSTR, LPARAM) NAMEENUMPROCA; 2593 2663 alias BOOL function (LPWSTR, LPARAM) NAMEENUMPROCW; 2594 - alias void function (HWND, UINT, DWORD, LRESULT) SENDASYNCPROC; 2664 + alias void function (HWND, UINT, ULONG_PTR, LRESULT) SENDASYNCPROC; 2595 2665 2596 2666 alias NAMEENUMPROCA DESKTOPENUMPROCA; 2597 2667 alias NAMEENUMPROCW DESKTOPENUMPROCW; 2598 2668 alias NAMEENUMPROCA WINSTAENUMPROCA; 2599 2669 alias NAMEENUMPROCW WINSTAENUMPROCW; 2600 2670 } 2601 2671 2602 -alias HANDLE HHOOK; 2603 -alias HANDLE HDWP; 2604 -alias HANDLE HDEVNOTIFY; 2672 +alias TypeDef!(HANDLE) HHOOK; 2673 +alias TypeDef!(HANDLE) HDWP; 2674 +alias TypeDef!(HANDLE) HDEVNOTIFY; 2605 2675 2606 2676 struct ACCEL { 2607 2677 BYTE fVirt; 2608 2678 WORD key; 2609 2679 WORD cmd; 2610 2680 } 2611 2681 alias ACCEL* LPACCEL; ................................................................................ 2668 2738 alias CBT_CREATEWNDW* LPCBT_CREATEWNDW; 2669 2739 2670 2740 struct CBTACTIVATESTRUCT { 2671 2741 BOOL fMouse; 2672 2742 HWND hWndActive; 2673 2743 } 2674 2744 alias CBTACTIVATESTRUCT* LPCBTACTIVATESTRUCT; 2745 + 2746 +static if (_WIN32_WINNT >= 0x501) { 2747 + 2748 +struct WTSSESSION_NOTIFICATION 2749 +{ 2750 + DWORD cbSize; 2751 + DWORD dwSessionId; 2752 +} 2753 +alias WTSSESSION_NOTIFICATION* PWTSSESSION_NOTIFICATION; 2754 + 2755 +} 2675 2756 2676 2757 struct CLIENTCREATESTRUCT { 2677 2758 HANDLE hWindowMenu; 2678 2759 UINT idFirstChild; 2679 2760 } 2680 2761 alias CLIENTCREATESTRUCT* LPCLIENTCREATESTRUCT; 2681 2762 ................................................................................ 2760 2841 DWORD dwExtendedStyle; 2761 2842 WORD cdit; 2762 2843 short x; 2763 2844 short y; 2764 2845 short cx; 2765 2846 short cy; 2766 2847 } 2767 -alias DLGTEMPLATE* LPDLGTEMPLATE, LPDLGTEMPLATEA, LPDLGTEMPLATEW; 2768 -alias CPtr!(DLGTEMPLATE) LPCDLGTEMPLATE; 2848 +alias DLGTEMPLATE* LPDLGTEMPLATE, LPDLGTEMPLATEA, LPDLGTEMPLATEW; 2849 +alias const(DLGTEMPLATE)* LPCDLGTEMPLATE; 2769 2850 2770 2851 align: 2771 2852 2772 2853 struct DRAWITEMSTRUCT { 2773 2854 UINT CtlType; 2774 2855 UINT CtlID; 2775 2856 UINT itemID; ................................................................................ 2818 2899 HBITMAP hbmMask; 2819 2900 HBITMAP hbmColor; 2820 2901 } 2821 2902 alias ICONINFO* PICONINFO; 2822 2903 2823 2904 struct NMHDR { 2824 2905 HWND hwndFrom; 2825 - UINT idFrom; 2906 + UINT_PTR idFrom; 2826 2907 UINT code; 2827 2908 } 2828 2909 alias NMHDR* LPNMHDR; 2829 2910 2830 2911 struct WNDCLASSA { 2831 2912 UINT style; 2832 2913 WNDPROC lpfnWndProc; ................................................................................ 2882 2963 HCURSOR hCursor; 2883 2964 HBRUSH hbrBackground; 2884 2965 LPCWSTR lpszMenuName; 2885 2966 LPCWSTR lpszClassName; 2886 2967 HICON hIconSm; 2887 2968 } 2888 2969 alias WNDCLASSEXW* LPWNDCLASSEXW, PWNDCLASSEXW; 2970 + 2971 +static if(_WIN32_WINNT >= 0x500) { 2972 + 2973 +struct MENUGETOBJECTINFO 2974 +{ 2975 + DWORD dwFlags; 2976 + UINT uPos; 2977 + HMENU hmenu; 2978 + PVOID riid; 2979 + PVOID pvObj; 2980 +} 2981 +alias MENUGETOBJECTINFO* PMENUGETOBJECTINFO; 2982 + 2983 +} 2889 2984 2890 2985 struct MENUITEMINFOA { 2891 2986 UINT cbSize = MENUITEMINFOA.sizeof; 2892 2987 UINT fMask; 2893 2988 UINT fType; 2894 2989 UINT fState; 2895 2990 UINT wID; ................................................................................ 2899 2994 DWORD dwItemData; 2900 2995 LPSTR dwTypeData; 2901 2996 UINT cch; 2902 2997 static if (_WIN32_WINNT >= 0x500) { 2903 2998 HBITMAP hbmpItem; 2904 2999 } 2905 3000 } 2906 -alias MENUITEMINFOA* LPMENUITEMINFOA; 2907 -alias CPtr!(MENUITEMINFOA) LPCMENUITEMINFOA; 3001 +alias MENUITEMINFOA* LPMENUITEMINFOA; 3002 +alias const(MENUITEMINFOA)* LPCMENUITEMINFOA; 2908 3003 2909 3004 struct MENUITEMINFOW { 2910 3005 UINT cbSize = MENUITEMINFOW.sizeof; 2911 3006 UINT fMask; 2912 3007 UINT fType; 2913 3008 UINT fState; 2914 3009 UINT wID; ................................................................................ 2918 3013 DWORD dwItemData; 2919 3014 LPWSTR dwTypeData; 2920 3015 UINT cch; 2921 3016 static if (_WIN32_WINNT >= 0x500) { 2922 3017 HBITMAP hbmpItem; 2923 3018 } 2924 3019 } 2925 -alias MENUITEMINFOW* LPMENUITEMINFOW; 2926 -alias CPtr!(MENUITEMINFOW) LPCMENUITEMINFOW; 3020 +alias MENUITEMINFOW* LPMENUITEMINFOW; 3021 +alias const(MENUITEMINFOW)* LPCMENUITEMINFOW; 2927 3022 2928 3023 struct SCROLLINFO { 2929 3024 UINT cbSize = this.sizeof; 2930 3025 UINT fMask; 2931 3026 int nMin; 2932 3027 int nMax; 2933 3028 UINT nPage; 2934 3029 int nPos; 2935 3030 int nTrackPos; 2936 3031 } 2937 -alias SCROLLINFO* LPSCROLLINFO; 2938 -alias CPtr!(SCROLLINFO) LPCSCROLLINFO; 3032 +alias SCROLLINFO* LPSCROLLINFO; 3033 +alias const(SCROLLINFO)* LPCSCROLLINFO; 2939 3034 2940 3035 struct WINDOWPLACEMENT { 2941 3036 UINT length; 2942 3037 UINT flags; 2943 3038 UINT showCmd; 2944 3039 POINT ptMinPosition; 2945 3040 POINT ptMaxPosition; ................................................................................ 2951 3046 WORD versionNumber; 2952 3047 WORD offset; 2953 3048 } 2954 3049 2955 3050 struct MENUITEMTEMPLATE { 2956 3051 WORD mtOption; 2957 3052 WORD mtID; 2958 - WCHAR mtString[1]; 3053 + WCHAR[1] mtString; 2959 3054 } 2960 3055 2961 3056 alias void MENUTEMPLATE, MENUTEMPLATEA, MENUTEMPLATEW; 2962 3057 2963 3058 alias MENUTEMPLATE* LPMENUTEMPLATEA, LPMENUTEMPLATEW, LPMENUTEMPLATE; 2964 3059 2965 3060 struct HELPINFO { ................................................................................ 3209 3304 int cx; 3210 3305 int cy; 3211 3306 UINT flags; 3212 3307 } 3213 3308 alias WINDOWPOS* PWINDOWPOS, LPWINDOWPOS; 3214 3309 3215 3310 struct NCCALCSIZE_PARAMS { 3216 - RECT rgrc[3]; 3311 + RECT[3] rgrc; 3217 3312 PWINDOWPOS lppos; 3218 3313 } 3219 3314 alias NCCALCSIZE_PARAMS* LPNCCALCSIZE_PARAMS; 3220 3315 3221 3316 struct MDICREATESTRUCTA { 3222 3317 LPCSTR szClass; 3223 3318 LPCSTR szTitle; ................................................................................ 3281 3376 alias DROPSTRUCT* PDROPSTRUCT, LPDROPSTRUCT; 3282 3377 3283 3378 alias DWORD HELPPOLY; 3284 3379 3285 3380 struct MULTIKEYHELPA { 3286 3381 DWORD mkSize; 3287 3382 CHAR mkKeylist; 3288 - CHAR szKeyphrase[1]; 3383 + CHAR[1] szKeyphrase; 3289 3384 } 3290 3385 alias MULTIKEYHELPA* PMULTIKEYHELPA, LPMULTIKEYHELPA; 3291 3386 3292 3387 struct MULTIKEYHELPW { 3293 3388 DWORD mkSize; 3294 3389 WCHAR mkKeylist; 3295 - WCHAR szKeyphrase[1]; 3390 + WCHAR[1] szKeyphrase; 3296 3391 } 3297 3392 alias MULTIKEYHELPW* PMULTIKEYHELPW, LPMULTIKEYHELPW; 3298 3393 3299 3394 struct HELPWININFOA { 3300 3395 int wStructSize; 3301 3396 int x; 3302 3397 int y; 3303 3398 int dx; 3304 3399 int dy; 3305 3400 int wMax; 3306 - CHAR rgchMember[2]; 3401 + CHAR[2] rgchMember; 3307 3402 } 3308 3403 alias HELPWININFOA* PHELPWININFOA, LPHELPWININFOA; 3309 3404 3310 3405 struct HELPWININFOW { 3311 3406 int wStructSize; 3312 3407 int x; 3313 3408 int y; 3314 3409 int dx; 3315 3410 int dy; 3316 3411 int wMax; 3317 - WCHAR rgchMember[2]; 3412 + WCHAR[2] rgchMember; 3318 3413 } 3319 3414 alias HELPWININFOW* PHELPWININFOW, LPHELPWININFOW; 3320 3415 3321 3416 struct STYLESTRUCT { 3322 3417 DWORD styleOld; 3323 3418 DWORD styleNew; 3324 3419 } ................................................................................ 3376 3471 DWORD fMask; 3377 3472 DWORD dwStyle; 3378 3473 UINT cyMax; 3379 3474 HBRUSH hbrBack; 3380 3475 DWORD dwContextHelpID; 3381 3476 ULONG_PTR dwMenuData; 3382 3477 } 3383 -alias MENUINFO* LPMENUINFO; 3384 -alias CPtr!(MENUINFO) LPCMENUINFO; 3478 +alias MENUINFO* LPMENUINFO; 3479 +alias const(MENUINFO)* LPCMENUINFO; 3385 3480 3386 3481 3387 3482 const CCHILDREN_SCROLLBAR=5; 3388 3483 3389 3484 struct SCROLLBARINFO { 3390 3485 DWORD cbSize = this.sizeof; 3391 3486 RECT rcScrollBar; 3392 3487 int dxyLineButton; 3393 3488 int xyThumbTop; 3394 3489 int xyThumbBottom; 3395 3490 int reserved; 3396 - DWORD rgstate[CCHILDREN_SCROLLBAR+1]; 3491 + DWORD[CCHILDREN_SCROLLBAR+1] rgstate; 3397 3492 } 3398 3493 alias SCROLLBARINFO* PSCROLLBARINFO, LPSCROLLBARINFO; 3399 3494 3400 3495 const CCHILDREN_TITLEBAR=5; 3401 3496 3402 3497 struct TITLEBARINFO { 3403 3498 DWORD cbSize = TITLEBARINFO.sizeof; ................................................................................ 3459 3554 DWORD scanCode; 3460 3555 DWORD flags; 3461 3556 DWORD time; 3462 3557 DWORD dwExtraInfo; 3463 3558 } 3464 3559 alias KBDLLHOOKSTRUCT* LPKBDLLHOOKSTRUCT, PKBDLLHOOKSTRUCT; 3465 3560 3466 -static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x410)) { 3467 - 3468 -struct FLASHWINFO { 3469 - UINT cbSize = this.sizeof; 3470 - HWND hwnd; 3471 - DWORD dwFlags; 3472 - UINT uCount; 3473 - DWORD dwTimeout; 3474 -} 3475 -alias FLASHWINFO* PFLASHWINFO; 3476 - 3477 -} 3478 - 3479 -static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x490)) { 3480 - 3481 -struct MOUSEMOVEPOINT { 3482 - int x; 3483 - int y; 3484 - DWORD time; 3485 - ULONG_PTR dwExtraInfo; 3486 -} 3487 -alias MOUSEMOVEPOINT* PMOUSEMOVEPOINT, LPMOUSEMOVEPOINT; 3561 +static if (_WIN32_WINNT >= 0x501) { 3562 + struct FLASHWINFO { 3563 + UINT cbSize = this.sizeof; 3564 + HWND hwnd; 3565 + DWORD dwFlags; 3566 + UINT uCount; 3567 + DWORD dwTimeout; 3568 + } 3569 + alias FLASHWINFO* PFLASHWINFO; 3570 +} 3571 + 3572 +static if (_WIN32_WINNT >= 0x500) { 3573 + 3574 + struct MOUSEMOVEPOINT { 3575 + int x; 3576 + int y; 3577 + DWORD time; 3578 + ULONG_PTR dwExtraInfo; 3579 + } 3580 + alias MOUSEMOVEPOINT* PMOUSEMOVEPOINT, LPMOUSEMOVEPOINT; 3488 3581 } 3489 3582 3490 3583 static if (_WIN32_WINNT >= 0x403) { 3491 -struct MOUSEINPUT { 3492 - LONG dx; 3493 - LONG dy; 3494 - DWORD mouseData; 3495 - DWORD dwFlags; 3496 - DWORD time; 3497 - ULONG_PTR dwExtraInfo; 3498 -} 3499 -alias MOUSEINPUT* PMOUSEINPUT; 3500 - 3501 -struct KEYBDINPUT { 3502 - WORD wVk; 3503 - WORD wScan; 3504 - DWORD dwFlags; 3505 - DWORD time; 3506 - ULONG_PTR dwExtraInfo; 3507 -} 3508 -alias KEYBDINPUT* PKEYBDINPUT; 3509 - 3510 -struct HARDWAREINPUT { 3511 - DWORD uMsg; 3512 - WORD wParamL; 3513 - WORD wParamH; 3514 -} 3515 -alias HARDWAREINPUT* PHARDWAREINPUT; 3516 - 3517 -struct INPUT { 3518 - DWORD type; 3519 - union { 3520 - MOUSEINPUT mi; 3521 - KEYBDINPUT ki; 3522 - HARDWAREINPUT hi; 3523 - } 3524 -} 3525 -alias INPUT* PINPUT, LPINPUT; 3584 + struct MOUSEINPUT { 3585 + LONG dx; 3586 + LONG dy; 3587 + DWORD mouseData; 3588 + DWORD dwFlags; 3589 + DWORD time; 3590 + ULONG_PTR dwExtraInfo; 3591 + } 3592 + alias MOUSEINPUT* PMOUSEINPUT; 3593 + 3594 + struct KEYBDINPUT { 3595 + WORD wVk; 3596 + WORD wScan; 3597 + DWORD dwFlags; 3598 + DWORD time; 3599 + ULONG_PTR dwExtraInfo; 3600 + } 3601 + alias KEYBDINPUT* PKEYBDINPUT; 3602 + 3603 + struct HARDWAREINPUT { 3604 + DWORD uMsg; 3605 + WORD wParamL; 3606 + WORD wParamH; 3607 + } 3608 + alias HARDWAREINPUT* PHARDWAREINPUT; 3609 + 3610 + struct INPUT { 3611 + DWORD type; 3612 + union { 3613 + MOUSEINPUT mi; 3614 + KEYBDINPUT ki; 3615 + HARDWAREINPUT hi; 3616 + } 3617 + } 3618 + alias INPUT* PINPUT, LPINPUT; 3526 3619 }// (_WIN32_WINNT >= 0x403) 3527 3620 3528 -static if (WINVER >= 0x500) { 3529 -struct GUITHREADINFO { 3530 - DWORD cbSize = this.sizeof; 3531 - DWORD flags; 3532 - HWND hwndActive; 3533 - HWND hwndFocus; 3534 - HWND hwndCapture; 3535 - HWND hwndMenuOwner; 3536 - HWND hwndMoveSize; 3537 - HWND hwndCaret; 3538 - RECT rcCaret; 3539 -} 3540 -alias GUITHREADINFO* PGUITHREADINFO, LPGUITHREADINFO; 3541 -extern (Windows) { 3542 -alias void function (HWINEVENTHOOK, DWORD, HWND, LONG, LONG, DWORD, DWORD) WINEVENTPROC; 3543 -} 3621 +static if (_WIN32_WINNT >= 0x500) { 3622 + struct GUITHREADINFO { 3623 + DWORD cbSize = this.sizeof; 3624 + DWORD flags; 3625 + HWND hwndActive; 3626 + HWND hwndFocus; 3627 + HWND hwndCapture; 3628 + HWND hwndMenuOwner; 3629 + HWND hwndMoveSize; 3630 + HWND hwndCaret; 3631 + RECT rcCaret; 3632 + } 3633 + alias GUITHREADINFO* PGUITHREADINFO, LPGUITHREADINFO; 3634 + extern (Windows) { 3635 + alias void function (HWINEVENTHOOK, DWORD, HWND, LONG, LONG, DWORD, DWORD) WINEVENTPROC; 3636 + } 3544 3637 3545 -}// (WINVER >= 0x500) 3638 +}// (_WIN32_WINNT >= 0x500) 3546 3639 3547 3640 static if (_WIN32_WINNT >= 0x501) { 3548 -struct BSMINFO { 3549 - UINT cbSize = this.sizeof; 3550 - HDESK hdesk; 3551 - HWND hwnd; 3552 - LUID luid; 3553 -} 3554 -alias BSMINFO* PBSMINFO; 3555 - 3556 -alias HANDLE HRAWINPUT; 3557 - 3558 -struct RAWINPUTHEADER { 3559 - DWORD dwType; 3560 - DWORD dwSize; 3561 - HANDLE hDevice; 3562 - WPARAM wParam; 3563 -} 3564 -alias RAWINPUTHEADER* PRAWINPUTHEADER; 3565 - 3566 -struct RAWMOUSE { 3567 - USHORT usFlags; 3568 - union { 3569 - ULONG ulButtons; 3570 - struct { 3571 - USHORT usButtonFlags; 3572 - USHORT usButtonData; 3641 + struct BSMINFO { 3642 + UINT cbSize = this.sizeof; 3643 + HDESK hdesk; 3644 + HWND hwnd; 3645 + LUID luid; 3646 + } 3647 + alias BSMINFO* PBSMINFO; 3648 + 3649 + alias TypeDef!(HANDLE) HRAWINPUT; 3650 + 3651 + struct RAWINPUTHEADER { 3652 + DWORD dwType; 3653 + DWORD dwSize; 3654 + HANDLE hDevice; 3655 + WPARAM wParam; 3656 + } 3657 + alias RAWINPUTHEADER* PRAWINPUTHEADER; 3658 + 3659 + struct RAWMOUSE { 3660 + USHORT usFlags; 3661 + union { 3662 + ULONG ulButtons; 3663 + struct { 3664 + USHORT usButtonFlags; 3665 + USHORT usButtonData; 3666 + } 3667 + } 3668 + ULONG ulRawButtons; 3669 + LONG lLastX; 3670 + LONG lLastY; 3671 + ULONG ulExtraInformation; 3672 + } 3673 + alias RAWMOUSE* PRAWMOUSE, LPRAWMOUSE; 3674 + 3675 + struct RAWKEYBOARD { 3676 + USHORT MakeCode; 3677 + USHORT Flags; 3678 + USHORT Reserved; 3679 + USHORT VKey; 3680 + UINT Message; 3681 + ULONG ExtraInformation; 3682 + } 3683 + alias RAWKEYBOARD* PRAWKEYBOARD, LPRAWKEYBOARD; 3684 + 3685 + struct RAWHID { 3686 + DWORD dwSizeHid; 3687 + DWORD dwCount; 3688 + BYTE bRawData; 3689 + } 3690 + alias RAWHID* PRAWHID, LPRAWHID; 3691 + 3692 + struct RAWINPUT { 3693 + RAWINPUTHEADER header; 3694 + union _data { 3695 + RAWMOUSE mouse; 3696 + RAWKEYBOARD keyboard; 3697 + RAWHID hid; 3573 3698 } 3574 - } 3575 - ULONG ulRawButtons; 3576 - LONG lLastX; 3577 - LONG lLastY; 3578 - ULONG ulExtraInformation; 3579 -} 3580 -alias RAWMOUSE* PRAWMOUSE, LPRAWMOUSE; 3581 - 3582 -struct RAWKEYBOARD { 3583 - USHORT MakeCode; 3584 - USHORT Flags; 3585 - USHORT Reserved; 3586 - USHORT VKey; 3587 - UINT Message; 3588 - ULONG ExtraInformation; 3589 -} 3590 -alias RAWKEYBOARD* PRAWKEYBOARD, LPRAWKEYBOARD; 3591 - 3592 -struct RAWHID { 3593 - DWORD dwSizeHid; 3594 - DWORD dwCount; 3595 - BYTE bRawData; 3596 -} 3597 -alias RAWHID* PRAWHID, LPRAWHID; 3598 - 3599 -struct RAWINPUT { 3600 - RAWINPUTHEADER header; 3601 - union _data { 3602 - RAWMOUSE mouse; 3603 - RAWKEYBOARD keyboard; 3604 - RAWHID hid; 3699 + _data data; 3700 + } 3701 + alias RAWINPUT* PRAWINPUT, LPRAWINPUT; 3702 + 3703 + struct RAWINPUTDEVICE { 3704 + USHORT usUsagePage; 3705 + USHORT usUsage; 3706 + DWORD dwFlags; 3707 + HWND hwndTarget; 3708 + } 3709 + alias RAWINPUTDEVICE* PRAWINPUTDEVICE, LPRAWINPUTDEVICE; 3710 + alias const(RAWINPUTDEVICE)* PCRAWINPUTDEVICE; 3711 + 3712 + struct RAWINPUTDEVICELIST { 3713 + HANDLE hDevice; 3714 + DWORD dwType; 3715 + } 3716 + alias RAWINPUTDEVICELIST* PRAWINPUTDEVICELIST; 3717 + 3718 + struct RID_DEVICE_INFO_MOUSE { 3719 + DWORD dwId; 3720 + DWORD dwNumberOfButtons; 3721 + DWORD dwSampleRate; 3722 + BOOL fHasHorizontalWheel; 3723 + } 3724 + 3725 + struct RID_DEVICE_INFO_KEYBOARD { 3726 + DWORD dwType; 3727 + DWORD dwSubType; 3728 + DWORD dwKeyboardMode; 3729 + DWORD dwNumberOfFunctionKeys; 3730 + DWORD dwNumberOfIndicators; 3731 + DWORD dwNumberOfKeysTotal; 3732 + } 3733 + 3734 + struct RID_DEVICE_INFO_HID { 3735 + DWORD dwVendorId; 3736 + DWORD dwProductId; 3737 + DWORD dwVersionNumber; 3738 + USHORT usUsagePage; 3739 + USHORT usUsage; 3605 3740 } 3606 - _data data; 3607 -} 3608 -alias RAWINPUT* PRAWINPUT, LPRAWINPUT; 3609 - 3610 -struct RAWINPUTDEVICE { 3611 - USHORT usUsagePage; 3612 - USHORT usUsage; 3613 - DWORD dwFlags; 3614 - HWND hwndTarget; 3615 -} 3616 -alias RAWINPUTDEVICE* PRAWINPUTDEVICE, LPRAWINPUTDEVICE; 3617 -alias CPtr!(RAWINPUTDEVICE) PCRAWINPUTDEVICE; 3618 - 3619 -struct RAWINPUTDEVICELIST { 3620 - HANDLE hDevice; 3621 - DWORD dwType; 3622 -} 3623 -alias RAWINPUTDEVICELIST* PRAWINPUTDEVICELIST; 3624 - 3625 -struct RID_DEVICE_INFO_MOUSE { 3626 - DWORD dwId; 3627 - DWORD dwNumberOfButtons; 3628 - DWORD dwSampleRate; 3629 - BOOL fHasHorizontalWheel; 3630 -} 3631 - 3632 -struct RID_DEVICE_INFO_KEYBOARD { 3633 - DWORD dwType; 3634 - DWORD dwSubType; 3635 - DWORD dwKeyboardMode; 3636 - DWORD dwNumberOfFunctionKeys; 3637 - DWORD dwNumberOfIndicators; 3638 - DWORD dwNumberOfKeysTotal; 3639 -} 3640 - 3641 -struct RID_DEVICE_INFO_HID { 3642 - DWORD dwVendorId; 3643 - DWORD dwProductId; 3644 - DWORD dwVersionNumber; 3645 - USHORT usUsagePage; 3646 - USHORT usUsage; 3647 -} 3648 - 3649 -struct RID_DEVICE_INFO { 3650 - DWORD cbSize = this.sizeof; 3651 - DWORD dwType; 3652 - union { 3653 - RID_DEVICE_INFO_MOUSE mouse; 3654 - RID_DEVICE_INFO_KEYBOARD keyboard; 3655 - RID_DEVICE_INFO_HID hid; 3656 - } 3657 -} 3741 + 3742 + struct RID_DEVICE_INFO { 3743 + DWORD cbSize = this.sizeof; 3744 + DWORD dwType; 3745 + union { 3746 + RID_DEVICE_INFO_MOUSE mouse; 3747 + RID_DEVICE_INFO_KEYBOARD keyboard; 3748 + RID_DEVICE_INFO_HID hid; 3749 + } 3750 + } 3658 3751 }// (_WIN32_WINNT >= 0x501) 3659 3752 3660 3753 struct MSLLHOOKSTRUCT { 3661 3754 POINT pt; 3662 3755 DWORD mouseData; 3663 3756 DWORD flags; 3664 3757 DWORD time; ................................................................................ 3677 3770 alias CharNextA AnsiNext; 3678 3771 alias CharPrevA AnsiPrev; 3679 3772 3680 3773 alias MAKELONG MAKEWPARAM; 3681 3774 alias MAKELONG MAKELPARAM; 3682 3775 alias MAKELONG MAKELRESULT; 3683 3776 3684 -//MACRO #define POINTSTOPOINT(p, ps) { (p).x=LOWORD(*(DWORD* )&ps); (p).y=HIWORD(*(DWORD* )&ps); } 3777 +//MACRO #define POINTSTOPOINT(p, ps) { (p).x=LOWORD(*(DWORD*)&ps); (p).y=HIWORD(*(DWORD*)&ps); } 3685 3778 //MACRO #define POINTTOPOINTS(p) ((POINTS)MAKELONG((p).x, (p).y)) 3686 3779 3687 3780 extern (Windows) { 3688 3781 3689 -HKL ActivateKeyboardLayout(HKL, UINT); 3690 -BOOL AdjustWindowRect(LPRECT, DWORD, BOOL); 3691 -BOOL AdjustWindowRectEx(LPRECT, DWORD, BOOL, DWORD); 3692 -BOOL AnyPopup(); 3693 -BOOL AppendMenuA(HMENU, UINT, UINT_PTR, LPCSTR); 3694 -BOOL AppendMenuW(HMENU, UINT, UINT_PTR, LPCWSTR); 3695 -UINT ArrangeIconicWindows(HWND); 3696 -BOOL AttachThreadInput(DWORD, DWORD, BOOL); 3697 -HDWP BeginDeferWindowPos(int); 3698 -HDC BeginPaint(HWND, LPPAINTSTRUCT); 3699 -BOOL BringWindowToTop(HWND); 3700 -BOOL CallMsgFilterA(LPMSG, INT); 3701 -BOOL CallMsgFilterW(LPMSG, INT); 3702 -LRESULT CallNextHookEx(HHOOK, int, WPARAM, LPARAM); 3703 -LRESULT CallWindowProcA(WNDPROC, HWND, UINT, WPARAM, LPARAM); 3704 -LRESULT CallWindowProcW(WNDPROC, HWND, UINT, WPARAM, LPARAM); 3705 -WORD CascadeWindows(HWND, UINT, LPCRECT, UINT, CPtr!(HWND)); 3706 -BOOL ChangeClipboardChain(HWND, HWND); 3707 - 3708 -LONG ChangeDisplaySettingsA(PDEVMODEA, DWORD); 3709 -LONG ChangeDisplaySettingsW(PDEVMODEW, DWORD); 3710 -LONG ChangeDisplaySettingsExA(LPCSTR, LPDEVMODEA, HWND, DWORD, LPVOID); 3711 -LONG ChangeDisplaySettingsExW(LPCWSTR, LPDEVMODEW, HWND, DWORD, LPVOID); 3712 - 3713 -BOOL ChangeMenuA(HMENU, UINT, LPCSTR, UINT, UINT); 3714 -BOOL ChangeMenuW(HMENU, UINT, LPCWSTR, UINT, UINT); 3715 -LPSTR CharLowerA(LPSTR); 3716 -LPWSTR CharLowerW(LPWSTR); 3717 -DWORD CharLowerBuffA(LPSTR, DWORD); 3718 -DWORD CharLowerBuffW(LPWSTR, DWORD); 3719 -LPSTR CharNextA(LPCSTR); 3720 -LPWSTR CharNextW(LPCWSTR); 3721 -LPSTR CharNextExA(WORD, LPCSTR, DWORD); 3722 -LPWSTR CharNextExW(WORD, LPCWSTR, DWORD); 3723 -LPSTR CharPrevA(LPCSTR, LPCSTR); 3724 -LPWSTR CharPrevW(LPCWSTR, LPCWSTR); 3725 -LPSTR CharPrevExA(WORD, LPCSTR, LPCSTR, DWORD); 3726 -LPWSTR CharPrevExW(WORD, LPCWSTR, LPCWSTR, DWORD); 3727 -BOOL CharToOemA(LPCSTR, LPSTR); 3728 -BOOL CharToOemW(LPCWSTR, LPSTR); 3729 -BOOL CharToOemBuffA(LPCSTR, LPSTR, DWORD); 3730 -BOOL CharToOemBuffW(LPCWSTR, LPSTR, DWORD); 3731 -LPSTR CharUpperA(LPSTR); 3732 -LPWSTR CharUpperW(LPWSTR); 3733 -DWORD CharUpperBuffA(LPSTR, DWORD); 3734 -DWORD CharUpperBuffW(LPWSTR, DWORD); 3735 -BOOL CheckDlgButton(HWND, int, UINT); 3736 -DWORD CheckMenuItem(HMENU, UINT, UINT); 3737 -BOOL CheckMenuRadioItem(HMENU, UINT, UINT, UINT, UINT); 3738 -BOOL CheckRadioButton(HWND, int, int, int); 3739 -HWND ChildWindowFromPoint(HWND, POINT); 3740 -HWND ChildWindowFromPointEx(HWND, POINT, UINT); 3741 -BOOL ClientToScreen(HWND, LPPOINT); 3742 -BOOL ClipCursor(LPCRECT); 3743 -BOOL CloseClipboard(); 3744 -BOOL CloseDesktop(HDESK); 3745 -BOOL CloseWindow(HWND); 3746 -BOOL CloseWindowStation(HWINSTA); 3747 -int CopyAcceleratorTableA(HACCEL, LPACCEL, int); 3748 -int CopyAcceleratorTableW(HACCEL, LPACCEL, int); 3749 - 3750 -HICON CopyIcon(HICON); 3751 -HANDLE CopyImage(HANDLE, UINT, int, int, UINT); 3752 -BOOL CopyRect(LPRECT, LPCRECT); 3753 -int CountClipboardFormats(); 3754 -HACCEL CreateAcceleratorTableA(LPACCEL, int); 3755 -HACCEL CreateAcceleratorTableW(LPACCEL, int); 3756 -BOOL CreateCaret(HWND, HBITMAP, int, int); 3757 -HCURSOR CreateCursor(HINSTANCE, int, int, int, int, PCVOID, PCVOID); 3758 - 3759 -HDESK CreateDesktopA(LPCSTR, LPCSTR, LPDEVMODEA, DWORD, ACCESS_MASK, LPSECURITY_ATTRIBUTES); 3760 -HDESK CreateDesktopW(LPCWSTR, LPCWSTR, LPDEVMODEW, DWORD, ACCESS_MASK, LPSECURITY_ATTRIBUTES); 3761 - 3762 -HWND CreateDialogParamA(HINSTANCE, LPCSTR, HWND, DLGPROC, LPARAM); 3763 -HWND CreateDialogParamW(HINSTANCE, LPCWSTR, HWND, DLGPROC, LPARAM); 3764 -HWND CreateDialogIndirectParamA(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM); 3765 -HWND CreateDialogIndirectParamW(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM); 3766 - 3767 -HICON CreateIcon(HINSTANCE, int, int, BYTE, BYTE, CPtr!(BYTE), BYTE*); 3768 -HICON CreateIconFromResource(PBYTE, DWORD, BOOL, DWORD); 3769 -HICON CreateIconFromResourceEx(PBYTE, DWORD, BOOL, DWORD, int, int, UINT); 3770 -HICON CreateIconIndirect(PICONINFO); 3771 -HWND CreateMDIWindowA(LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HINSTANCE, LPARAM); 3772 -HWND CreateMDIWindowW(LPCWSTR, LPCWSTR, DWORD, int, int, int, int, HWND, HINSTANCE, LPARAM); 3773 -HMENU CreateMenu(); 3774 -HMENU CreatePopupMenu(); 3775 - 3776 -HWND CreateWindowExA(DWORD, LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HMENU, HINSTANCE, LPVOID); 3777 -HWND CreateWindowExW(DWORD, LPCWSTR, LPCWSTR, DWORD, int, int, int, int, HWND, HMENU, HINSTANCE, LPVOID); 3778 - 3779 -HWINSTA CreateWindowStationA(LPSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES); 3780 -HWINSTA CreateWindowStationW(LPWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES); 3781 -LRESULT DefDlgProcA(HWND, UINT, WPARAM, LPARAM); 3782 -LRESULT DefDlgProcW(HWND, UINT, WPARAM, LPARAM); 3783 -HDWP DeferWindowPos(HDWP, HWND, HWND, int, int, int, int, UINT); 3784 -LRESULT DefFrameProcA(HWND, HWND, UINT, WPARAM, LPARAM); 3785 -LRESULT DefFrameProcW(HWND, HWND, UINT, WPARAM, LPARAM); 3786 - 3787 -LRESULT DefMDIChildProcA(HWND, UINT, WPARAM, LPARAM); 3788 -LRESULT DefMDIChildProcW(HWND, UINT, WPARAM, LPARAM); 3789 -LRESULT DefWindowProcA(HWND, UINT, WPARAM, LPARAM); 3790 -LRESULT DefWindowProcW(HWND, UINT, WPARAM, LPARAM); 3791 -BOOL DeleteMenu(HMENU, UINT, UINT); 3792 -BOOL DeregisterShellHookWindow(HWND); 3793 -BOOL DestroyAcceleratorTable(HACCEL); 3794 -BOOL DestroyCaret(); 3795 -BOOL DestroyCursor(HCURSOR); 3796 -BOOL DestroyIcon(HICON); 3797 -BOOL DestroyMenu(HMENU); 3798 -BOOL DestroyWindow(HWND); 3799 - 3800 -int DialogBoxParamA(HINSTANCE, LPCSTR, HWND, DLGPROC, LPARAM); 3801 -int DialogBoxParamW(HINSTANCE, LPCWSTR, HWND, DLGPROC, LPARAM); 3802 -int DialogBoxIndirectParamA(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM); 3803 -int DialogBoxIndirectParamW(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM); 3782 + HKL ActivateKeyboardLayout(HKL, UINT); 3783 + BOOL AdjustWindowRect(LPRECT, DWORD, BOOL); 3784 + BOOL AdjustWindowRectEx(LPRECT, DWORD, BOOL, DWORD); 3785 + BOOL AnyPopup(); 3786 + BOOL AppendMenuA(HMENU, UINT, UINT_PTR, LPCSTR); 3787 + BOOL AppendMenuW(HMENU, UINT, UINT_PTR, LPCWSTR); 3788 + UINT ArrangeIconicWindows(HWND); 3789 + BOOL AttachThreadInput(DWORD, DWORD, BOOL); 3790 + HDWP BeginDeferWindowPos(int); 3791 + HDC BeginPaint(HWND, LPPAINTSTRUCT); 3792 + BOOL BringWindowToTop(HWND); 3793 + BOOL CallMsgFilterA(LPMSG, INT); 3794 + BOOL CallMsgFilterW(LPMSG, INT); 3795 + LRESULT CallNextHookEx(HHOOK, int, WPARAM, LPARAM); 3796 + LRESULT CallWindowProcA(WNDPROC, HWND, UINT, WPARAM, LPARAM); 3797 + LRESULT CallWindowProcW(WNDPROC, HWND, UINT, WPARAM, LPARAM); 3798 + WORD CascadeWindows(HWND, UINT, LPCRECT, UINT, const(HWND)*); 3799 + BOOL ChangeClipboardChain(HWND, HWND); 3800 + 3801 + LONG ChangeDisplaySettingsA(PDEVMODEA, DWORD); 3802 + LONG ChangeDisplaySettingsW(PDEVMODEW, DWORD); 3803 + LONG ChangeDisplaySettingsExA(LPCSTR, LPDEVMODEA, HWND, DWORD, LPVOID); 3804 + LONG ChangeDisplaySettingsExW(LPCWSTR, LPDEVMODEW, HWND, DWORD, LPVOID); 3805 + 3806 + BOOL ChangeMenuA(HMENU, UINT, LPCSTR, UINT, UINT); 3807 + BOOL ChangeMenuW(HMENU, UINT, LPCWSTR, UINT, UINT); 3808 + LPSTR CharLowerA(LPSTR); 3809 + LPWSTR CharLowerW(LPWSTR); 3810 + DWORD CharLowerBuffA(LPSTR, DWORD); 3811 + DWORD CharLowerBuffW(LPWSTR, DWORD); 3812 + LPSTR CharNextA(LPCSTR); 3813 + LPWSTR CharNextW(LPCWSTR); 3814 + LPSTR CharNextExA(WORD, LPCSTR, DWORD); 3815 + LPWSTR CharNextExW(WORD, LPCWSTR, DWORD); 3816 + LPSTR CharPrevA(LPCSTR, LPCSTR); 3817 + LPWSTR CharPrevW(LPCWSTR, LPCWSTR); 3818 + LPSTR CharPrevExA(WORD, LPCSTR, LPCSTR, DWORD); 3819 + LPWSTR CharPrevExW(WORD, LPCWSTR, LPCWSTR, DWORD); 3820 + BOOL CharToOemA(LPCSTR, LPSTR); 3821 + BOOL CharToOemW(LPCWSTR, LPSTR); 3822 + BOOL CharToOemBuffA(LPCSTR, LPSTR, DWORD); 3823 + BOOL CharToOemBuffW(LPCWSTR, LPSTR, DWORD); 3824 + LPSTR CharUpperA(LPSTR); 3825 + LPWSTR CharUpperW(LPWSTR); 3826 + DWORD CharUpperBuffA(LPSTR, DWORD); 3827 + DWORD CharUpperBuffW(LPWSTR, DWORD); 3828 + BOOL CheckDlgButton(HWND, int, UINT); 3829 + DWORD CheckMenuItem(HMENU, UINT, UINT); 3830 + BOOL CheckMenuRadioItem(HMENU, UINT, UINT, UINT, UINT); 3831 + BOOL CheckRadioButton(HWND, int, int, int); 3832 + HWND ChildWindowFromPoint(HWND, POINT); 3833 + HWND ChildWindowFromPointEx(HWND, POINT, UINT); 3834 + BOOL ClientToScreen(HWND, LPPOINT); 3835 + BOOL ClipCursor(LPCRECT); 3836 + BOOL CloseClipboard(); 3837 + BOOL CloseDesktop(HDESK); 3838 + BOOL CloseWindow(HWND); 3839 + BOOL CloseWindowStation(HWINSTA); 3840 + int CopyAcceleratorTableA(HACCEL, LPACCEL, int); 3841 + int CopyAcceleratorTableW(HACCEL, LPACCEL, int); 3842 + 3843 + HICON CopyIcon(HICON); 3844 + HANDLE CopyImage(HANDLE, UINT, int, int, UINT); 3845 + BOOL CopyRect(LPRECT, LPCRECT); 3846 + int CountClipboardFormats(); 3847 + HACCEL CreateAcceleratorTableA(LPACCEL, int); 3848 + HACCEL CreateAcceleratorTableW(LPACCEL, int); 3849 + BOOL CreateCaret(HWND, HBITMAP, int, int); 3850 + HCURSOR CreateCursor(HINSTANCE, int, int, int, int, PCVOID, PCVOID); 3851 + 3852 + HDESK CreateDesktopA(LPCSTR, LPCSTR, LPDEVMODEA, DWORD, ACCESS_MASK, LPSECURITY_ATTRIBUTES); 3853 + HDESK CreateDesktopW(LPCWSTR, LPCWSTR, LPDEVMODEW, DWORD, ACCESS_MASK, LPSECURITY_ATTRIBUTES); 3854 + 3855 + HWND CreateDialogParamA(HINSTANCE, LPCSTR, HWND, DLGPROC, LPARAM); 3856 + HWND CreateDialogParamW(HINSTANCE, LPCWSTR, HWND, DLGPROC, LPARAM); 3857 + HWND CreateDialogIndirectParamA(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM); 3858 + HWND CreateDialogIndirectParamW(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM); 3859 + 3860 + HICON CreateIcon(HINSTANCE, int, int, BYTE, BYTE, const(BYTE)*, BYTE*); 3861 + HICON CreateIconFromResource(PBYTE, DWORD, BOOL, DWORD); 3862 + HICON CreateIconFromResourceEx(PBYTE, DWORD, BOOL, DWORD, int, int, UINT); 3863 + HICON CreateIconIndirect(PICONINFO); 3864 + HWND CreateMDIWindowA(LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HINSTANCE, LPARAM); 3865 + HWND CreateMDIWindowW(LPCWSTR, LPCWSTR, DWORD, int, int, int, int, HWND, HINSTANCE, LPARAM); 3866 + HMENU CreateMenu(); 3867 + HMENU CreatePopupMenu(); 3868 + 3869 + HWND CreateWindowExA(DWORD, LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HMENU, HINSTANCE, LPVOID); 3870 + HWND CreateWindowExW(DWORD, LPCWSTR, LPCWSTR, DWORD, int, int, int, int, HWND, HMENU, HINSTANCE, LPVOID); 3871 + 3872 + HWINSTA CreateWindowStationA(LPSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES); 3873 + HWINSTA CreateWindowStationW(LPWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES); 3874 + LRESULT DefDlgProcA(HWND, UINT, WPARAM, LPARAM); 3875 + LRESULT DefDlgProcW(HWND, UINT, WPARAM, LPARAM); 3876 + HDWP DeferWindowPos(HDWP, HWND, HWND, int, int, int, int, UINT); 3877 + LRESULT DefFrameProcA(HWND, HWND, UINT, WPARAM, LPARAM); 3878 + LRESULT DefFrameProcW(HWND, HWND, UINT, WPARAM, LPARAM); 3879 + 3880 + LRESULT DefMDIChildProcA(HWND, UINT, WPARAM, LPARAM); 3881 + LRESULT DefMDIChildProcW(HWND, UINT, WPARAM, LPARAM); 3882 + LRESULT DefWindowProcA(HWND, UINT, WPARAM, LPARAM); 3883 + LRESULT DefWindowProcW(HWND, UINT, WPARAM, LPARAM); 3884 + BOOL DeleteMenu(HMENU, UINT, UINT); 3885 + BOOL DeregisterShellHookWindow(HWND); 3886 + BOOL DestroyAcceleratorTable(HACCEL); 3887 + BOOL DestroyCaret(); 3888 + BOOL DestroyCursor(HCURSOR); 3889 + BOOL DestroyIcon(HICON); 3890 + BOOL DestroyMenu(HMENU); 3891 + BOOL DestroyWindow(HWND); 3892 + 3893 + INT_PTR DialogBoxParamA(HINSTANCE, LPCSTR, HWND, DLGPROC, LPARAM); 3894 + INT_PTR DialogBoxParamW(HINSTANCE, LPCWSTR, HWND, DLGPROC, LPARAM); 3895 + INT_PTR DialogBoxIndirectParamA(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM); 3896 + INT_PTR DialogBoxIndirectParamW(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM); 3804 3897 3805 3898 } // extern (Windows) 3806 3899 3807 -HCURSOR CopyCursor(HCURSOR c) 3808 -{ 3900 +HCURSOR CopyCursor()(HCURSOR c) { 3809 3901 return cast(HCURSOR)CopyIcon(cast(HICON)c); 3810 3902 } 3811 3903 3812 -HWND CreateDialogA(HINSTANCE h, LPCSTR n, HWND w, DLGPROC f) 3813 -{ 3904 +HWND CreateDialogA()(HINSTANCE h, LPCSTR n, HWND w, DLGPROC f) { 3814 3905 return CreateDialogParamA(h, n, w, f, 0); 3815 3906 } 3816 3907 3817 -HWND CreateDialogW(HINSTANCE h, LPCWSTR n, HWND w, DLGPROC f) 3818 -{ 3908 +HWND CreateDialogW()(HINSTANCE h, LPCWSTR n, HWND w, DLGPROC f) { 3819 3909 return CreateDialogParamW(h, n, w, f, 0); 3820 3910 } 3821 3911 3822 -HWND CreateDialogIndirectA(HINSTANCE h, LPCDLGTEMPLATE t, HWND w , DLGPROC f) 3823 -{ 3912 +HWND CreateDialogIndirectA()(HINSTANCE h, LPCDLGTEMPLATE t, HWND w, DLGPROC f) { 3824 3913 return CreateDialogIndirectParamA(h, t, w, f, 0); 3825 3914 } 3826 3915 3827 -HWND CreateDialogIndirectW(HINSTANCE h, LPCDLGTEMPLATE t, HWND w , DLGPROC f) 3828 -{ 3916 +HWND CreateDialogIndirectW()(HINSTANCE h, LPCDLGTEMPLATE t, HWND w, DLGPROC f) { 3829 3917 return CreateDialogIndirectParamW(h, t, w, f, 0); 3830 3918 } 3831 3919 3832 - 3833 -HWND CreateWindowA(LPCSTR a, LPCSTR b, DWORD c, int d, int e, int f, int g, HWND h, HMENU i, HINSTANCE j, LPVOID k) 3834 -{ 3920 +HWND CreateWindowA()(LPCSTR a, LPCSTR b, DWORD c, int d, int e, int f, int g, HWND h, HMENU i, HINSTANCE j, LPVOID k) { 3835 3921 return CreateWindowExA(0, a, b, c, d, e, f, g, h, i, j, k); 3836 3922 } 3837 3923 3838 -HWND CreateWindowW(LPCWSTR a, LPCWSTR b, DWORD c, int d, int e, int f, int g, HWND h, HMENU i, HINSTANCE j, LPVOID k) 3839 -{ 3924 +HWND CreateWindowW()(LPCWSTR a, LPCWSTR b, DWORD c, int d, int e, int f, int g, HWND h, HMENU i, HINSTANCE j, LPVOID k) { 3840 3925 return CreateWindowExW(0, a, b, c, d, e, f, g, h, i, j, k); 3841 3926 } 3842 3927 3843 -int DialogBoxA(HINSTANCE i, LPCSTR t, HWND p, DLGPROC f) 3844 -{ 3928 +INT_PTR DialogBoxA()(HINSTANCE i, LPCSTR t, HWND p, DLGPROC f) { 3845 3929 return DialogBoxParamA(i, t, p, f, 0); 3846 3930 } 3847 3931 3848 -int DialogBoxW(HINSTANCE i, LPCWSTR t, HWND p, DLGPROC f) 3849 -{ 3932 +INT_PTR DialogBoxW()(HINSTANCE i, LPCWSTR t, HWND p, DLGPROC f) { 3850 3933 return DialogBoxParamW(i, t, p, f, 0); 3851 3934 } 3852 3935 3853 -int DialogBoxIndirectA(HINSTANCE i, LPCDLGTEMPLATE t, HWND p, DLGPROC f) 3854 -{ 3936 +INT_PTR DialogBoxIndirectA()(HINSTANCE i, LPCDLGTEMPLATE t, HWND p, DLGPROC f) { 3855 3937 return DialogBoxIndirectParamA(i, t, p, f, 0); 3856 3938 } 3857 3939 3858 -int DialogBoxIndirectW(HINSTANCE i, LPCDLGTEMPLATE t, HWND p, DLGPROC f) 3859 -{ 3940 +INT_PTR DialogBoxIndirectW()(HINSTANCE i, LPCDLGTEMPLATE t, HWND p, DLGPROC f) { 3860 3941 return DialogBoxIndirectParamW(i, t, p, f, 0); 3861 3942 } 3862 3943 3863 -BOOL ExitWindows(UINT r, DWORD c) 3864 -{ 3944 +BOOL ExitWindows()(UINT r, DWORD c) { 3865 3945 return ExitWindowsEx(EWX_LOGOFF, 0); 3866 3946 } 3867 3947 alias GetWindow GetNextWindow; 3868 3948 3869 3949 extern (Windows): 3870 -LONG DispatchMessageA( CPtr!(MSG)); 3871 -LONG DispatchMessageW( CPtr!(MSG)); 3950 +LONG DispatchMessageA(const(MSG)*); 3951 +LONG DispatchMessageW(const(MSG)*); 3872 3952 int DlgDirListA(HWND, LPSTR, int, int, UINT); 3873 3953 int DlgDirListW(HWND, LPWSTR, int, int, UINT); 3874 3954 int DlgDirListComboBoxA(HWND, LPSTR, int, int, UINT); 3875 3955 int DlgDirListComboBoxW(HWND, LPWSTR, int, int, UINT); 3876 3956 BOOL DlgDirSelectComboBoxExA(HWND, LPSTR, int, int); 3877 3957 BOOL DlgDirSelectComboBoxExW(HWND, LPWSTR, int, int); 3878 3958 BOOL DlgDirSelectExA(HWND, LPSTR, int, int); ................................................................................ 3894 3974 int DrawTextExA(HDC, LPSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS); 3895 3975 int DrawTextExW(HDC, LPWSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS); 3896 3976 BOOL EmptyClipboard(); 3897 3977 BOOL EnableMenuItem(HMENU, UINT, UINT); 3898 3978 BOOL EnableScrollBar(HWND, UINT, UINT); 3899 3979 BOOL EnableWindow(HWND, BOOL); 3900 3980 BOOL EndDeferWindowPos(HDWP); 3901 -BOOL EndDialog(HWND, int); 3981 +BOOL EndDialog(HWND, INT_PTR); 3902 3982 BOOL EndMenu(); 3903 -BOOL EndPaint(HWND, CPtr!(PAINTSTRUCT)); 3983 +BOOL EndPaint(HWND, const(PAINTSTRUCT)*); 3904 3984 BOOL EnumChildWindows(HWND, ENUMWINDOWSPROC, LPARAM); 3905 3985 UINT EnumClipboardFormats(UINT); 3906 3986 BOOL EnumDesktopsA(HWINSTA, DESKTOPENUMPROCA, LPARAM); 3907 3987 BOOL EnumDesktopsW(HWINSTA, DESKTOPENUMPROCW, LPARAM); 3908 3988 BOOL EnumDesktopWindows(HDESK, ENUMWINDOWSPROC, LPARAM); 3909 3989 BOOL EnumDisplaySettingsA(LPCSTR, DWORD, PDEVMODEA); 3910 3990 BOOL EnumDisplaySettingsW(LPCWSTR, DWORD, PDEVMODEW); ................................................................................ 4057 4137 UINT GetWindowModuleFileNameW(HWND, LPWSTR, UINT); 4058 4138 BOOL GrayStringA(HDC, HBRUSH, GRAYSTRINGPROC, LPARAM, int, int, int, int, int); 4059 4139 BOOL GrayStringW(HDC, HBRUSH, GRAYSTRINGPROC, LPARAM, int, int, int, int, int); 4060 4140 BOOL HideCaret(HWND); 4061 4141 BOOL HiliteMenuItem(HWND, HMENU, UINT, UINT); 4062 4142 BOOL InflateRect(LPRECT, int, int); 4063 4143 BOOL InSendMessage(); 4064 -BOOL InsertMenuA(HMENU, UINT, UINT, UINT, LPCSTR); 4065 -BOOL InsertMenuW(HMENU, UINT, UINT, UINT, LPCWSTR); 4144 +BOOL InsertMenuA(HMENU, UINT, UINT, UINT_PTR, LPCSTR); 4145 +BOOL InsertMenuW(HMENU, UINT, UINT, UINT_PTR, LPCWSTR); 4066 4146 BOOL InsertMenuItemA(HMENU, UINT, BOOL, LPCMENUITEMINFOA); 4067 4147 BOOL InsertMenuItemW(HMENU, UINT, BOOL, LPCMENUITEMINFOW); 4068 4148 INT InternalGetWindowText(HWND, LPWSTR, INT); 4069 4149 BOOL IntersectRect(LPRECT, LPCRECT, LPCRECT); 4070 4150 BOOL InvalidateRect(HWND, LPCRECT, BOOL); 4071 4151 BOOL InvalidateRgn(HWND, HRGN, BOOL); 4072 4152 BOOL InvertRect(HDC, LPCRECT); ................................................................................ 4088 4168 BOOL IsRectEmpty(LPCRECT); 4089 4169 BOOL IsWindow(HWND); 4090 4170 BOOL IsWindowEnabled(HWND); 4091 4171 BOOL IsWindowUnicode(HWND); 4092 4172 BOOL IsWindowVisible(HWND); 4093 4173 BOOL IsZoomed(HWND); 4094 4174 void keybd_event(BYTE, BYTE, DWORD, DWORD); 4095 -BOOL KillTimer(HWND, UINT); 4175 +BOOL KillTimer(HWND, UINT_PTR); 4096 4176 HACCEL LoadAcceleratorsA(HINSTANCE, LPCSTR); 4097 4177 HACCEL LoadAcceleratorsW(HINSTANCE, LPCWSTR); 4098 4178 HBITMAP LoadBitmapA(HINSTANCE, LPCSTR); 4099 4179 HBITMAP LoadBitmapW(HINSTANCE, LPCWSTR); 4100 4180 HCURSOR LoadCursorA(HINSTANCE, LPCSTR); 4101 4181 HCURSOR LoadCursorFromFileA(LPCSTR); 4102 4182 HCURSOR LoadCursorFromFileW(LPCWSTR); ................................................................................ 4104 4184 HICON LoadIconA(HINSTANCE, LPCSTR); 4105 4185 HICON LoadIconW(HINSTANCE, LPCWSTR); 4106 4186 HANDLE LoadImageA(HINSTANCE, LPCSTR, UINT, int, int, UINT); 4107 4187 HANDLE LoadImageW(HINSTANCE, LPCWSTR, UINT, int, int, UINT); 4108 4188 HKL LoadKeyboardLayoutA(LPCSTR, UINT); 4109 4189 HKL LoadKeyboardLayoutW(LPCWSTR, UINT); 4110 4190 HMENU LoadMenuA(HINSTANCE, LPCSTR); 4111 -HMENU LoadMenuIndirectA( CPtr!(MENUTEMPLATE)); 4112 -HMENU LoadMenuIndirectW( CPtr!(MENUTEMPLATE)); 4191 +HMENU LoadMenuIndirectA(const(MENUTEMPLATE)*); 4192 +HMENU LoadMenuIndirectW(const(MENUTEMPLATE)*); 4113 4193 HMENU LoadMenuW(HINSTANCE, LPCWSTR); 4114 4194 int LoadStringA(HINSTANCE, UINT, LPSTR, int); 4115 4195 int LoadStringW(HINSTANCE, UINT, LPWSTR, int); 4116 4196 BOOL LockWindowUpdate(HWND); 4117 4197 int LookupIconIdFromDirectory(PBYTE, BOOL); 4118 4198 int LookupIconIdFromDirectoryEx(PBYTE, BOOL, int, int, UINT); 4119 4199 BOOL MapDialogRect(HWND, LPRECT); ................................................................................ 4124 4204 int MapWindowPoints(HWND, HWND, LPPOINT, UINT); 4125 4205 int MenuItemFromPoint(HWND, HMENU, POINT); 4126 4206 BOOL MessageBeep(UINT); 4127 4207 int MessageBoxA(HWND, LPCSTR, LPCSTR, UINT); 4128 4208 int MessageBoxW(HWND, LPCWSTR, LPCWSTR, UINT); 4129 4209 int MessageBoxExA(HWND, LPCSTR, LPCSTR, UINT, WORD); 4130 4210 int MessageBoxExW(HWND, LPCWSTR, LPCWSTR, UINT, WORD); 4131 -int MessageBoxIndirectA(CPtr!(MSGBOXPARAMSA)); 4132 -int MessageBoxIndirectW(CPtr!(MSGBOXPARAMSW)); 4133 -BOOL ModifyMenuA(HMENU, UINT, UINT, UINT, LPCSTR); 4134 -BOOL ModifyMenuW(HMENU, UINT, UINT, UINT, LPCWSTR); 4211 +int MessageBoxIndirectA(const(MSGBOXPARAMSA)*); 4212 +int MessageBoxIndirectW(const(MSGBOXPARAMSW)*); 4213 +BOOL ModifyMenuA(HMENU, UINT, UINT, UINT_PTR, LPCSTR); 4214 +BOOL ModifyMenuW(HMENU, UINT, UINT, UINT_PTR, LPCWSTR); 4135 4215 void mouse_event(DWORD, DWORD, DWORD, DWORD, ULONG_PTR); 4136 4216 BOOL MoveWindow(HWND, int, int, int, int, BOOL); 4137 -DWORD MsgWaitForMultipleObjects(DWORD, CPtr!(HANDLE), BOOL, DWORD, DWORD); 4138 -DWORD MsgWaitForMultipleObjectsEx(DWORD, CPtr!(HANDLE), DWORD, DWORD, DWORD); 4217 +DWORD MsgWaitForMultipleObjects(DWORD, const(HANDLE)*, BOOL, DWORD, DWORD); 4218 +DWORD MsgWaitForMultipleObjectsEx(DWORD, const(HANDLE)*, DWORD, DWORD, DWORD); 4139 4219 DWORD OemKeyScan(WORD); 4140 4220 BOOL OemToCharA(LPCSTR, LPSTR); 4141 4221 BOOL OemToCharBuffA(LPCSTR, LPSTR, DWORD); 4142 4222 BOOL OemToCharBuffW(LPCSTR, LPWSTR, DWORD); 4143 4223 BOOL OemToCharW(LPCSTR, LPWSTR); 4144 4224 BOOL OffsetRect(LPRECT, int, int); 4145 4225 BOOL OpenClipboard(HWND); ................................................................................ 4158 4238 BOOL PostThreadMessageA(DWORD, UINT, WPARAM, LPARAM); 4159 4239 BOOL PostThreadMessageW(DWORD, UINT, WPARAM, LPARAM); 4160 4240 BOOL PtInRect(LPCRECT, POINT); 4161 4241 HWND RealChildWindowFromPoint(HWND, POINT); 4162 4242 UINT RealGetWindowClassA(HWND, LPSTR, UINT); 4163 4243 UINT RealGetWindowClassW(HWND, LPWSTR, UINT); 4164 4244 BOOL RedrawWindow(HWND, LPCRECT, HRGN, UINT); 4165 -ATOM RegisterClassA(CPtr!(WNDCLASSA)); 4166 -ATOM RegisterClassW(CPtr!(WNDCLASSW)); 4167 -ATOM RegisterClassExA(CPtr!(WNDCLASSEXA)); 4168 -ATOM RegisterClassExW(CPtr!(WNDCLASSEXW)); 4245 +ATOM RegisterClassA(const(WNDCLASSA)*); 4246 +ATOM RegisterClassW(const(WNDCLASSW)*); 4247 +ATOM RegisterClassExA(const(WNDCLASSEXA)*); 4248 +ATOM RegisterClassExW(const(WNDCLASSEXW)*); 4169 4249 UINT RegisterClipboardFormatA(LPCSTR); 4170 4250 UINT RegisterClipboardFormatW(LPCWSTR); 4171 4251 BOOL RegisterHotKey(HWND, int, UINT, UINT); 4172 4252 UINT RegisterWindowMessageA(LPCSTR); 4173 4253 UINT RegisterWindowMessageW(LPCWSTR); 4174 4254 BOOL ReleaseCapture(); 4175 4255 int ReleaseDC(HWND, HDC); ................................................................................ 4212 4292 BOOL SetKeyboardState(PBYTE); 4213 4293 BOOL SetMenu(HWND, HMENU); 4214 4294 BOOL SetMenuContextHelpId(HMENU, DWORD); 4215 4295 BOOL SetMenuDefaultItem(HMENU, UINT, UINT); 4216 4296 BOOL SetMenuInfo(HMENU, LPCMENUINFO); 4217 4297 BOOL SetMenuItemBitmaps(HMENU, UINT, UINT, HBITMAP, HBITMAP); 4218 4298 BOOL SetMenuItemInfoA(HMENU, UINT, BOOL, LPCMENUITEMINFOA); 4219 -BOOL SetMenuItemInfoW( HMENU, UINT, BOOL, LPCMENUITEMINFOW); 4299 +BOOL SetMenuItemInfoW(HMENU, UINT, BOOL, LPCMENUITEMINFOW); 4220 4300 LPARAM SetMessageExtraInfo(LPARAM); 4221 4301 BOOL SetMessageQueue(int); 4222 4302 HWND SetParent(HWND, HWND); 4223 4303 BOOL SetProcessWindowStation(HWINSTA); 4224 4304 BOOL SetPropA(HWND, LPCSTR, HANDLE); 4225 4305 BOOL SetPropW(HWND, LPCWSTR, HANDLE); 4226 4306 BOOL SetRect(LPRECT, int, int, int, int); 4227 4307 BOOL SetRectEmpty(LPRECT); 4228 4308 int SetScrollInfo(HWND, int, LPCSCROLLINFO, BOOL); 4229 4309 int SetScrollPos(HWND, int, int, BOOL); 4230 4310 BOOL SetScrollRange(HWND, int, int, int, BOOL); 4231 -BOOL SetSysColors(int, CPtr!(INT) , CPtr!(COLORREF) ); 4311 +BOOL SetSysColors(int, const(INT)*, const(COLORREF)*); 4232 4312 BOOL SetSystemCursor(HCURSOR, DWORD); 4233 4313 BOOL SetThreadDesktop(HDESK); 4234 -UINT SetTimer(HWND, UINT, UINT, TIMERPROC); 4314 +UINT_PTR SetTimer(HWND, UINT_PTR, UINT, TIMERPROC); 4235 4315 BOOL SetUserObjectInformationA(HANDLE, int, PVOID, DWORD); 4236 4316 BOOL SetUserObjectInformationW(HANDLE, int, PVOID, DWORD); 4237 4317 BOOL SetUserObjectSecurity(HANDLE, PSECURITY_INFORMATION, PSECURITY_DESCRIPTOR); 4238 4318 BOOL SetWindowContextHelpId(HWND, DWORD); 4239 4319 LONG SetWindowLongA(HWND, int, LONG); 4240 4320 LONG SetWindowLongW(HWND, int, LONG); 4241 -BOOL SetWindowPlacement(HWND hWnd, CPtr!(WINDOWPLACEMENT)); 4321 +BOOL SetWindowPlacement(HWND hWnd, const(WINDOWPLACEMENT)*); 4242 4322 BOOL SetWindowPos(HWND, HWND, int, int, int, int, UINT); 4243 4323 int SetWindowRgn(HWND, HRGN, BOOL); 4244 4324 HHOOK SetWindowsHookA(int, HOOKPROC); 4245 4325 HHOOK SetWindowsHookW(int, HOOKPROC); 4246 4326 HHOOK SetWindowsHookExA(int, HOOKPROC, HINSTANCE, DWORD); 4247 4327 HHOOK SetWindowsHookExW(int, HOOKPROC, HINSTANCE, DWORD); 4248 4328 BOOL SetWindowTextA(HWND, LPCSTR); ................................................................................ 4257 4337 BOOL SubtractRect(LPRECT, LPCRECT, LPCRECT); 4258 4338 BOOL SwapMouseButton(BOOL); 4259 4339 BOOL SwitchDesktop(HDESK); 4260 4340 BOOL SystemParametersInfoA(UINT, UINT, PVOID, UINT); 4261 4341 BOOL SystemParametersInfoW(UINT, UINT, PVOID, UINT); 4262 4342 LONG TabbedTextOutA(HDC, int, int, LPCSTR, int, int, LPINT, int); 4263 4343 LONG TabbedTextOutW(HDC, int, int, LPCWSTR, int, int, LPINT, int); 4264 -WORD TileWindows(HWND, UINT, LPCRECT, UINT, CPtr!(HWND) ); 4344 +WORD TileWindows(HWND, UINT, LPCRECT, UINT, const(HWND)*); 4265 4345 int ToAscii(UINT, UINT, PBYTE, LPWORD, UINT); 4266 4346 int ToAsciiEx(UINT, UINT, PBYTE, LPWORD, UINT, HKL); 4267 4347 int ToUnicode(UINT, UINT, PBYTE, LPWSTR, int, UINT); 4268 4348 int ToUnicodeEx(UINT, UINT, PBYTE, LPWSTR, int, UINT, HKL); 4269 4349 BOOL TrackMouseEvent(LPTRACKMOUSEEVENT); 4270 4350 BOOL TrackPopupMenu(HMENU, UINT, int, int, int, HWND, LPCRECT); 4271 4351 BOOL TrackPopupMenuEx(HMENU, UINT, int, int, HWND, LPTPMPARAMS); 4272 4352 int TranslateAcceleratorA(HWND, HACCEL, LPMSG); 4273 4353 int TranslateAcceleratorW(HWND, HACCEL, LPMSG); 4274 4354 BOOL TranslateMDISysAccel(HWND, LPMSG); 4275 -BOOL TranslateMessage( CPtr!(MSG)); 4355 +BOOL TranslateMessage(const(MSG)*); 4276 4356 BOOL UnhookWindowsHook(int, HOOKPROC); 4277 4357 BOOL UnhookWindowsHookEx(HHOOK); 4278 4358 BOOL UnionRect(LPRECT, LPCRECT, LPCRECT); 4279 4359 BOOL UnloadKeyboardLayout(HKL); 4280 4360 BOOL UnregisterClassA(LPCSTR, HINSTANCE); 4281 4361 BOOL UnregisterClassW(LPCWSTR, HINSTANCE); 4282 4362 BOOL UnregisterHotKey(HWND, int); ................................................................................ 4298 4378 extern (C) { 4299 4379 int wsprintfA(LPSTR, LPCSTR, ...); 4300 4380 int wsprintfW(LPWSTR, LPCWSTR, ...); 4301 4381 } 4302 4382 4303 4383 4304 4384 // These shouldn't be necessary for D. 4305 -alias char* va_list_; 4385 +alias TypeDef!(char*) va_list_; 4306 4386 int wvsprintfA(LPSTR, LPCSTR, va_list_ arglist); 4307 4387 int wvsprintfW(LPWSTR, LPCWSTR, va_list_ arglist); 4308 4388 4309 4389 4310 -static if (_WIN32_WINDOWS == 0x400) { 4311 -// On Win95, there's only one version. 4312 -int BroadcastSystemMessage(DWORD, LPDWORD, UINT, WPARAM, LPARAM); 4313 -} 4314 -static if (_WIN32_WINNT >= 0x400) { 4315 4390 int BroadcastSystemMessageA(DWORD, LPDWORD, UINT, WPARAM, LPARAM); 4316 4391 int BroadcastSystemMessageW(DWORD, LPDWORD, UINT, WPARAM, LPARAM); 4317 -} 4318 -static if (_WIN32_WINNT >= 0x501) { 4319 -int BroadcastSystemMessageExA(DWORD, LPDWORD, UINT, WPARAM, LPARAM, PBSMINFO); 4320 -int BroadcastSystemMessageExW(DWORD, LPDWORD, UINT, WPARAM, LPARAM, PBSMINFO); 4392 + 4393 +static if (_WIN32_WINNT >= 0x403) { 4394 + UINT SendInput(UINT, LPINPUT, int); 4321 4395 } 4322 4396 4323 -static if (_WIN32_WINNT >= 0x403) { 4324 -UINT SendInput(UINT, LPINPUT, int); 4325 -} 4326 -static if (_WIN32_WINNT >= 0x500) { 4327 -BOOL AnimateWindow(HWND, DWORD, DWORD); 4328 -BOOL EndTask(HWND, BOOL, BOOL); 4329 -DWORD GetGuiResources(HANDLE, DWORD); 4330 -HWND GetShellWindow(); 4331 -BOOL GetProcessDefaultLayout(DWORD*); 4332 -BOOL IsHungAppWindow(HWND); 4333 -BOOL LockWorkStation(); 4334 -HDEVNOTIFY RegisterDeviceNotificationA(HANDLE, LPVOID, DWORD); 4335 -HDEVNOTIFY RegisterDeviceNotificationW(HANDLE, LPVOID, DWORD); 4336 -BOOL SetProcessDefaultLayout(DWORD); 4337 -void SwitchToThisWindow(HWND, BOOL); 4338 -BOOL SetLayeredWindowAttributes(HWND, COLORREF, BYTE, DWORD); 4339 -BOOL UpdateLayeredWindow(HWND, HDC, POINT*, SIZE*, HDC, POINT*, COLORREF, BLENDFUNCTION*, DWORD); 4340 -BOOL UserHandleGrantAccess(HANDLE, HANDLE, BOOL); 4341 -} 4342 -static if (_WIN32_WINNT >= 0x501) { 4343 -UINT GetRawInputBuffer(PRAWINPUT, PUINT, UINT); 4344 -UINT GetRawInputData(HRAWINPUT, UINT, LPVOID, PUINT, UINT); 4345 -UINT GetRawInputDeviceInfoA(HANDLE, UINT, LPVOID, PUINT); 4346 -UINT GetRawInputDeviceInfoW(HANDLE, UINT, LPVOID, PUINT); 4347 -UINT GetRawInputDeviceList(PRAWINPUTDEVICELIST, PUINT, UINT); 4348 -UINT GetRegisteredRawInputDevices(PRAWINPUTDEVICE, PUINT, UINT); 4349 -LRESULT DefRawInputProc(PRAWINPUT*, INT, UINT); 4350 -BOOL RegisterRawInputDevices(PCRAWINPUTDEVICE, UINT, UINT); 4351 - 4352 -BOOL IsGUIThread(BOOL); 4353 -BOOL IsWinEventHookInstalled(DWORD); 4354 -BOOL PrintWindow(HWND, HDC, UINT); 4355 -BOOL GetLayeredWindowAttributes(HWND, COLORREF*, BYTE*, DWORD*); 4356 -} 4357 -static if (WINVER >= 0x410) { 4397 +static if (_WIN32_WINNT >= 0x410) { 4358 4398 BOOL EnumDisplayMonitors(HDC, LPCRECT, MONITORENUMPROC, LPARAM); 4359 4399 BOOL GetMonitorInfoA(HMONITOR, LPMONITORINFO); 4360 4400 BOOL GetMonitorInfoA(HMONITOR, LPMONITORINFOEXA); 4361 4401 BOOL GetMonitorInfoW(HMONITOR, LPMONITORINFO); 4362 4402 BOOL GetMonitorInfoW(HMONITOR, LPMONITORINFOEXW); 4363 4403 HMONITOR MonitorFromPoint(POINT, DWORD); 4364 4404 HMONITOR MonitorFromRect(LPCRECT, DWORD); 4365 4405 HMONITOR MonitorFromWindow(HWND, DWORD); 4366 4406 } 4367 -static if (WINVER >= 0x500) { 4368 -BOOL GetGUIThreadInfo(DWORD, LPGUITHREADINFO); 4369 -void NotifyWinEvent(DWORD, HWND, LONG, LONG); 4370 -HWINEVENTHOOK SetWinEventHook(UINT, UINT, HMODULE, WINEVENTPROC, DWORD, DWORD, UINT); 4371 -BOOL UnhookWinEvent(HWINEVENTHOOK); 4372 -BOOL UnregisterDeviceNotification(HANDLE); 4373 -} 4374 -static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x410)) { 4375 -BOOL EnumDisplaySettingsExA(LPCSTR, DWORD, LPDEVMODEA, DWORD); 4376 -BOOL EnumDisplaySettingsExW(LPCWSTR, DWORD, LPDEVMODEW, DWORD); 4377 -BOOL FlashWindowEx(PFLASHWINFO); 4378 -DWORD GetClipboardSequenceNumber(); 4379 -DWORD InSendMessageEx(LPVOID); 4407 + 4408 +static if (_WIN32_WINNT >= 0x500) { 4409 + BOOL AllowSetForegroundWindow(DWORD); 4410 + BOOL AnimateWindow(HWND, DWORD, DWORD); 4411 + BOOL EndTask(HWND, BOOL, BOOL); 4412 + BOOL EnumDisplaySettingsExA(LPCSTR, DWORD, LPDEVMODEA, DWORD); 4413 + BOOL EnumDisplaySettingsExW(LPCWSTR, DWORD, LPDEVMODEW, DWORD); 4414 + DWORD GetClipboardSequenceNumber(); 4415 + DWORD GetGuiResources(HANDLE, DWORD); 4416 + BOOL GetGUIThreadInfo(DWORD, LPGUITHREADINFO); 4417 + int GetMouseMovePointsEx(UINT, LPMOUSEMOVEPOINT, LPMOUSEMOVEPOINT, int, DWORD); 4418 + BOOL GetProcessDefaultLayout(DWORD*); 4419 + HWND GetShellWindow(); 4420 + BOOL IsHungAppWindow(HWND); 4421 + DWORD InSendMessageEx(LPVOID); 4422 + BOOL LockSetForegroundWindow(UINT); 4423 + BOOL LockWorkStation(); 4424 + void NotifyWinEvent(DWORD, HWND, LONG, LONG); 4425 + HDEVNOTIFY RegisterDeviceNotificationA(HANDLE, LPVOID, DWORD); 4426 + HDEVNOTIFY RegisterDeviceNotificationW(HANDLE, LPVOID, DWORD); 4427 + BOOL SetProcessDefaultLayout(DWORD); 4428 + HWINEVENTHOOK SetWinEventHook(UINT, UINT, HMODULE, WINEVENTPROC, DWORD, DWORD, UINT); 4429 + void SwitchToThisWindow(HWND, BOOL); 4430 + BOOL SetLayeredWindowAttributes(HWND, COLORREF, BYTE, DWORD); 4431 + BOOL UpdateLayeredWindow(HWND, HDC, POINT*, SIZE*, HDC, POINT*, COLORREF, BLENDFUNCTION*, DWORD); 4432 + BOOL UserHandleGrantAccess(HANDLE, HANDLE, BOOL); 4433 + BOOL UnhookWinEvent(HWINEVENTHOOK); 4434 + BOOL UnregisterDeviceNotification(HANDLE); 4380 4435 } 4381 -static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x490)) { 4382 -BOOL AllowSetForegroundWindow(DWORD); 4383 -BOOL LockSetForegroundWindow(UINT); 4384 -int GetMouseMovePointsEx(UINT, LPMOUSEMOVEPOINT, LPMOUSEMOVEPOINT, int, DWORD); 4436 + 4437 +static if (_WIN32_WINNT >= 0x501) { 4438 + int BroadcastSystemMessageExA(DWORD, LPDWORD, UINT, WPARAM, LPARAM, PBSMINFO); 4439 + int BroadcastSystemMessageExW(DWORD, LPDWORD, UINT, WPARAM, LPARAM, PBSMINFO); 4440 + LRESULT DefRawInputProc(PRAWINPUT*, INT, UINT); 4441 + BOOL FlashWindowEx(PFLASHWINFO); 4442 + BOOL GetLayeredWindowAttributes(HWND, COLORREF*, BYTE*, DWORD*); 4443 + UINT GetRawInputBuffer(PRAWINPUT, PUINT, UINT); 4444 + UINT GetRawInputData(HRAWINPUT, UINT, LPVOID, PUINT, UINT); 4445 + UINT GetRawInputDeviceInfoA(HANDLE, UINT, LPVOID, PUINT); 4446 + UINT GetRawInputDeviceInfoW(HANDLE, UINT, LPVOID, PUINT); 4447 + UINT GetRawInputDeviceList(PRAWINPUTDEVICELIST, PUINT, UINT); 4448 + UINT GetRegisteredRawInputDevices(PRAWINPUTDEVICE, PUINT, UINT); 4449 + BOOL IsGUIThread(BOOL); 4450 + BOOL IsWinEventHookInstalled(DWORD); 4451 + BOOL PrintWindow(HWND, HDC, UINT); 4452 + BOOL RegisterRawInputDevices(PCRAWINPUTDEVICE, UINT, UINT); 4385 4453 } 4386 4454 4387 4455 version (Win64) { 4388 -LONG_PTR GetWindowLongPtrA(HWND, int); 4389 -LONG_PTR GetWindowLongPtrW(HWND, int); 4390 -LONG_PTR SetWindowLongPtrA(HWND, int, LONG_PTR); 4391 -LONG_PTR SetWindowLongPtrW(HWND, int, LONG_PTR); 4456 + LONG_PTR GetWindowLongPtrA(HWND, int); 4457 + LONG_PTR GetWindowLongPtrW(HWND, int); 4458 + LONG_PTR SetWindowLongPtrA(HWND, int, LONG_PTR); 4459 + LONG_PTR SetWindowLongPtrW(HWND, int, LONG_PTR); 4392 4460 } else { 4393 -alias GetWindowLongA GetWindowLongPtrA; 4394 -alias GetWindowLongW GetWindowLongPtrW; 4395 -alias SetWindowLongA SetWindowLongPtrA; 4396 -alias SetWindowLongW SetWindowLongPtrW; 4461 + alias GetWindowLongA GetWindowLongPtrA; 4462 + alias GetWindowLongW GetWindowLongPtrW; 4463 + alias SetWindowLongA SetWindowLongPtrA; 4464 + alias SetWindowLongW SetWindowLongPtrW; 4397 4465 } 4398 4466 4399 4467 4400 4468 // ----- 4401 4469 // Aliases for Unicode or Ansi 4402 4470 version(Unicode) { 4403 4471 4404 -alias EDITWORDBREAKPROCW EDITWORDBREAKPROC; 4405 -alias PROPENUMPROCW PROPENUMPROC; 4406 -alias PROPENUMPROCEXW PROPENUMPROCEX; 4407 -alias DESKTOPENUMPROCW DESKTOPENUMPROC; 4408 -alias WINSTAENUMPROCW WINSTAENUMPROC; 4409 -alias MAKEINTRESOURCEW MAKEINTRESOURCE; 4472 + alias EDITWORDBREAKPROCW EDITWORDBREAKPROC; 4473 + alias PROPENUMPROCW PROPENUMPROC; 4474 + alias PROPENUMPROCEXW PROPENUMPROCEX; 4475 + alias DESKTOPENUMPROCW DESKTOPENUMPROC; 4476 + alias WINSTAENUMPROCW WINSTAENUMPROC; 4477 + alias MAKEINTRESOURCEW MAKEINTRESOURCE; 4410 4478 4411 -alias WNDCLASSW WNDCLASS; 4412 -alias WNDCLASSEXW WNDCLASSEX; 4413 -alias MENUITEMINFOW MENUITEMINFO; 4414 -alias LPCMENUITEMINFOW LPCMENUITEMINFO; 4415 -alias MSGBOXPARAMSW MSGBOXPARAMS; 4416 -alias HIGHCONTRASTW HIGHCONTRAST; 4417 -alias SERIALKEYSW SERIALKEYS; 4418 -alias SOUNDSENTRYW SOUNDSENTRY; 4419 -alias CREATESTRUCTW CREATESTRUCT; 4420 -alias CBT_CREATEWNDW CBT_CREATEWND; 4421 -alias MDICREATESTRUCTW MDICREATESTRUCT; 4422 -alias MULTIKEYHELPW MULTIKEYHELP; 4423 -alias MONITORINFOEXW MONITORINFOEX; 4424 -alias ICONMETRICSW ICONMETRICS; 4425 -alias NONCLIENTMETRICSW NONCLIENTMETRICS; 4479 + alias WNDCLASSW WNDCLASS; 4480 + alias WNDCLASSEXW WNDCLASSEX; 4481 + alias MENUITEMINFOW MENUITEMINFO; 4482 + alias LPCMENUITEMINFOW LPCMENUITEMINFO; 4483 + alias MSGBOXPARAMSW MSGBOXPARAMS; 4484 + alias HIGHCONTRASTW HIGHCONTRAST; 4485 + alias SERIALKEYSW SERIALKEYS; 4486 + alias SOUNDSENTRYW SOUNDSENTRY; 4487 + alias CREATESTRUCTW CREATESTRUCT; 4488 + alias CBT_CREATEWNDW CBT_CREATEWND; 4489 + alias MDICREATESTRUCTW MDICREATESTRUCT; 4490 + alias MULTIKEYHELPW MULTIKEYHELP; 4491 + alias MONITORINFOEXW MONITORINFOEX; 4492 + alias ICONMETRICSW ICONMETRICS; 4493 + alias NONCLIENTMETRICSW NONCLIENTMETRICS; 4426 4494 4427 -alias AppendMenuW AppendMenu; 4428 -alias BroadcastSystemMessageW BroadcastSystemMessage; 4429 -static if (_WIN32_WINNT >= 0x501) { 4430 -alias BroadcastSystemMessageExW BroadcastSystemMessageEx; 4431 -} 4432 -alias CallMsgFilterW CallMsgFilter; 4433 -alias CallWindowProcW CallWindowProc; 4434 -alias ChangeMenuW ChangeMenu; 4435 -alias CharLowerW CharLower; 4436 -alias CharLowerBuffW CharLowerBuff; 4437 -alias CharNextW CharNext; 4438 -alias CharNextExW CharNextEx; 4439 -alias CharPrevW CharPrev; 4440 -alias CharPrevExW CharPrevEx; 4441 -alias CharToOemW CharToOem; 4442 -alias CharToOemBuffW CharToOemBuff; 4443 -alias CharUpperW CharUpper; 4444 -alias CharUpperBuffW CharUpperBuff; 4445 -alias CopyAcceleratorTableW CopyAcceleratorTable; 4446 -alias CreateAcceleratorTableW CreateAcceleratorTable; 4447 -alias CreateDialogW CreateDialog; 4448 -alias CreateDialogIndirectW CreateDialogIndirect; 4449 -alias CreateDialogIndirectParamW CreateDialogIndirectParam; 4450 -alias CreateDialogParamW CreateDialogParam; 4451 -alias CreateMDIWindowW CreateMDIWindow; 4452 -alias CreateWindowW CreateWindow; 4453 -alias CreateWindowExW CreateWindowEx; 4454 -alias CreateWindowStationW CreateWindowStation; 4455 -alias DefDlgProcW DefDlgProc; 4456 -alias DefFrameProcW DefFrameProc; 4457 -alias DefMDIChildProcW DefMDIChildProc; 4458 -alias DefWindowProcW DefWindowProc; 4459 -alias DialogBoxW DialogBox; 4460 -alias DialogBoxIndirectW DialogBoxIndirect; 4461 -alias DialogBoxIndirectParamW DialogBoxIndirectParam; 4462 -alias DialogBoxParamW DialogBoxParam; 4463 -alias DispatchMessageW DispatchMessage; 4464 -alias DlgDirListW DlgDirList; 4465 -alias DlgDirListComboBoxW DlgDirListComboBox; 4466 -alias DlgDirSelectComboBoxExW DlgDirSelectComboBoxEx; 4467 -alias DlgDirSelectExW DlgDirSelectEx; 4468 -alias DrawStateW DrawState; 4469 -alias DrawTextW DrawText; 4470 -alias DrawTextExW DrawTextEx; 4471 -alias EnumDesktopsW EnumDesktops; 4472 -alias EnumPropsW EnumProps; 4473 -alias EnumPropsExW EnumPropsEx; 4474 -alias EnumWindowStationsW EnumWindowStations; 4475 -alias FindWindowW FindWindow; 4476 -alias FindWindowExW FindWindowEx; 4477 -alias GetClassInfoW GetClassInfo; 4478 -alias GetClassInfoExW GetClassInfoEx; 4479 -alias GetClassLongW GetClassLong; 4480 -alias GetClassNameW GetClassName; 4481 -alias GetClipboardFormatNameW GetClipboardFormatName; 4482 -alias GetDlgItemTextW GetDlgItemText; 4483 -alias GetKeyboardLayoutNameW GetKeyboardLayoutName; 4484 -alias GetKeyNameTextW GetKeyNameText; 4485 -alias GetMenuItemInfoW GetMenuItemInfo; 4486 -alias GetMenuStringW GetMenuString; 4487 -alias GetMessageW GetMessage; 4488 -static if (WINVER >=0x410) { 4489 -alias GetMonitorInfoW GetMonitorInfo; 4490 -} 4491 -alias GetPropW GetProp; 4492 -static if (_WIN32_WINNT >= 0x501) { 4493 -alias GetRawInputDeviceInfoW GetRawInputDeviceInfo; 4494 -} 4495 -alias GetTabbedTextExtentW GetTabbedTextExtent; 4496 -alias GetUserObjectInformationW GetUserObjectInformation; 4497 -alias GetWindowLongW GetWindowLong; 4498 -alias GetWindowLongPtrW GetWindowLongPtr; 4499 -alias GetWindowTextW GetWindowText; 4500 -alias GetWindowTextLengthW GetWindowTextLength; 4501 -alias GetAltTabInfoW GetAltTabInfo; 4502 -alias GetWindowModuleFileNameW GetWindowModuleFileName; 4503 -alias GrayStringW GrayString; 4504 -alias InsertMenuW InsertMenu; 4505 -alias InsertMenuItemW InsertMenuItem; 4506 -alias IsCharAlphaW IsCharAlpha; 4507 -alias IsCharAlphaNumericW IsCharAlphaNumeric; 4508 -alias IsCharLowerW IsCharLower; 4509 -alias IsCharUpperW IsCharUpper; 4510 -alias IsDialogMessageW IsDialogMessage; 4511 -alias LoadAcceleratorsW LoadAccelerators; 4512 -alias LoadBitmapW LoadBitmap; 4513 -alias LoadCursorW LoadCursor; 4514 -alias LoadCursorFromFileW LoadCursorFromFile; 4515 -alias LoadIconW LoadIcon; 4516 -alias LoadImageW LoadImage; 4517 -alias LoadKeyboardLayoutW LoadKeyboardLayout; 4518 -alias LoadMenuW LoadMenu; 4519 -alias LoadMenuIndirectW LoadMenuIndirect; 4520 -alias LoadStringW LoadString; 4521 -alias MapVirtualKeyW MapVirtualKey; 4522 -alias MapVirtualKeyExW MapVirtualKeyEx; 4523 -alias MessageBoxW MessageBox; 4524 -alias MessageBoxExW MessageBoxEx; 4525 -alias MessageBoxIndirectW MessageBoxIndirect; 4526 -alias ModifyMenuW ModifyMenu; 4527 -alias OemToCharW OemToChar; 4528 -alias OemToCharBuffW OemToCharBuff; 4529 -alias OpenDesktopW OpenDesktop; 4530 -alias OpenWindowStationW OpenWindowStation; 4531 -alias PeekMessageW PeekMessage; 4532 -alias PostMessageW PostMessage; 4533 -alias PostThreadMessageW PostThreadMessage; 4534 -alias RealGetWindowClassW RealGetWindowClass; 4535 -alias RegisterClassW RegisterClass; 4536 -alias RegisterClassExW RegisterClassEx; 4537 -alias RegisterClipboardFormatW RegisterClipboardFormat; 4538 -static if (WINVER >= 0x500) { 4539 -alias RegisterDeviceNotificationW RegisterDeviceNotification; 4540 -} 4541 -alias RegisterWindowMessageW RegisterWindowMessage; 4542 -alias RemovePropW RemoveProp; 4543 -alias SendDlgItemMessageW SendDlgItemMessage; 4544 -alias SendMessageW SendMessage; 4545 -alias SendMessageCallbackW SendMessageCallback; 4546 -alias SendMessageTimeoutW SendMessageTimeout; 4547 -alias SendNotifyMessageW SendNotifyMessage; 4548 -alias SetClassLongW SetClassLong; 4549 -alias SetDlgItemTextW SetDlgItemText; 4550 -alias SetMenuItemInfoW SetMenuItemInfo; 4551 -alias SetPropW SetProp; 4552 -alias SetUserObjectInformationW SetUserObjectInformation; 4553 -alias SetWindowLongW SetWindowLong; 4554 -alias SetWindowLongPtrW SetWindowLongPtr; 4555 -alias SetWindowsHookW SetWindowsHook; 4556 -alias SetWindowsHookExW SetWindowsHookEx; 4557 -alias SetWindowTextW SetWindowText; 4558 -alias SystemParametersInfoW SystemParametersInfo; 4559 -alias TabbedTextOutW TabbedTextOut; 4560 -alias TranslateAcceleratorW TranslateAccelerator; 4561 -alias UnregisterClassW UnregisterClass; 4562 -alias VkKeyScanW VkKeyScan; 4563 -alias VkKeyScanExW VkKeyScanEx; 4564 -alias WinHelpW WinHelp; 4565 -alias wsprintfW wsprintf; 4566 -alias wvsprintfW wvsprintf; 4495 + alias AppendMenuW AppendMenu; 4496 + alias BroadcastSystemMessageW BroadcastSystemMessage; 4497 + static if (_WIN32_WINNT >= 0x501) { 4498 + alias BroadcastSystemMessageExW BroadcastSystemMessageEx; 4499 + } 4500 + alias CallMsgFilterW CallMsgFilter; 4501 + alias CallWindowProcW CallWindowProc; 4502 + alias ChangeMenuW ChangeMenu; 4503 + alias CharLowerW CharLower; 4504 + alias CharLowerBuffW CharLowerBuff; 4505 + alias CharNextW CharNext; 4506 + alias CharNextExW CharNextEx; 4507 + alias CharPrevW CharPrev; 4508 + alias CharPrevExW CharPrevEx; 4509 + alias CharToOemW CharToOem; 4510 + alias CharToOemBuffW CharToOemBuff; 4511 + alias CharUpperW CharUpper; 4512 + alias CharUpperBuffW CharUpperBuff; 4513 + alias CopyAcceleratorTableW CopyAcceleratorTable; 4514 + alias CreateAcceleratorTableW CreateAcceleratorTable; 4515 + alias CreateDialogW CreateDialog; 4516 + alias CreateDialogIndirectW CreateDialogIndirect; 4517 + alias CreateDialogIndirectParamW CreateDialogIndirectParam; 4518 + alias CreateDialogParamW CreateDialogParam; 4519 + alias CreateMDIWindowW CreateMDIWindow; 4520 + alias CreateWindowW CreateWindow; 4521 + alias CreateWindowExW CreateWindowEx; 4522 + alias CreateWindowStationW CreateWindowStation; 4523 + alias DefDlgProcW DefDlgProc; 4524 + alias DefFrameProcW DefFrameProc; 4525 + alias DefMDIChildProcW DefMDIChildProc; 4526 + alias DefWindowProcW DefWindowProc; 4527 + alias DialogBoxW DialogBox; 4528 + alias DialogBoxIndirectW DialogBoxIndirect; 4529 + alias DialogBoxIndirectParamW DialogBoxIndirectParam; 4530 + alias DialogBoxParamW DialogBoxParam; 4531 + alias DispatchMessageW DispatchMessage; 4532 + alias DlgDirListW DlgDirList; 4533 + alias DlgDirListComboBoxW DlgDirListComboBox; 4534 + alias DlgDirSelectComboBoxExW DlgDirSelectComboBoxEx; 4535 + alias DlgDirSelectExW DlgDirSelectEx; 4536 + alias DrawStateW DrawState; 4537 + alias DrawTextW DrawText; 4538 + alias DrawTextExW DrawTextEx; 4539 + alias EnumDesktopsW EnumDesktops; 4540 + alias EnumPropsW EnumProps; 4541 + alias EnumPropsExW EnumPropsEx; 4542 + alias EnumWindowStationsW EnumWindowStations; 4543 + alias FindWindowW FindWindow; 4544 + alias FindWindowExW FindWindowEx; 4545 + alias GetClassInfoW GetClassInfo; 4546 + alias GetClassInfoExW GetClassInfoEx; 4547 + alias GetClassLongW GetClassLong; 4548 + alias GetClassNameW GetClassName; 4549 + alias GetClipboardFormatNameW GetClipboardFormatName; 4550 + alias GetDlgItemTextW GetDlgItemText; 4551 + alias GetKeyboardLayoutNameW GetKeyboardLayoutName; 4552 + alias GetKeyNameTextW GetKeyNameText; 4553 + alias GetMenuItemInfoW GetMenuItemInfo; 4554 + alias GetMenuStringW GetMenuString; 4555 + alias GetMessageW GetMessage; 4556 + static if (_WIN32_WINNT >= 0x410) { 4557 + alias GetMonitorInfoW GetMonitorInfo; 4558 + } 4559 + alias GetPropW GetProp; 4560 + static if (_WIN32_WINNT >= 0x501) { 4561 + alias GetRawInputDeviceInfoW GetRawInputDeviceInfo; 4562 + } 4563 + alias GetTabbedTextExtentW GetTabbedTextExtent; 4564 + alias GetUserObjectInformationW GetUserObjectInformation; 4565 + alias GetWindowLongW GetWindowLong; 4566 + alias GetWindowLongPtrW GetWindowLongPtr; 4567 + alias GetWindowTextW GetWindowText; 4568 + alias GetWindowTextLengthW GetWindowTextLength; 4569 + alias GetAltTabInfoW GetAltTabInfo; 4570 + alias GetWindowModuleFileNameW GetWindowModuleFileName; 4571 + alias GrayStringW GrayString; 4572 + alias InsertMenuW InsertMenu; 4573 + alias InsertMenuItemW InsertMenuItem; 4574 + alias IsCharAlphaW IsCharAlpha; 4575 + alias IsCharAlphaNumericW IsCharAlphaNumeric; 4576 + alias IsCharLowerW IsCharLower; 4577 + alias IsCharUpperW IsCharUpper; 4578 + alias IsDialogMessageW IsDialogMessage; 4579 + alias LoadAcceleratorsW LoadAccelerators; 4580 + alias LoadBitmapW LoadBitmap; 4581 + alias LoadCursorW LoadCursor; 4582 + alias LoadCursorFromFileW LoadCursorFromFile; 4583 + alias LoadIconW LoadIcon; 4584 + alias LoadImageW LoadImage; 4585 + alias LoadKeyboardLayoutW LoadKeyboardLayout; 4586 + alias LoadMenuW LoadMenu; 4587 + alias LoadMenuIndirectW LoadMenuIndirect; 4588 + alias LoadStringW LoadString; 4589 + alias MapVirtualKeyW MapVirtualKey; 4590 + alias MapVirtualKeyExW MapVirtualKeyEx; 4591 + alias MessageBoxW MessageBox; 4592 + alias MessageBoxExW MessageBoxEx; 4593 + alias MessageBoxIndirectW MessageBoxIndirect; 4594 + alias ModifyMenuW ModifyMenu; 4595 + alias OemToCharW OemToChar; 4596 + alias OemToCharBuffW OemToCharBuff; 4597 + alias OpenDesktopW OpenDesktop; 4598 + alias OpenWindowStationW OpenWindowStation; 4599 + alias PeekMessageW PeekMessage; 4600 + alias PostMessageW PostMessage; 4601 + alias PostThreadMessageW PostThreadMessage; 4602 + alias RealGetWindowClassW RealGetWindowClass; 4603 + alias RegisterClassW RegisterClass; 4604 + alias RegisterClassExW RegisterClassEx; 4605 + alias RegisterClipboardFormatW RegisterClipboardFormat; 4606 + static if (_WIN32_WINNT >= 0x500) { 4607 + alias RegisterDeviceNotificationW RegisterDeviceNotification; 4608 + } 4609 + alias RegisterWindowMessageW RegisterWindowMessage; 4610 + alias RemovePropW RemoveProp; 4611 + alias SendDlgItemMessageW SendDlgItemMessage; 4612 + alias SendMessageW SendMessage; 4613 + alias SendMessageCallbackW SendMessageCallback; 4614 + alias SendMessageTimeoutW SendMessageTimeout; 4615 + alias SendNotifyMessageW SendNotifyMessage; 4616 + alias SetClassLongW SetClassLong; 4617 + alias SetDlgItemTextW SetDlgItemText; 4618 + alias SetMenuItemInfoW SetMenuItemInfo; 4619 + alias SetPropW SetProp; 4620 + alias SetUserObjectInformationW SetUserObjectInformation; 4621 + alias SetWindowLongW SetWindowLong; 4622 + alias SetWindowLongPtrW SetWindowLongPtr; 4623 + alias SetWindowsHookW SetWindowsHook; 4624 + alias SetWindowsHookExW SetWindowsHookEx; 4625 + alias SetWindowTextW SetWindowText; 4626 + alias SystemParametersInfoW SystemParametersInfo; 4627 + alias TabbedTextOutW TabbedTextOut; 4628 + alias TranslateAcceleratorW TranslateAccelerator; 4629 + alias UnregisterClassW UnregisterClass; 4630 + alias VkKeyScanW VkKeyScan; 4631 + alias VkKeyScanExW VkKeyScanEx; 4632 + alias WinHelpW WinHelp; 4633 + alias wsprintfW wsprintf; 4634 + alias wvsprintfW wvsprintf; 4567 4635 4568 -alias ChangeDisplaySettingsW ChangeDisplaySettings; 4569 -alias ChangeDisplaySettingsExW ChangeDisplaySettingsEx; 4570 -alias CreateDesktopW CreateDesktop; 4571 -alias EnumDisplaySettingsW EnumDisplaySettings; 4572 -static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x410)) { 4573 -alias EnumDisplaySettingsExW EnumDisplaySettingsEx; 4574 -} 4575 -alias EnumDisplayDevicesW EnumDisplayDevices; 4636 + alias ChangeDisplaySettingsW ChangeDisplaySettings; 4637 + alias ChangeDisplaySettingsExW ChangeDisplaySettingsEx; 4638 + alias CreateDesktopW CreateDesktop; 4639 + alias EnumDisplaySettingsW EnumDisplaySettings; 4640 + static if (_WIN32_WINNT >= 0x500) { 4641 + alias EnumDisplaySettingsExW EnumDisplaySettingsEx; 4642 + } 4643 + alias EnumDisplayDevicesW EnumDisplayDevices; 4576 4644 4577 4645 } else { // ANSI 4578 4646 4579 -alias EDITWORDBREAKPROCA EDITWORDBREAKPROC; 4580 -alias PROPENUMPROCA PROPENUMPROC; 4581 -alias PROPENUMPROCEXA PROPENUMPROCEX; 4582 -alias DESKTOPENUMPROCA DESKTOPENUMPROC; 4583 -alias WINSTAENUMPROCA WINSTAENUMPROC; 4584 -alias MAKEINTRESOURCEA MAKEINTRESOURCE; 4647 + alias EDITWORDBREAKPROCA EDITWORDBREAKPROC; 4648 + alias PROPENUMPROCA PROPENUMPROC; 4649 + alias PROPENUMPROCEXA PROPENUMPROCEX; 4650 + alias DESKTOPENUMPROCA DESKTOPENUMPROC; 4651 + alias WINSTAENUMPROCA WINSTAENUMPROC; 4652 + alias MAKEINTRESOURCEA MAKEINTRESOURCE; 4585 4653 4586 -alias WNDCLASSA WNDCLASS; 4587 -alias WNDCLASSEXA WNDCLASSEX; 4588 -alias MENUITEMINFOA MENUITEMINFO; 4589 -alias LPCMENUITEMINFOA LPCMENUITEMINFO; 4590 -alias MSGBOXPARAMSA MSGBOXPARAMS; 4591 -alias HIGHCONTRASTA HIGHCONTRAST; 4592 -alias SERIALKEYSA SERIALKEYS; 4593 -alias SOUNDSENTRYA SOUNDSENTRY; 4594 -alias CREATESTRUCTA CREATESTRUCT; 4595 -alias CBT_CREATEWNDA CBT_CREATEWND; 4596 -alias MDICREATESTRUCTA MDICREATESTRUCT; 4597 -alias MULTIKEYHELPA MULTIKEYHELP; 4598 -alias MONITORINFOEXA MONITORINFOEX; 4599 -alias ICONMETRICSA ICONMETRICS; 4600 -alias NONCLIENTMETRICSA NONCLIENTMETRICS; 4654 + alias WNDCLASSA WNDCLASS; 4655 + alias WNDCLASSEXA WNDCLASSEX; 4656 + alias MENUITEMINFOA MENUITEMINFO; 4657 + alias LPCMENUITEMINFOA LPCMENUITEMINFO; 4658 + alias MSGBOXPARAMSA MSGBOXPARAMS; 4659 + alias HIGHCONTRASTA HIGHCONTRAST; 4660 + alias SERIALKEYSA SERIALKEYS; 4661 + alias SOUNDSENTRYA SOUNDSENTRY; 4662 + alias CREATESTRUCTA CREATESTRUCT; 4663 + alias CBT_CREATEWNDA CBT_CREATEWND; 4664 + alias MDICREATESTRUCTA MDICREATESTRUCT; 4665 + alias MULTIKEYHELPA MULTIKEYHELP; 4666 + alias MONITORINFOEXA MONITORINFOEX; 4667 + alias ICONMETRICSA ICONMETRICS; 4668 + alias NONCLIENTMETRICSA NONCLIENTMETRICS; 4601 4669 4602 -alias AppendMenuA AppendMenu; 4603 -alias BroadcastSystemMessageA BroadcastSystemMessage; 4604 -static if (_WIN32_WINNT >= 0x501) { 4605 -alias BroadcastSystemMessageExA BroadcastSystemMessageEx; 4606 -} 4607 -alias CallMsgFilterA CallMsgFilter; 4608 -alias CallWindowProcA CallWindowProc; 4609 -alias ChangeMenuA ChangeMenu; 4610 -alias CharLowerA CharLower; 4611 -alias CharLowerBuffA CharLowerBuff; 4612 -alias CharNextA CharNext; 4613 -alias CharNextExA CharNextEx; 4614 -alias CharPrevA CharPrev; 4615 -alias CharPrevExA CharPrevEx; 4616 -alias CharToOemA CharToOem; 4617 -alias CharToOemBuffA CharToOemBuff; 4618 -alias CharUpperA CharUpper; 4619 -alias CharUpperBuffA CharUpperBuff; 4620 -alias CopyAcceleratorTableA CopyAcceleratorTable; 4621 -alias CreateAcceleratorTableA CreateAcceleratorTable; 4622 -alias CreateDialogA CreateDialog; 4623 -alias CreateDialogIndirectA CreateDialogIndirect; 4624 -alias CreateDialogIndirectParamA CreateDialogIndirectParam; 4625 -alias CreateDialogParamA CreateDialogParam; 4626 -alias CreateMDIWindowA CreateMDIWindow; 4627 -alias CreateWindowA CreateWindow; 4628 -alias CreateWindowExA CreateWindowEx; 4629 -alias CreateWindowStationA CreateWindowStation; 4630 -alias DefDlgProcA DefDlgProc; 4631 -alias DefFrameProcA DefFrameProc; 4632 -alias DefMDIChildProcA DefMDIChildProc; 4633 -alias DefWindowProcA DefWindowProc; 4634 -alias DialogBoxA DialogBox; 4635 -alias DialogBoxIndirectA DialogBoxIndirect; 4636 -alias DialogBoxIndirectParamA DialogBoxIndirectParam; 4637 -alias DialogBoxParamA DialogBoxParam; 4638 -alias DispatchMessageA DispatchMessage; 4639 -alias DlgDirListA DlgDirList; 4640 -alias DlgDirListComboBoxA DlgDirListComboBox; 4641 -alias DlgDirSelectComboBoxExA DlgDirSelectComboBoxEx; 4642 -alias DlgDirSelectExA DlgDirSelectEx; 4643 -alias DrawStateA DrawState; 4644 -alias DrawTextA DrawText; 4645 -alias DrawTextExA DrawTextEx; 4646 -alias EnumDesktopsA EnumDesktops; 4647 -alias EnumPropsA EnumProps; 4648 -alias EnumPropsExA EnumPropsEx; 4649 -alias EnumWindowStationsA EnumWindowStations; 4650 -alias FindWindowA FindWindow; 4651 -alias FindWindowExA FindWindowEx; 4652 -alias GetClassInfoA GetClassInfo; 4653 -alias GetClassInfoExA GetClassInfoEx; 4654 -alias GetClassLongA GetClassLong; 4655 -alias GetClassNameA GetClassName; 4656 -alias GetClipboardFormatNameA GetClipboardFormatName; 4657 -alias GetDlgItemTextA GetDlgItemText; 4658 -alias GetKeyboardLayoutNameA GetKeyboardLayoutName; 4659 -alias GetKeyNameTextA GetKeyNameText; 4660 -alias GetMenuItemInfoA GetMenuItemInfo; 4661 -alias GetMenuStringA GetMenuString; 4662 -alias GetMessageA GetMessage; 4663 -static if (WINVER >=0x410) { 4664 -alias GetMonitorInfoA GetMonitorInfo; 4665 -} 4666 -alias GetPropA GetProp; 4667 -static if (_WIN32_WINNT >= 0x501) { 4668 -alias GetRawInputDeviceInfoA GetRawInputDeviceInfo; 4669 -} 4670 -alias GetTabbedTextExtentA GetTabbedTextExtent; 4671 -alias GetUserObjectInformationA GetUserObjectInformation; 4672 -alias GetWindowLongA GetWindowLong; 4673 -alias GetWindowLongPtrA GetWindowLongPtr; 4674 -alias GetWindowTextA GetWindowText; 4675 -alias GetWindowTextLengthA GetWindowTextLength; 4676 -alias GetAltTabInfoA GetAltTabInfo; 4677 -alias GetWindowModuleFileNameA GetWindowModuleFileName; 4678 -alias GrayStringA GrayString; 4679 -alias InsertMenuA InsertMenu; 4680 -alias InsertMenuItemA InsertMenuItem; 4681 -alias IsCharAlphaA IsCharAlpha; 4682 -alias IsCharAlphaNumericA IsCharAlphaNumeric; 4683 -alias IsCharLowerA IsCharLower; 4684 -alias IsCharUpperA IsCharUpper; 4685 -alias IsDialogMessageA IsDialogMessage; 4686 -alias LoadAcceleratorsA LoadAccelerators; 4687 -alias LoadBitmapA LoadBitmap; 4688 -alias LoadCursorA LoadCursor; 4689 -alias LoadIconA LoadIcon; 4690 -alias LoadCursorFromFileA LoadCursorFromFile; 4691 -alias LoadImageA LoadImage; 4692 -alias LoadKeyboardLayoutA LoadKeyboardLayout; 4693 -alias LoadMenuA LoadMenu; 4694 -alias LoadMenuIndirectA LoadMenuIndirect; 4695 -alias LoadStringA LoadString; 4696 -alias MapVirtualKeyA MapVirtualKey; 4697 -alias MapVirtualKeyExA MapVirtualKeyEx; 4698 -alias MessageBoxA MessageBox; 4699 -alias MessageBoxExA MessageBoxEx; 4700 -alias MessageBoxIndirectA MessageBoxIndirect; 4701 -alias ModifyMenuA ModifyMenu; 4702 -alias OemToCharA OemToChar; 4703 -alias OemToCharBuffA OemToCharBuff; 4704 -alias OpenDesktopA OpenDesktop; 4705 -alias OpenWindowStationA OpenWindowStation; 4706 -alias PeekMessageA PeekMessage; 4707 -alias PostMessageA PostMessage; 4708 -alias PostThreadMessageA PostThreadMessage; 4709 -alias RealGetWindowClassA RealGetWindowClass; 4710 -alias RegisterClassA RegisterClass; 4711 -alias RegisterClassExA RegisterClassEx; 4712 -alias RegisterClipboardFormatA RegisterClipboardFormat; 4713 -static if (WINVER >= 0x500) { 4714 -alias RegisterDeviceNotificationA RegisterDeviceNotification; 4715 -} 4716 -alias RegisterWindowMessageA RegisterWindowMessage; 4717 -alias RemovePropA RemoveProp; 4718 -alias SendDlgItemMessageA SendDlgItemMessage; 4719 -alias SendMessageA SendMessage; 4720 -alias SendMessageCallbackA SendMessageCallback; 4721 -alias SendMessageTimeoutA SendMessageTimeout; 4722 -alias SendNotifyMessageA SendNotifyMessage; 4723 -alias SetClassLongA SetClassLong; 4724 -alias SetDlgItemTextA SetDlgItemText; 4725 -alias SetMenuItemInfoA SetMenuItemInfo; 4726 -alias SetPropA SetProp; 4727 -alias SetUserObjectInformationA SetUserObjectInformation; 4728 -alias SetWindowLongA SetWindowLong; 4729 -alias SetWindowLongPtrA SetWindowLongPtr; 4730 -alias SetWindowsHookA SetWindowsHook; 4731 -alias SetWindowsHookExA SetWindowsHookEx; 4732 -alias SetWindowTextA SetWindowText; 4733 -alias SystemParametersInfoA SystemParametersInfo; 4734 -alias TabbedTextOutA TabbedTextOut; 4735 -alias TranslateAcceleratorA TranslateAccelerator; 4736 -alias UnregisterClassA UnregisterClass; 4737 -alias VkKeyScanA VkKeyScan; 4738 -alias VkKeyScanExA VkKeyScanEx; 4739 -alias WinHelpA WinHelp; 4740 -alias wsprintfA wsprintf; 4741 -alias wvsprintfA wvsprintf; 4670 + alias AppendMenuA AppendMenu; 4671 + alias BroadcastSystemMessageA BroadcastSystemMessage; 4672 + static if (_WIN32_WINNT >= 0x501) { 4673 + alias BroadcastSystemMessageExA BroadcastSystemMessageEx; 4674 + } 4675 + alias CallMsgFilterA CallMsgFilter; 4676 + alias CallWindowProcA CallWindowProc; 4677 + alias ChangeMenuA ChangeMenu; 4678 + alias CharLowerA CharLower; 4679 + alias CharLowerBuffA CharLowerBuff; 4680 + alias CharNextA CharNext; 4681 + alias CharNextExA CharNextEx; 4682 + alias CharPrevA CharPrev; 4683 + alias CharPrevExA CharPrevEx; 4684 + alias CharToOemA CharToOem; 4685 + alias CharToOemBuffA CharToOemBuff; 4686 + alias CharUpperA CharUpper; 4687 + alias CharUpperBuffA CharUpperBuff; 4688 + alias CopyAcceleratorTableA CopyAcceleratorTable; 4689 + alias CreateAcceleratorTableA CreateAcceleratorTable; 4690 + alias CreateDialogA CreateDialog; 4691 + alias CreateDialogIndirectA CreateDialogIndirect; 4692 + alias CreateDialogIndirectParamA CreateDialogIndirectParam; 4693 + alias CreateDialogParamA CreateDialogParam; 4694 + alias CreateMDIWindowA CreateMDIWindow; 4695 + alias CreateWindowA CreateWindow; 4696 + alias CreateWindowExA CreateWindowEx; 4697 + alias CreateWindowStationA CreateWindowStation; 4698 + alias DefDlgProcA DefDlgProc; 4699 + alias DefFrameProcA DefFrameProc; 4700 + alias DefMDIChildProcA DefMDIChildProc; 4701 + alias DefWindowProcA DefWindowProc; 4702 + alias DialogBoxA DialogBox; 4703 + alias DialogBoxIndirectA DialogBoxIndirect; 4704 + alias DialogBoxIndirectParamA DialogBoxIndirectParam; 4705 + alias DialogBoxParamA DialogBoxParam; 4706 + alias DispatchMessageA DispatchMessage; 4707 + alias DlgDirListA DlgDirList; 4708 + alias DlgDirListComboBoxA DlgDirListComboBox; 4709 + alias DlgDirSelectComboBoxExA DlgDirSelectComboBoxEx; 4710 + alias DlgDirSelectExA DlgDirSelectEx; 4711 + alias DrawStateA DrawState; 4712 + alias DrawTextA DrawText; 4713 + alias DrawTextExA DrawTextEx; 4714 + alias EnumDesktopsA EnumDesktops; 4715 + alias EnumPropsA EnumProps; 4716 + alias EnumPropsExA EnumPropsEx; 4717 + alias EnumWindowStationsA EnumWindowStations; 4718 + alias FindWindowA FindWindow; 4719 + alias FindWindowExA FindWindowEx; 4720 + alias GetClassInfoA GetClassInfo; 4721 + alias GetClassInfoExA GetClassInfoEx; 4722 + alias GetClassLongA GetClassLong; 4723 + alias GetClassNameA GetClassName; 4724 + alias GetClipboardFormatNameA GetClipboardFormatName; 4725 + alias GetDlgItemTextA GetDlgItemText; 4726 + alias GetKeyboardLayoutNameA GetKeyboardLayoutName; 4727 + alias GetKeyNameTextA GetKeyNameText; 4728 + alias GetMenuItemInfoA GetMenuItemInfo; 4729 + alias GetMenuStringA GetMenuString; 4730 + alias GetMessageA GetMessage; 4731 + static if (_WIN32_WINNT >= 0x410) { 4732 + alias GetMonitorInfoA GetMonitorInfo; 4733 + } 4734 + alias GetPropA GetProp; 4735 + static if (_WIN32_WINNT >= 0x501) { 4736 + alias GetRawInputDeviceInfoA GetRawInputDeviceInfo; 4737 + } 4738 + alias GetTabbedTextExtentA GetTabbedTextExtent; 4739 + alias GetUserObjectInformationA GetUserObjectInformation; 4740 + alias GetWindowLongA GetWindowLong; 4741 + alias GetWindowLongPtrA GetWindowLongPtr; 4742 + alias GetWindowTextA GetWindowText; 4743 + alias GetWindowTextLengthA GetWindowTextLength; 4744 + alias GetAltTabInfoA GetAltTabInfo; 4745 + alias GetWindowModuleFileNameA GetWindowModuleFileName; 4746 + alias GrayStringA GrayString; 4747 + alias InsertMenuA InsertMenu; 4748 + alias InsertMenuItemA InsertMenuItem; 4749 + alias IsCharAlphaA IsCharAlpha; 4750 + alias IsCharAlphaNumericA IsCharAlphaNumeric; 4751 + alias IsCharLowerA IsCharLower; 4752 + alias IsCharUpperA IsCharUpper; 4753 + alias IsDialogMessageA IsDialogMessage; 4754 + alias LoadAcceleratorsA LoadAccelerators; 4755 + alias LoadBitmapA LoadBitmap; 4756 + alias LoadCursorA LoadCursor; 4757 + alias LoadIconA LoadIcon; 4758 + alias LoadCursorFromFileA LoadCursorFromFile; 4759 + alias LoadImageA LoadImage; 4760 + alias LoadKeyboardLayoutA LoadKeyboardLayout; 4761 + alias LoadMenuA LoadMenu; 4762 + alias LoadMenuIndirectA LoadMenuIndirect; 4763 + alias LoadStringA LoadString; 4764 + alias MapVirtualKeyA MapVirtualKey; 4765 + alias MapVirtualKeyExA MapVirtualKeyEx; 4766 + alias MessageBoxA MessageBox; 4767 + alias MessageBoxExA MessageBoxEx; 4768 + alias MessageBoxIndirectA MessageBoxIndirect; 4769 + alias ModifyMenuA ModifyMenu; 4770 + alias OemToCharA OemToChar; 4771 + alias OemToCharBuffA OemToCharBuff; 4772 + alias OpenDesktopA OpenDesktop; 4773 + alias OpenWindowStationA OpenWindowStation; 4774 + alias PeekMessageA PeekMessage; 4775 + alias PostMessageA PostMessage; 4776 + alias PostThreadMessageA PostThreadMessage; 4777 + alias RealGetWindowClassA RealGetWindowClass; 4778 + alias RegisterClassA RegisterClass; 4779 + alias RegisterClassExA RegisterClassEx; 4780 + alias RegisterClipboardFormatA RegisterClipboardFormat; 4781 + static if (_WIN32_WINNT >= 0x500) { 4782 + alias RegisterDeviceNotificationA RegisterDeviceNotification; 4783 + } 4784 + alias RegisterWindowMessageA RegisterWindowMessage; 4785 + alias RemovePropA RemoveProp; 4786 + alias SendDlgItemMessageA SendDlgItemMessage; 4787 + alias SendMessageA SendMessage; 4788 + alias SendMessageCallbackA SendMessageCallback; 4789 + alias SendMessageTimeoutA SendMessageTimeout; 4790 + alias SendNotifyMessageA SendNotifyMessage; 4791 + alias SetClassLongA SetClassLong; 4792 + alias SetDlgItemTextA SetDlgItemText; 4793 + alias SetMenuItemInfoA SetMenuItemInfo; 4794 + alias SetPropA SetProp; 4795 + alias SetUserObjectInformationA SetUserObjectInformation; 4796 + alias SetWindowLongA SetWindowLong; 4797 + alias SetWindowLongPtrA SetWindowLongPtr; 4798 + alias SetWindowsHookA SetWindowsHook; 4799 + alias SetWindowsHookExA SetWindowsHookEx; 4800 + alias SetWindowTextA SetWindowText; 4801 + alias SystemParametersInfoA SystemParametersInfo; 4802 + alias TabbedTextOutA TabbedTextOut; 4803 + alias TranslateAcceleratorA TranslateAccelerator; 4804 + alias UnregisterClassA UnregisterClass; 4805 + alias VkKeyScanA VkKeyScan; 4806 + alias VkKeyScanExA VkKeyScanEx; 4807 + alias WinHelpA WinHelp; 4808 + alias wsprintfA wsprintf; 4809 + alias wvsprintfA wvsprintf; 4742 4810 4743 -alias ChangeDisplaySettingsA ChangeDisplaySettings; 4744 -alias ChangeDisplaySettingsExA ChangeDisplaySettingsEx; 4745 -alias CreateDesktopA CreateDesktop; 4746 -alias EnumDisplaySettingsA EnumDisplaySettings; 4747 -static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x410)) { 4748 - alias EnumDisplaySettingsExA EnumDisplaySettingsEx; 4749 -} 4811 + alias ChangeDisplaySettingsA ChangeDisplaySettings; 4812 + alias ChangeDisplaySettingsExA ChangeDisplaySettingsEx; 4813 + alias CreateDesktopA CreateDesktop; 4814 + alias EnumDisplaySettingsA EnumDisplaySettings; 4815 + static if (_WIN32_WINNT >= 0x500) { 4816 + alias EnumDisplaySettingsExA EnumDisplaySettingsEx; 4817 + } 4750 4818 alias EnumDisplayDevicesA EnumDisplayDevices; 4751 4819 } 4752 - 4753 4820 4754 4821 alias WNDCLASS* LPWNDCLASS, PWNDCLASS; 4755 4822 alias WNDCLASSEX* LPWNDCLASSEX, PWNDCLASSEX; 4756 4823 alias MENUITEMINFO* LPMENUITEMINFO; 4757 4824 alias MSGBOXPARAMS* PMSGBOXPARAMS, LPMSGBOXPARAMS; 4758 4825 alias HIGHCONTRAST* LPHIGHCONTRAST; 4759 4826 alias SERIALKEYS* LPSERIALKEYS;