1 /** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 7 * Source: $(DRUNTIMESRC core/sys/windows/_winuser.d) 8 */ 9 /// Automatically imported and edited from the druntime module 10 /// core.sys.windows.winuser for the auto-generated win32 package. 11 module win32.winuser; 12 //version (Windows): 13 @system: 14 15 version (ANSI) {} else version = Unicode; 16 version (Win32_UseLib) pragma(lib, "user32"); 17 18 // Conversion Notes: 19 // The following macros were for win16 only, and are not included in this file: 20 //#define EnumTaskWindows(h, f, p) EnumThreadWindows((DWORD)h, f, p) 21 //#define PostAppMessageA(t, m, w, l) PostThreadMessageA((DWORD)t, m, w, l) 22 //#define PostAppMessageW(t, m, w, l) PostThreadMessageW((DWORD)t, m, w, l) 23 //#define GetSysModalWindow() (NULL) 24 //#define SetSysModalWindow(h) (NULL) 25 //#define GetWindowTask(hWnd) ((HANDLE)GetWindowThreadProcessId(hWnd, NULL)) 26 //#define DefHookProc(c, p, lp, h) CallNextHookEx((HHOOK)*h, c, p, lp) 27 28 import win32.w32api, win32.winbase, win32.wingdi; 29 import win32.windef; // for HMONITOR 30 31 // FIXME: clean up Windows version support 32 33 LPTSTR MAKEINTATOM_T()(int i) { 34 return cast(LPTSTR) i; 35 } 36 37 enum LPTSTR WC_DIALOG = MAKEINTATOM_T(0x8002); 38 39 enum { 40 FAPPCOMMAND_MOUSE = 0x8000, 41 FAPPCOMMAND_KEY = 0, 42 FAPPCOMMAND_OEM = 0x1000, 43 FAPPCOMMAND_MASK = 0xF000 44 } 45 46 enum { 47 MNGO_NOINTERFACE = 0, 48 MNGO_NOERROR, 49 MNGOF_TOPGAP = 1, 50 MNGOF_BOTTOMGAP 51 } 52 53 enum { 54 FVIRTKEY = 1, 55 FNOINVERT = 2, 56 FSHIFT = 4, 57 FCONTROL = 8, 58 FALT = 16 59 } 60 61 enum { 62 ATF_TIMEOUTON = 1, 63 ATF_ONOFFFEEDBACK = 2, 64 ATF_AVAILABLE = 4 // May be obsolete. Not in recent MS docs. 65 } 66 67 enum { 68 WH_MIN = -1, 69 WH_MSGFILTER = -1, 70 WH_JOURNALRECORD, 71 WH_JOURNALPLAYBACK, 72 WH_KEYBOARD, 73 WH_GETMESSAGE, 74 WH_CALLWNDPROC, 75 WH_CBT, 76 WH_SYSMSGFILTER, 77 WH_MOUSE, 78 WH_HARDWARE, 79 WH_DEBUG, 80 WH_SHELL, 81 WH_FOREGROUNDIDLE, 82 WH_CALLWNDPROCRET, 83 WH_KEYBOARD_LL, 84 WH_MOUSE_LL, // = 14 85 WH_MAX = 14, 86 WH_MINHOOK = WH_MIN, 87 WH_MAXHOOK = WH_MAX 88 } 89 90 enum { 91 HC_ACTION = 0, 92 HC_GETNEXT, 93 HC_SKIP, 94 HC_NOREMOVE, // = 3 95 HC_NOREM = HC_NOREMOVE, 96 HC_SYSMODALON, 97 HC_SYSMODALOFF 98 } 99 100 enum { 101 HCBT_MOVESIZE = 0, 102 HCBT_MINMAX, 103 HCBT_QS, 104 HCBT_CREATEWND, 105 HCBT_DESTROYWND, 106 HCBT_ACTIVATE, 107 HCBT_CLICKSKIPPED, 108 HCBT_KEYSKIPPED, 109 HCBT_SYSCOMMAND, 110 HCBT_SETFOCUS // = 9 111 } 112 113 enum { 114 CF_TEXT = 0x0001, 115 CF_BITMAP, 116 CF_METAFILEPICT, 117 CF_SYLK, 118 CF_DIF, 119 CF_TIFF, 120 CF_OEMTEXT, 121 CF_DIB, 122 CF_PALETTE, 123 CF_PENDATA, 124 CF_RIFF, 125 CF_WAVE, 126 CF_UNICODETEXT, 127 CF_ENHMETAFILE, 128 CF_HDROP, 129 CF_LOCALE, 130 CF_DIBV5, 131 CF_MAX, // = 0x0012 132 CF_OWNERDISPLAY = 0x0080, 133 CF_DSPTEXT, 134 CF_DSPBITMAP, 135 CF_DSPMETAFILEPICT, // = 0x0083 136 CF_DSPENHMETAFILE = 0x008E, 137 CF_PRIVATEFIRST = 0x0200, 138 CF_PRIVATELAST = 0x02FF, 139 CF_GDIOBJFIRST = 0x0300, 140 CF_GDIOBJLAST = 0x03FF 141 } 142 143 enum HKL_PREV = 0; 144 enum HKL_NEXT = 1; 145 146 enum KLF_ACTIVATE = 1; 147 enum KLF_SUBSTITUTE_OK = 2; 148 enum KLF_UNLOADPREVIOUS = 4; 149 enum KLF_REORDER = 8; 150 enum KLF_REPLACELANG = 16; 151 enum KLF_NOTELLSHELL = 128; 152 enum KLF_SETFORPROCESS = 256; 153 enum KL_NAMELENGTH = 9; 154 155 enum MF_ENABLED = 0; 156 enum MF_GRAYED = 1; 157 enum MF_DISABLED = 2; 158 enum MF_BITMAP = 4; 159 enum MF_CHECKED = 8; 160 enum MF_MENUBARBREAK = 32; 161 enum MF_MENUBREAK = 64; 162 enum MF_OWNERDRAW = 256; 163 enum MF_POPUP = 16; 164 enum MF_SEPARATOR = 0x800; 165 enum MF_STRING = 0; 166 enum MF_UNCHECKED = 0; 167 enum MF_DEFAULT = 4096; 168 enum MF_SYSMENU = 0x2000; 169 enum MF_HELP = 0x4000; 170 enum MF_END = 128; 171 enum MF_RIGHTJUSTIFY = 0x4000; 172 enum MF_MOUSESELECT = 0x8000; 173 enum MF_INSERT = 0; 174 enum MF_CHANGE = 128; 175 enum MF_APPEND = 256; 176 enum MF_DELETE = 512; 177 enum MF_REMOVE = 4096; 178 enum MF_USECHECKBITMAPS = 512; 179 enum MF_UNHILITE = 0; 180 enum MF_HILITE = 128; 181 182 // Also defined in dbt.h 183 enum BSM_ALLCOMPONENTS = 0; 184 enum BSM_VXDS = 1; 185 enum BSM_NETDRIVER = 2; 186 enum BSM_INSTALLABLEDRIVERS = 4; 187 enum BSM_APPLICATIONS = 8; 188 enum BSM_ALLDESKTOPS = 16; 189 190 enum { 191 BSF_QUERY = 0x0001, 192 BSF_IGNORECURRENTTASK = 0x0002, 193 BSF_FLUSHDISK = 0x0004, 194 BSF_NOHANG = 0x0008, 195 BSF_POSTMESSAGE = 0x0010, 196 BSF_FORCEIFHUNG = 0x0020, 197 BSF_NOTIMEOUTIFNOTHUNG = 0x0040, 198 BSF_ALLOWSFW = 0x0080, 199 BSF_SENDNOTIFYMESSAGE = 0x0100 200 } 201 static if (_WIN32_WINNT >= 0x501) { 202 enum { 203 BSF_RETURNHDESK = 0x0200, 204 BSF_LUID = 0x0400 205 } 206 } 207 208 enum BROADCAST_QUERY_DENY = 1112363332; 209 enum DWORD ENUM_CURRENT_SETTINGS = -1; 210 enum DWORD ENUM_REGISTRY_SETTINGS = -2; 211 212 enum CDS_UPDATEREGISTRY = 1; 213 enum CDS_TEST = 2; 214 enum CDS_FULLSCREEN = 4; 215 enum CDS_GLOBAL = 8; 216 enum CDS_SET_PRIMARY = 16; 217 enum CDS_NORESET = 0x10000000; 218 enum CDS_SETRECT = 0x20000000; 219 enum CDS_RESET = 0x40000000; 220 221 enum { 222 DISP_CHANGE_BADPARAM = -5, 223 DISP_CHANGE_BADFLAGS, 224 DISP_CHANGE_NOTUPDATED, 225 DISP_CHANGE_BADMODE, 226 DISP_CHANGE_FAILED, 227 DISP_CHANGE_SUCCESSFUL, 228 DISP_CHANGE_RESTART // = 1 229 } 230 231 enum BST_UNCHECKED = 0; 232 enum BST_CHECKED = 1; 233 enum BST_INDETERMINATE = 2; 234 enum BST_PUSHED = 4; 235 enum BST_FOCUS = 8; 236 237 enum MF_BYCOMMAND = 0; 238 enum MF_BYPOSITION = 1024; 239 // [Redefined] MF_UNCHECKED = 0 240 // [Redefined] MF_HILITE = 128 241 // [Redefined] MF_UNHILITE = 0 242 243 enum CWP_ALL = 0; 244 enum CWP_SKIPINVISIBLE = 1; 245 enum CWP_SKIPDISABLED = 2; 246 enum CWP_SKIPTRANSPARENT = 4; 247 248 enum IMAGE_BITMAP = 0; 249 enum IMAGE_ICON = 1; 250 enum IMAGE_CURSOR = 2; 251 enum IMAGE_ENHMETAFILE = 3; 252 253 enum DF_ALLOWOTHERACCOUNTHOOK = 1; 254 255 enum DESKTOP_READOBJECTS = 1; 256 enum DESKTOP_CREATEWINDOW = 2; 257 enum DESKTOP_CREATEMENU = 4; 258 enum DESKTOP_HOOKCONTROL = 8; 259 enum DESKTOP_JOURNALRECORD = 16; 260 enum DESKTOP_JOURNALPLAYBACK = 32; 261 enum DESKTOP_ENUMERATE = 64; 262 enum DESKTOP_WRITEOBJECTS = 128; 263 enum DESKTOP_SWITCHDESKTOP = 256; 264 265 enum int CW_USEDEFAULT = 0x80000000; 266 267 enum { 268 WS_OVERLAPPED = 0, 269 WS_TILED = WS_OVERLAPPED, 270 WS_MAXIMIZEBOX = 0x00010000, 271 WS_MINIMIZEBOX = 0x00020000, 272 WS_TABSTOP = 0x00010000, 273 WS_GROUP = 0x00020000, 274 WS_THICKFRAME = 0x00040000, 275 WS_SIZEBOX = WS_THICKFRAME, 276 WS_SYSMENU = 0x00080000, 277 WS_HSCROLL = 0x00100000, 278 WS_VSCROLL = 0x00200000, 279 WS_DLGFRAME = 0x00400000, 280 WS_BORDER = 0x00800000, 281 WS_CAPTION = 0x00c00000, 282 WS_OVERLAPPEDWINDOW = WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME|WS_MINIMIZEBOX|WS_MAXIMIZEBOX, 283 WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW, 284 WS_MAXIMIZE = 0x01000000, 285 WS_CLIPCHILDREN = 0x02000000, 286 WS_CLIPSIBLINGS = 0x04000000, 287 WS_DISABLED = 0x08000000, 288 WS_VISIBLE = 0x10000000, 289 WS_MINIMIZE = 0x20000000, 290 WS_ICONIC = WS_MINIMIZE, 291 WS_CHILD = 0x40000000, 292 WS_CHILDWINDOW = 0x40000000, 293 WS_POPUP = 0x80000000, 294 WS_POPUPWINDOW = WS_POPUP|WS_BORDER|WS_SYSMENU, 295 } 296 297 enum MDIS_ALLCHILDSTYLES = 1; 298 299 enum BS_3STATE = 5; 300 enum BS_AUTO3STATE = 6; 301 enum BS_AUTOCHECKBOX = 3; 302 enum BS_AUTORADIOBUTTON = 9; 303 enum BS_BITMAP = 128; 304 enum BS_BOTTOM = 0x800; 305 enum BS_CENTER = 0x300; 306 enum BS_CHECKBOX = 2; 307 enum BS_DEFPUSHBUTTON = 1; 308 enum BS_GROUPBOX = 7; 309 enum BS_ICON = 64; 310 enum BS_LEFT = 256; 311 enum BS_LEFTTEXT = 32; 312 enum BS_MULTILINE = 0x2000; 313 enum BS_NOTIFY = 0x4000; 314 enum BS_OWNERDRAW = 0xb; 315 enum BS_PUSHBUTTON = 0; 316 enum BS_PUSHLIKE = 4096; 317 enum BS_RADIOBUTTON = 4; 318 enum BS_RIGHT = 512; 319 enum BS_RIGHTBUTTON = 32; 320 enum BS_TEXT = 0; 321 enum BS_TOP = 0x400; 322 enum BS_USERBUTTON = 8; 323 enum BS_VCENTER = 0xc00; 324 enum BS_FLAT = 0x8000; 325 326 enum CBS_AUTOHSCROLL = 64; 327 enum CBS_DISABLENOSCROLL = 0x800; 328 enum CBS_DROPDOWN = 2; 329 enum CBS_DROPDOWNLIST = 3; 330 enum CBS_HASSTRINGS = 512; 331 enum CBS_LOWERCASE = 0x4000; 332 enum CBS_NOINTEGRALHEIGHT = 0x400; 333 enum CBS_OEMCONVERT = 128; 334 enum CBS_OWNERDRAWFIXED = 16; 335 enum CBS_OWNERDRAWVARIABLE = 32; 336 enum CBS_SIMPLE = 1; 337 enum CBS_SORT = 256; 338 enum CBS_UPPERCASE = 0x2000; 339 340 enum ES_AUTOHSCROLL = 128; 341 enum ES_AUTOVSCROLL = 64; 342 enum ES_CENTER = 1; 343 enum ES_LEFT = 0; 344 enum ES_LOWERCASE = 16; 345 enum ES_MULTILINE = 4; 346 enum ES_NOHIDESEL = 256; 347 enum ES_NUMBER = 0x2000; 348 enum ES_OEMCONVERT = 0x400; 349 enum ES_PASSWORD = 32; 350 enum ES_READONLY = 0x800; 351 enum ES_RIGHT = 2; 352 enum ES_UPPERCASE = 8; 353 enum ES_WANTRETURN = 4096; 354 355 enum LBS_DISABLENOSCROLL = 4096; 356 enum LBS_EXTENDEDSEL = 0x800; 357 enum LBS_HASSTRINGS = 64; 358 enum LBS_MULTICOLUMN = 512; 359 enum LBS_MULTIPLESEL = 8; 360 enum LBS_NODATA = 0x2000; 361 enum LBS_NOINTEGRALHEIGHT = 256; 362 enum LBS_NOREDRAW = 4; 363 enum LBS_NOSEL = 0x4000; 364 enum LBS_NOTIFY = 1; 365 enum LBS_OWNERDRAWFIXED = 16; 366 enum LBS_OWNERDRAWVARIABLE = 32; 367 enum LBS_SORT = 2; 368 enum LBS_STANDARD = 0xa00003; 369 enum LBS_USETABSTOPS = 128; 370 enum LBS_WANTKEYBOARDINPUT = 0x400; 371 372 enum SBS_BOTTOMALIGN = 4; 373 enum SBS_HORZ = 0; 374 enum SBS_LEFTALIGN = 2; 375 enum SBS_RIGHTALIGN = 4; 376 enum SBS_SIZEBOX = 8; 377 enum SBS_SIZEBOXBOTTOMRIGHTALIGN = 4; 378 enum SBS_SIZEBOXTOPLEFTALIGN = 2; 379 enum SBS_SIZEGRIP = 16; 380 enum SBS_TOPALIGN = 2; 381 enum SBS_VERT = 1; 382 383 enum SS_BITMAP = 14; 384 enum SS_BLACKFRAME = 7; 385 enum SS_BLACKRECT = 4; 386 enum SS_CENTER = 1; 387 enum SS_CENTERIMAGE = 512; 388 enum SS_ENHMETAFILE = 15; 389 enum SS_ETCHEDFRAME = 18; 390 enum SS_ETCHEDHORZ = 16; 391 enum SS_ETCHEDVERT = 17; 392 enum SS_GRAYFRAME = 8; 393 enum SS_GRAYRECT = 5; 394 enum SS_ICON = 3; 395 enum SS_LEFT = 0; 396 enum SS_LEFTNOWORDWRAP = 0xc; 397 enum SS_NOPREFIX = 128; 398 enum SS_NOTIFY = 256; 399 enum SS_OWNERDRAW = 0xd; 400 enum SS_REALSIZEIMAGE = 0x800; 401 enum SS_RIGHT = 2; 402 enum SS_RIGHTJUST = 0x400; 403 enum SS_SIMPLE = 11; 404 enum SS_SUNKEN = 4096; 405 enum SS_WHITEFRAME = 9; 406 enum SS_WHITERECT = 6; 407 enum SS_USERITEM = 10; 408 enum SS_TYPEMASK = 0x0000001FL; 409 enum SS_ENDELLIPSIS = 0x00004000L; 410 enum SS_PATHELLIPSIS = 0x00008000L; 411 enum SS_WORDELLIPSIS = 0x0000C000L; 412 enum SS_ELLIPSISMASK = 0x0000C000L; 413 414 enum DS_ABSALIGN = 0x0001; 415 enum DS_3DLOOK = 0x0004; 416 enum DS_SYSMODAL = 0x0002; 417 enum DS_FIXEDSYS = 0x0008; 418 enum DS_NOFAILCREATE = 0x0010; 419 enum DS_LOCALEDIT = 0x0020; 420 enum DS_SETFONT = 0x0040; 421 enum DS_MODALFRAME = 0x0080; 422 enum DS_NOIDLEMSG = 0x0100; 423 enum DS_SETFOREGROUND = 0x0200; 424 enum DS_CONTROL = 0x0400; 425 enum DS_CENTER = 0x0800; 426 enum DS_CENTERMOUSE = 0x1000; 427 enum DS_CONTEXTHELP = 0x2000; 428 enum DS_SHELLFONT = DS_SETFONT | DS_FIXEDSYS; 429 430 enum WS_EX_ACCEPTFILES = 16; 431 enum WS_EX_APPWINDOW = 0x40000; 432 enum WS_EX_CLIENTEDGE = 512; 433 enum WS_EX_COMPOSITED = 0x2000000; // XP 434 enum WS_EX_CONTEXTHELP = 0x400; 435 enum WS_EX_CONTROLPARENT = 0x10000; 436 enum WS_EX_DLGMODALFRAME = 1; 437 enum WS_EX_LAYERED = 0x80000; // w2k 438 enum WS_EX_LAYOUTRTL = 0x400000; // w98, w2k 439 enum WS_EX_LEFT = 0; 440 enum WS_EX_LEFTSCROLLBAR = 0x4000; 441 enum WS_EX_LTRREADING = 0; 442 enum WS_EX_MDICHILD = 64; 443 enum WS_EX_NOACTIVATE = 0x8000000; // w2k 444 enum WS_EX_NOINHERITLAYOUT = 0x100000; // w2k 445 enum WS_EX_NOPARENTNOTIFY = 4; 446 enum WS_EX_NOREDIRECTIONBITMAP = 0x00200000; // w8, s2012 447 enum WS_EX_OVERLAPPEDWINDOW = 0x300; 448 enum WS_EX_PALETTEWINDOW = 0x188; 449 enum WS_EX_RIGHT = 0x1000; 450 enum WS_EX_RIGHTSCROLLBAR = 0; 451 enum WS_EX_RTLREADING = 0x2000; 452 enum WS_EX_STATICEDGE = 0x20000; 453 enum WS_EX_TOOLWINDOW = 128; 454 enum WS_EX_TOPMOST = 8; 455 enum WS_EX_TRANSPARENT = 32; 456 enum WS_EX_WINDOWEDGE = 256; 457 458 enum WINSTA_ENUMDESKTOPS = 1; 459 enum WINSTA_READATTRIBUTES = 2; 460 enum WINSTA_ACCESSCLIPBOARD = 4; 461 enum WINSTA_CREATEDESKTOP = 8; 462 enum WINSTA_WRITEATTRIBUTES = 16; 463 enum WINSTA_ACCESSGLOBALATOMS = 32; 464 enum WINSTA_EXITWINDOWS = 64; 465 enum WINSTA_ENUMERATE = 256; 466 enum WINSTA_READSCREEN = 512; 467 468 enum DDL_READWRITE = 0; 469 enum DDL_READONLY = 1; 470 enum DDL_HIDDEN = 2; 471 enum DDL_SYSTEM = 4; 472 enum DDL_DIRECTORY = 16; 473 enum DDL_ARCHIVE = 32; 474 enum DDL_POSTMSGS = 8192; 475 enum DDL_DRIVES = 16384; 476 enum DDL_EXCLUSIVE = 32768; 477 478 enum { 479 DC_ACTIVE = 0x0001, 480 DC_SMALLCAP = 0x0002, 481 DC_ICON = 0x0004, 482 DC_TEXT = 0x0008, 483 DC_INBUTTON = 0x0010, 484 DC_GRADIENT = 0x0020 485 } 486 static if (_WIN32_WINNT >= 0x501) { 487 enum DC_BUTTONS = 0x1000; 488 } 489 490 // Where are these documented? 491 //enum DC_CAPTION = DC_ICON|DC_TEXT|DC_BUTTONS; 492 //enum DC_NC = DC_CAPTION|DC_FRAME; 493 494 enum BDR_RAISEDOUTER = 1; 495 enum BDR_SUNKENOUTER = 2; 496 enum BDR_RAISEDINNER = 4; 497 enum BDR_SUNKENINNER = 8; 498 enum BDR_OUTER = 3; 499 enum BDR_INNER = 0xc; 500 enum BDR_RAISED = 5; 501 enum BDR_SUNKEN = 10; 502 503 enum EDGE_RAISED = BDR_RAISEDOUTER|BDR_RAISEDINNER; 504 enum EDGE_SUNKEN = BDR_SUNKENOUTER|BDR_SUNKENINNER; 505 enum EDGE_ETCHED = BDR_SUNKENOUTER|BDR_RAISEDINNER; 506 enum EDGE_BUMP = BDR_RAISEDOUTER|BDR_SUNKENINNER; 507 508 enum BF_LEFT = 1; 509 enum BF_TOP = 2; 510 enum BF_RIGHT = 4; 511 enum BF_BOTTOM = 8; 512 enum BF_TOPLEFT = BF_TOP|BF_LEFT; 513 enum BF_TOPRIGHT = BF_TOP|BF_RIGHT; 514 enum BF_BOTTOMLEFT = BF_BOTTOM|BF_LEFT; 515 enum BF_BOTTOMRIGHT = BF_BOTTOM|BF_RIGHT; 516 enum BF_RECT = BF_LEFT|BF_TOP|BF_RIGHT|BF_BOTTOM ; 517 enum BF_DIAGONAL = 16; 518 enum BF_DIAGONAL_ENDTOPRIGHT = BF_DIAGONAL|BF_TOP|BF_RIGHT; 519 enum BF_DIAGONAL_ENDTOPLEFT = BF_DIAGONAL|BF_TOP|BF_LEFT; 520 enum BF_DIAGONAL_ENDBOTTOMLEFT = BF_DIAGONAL|BF_BOTTOM|BF_LEFT; 521 enum BF_DIAGONAL_ENDBOTTOMRIGHT = BF_DIAGONAL|BF_BOTTOM|BF_RIGHT; 522 enum BF_MIDDLE = 0x800; 523 enum BF_SOFT = 0x1000; 524 enum BF_ADJUST = 0x2000; 525 enum BF_FLAT = 0x4000; 526 enum BF_MONO = 0x8000; 527 528 enum { 529 DFC_CAPTION = 1, 530 DFC_MENU, 531 DFC_SCROLL, 532 DFC_BUTTON, 533 DFC_POPUPMENU // = 5 534 } 535 536 enum { 537 DFCS_CAPTIONCLOSE, 538 DFCS_CAPTIONMIN, 539 DFCS_CAPTIONMAX, 540 DFCS_CAPTIONRESTORE, 541 DFCS_CAPTIONHELP // = 4 542 } 543 544 enum { 545 DFCS_MENUARROW = 0, 546 DFCS_MENUCHECK = 1, 547 DFCS_MENUBULLET = 2, 548 DFCS_MENUARROWRIGHT = 4 549 } 550 551 enum { 552 DFCS_SCROLLUP = 0, 553 DFCS_SCROLLDOWN = 1, 554 DFCS_SCROLLLEFT = 2, 555 DFCS_SCROLLRIGHT = 3, 556 DFCS_SCROLLCOMBOBOX = 5, 557 DFCS_SCROLLSIZEGRIP = 8, 558 DFCS_SCROLLSIZEGRIPRIGHT = 16 559 } 560 561 enum { 562 DFCS_BUTTONCHECK = 0, 563 DFCS_BUTTONRADIOIMAGE = 0x0001, 564 DFCS_BUTTONRADIOMASK = 0x0002, 565 DFCS_BUTTONRADIO = 0x0004, 566 DFCS_BUTTON3STATE = 0x0008, 567 DFCS_BUTTONPUSH = 0x0010, 568 DFCS_INACTIVE = 0x0100, 569 DFCS_PUSHED = 0x0200, 570 DFCS_CHECKED = 0x0400, 571 DFCS_TRANSPARENT = 0x0800, 572 DFCS_HOT = 0x1000, 573 DFCS_ADJUSTRECT = 0x2000, 574 DFCS_FLAT = 0x4000, 575 DFCS_MONO = 0x8000 576 } 577 578 enum { 579 DST_COMPLEX = 0, 580 DST_TEXT, 581 DST_PREFIXTEXT, 582 DST_ICON, 583 DST_BITMAP // = 4 584 } 585 586 enum DSS_NORMAL = 0; 587 enum DSS_UNION = 16; 588 enum DSS_DISABLED = 32; 589 enum DSS_MONO = 128; 590 enum DSS_RIGHT = 0x8000; 591 592 enum DT_BOTTOM = 8; 593 enum DT_CALCRECT = 1024; 594 enum DT_CENTER = 1; 595 enum DT_EDITCONTROL = 8192; 596 enum DT_END_ELLIPSIS = 32768; 597 enum DT_PATH_ELLIPSIS = 16384; 598 enum DT_WORD_ELLIPSIS = 0x40000; 599 enum DT_EXPANDTABS = 64; 600 enum DT_EXTERNALLEADING = 512; 601 enum DT_LEFT = 0; 602 enum DT_MODIFYSTRING = 65536; 603 enum DT_NOCLIP = 256; 604 enum DT_NOPREFIX = 2048; 605 enum DT_RIGHT = 2; 606 enum DT_RTLREADING = 131072; 607 enum DT_SINGLELINE = 32; 608 enum DT_TABSTOP = 128; 609 enum DT_TOP = 0; 610 enum DT_VCENTER = 4; 611 enum DT_WORDBREAK = 16; 612 enum DT_INTERNAL = 4096; 613 614 enum WB_ISDELIMITER = 2; 615 enum WB_LEFT = 0; 616 enum WB_RIGHT = 1; 617 618 enum SB_HORZ = 0; 619 enum SB_VERT = 1; 620 enum SB_CTL = 2; 621 enum SB_BOTH = 3; 622 623 enum ESB_DISABLE_BOTH = 3; 624 enum ESB_DISABLE_DOWN = 2; 625 enum ESB_DISABLE_LEFT = 1; 626 enum ESB_DISABLE_LTUP = 1; 627 enum ESB_DISABLE_RIGHT = 2; 628 enum ESB_DISABLE_RTDN = 2; 629 enum ESB_DISABLE_UP = 1; 630 enum ESB_ENABLE_BOTH = 0; 631 632 enum SB_LINEUP = 0; 633 enum SB_LINEDOWN = 1; 634 enum SB_LINELEFT = 0; 635 enum SB_LINERIGHT = 1; 636 enum SB_PAGEUP = 2; 637 enum SB_PAGEDOWN = 3; 638 enum SB_PAGELEFT = 2; 639 enum SB_PAGERIGHT = 3; 640 enum SB_THUMBPOSITION = 4; 641 enum SB_THUMBTRACK = 5; 642 enum SB_ENDSCROLL = 8; 643 enum SB_LEFT = 6; 644 enum SB_RIGHT = 7; 645 enum SB_BOTTOM = 7; 646 enum SB_TOP = 6; 647 648 //MACRO #define IS_INTRESOURCE(i) (((ULONG_PTR)(i) >> 16) == 0) 649 650 template MAKEINTRESOURCE_T(WORD i) { 651 enum LPTSTR MAKEINTRESOURCE_T = cast(LPTSTR)(i); 652 } 653 654 nothrow @nogc { 655 LPSTR MAKEINTRESOURCEA()(/*WORD*/uint i) { 656 return cast(LPSTR) i; 657 } 658 659 LPWSTR MAKEINTRESOURCEW()(/*WORD*/uint i) { 660 return cast(LPWSTR) i; 661 } 662 } 663 664 enum RT_CURSOR = MAKEINTRESOURCE_T!(1); 665 enum RT_BITMAP = MAKEINTRESOURCE_T!(2); 666 enum RT_ICON = MAKEINTRESOURCE_T!(3); 667 enum RT_MENU = MAKEINTRESOURCE_T!(4); 668 enum RT_DIALOG = MAKEINTRESOURCE_T!(5); 669 enum RT_STRING = MAKEINTRESOURCE_T!(6); 670 enum RT_FONTDIR = MAKEINTRESOURCE_T!(7); 671 enum RT_FONT = MAKEINTRESOURCE_T!(8); 672 enum RT_ACCELERATOR = MAKEINTRESOURCE_T!(9); 673 enum RT_RCDATA = MAKEINTRESOURCE_T!(10); 674 enum RT_MESSAGETABLE = MAKEINTRESOURCE_T!(11); 675 676 enum RT_GROUP_CURSOR = MAKEINTRESOURCE_T!(12); 677 enum RT_GROUP_ICON = MAKEINTRESOURCE_T!(14); 678 enum RT_VERSION = MAKEINTRESOURCE_T!(16); 679 enum RT_DLGINCLUDE = MAKEINTRESOURCE_T!(17); 680 enum RT_PLUGPLAY = MAKEINTRESOURCE_T!(19); 681 enum RT_VXD = MAKEINTRESOURCE_T!(20); 682 enum RT_ANICURSOR = MAKEINTRESOURCE_T!(21); 683 enum RT_ANIICON = MAKEINTRESOURCE_T!(22); 684 enum RT_HTML = MAKEINTRESOURCE_T!(23); 685 enum RT_MANIFEST = MAKEINTRESOURCE_T!(24); 686 687 enum CREATEPROCESS_MANIFEST_RESOURCE_ID = MAKEINTRESOURCE_T!(1); 688 enum ISOLATIONAWARE_MANIFEST_RESOURCE_ID = MAKEINTRESOURCE_T!(2); 689 enum ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID = MAKEINTRESOURCE_T!(3); 690 691 enum { 692 EWX_LOGOFF = 0, 693 EWX_SHUTDOWN = 1, 694 EWX_REBOOT = 2, 695 EWX_FORCE = 4, 696 EWX_POWEROFF = 8, 697 EWX_FORCEIFHUNG = 16 698 } 699 700 enum CS_BYTEALIGNCLIENT = 4096; 701 enum CS_BYTEALIGNWINDOW = 8192; 702 enum CS_KEYCVTWINDOW = 4; 703 enum CS_NOKEYCVT = 256; 704 enum CS_CLASSDC = 64; 705 enum CS_DBLCLKS = 8; 706 enum CS_GLOBALCLASS = 16384; 707 enum CS_HREDRAW = 2; 708 enum CS_NOCLOSE = 512; 709 enum CS_OWNDC = 32; 710 enum CS_PARENTDC = 128; 711 enum CS_SAVEBITS = 2048; 712 enum CS_VREDRAW = 1; 713 enum CS_IME = 0x10000; 714 715 enum GCW_ATOM = -32; 716 enum GCL_CBCLSEXTRA = -20; 717 enum GCL_CBWNDEXTRA = -18; 718 enum GCL_HBRBACKGROUND = -10; 719 enum GCL_HCURSOR = -12; 720 enum GCL_HICON = -14; 721 enum GCL_HICONSM = -34; 722 enum GCL_HMODULE = -16; 723 enum GCL_MENUNAME = -8; 724 enum GCL_STYLE = -26; 725 enum GCL_WNDPROC = -24; 726 727 alias GCL_HICONSM GCLP_HICONSM; 728 alias GCL_HICON GCLP_HICON; 729 alias GCL_HCURSOR GCLP_HCURSOR; 730 alias GCL_HBRBACKGROUND GCLP_HBRBACKGROUND; 731 alias GCL_HMODULE GCLP_HMODULE; 732 alias GCL_MENUNAME GCLP_MENUNAME; 733 alias GCL_WNDPROC GCLP_WNDPROC; 734 735 enum { 736 IDC_ARROW = MAKEINTRESOURCE_T!(32512), 737 IDC_IBEAM = MAKEINTRESOURCE_T!(32513), 738 IDC_WAIT = MAKEINTRESOURCE_T!(32514), 739 IDC_CROSS = MAKEINTRESOURCE_T!(32515), 740 IDC_UPARROW = MAKEINTRESOURCE_T!(32516), 741 IDC_SIZE = MAKEINTRESOURCE_T!(32640), 742 IDC_ICON = MAKEINTRESOURCE_T!(32641), 743 IDC_SIZENWSE = MAKEINTRESOURCE_T!(32642), 744 IDC_SIZENESW = MAKEINTRESOURCE_T!(32643), 745 IDC_SIZEWE = MAKEINTRESOURCE_T!(32644), 746 IDC_SIZENS = MAKEINTRESOURCE_T!(32645), 747 IDC_SIZEALL = MAKEINTRESOURCE_T!(32646), 748 IDC_NO = MAKEINTRESOURCE_T!(32648), 749 IDC_HAND = MAKEINTRESOURCE_T!(32649), 750 IDC_APPSTARTING = MAKEINTRESOURCE_T!(32650), 751 IDC_HELP = MAKEINTRESOURCE_T!(32651), 752 IDI_APPLICATION = MAKEINTRESOURCE_T!(32512), 753 IDI_HAND = MAKEINTRESOURCE_T!(32513), 754 IDI_QUESTION = MAKEINTRESOURCE_T!(32514), 755 IDI_EXCLAMATION = MAKEINTRESOURCE_T!(32515), 756 IDI_ASTERISK = MAKEINTRESOURCE_T!(32516), 757 IDI_WINLOGO = MAKEINTRESOURCE_T!(32517), 758 IDI_WARNING = IDI_EXCLAMATION, 759 IDI_ERROR = IDI_HAND, 760 IDI_INFORMATION = IDI_ASTERISK 761 } 762 static if (_WIN32_WINNT >= 0x600) { 763 enum IDI_SHIELD = MAKEINTRESOURCE_T!(32518); 764 } 765 766 enum { 767 MIIM_STATE = 0x0001, 768 MIIM_ID = 0x0002, 769 MIIM_SUBMENU = 0x0004, 770 MIIM_CHECKMARKS = 0x0008, 771 MIIM_TYPE = 0x0010, 772 MIIM_DATA = 0x0020, 773 MIIM_STRING = 0x0040, 774 MIIM_BITMAP = 0x0080, 775 MIIM_FTYPE = 0x0100 776 } 777 778 enum { 779 MFT_BITMAP = 0x0004, 780 MFT_MENUBARBREAK = 0x0020, 781 MFT_MENUBREAK = 0x0040, 782 MFT_OWNERDRAW = 0x0100, 783 MFT_RADIOCHECK = 0x0200, 784 MFT_RIGHTJUSTIFY = 0x4000, 785 MFT_SEPARATOR = 0x0800, 786 MFT_RIGHTORDER = 0x2000, 787 MFT_STRING = 0 788 } 789 790 enum { 791 MFS_CHECKED = 8, 792 MFS_DEFAULT = 4096, 793 MFS_DISABLED = 3, 794 MFS_ENABLED = 0, 795 MFS_GRAYED = 3, 796 MFS_HILITE = 128, 797 MFS_UNCHECKED = 0, 798 MFS_UNHILITE = 0 799 } 800 801 enum { 802 GW_HWNDFIRST = 0, 803 GW_HWNDLAST, 804 GW_HWNDNEXT, 805 GW_HWNDPREV, 806 GW_OWNER, 807 GW_CHILD // = 5 808 } 809 810 enum { 811 SW_HIDE = 0, 812 SW_NORMAL = 1, 813 SW_SHOWNORMAL = 1, 814 SW_SHOWMINIMIZED = 2, 815 SW_MAXIMIZE = 3, 816 SW_SHOWMAXIMIZED = 3, 817 SW_SHOWNOACTIVATE = 4, 818 SW_SHOW = 5, 819 SW_MINIMIZE = 6, 820 SW_SHOWMINNOACTIVE = 7, 821 SW_SHOWNA = 8, 822 SW_RESTORE = 9, 823 SW_SHOWDEFAULT = 10, 824 SW_FORCEMINIMIZE = 11, 825 SW_MAX = 11 826 } 827 828 enum { 829 SW_PARENTCLOSING = 1, 830 SW_OTHERZOOM, 831 SW_PARENTOPENING, 832 SW_OTHERUNZOOM // = 4 833 } 834 835 enum { // is this a different SW from the previous? 836 SW_SCROLLCHILDREN = 0x01, 837 SW_INVALIDATE = 0x02, 838 SW_ERASE = 0x04, 839 SW_SMOOTHSCROLL = 0x10 840 } 841 842 enum { 843 MB_OK = 0, 844 MB_OKCANCEL, 845 MB_ABORTRETRYIGNORE, 846 MB_YESNOCANCEL, 847 MB_YESNO, 848 MB_RETRYCANCEL, 849 MB_CANCELTRYCONTINUE, // = 6 850 MB_TYPEMASK = 0x0000000F, 851 MB_ICONHAND = 0x00000010, 852 MB_ICONSTOP = MB_ICONHAND, 853 MB_ICONERROR = MB_ICONHAND, 854 MB_ICONQUESTION = 0x00000020, 855 MB_ICONEXCLAMATION = 0x00000030, 856 MB_ICONWARNING = MB_ICONEXCLAMATION, 857 MB_ICONASTERISK = 0x00000040, 858 MB_ICONINFORMATION = MB_ICONASTERISK, 859 MB_USERICON = 0x00000080, 860 MB_ICONMASK = 0x000000F0, 861 862 MB_DEFBUTTON1 = 0, 863 MB_DEFBUTTON2 = 0x00000100, 864 MB_DEFBUTTON3 = 0x00000200, 865 MB_DEFBUTTON4 = 0x00000300, 866 MB_DEFMASK = 0x00000F00, 867 868 MB_APPLMODAL = 0, 869 MB_SYSTEMMODAL = 0x00001000, 870 MB_TASKMODAL = 0x00002000, 871 MB_MODEMASK = 0x00003000, 872 873 MB_HELP = 0x00004000, 874 MB_NOFOCUS = 0x00008000, 875 MB_MISCMASK = 0x0000C000, 876 877 MB_SETFOREGROUND = 0x00010000, 878 MB_DEFAULT_DESKTOP_ONLY = 0x00020000, 879 MB_TOPMOST = 0x00040000, 880 MB_SERVICE_NOTIFICATION_NT3X = 0x00040000, 881 MB_RIGHT = 0x00080000, 882 MB_RTLREADING = 0x00100000, 883 MB_SERVICE_NOTIFICATION = 0x00200000 884 } 885 886 enum { 887 IDOK = 1, 888 IDCANCEL, 889 IDABORT, 890 IDRETRY, 891 IDIGNORE, 892 IDYES, 893 IDNO, 894 IDCLOSE, 895 IDHELP, 896 IDTRYAGAIN, 897 IDCONTINUE // = 11 898 } 899 900 enum GWL_EXSTYLE = -20; 901 enum GWL_STYLE = -16; 902 enum GWL_WNDPROC = -4; 903 enum GWLP_WNDPROC = -4; 904 enum GWL_HINSTANCE = -6; 905 enum GWLP_HINSTANCE = -6; 906 enum GWL_HWNDPARENT = -8; 907 enum GWLP_HWNDPARENT = -8; 908 enum GWL_ID = -12; 909 enum GWLP_ID = -12; 910 enum GWL_USERDATA = -21; 911 enum GWLP_USERDATA = -21; 912 913 enum DWL_DLGPROC = 4; 914 enum DWLP_DLGPROC = 4; 915 enum DWL_MSGRESULT = 0; 916 enum DWLP_MSGRESULT = 0; 917 enum DWL_USER = 8; 918 enum DWLP_USER = 8; 919 920 enum QS_KEY = 1; 921 enum QS_MOUSEMOVE = 2; 922 enum QS_MOUSEBUTTON = 4; 923 enum QS_MOUSE = 6; 924 enum QS_POSTMESSAGE = 8; 925 enum QS_TIMER = 16; 926 enum QS_PAINT = 32; 927 enum QS_SENDMESSAGE = 64; 928 enum QS_HOTKEY = 128; 929 enum QS_ALLPOSTMESSAGE = 256; 930 static if (_WIN32_WINNT >= 0x501) { 931 enum QS_RAWINPUT = 1024; 932 enum QS_INPUT = 1031; 933 enum QS_ALLEVENTS = 1215; 934 enum QS_ALLINPUT = 1279; 935 } else { 936 enum QS_INPUT = 7; 937 enum QS_ALLEVENTS = 191; 938 enum QS_ALLINPUT = 255; 939 } 940 941 enum MWMO_WAITALL = 1; 942 enum MWMO_ALERTABLE = 2; 943 enum MWMO_INPUTAVAILABLE = 4; 944 945 enum COLOR_3DDKSHADOW = 21; 946 enum COLOR_3DFACE = 15; 947 enum COLOR_3DHILIGHT = 20; 948 enum COLOR_3DHIGHLIGHT = 20; 949 enum COLOR_3DLIGHT = 22; 950 enum COLOR_BTNHILIGHT = 20; 951 enum COLOR_3DSHADOW = 16; 952 enum COLOR_ACTIVEBORDER = 10; 953 enum COLOR_ACTIVECAPTION = 2; 954 enum COLOR_APPWORKSPACE = 12; 955 enum COLOR_BACKGROUND = 1; 956 enum COLOR_DESKTOP = 1; 957 enum COLOR_BTNFACE = 15; 958 enum COLOR_BTNHIGHLIGHT = 20; 959 enum COLOR_BTNSHADOW = 16; 960 enum COLOR_BTNTEXT = 18; 961 enum COLOR_CAPTIONTEXT = 9; 962 enum COLOR_GRAYTEXT = 17; 963 enum COLOR_HIGHLIGHT = 13; 964 enum COLOR_HIGHLIGHTTEXT = 14; 965 enum COLOR_INACTIVEBORDER = 11; 966 enum COLOR_INACTIVECAPTION = 3; 967 enum COLOR_INACTIVECAPTIONTEXT = 19; 968 enum COLOR_INFOBK = 24; 969 enum COLOR_INFOTEXT = 23; 970 enum COLOR_MENU = 4; 971 enum COLOR_MENUTEXT = 7; 972 enum COLOR_SCROLLBAR = 0; 973 enum COLOR_WINDOW = 5; 974 enum COLOR_WINDOWFRAME = 6; 975 enum COLOR_WINDOWTEXT = 8; 976 enum COLOR_HOTLIGHT = 26; 977 enum COLOR_GRADIENTACTIVECAPTION = 27; 978 enum COLOR_GRADIENTINACTIVECAPTION = 28; 979 980 enum CTLCOLOR_MSGBOX = 0; 981 enum CTLCOLOR_EDIT = 1; 982 enum CTLCOLOR_LISTBOX = 2; 983 enum CTLCOLOR_BTN = 3; 984 enum CTLCOLOR_DLG = 4; 985 enum CTLCOLOR_SCROLLBAR = 5; 986 enum CTLCOLOR_STATIC = 6; 987 enum CTLCOLOR_MAX = 7; 988 989 // For GetSystemMetrics() 990 enum : int { 991 SM_CXSCREEN = 0, 992 SM_CYSCREEN, 993 SM_CXVSCROLL, 994 SM_CYHSCROLL, 995 SM_CYCAPTION, 996 SM_CXBORDER, 997 SM_CYBORDER, 998 SM_CXDLGFRAME, // = 7 999 SM_CXFIXEDFRAME = SM_CXDLGFRAME, 1000 SM_CYDLGFRAME, // = 8 1001 SM_CYFIXEDFRAME = SM_CYDLGFRAME, 1002 SM_CYVTHUMB, // = 9 1003 SM_CXHTHUMB, 1004 SM_CXICON, 1005 SM_CYICON, 1006 SM_CXCURSOR, 1007 SM_CYCURSOR, 1008 SM_CYMENU, 1009 SM_CXFULLSCREEN, 1010 SM_CYFULLSCREEN, 1011 SM_CYKANJIWINDOW, 1012 SM_MOUSEPRESENT, 1013 SM_CYVSCROLL, 1014 SM_CXHSCROLL, 1015 SM_DEBUG, 1016 SM_SWAPBUTTON, 1017 SM_RESERVED1, 1018 SM_RESERVED2, 1019 SM_RESERVED3, 1020 SM_RESERVED4, 1021 SM_CXMIN, 1022 SM_CYMIN, 1023 SM_CXSIZE, 1024 SM_CYSIZE, 1025 SM_CXSIZEFRAME, // = 32, 1026 SM_CXFRAME = SM_CXSIZEFRAME, 1027 SM_CYSIZEFRAME, // = 33 1028 SM_CYFRAME = SM_CYSIZEFRAME, 1029 SM_CXMINTRACK, 1030 SM_CYMINTRACK, 1031 SM_CXDOUBLECLK, 1032 SM_CYDOUBLECLK, 1033 SM_CXICONSPACING, 1034 SM_CYICONSPACING, 1035 SM_MENUDROPALIGNMENT, 1036 SM_PENWINDOWS, 1037 SM_DBCSENABLED, 1038 SM_CMOUSEBUTTONS, 1039 SM_SECURE, 1040 SM_CXEDGE, 1041 SM_CYEDGE, 1042 SM_CXMINSPACING, 1043 SM_CYMINSPACING, 1044 SM_CXSMICON, 1045 SM_CYSMICON, 1046 SM_CYSMCAPTION, 1047 SM_CXSMSIZE, 1048 SM_CYSMSIZE, 1049 SM_CXMENUSIZE, 1050 SM_CYMENUSIZE, 1051 SM_ARRANGE, 1052 SM_CXMINIMIZED, 1053 SM_CYMINIMIZED, 1054 SM_CXMAXTRACK, 1055 SM_CYMAXTRACK, 1056 SM_CXMAXIMIZED, 1057 SM_CYMAXIMIZED, 1058 SM_NETWORK, // = 63 1059 SM_CLEANBOOT = 67, 1060 SM_CXDRAG, 1061 SM_CYDRAG, 1062 SM_SHOWSOUNDS, 1063 SM_CXMENUCHECK, 1064 SM_CYMENUCHECK, 1065 SM_SLOWMACHINE, 1066 SM_MIDEASTENABLED, 1067 SM_MOUSEWHEELPRESENT, 1068 SM_XVIRTUALSCREEN, 1069 SM_YVIRTUALSCREEN, 1070 SM_CXVIRTUALSCREEN, 1071 SM_CYVIRTUALSCREEN, 1072 SM_CMONITORS, 1073 SM_SAMEDISPLAYFORMAT, 1074 SM_IMMENABLED, 1075 SM_CXFOCUSBORDER, 1076 SM_CYFOCUSBORDER, // = 84 1077 SM_TABLETPC = 86, 1078 SM_MEDIACENTER, 1079 SM_STARTER, // = 88 1080 SM_CMETRICS = 88, 1081 SM_SERVERR2, 1082 SM_REMOTESESSION = 0x1000, 1083 } 1084 static if (_WIN32_WINNT >= 0x501) { 1085 enum { // These are only for WinXP and later 1086 SM_SHUTTINGDOWN = 0x2000, 1087 SM_REMOTECONTROL = 0x2001 1088 } 1089 } 1090 1091 enum ARW_BOTTOMLEFT = 0; 1092 enum ARW_BOTTOMRIGHT = 1; 1093 enum ARW_HIDE = 8; 1094 enum ARW_TOPLEFT = 2; 1095 enum ARW_TOPRIGHT = 3; 1096 enum ARW_DOWN = 4; 1097 enum ARW_LEFT = 0; 1098 enum ARW_RIGHT = 0; 1099 enum ARW_UP = 4; 1100 1101 enum UOI_FLAGS = 1; 1102 enum UOI_NAME = 2; 1103 enum UOI_TYPE = 3; 1104 enum UOI_USER_SID = 4; 1105 1106 // For the fuLoad parameter of LoadImage() 1107 enum : UINT { 1108 LR_DEFAULTCOLOR = 0, 1109 LR_MONOCHROME = 0x0001, 1110 LR_COLOR = 0x0002, 1111 LR_COPYRETURNORG = 0x0004, 1112 LR_COPYDELETEORG = 0x0008, 1113 LR_LOADFROMFILE = 0x0010, 1114 LR_LOADTRANSPARENT = 0x0020, 1115 LR_DEFAULTSIZE = 0x0040, 1116 LR_VGACOLOR = 0x0080, 1117 LR_LOADREALSIZE = 0x0080, 1118 LR_LOADMAP3DCOLORS = 0x1000, 1119 LR_CREATEDIBSECTION = 0x2000, 1120 LR_COPYFROMRESOURCE = 0x4000, 1121 LR_SHARED = 0x8000 1122 } 1123 1124 enum { 1125 KEYEVENTF_EXTENDEDKEY = 1, 1126 KEYEVENTF_KEYUP = 2, 1127 KEYEVENTF_UNICODE = 4, 1128 KEYEVENTF_SCANCODE = 8 1129 } 1130 1131 enum OBM_BTNCORNERS = 32758; 1132 enum OBM_BTSIZE = 32761; 1133 enum OBM_CHECK = 32760; 1134 enum OBM_CHECKBOXES = 32759; 1135 enum OBM_CLOSE = 32754; 1136 enum OBM_COMBO = 32738; 1137 enum OBM_DNARROW = 32752; 1138 enum OBM_DNARROWD = 32742; 1139 enum OBM_DNARROWI = 32736; 1140 enum OBM_LFARROW = 32750; 1141 enum OBM_LFARROWI = 32734; 1142 enum OBM_LFARROWD = 32740; 1143 enum OBM_MNARROW = 32739; 1144 enum OBM_OLD_CLOSE = 32767; 1145 enum OBM_OLD_DNARROW = 32764; 1146 enum OBM_OLD_LFARROW = 32762; 1147 enum OBM_OLD_REDUCE = 32757; 1148 enum OBM_OLD_RESTORE = 32755; 1149 enum OBM_OLD_RGARROW = 32763; 1150 enum OBM_OLD_UPARROW = 32765; 1151 enum OBM_OLD_ZOOM = 32756; 1152 enum OBM_REDUCE = 32749; 1153 enum OBM_REDUCED = 32746; 1154 enum OBM_RESTORE = 32747; 1155 enum OBM_RESTORED = 32744; 1156 enum OBM_RGARROW = 32751; 1157 enum OBM_RGARROWD = 32741; 1158 enum OBM_RGARROWI = 32735; 1159 enum OBM_SIZE = 32766; 1160 enum OBM_UPARROW = 32753; 1161 enum OBM_UPARROWD = 32743; 1162 enum OBM_UPARROWI = 32737; 1163 enum OBM_ZOOM = 32748; 1164 enum OBM_ZOOMD = 32745; 1165 1166 enum OCR_NORMAL = 32512; 1167 enum OCR_IBEAM = 32513; 1168 enum OCR_WAIT = 32514; 1169 enum OCR_CROSS = 32515; 1170 enum OCR_UP = 32516; 1171 enum OCR_SIZE = 32640; 1172 enum OCR_ICON = 32641; 1173 enum OCR_SIZENWSE = 32642; 1174 enum OCR_SIZENESW = 32643; 1175 enum OCR_SIZEWE = 32644; 1176 enum OCR_SIZENS = 32645; 1177 enum OCR_SIZEALL = 32646; 1178 enum OCR_NO = 32648; 1179 enum OCR_APPSTARTING = 32650; 1180 1181 enum OIC_SAMPLE = 32512; 1182 enum OIC_HAND = 32513; 1183 enum OIC_QUES = 32514; 1184 enum OIC_BANG = 32515; 1185 enum OIC_NOTE = 32516; 1186 enum OIC_WINLOGO = 32517; 1187 enum OIC_WARNING = OIC_BANG; 1188 enum OIC_ERROR = OIC_HAND; 1189 enum OIC_INFORMATION = OIC_NOTE; 1190 1191 enum HELPINFO_MENUITEM = 2; 1192 enum HELPINFO_WINDOW = 1; 1193 1194 static if (_WIN32_WINNT >= 0x501) { 1195 enum { 1196 WTS_CONSOLE_CONNECT = 1, 1197 WTS_CONSOLE_DISCONNECT, 1198 WTS_REMOTE_CONNECT, 1199 WTS_REMOTE_DISCONNECT, 1200 WTS_SESSION_LOGON, 1201 WTS_SESSION_LOGOFF, 1202 WTS_SESSION_LOCK, 1203 WTS_SESSION_UNLOCK, 1204 WTS_SESSION_REMOTE_CONTROL // = 9 1205 } 1206 } 1207 1208 enum MSGF_DIALOGBOX = 0; 1209 enum MSGF_MESSAGEBOX = 1; 1210 enum MSGF_MENU = 2; 1211 enum MSGF_MOVE = 3; 1212 enum MSGF_SIZE = 4; 1213 enum MSGF_SCROLLBAR = 5; 1214 enum MSGF_NEXTWINDOW = 6; 1215 enum MSGF_MAINLOOP = 8; 1216 enum MSGF_USER = 4096; 1217 1218 enum { 1219 MOUSEEVENTF_MOVE = 0x0001, 1220 MOUSEEVENTF_LEFTDOWN = 0x0002, 1221 MOUSEEVENTF_LEFTUP = 0x0004, 1222 MOUSEEVENTF_RIGHTDOWN = 0x0008, 1223 MOUSEEVENTF_RIGHTUP = 0x0010, 1224 MOUSEEVENTF_MIDDLEDOWN = 0x0020, 1225 MOUSEEVENTF_MIDDLEUP = 0x0040, 1226 MOUSEEVENTF_XDOWN = 0x0080, 1227 MOUSEEVENTF_XUP = 0x0100, 1228 MOUSEEVENTF_WHEEL = 0x0800, 1229 MOUSEEVENTF_ABSOLUTE = 0x8000 1230 } 1231 1232 enum PM_NOREMOVE = 0; 1233 enum PM_REMOVE = 1; 1234 enum PM_NOYIELD = 2; 1235 1236 enum : HWND { 1237 HWND_BROADCAST = cast(HWND) 0xFFFF, 1238 HWND_MESSAGE = cast(HWND) -3, 1239 HWND_NOTOPMOST = cast(HWND) -2, 1240 HWND_TOPMOST = cast(HWND) -1, 1241 HWND_TOP = cast(HWND) 0, 1242 HWND_DESKTOP = cast(HWND) 0, 1243 HWND_BOTTOM = cast(HWND) 1 1244 } 1245 1246 enum RDW_INVALIDATE = 1; 1247 enum RDW_INTERNALPAINT = 2; 1248 enum RDW_ERASE = 4; 1249 enum RDW_VALIDATE = 8; 1250 enum RDW_NOINTERNALPAINT = 16; 1251 enum RDW_NOERASE = 32; 1252 enum RDW_NOCHILDREN = 64; 1253 enum RDW_ALLCHILDREN = 128; 1254 enum RDW_UPDATENOW = 256; 1255 enum RDW_ERASENOW = 512; 1256 enum RDW_FRAME = 1024; 1257 enum RDW_NOFRAME = 2048; 1258 1259 enum { 1260 SMTO_NORMAL = 0, 1261 SMTO_BLOCK = 1, 1262 SMTO_ABORTIFHUNG = 2, 1263 SMTO_NOTIMEOUTIFNOTHUNG = 8 1264 } 1265 1266 enum SIF_ALL = 23; 1267 enum SIF_PAGE = 2; 1268 enum SIF_POS = 4; 1269 enum SIF_RANGE = 1; 1270 enum SIF_DISABLENOSCROLL = 8; 1271 enum SIF_TRACKPOS = 16; 1272 1273 enum SWP_DRAWFRAME = 32; 1274 enum SWP_FRAMECHANGED = 32; 1275 enum SWP_HIDEWINDOW = 128; 1276 enum SWP_NOACTIVATE = 16; 1277 enum SWP_NOCOPYBITS = 256; 1278 enum SWP_NOMOVE = 2; 1279 enum SWP_NOSIZE = 1; 1280 enum SWP_NOREDRAW = 8; 1281 enum SWP_NOZORDER = 4; 1282 enum SWP_SHOWWINDOW = 64; 1283 enum SWP_NOOWNERZORDER = 512; 1284 enum SWP_NOREPOSITION = 512; 1285 enum SWP_NOSENDCHANGING = 1024; 1286 enum SWP_DEFERERASE = 8192; 1287 enum SWP_ASYNCWINDOWPOS = 16384; 1288 1289 enum { // passed variously as int or WPARAM 1290 HSHELL_WINDOWCREATED = 1, 1291 HSHELL_WINDOWDESTROYED, 1292 HSHELL_ACTIVATESHELLWINDOW, 1293 HSHELL_WINDOWACTIVATED, 1294 HSHELL_GETMINRECT, 1295 HSHELL_REDRAW, 1296 HSHELL_TASKMAN, 1297 HSHELL_LANGUAGE, // = 8 1298 HSHELL_ENDTASK = 10, 1299 HSHELL_ACCESSIBILITYSTATE, 1300 HSHELL_APPCOMMAND, // = 12 1301 HSHELL_RUDEAPPACTIVATED = 32772, 1302 HSHELL_FLASH = 32774 1303 } 1304 1305 static if (_WIN32_WINNT >= 0x501) { 1306 enum { 1307 HSHELL_WINDOWREPLACED = 13, 1308 HSHELL_WINDOWREPLACING 1309 } 1310 } 1311 1312 enum { 1313 SPI_GETBEEP = 0x0001, 1314 SPI_SETBEEP = 0x0002, 1315 SPI_GETMOUSE = 0x0003, 1316 SPI_SETMOUSE = 0x0004, 1317 SPI_GETBORDER = 0x0005, 1318 SPI_SETBORDER = 0x0006, 1319 SPI_GETKEYBOARDSPEED = 0x000A, 1320 SPI_SETKEYBOARDSPEED = 0x000B, 1321 SPI_LANGDRIVER = 0x000C, 1322 SPI_ICONHORIZONTALSPACING = 0x000D, 1323 SPI_GETSCREENSAVETIMEOUT = 0x000E, 1324 SPI_SETSCREENSAVETIMEOUT = 0x000F, 1325 SPI_GETSCREENSAVEACTIVE = 0x0010, 1326 SPI_SETSCREENSAVEACTIVE = 0x0011, 1327 SPI_GETGRIDGRANULARITY = 0x0012, 1328 SPI_SETGRIDGRANULARITY = 0x0013, 1329 SPI_SETDESKWALLPAPER = 0x0014, 1330 SPI_SETDESKPATTERN = 0x0015, 1331 SPI_GETKEYBOARDDELAY = 0x0016, 1332 SPI_SETKEYBOARDDELAY = 0x0017, 1333 SPI_ICONVERTICALSPACING = 0x0018, 1334 SPI_GETICONTITLEWRAP = 0x0019, 1335 SPI_SETICONTITLEWRAP = 0x001A, 1336 SPI_GETMENUDROPALIGNMENT = 0x001B, 1337 SPI_SETMENUDROPALIGNMENT = 0x001C, 1338 SPI_SETDOUBLECLKWIDTH = 0x001D, 1339 SPI_SETDOUBLECLKHEIGHT = 0x001E, 1340 SPI_GETICONTITLELOGFONT = 0x001F, 1341 SPI_SETDOUBLECLICKTIME = 0x0020, 1342 SPI_SETMOUSEBUTTONSWAP = 0x0021, 1343 SPI_SETICONTITLELOGFONT = 0x0022, 1344 SPI_GETFASTTASKSWITCH = 0x0023, 1345 SPI_SETFASTTASKSWITCH = 0x0024, 1346 SPI_SETDRAGFULLWINDOWS = 0x0025, 1347 SPI_GETDRAGFULLWINDOWS = 0x0026, 1348 SPI_GETNONCLIENTMETRICS = 0x0029, 1349 SPI_SETNONCLIENTMETRICS = 0x002A, 1350 SPI_GETMINIMIZEDMETRICS = 0x002B, 1351 SPI_SETMINIMIZEDMETRICS = 0x002C, 1352 SPI_GETICONMETRICS = 0x002D, 1353 SPI_SETICONMETRICS = 0x002E, 1354 SPI_SETWORKAREA = 0x002F, 1355 SPI_GETWORKAREA = 0x0030, 1356 SPI_SETPENWINDOWS = 0x0031, 1357 SPI_GETFILTERKEYS = 0x0032, 1358 SPI_SETFILTERKEYS = 0x0033, 1359 SPI_GETTOGGLEKEYS = 0x0034, 1360 SPI_SETTOGGLEKEYS = 0x0035, 1361 SPI_GETMOUSEKEYS = 0x0036, 1362 SPI_SETMOUSEKEYS = 0x0037, 1363 SPI_GETSHOWSOUNDS = 0x0038, 1364 SPI_SETSHOWSOUNDS = 0x0039, 1365 SPI_GETSTICKYKEYS = 0x003A, 1366 SPI_SETSTICKYKEYS = 0x003B, 1367 SPI_GETACCESSTIMEOUT = 0x003C, 1368 SPI_SETACCESSTIMEOUT = 0x003D, 1369 SPI_GETSERIALKEYS = 0x003E, 1370 SPI_SETSERIALKEYS = 0x003F, 1371 SPI_GETSOUNDSENTRY = 0x0040, 1372 SPI_SETSOUNDSENTRY = 0x0041, 1373 SPI_GETHIGHCONTRAST = 0x0042, 1374 SPI_SETHIGHCONTRAST = 0x0043, 1375 SPI_GETKEYBOARDPREF = 0x0044, 1376 SPI_SETKEYBOARDPREF = 0x0045, 1377 SPI_GETSCREENREADER = 0x0046, 1378 SPI_SETSCREENREADER = 0x0047, 1379 SPI_GETANIMATION = 0x0048, 1380 SPI_SETANIMATION = 0x0049, 1381 SPI_GETFONTSMOOTHING = 0x004A, 1382 SPI_SETFONTSMOOTHING = 0x004B, 1383 SPI_SETDRAGWIDTH = 0x004C, 1384 SPI_SETDRAGHEIGHT = 0x004D, 1385 SPI_SETHANDHELD = 0x004E, 1386 SPI_GETLOWPOWERTIMEOUT = 0x004F, 1387 SPI_GETPOWEROFFTIMEOUT = 0x0050, 1388 SPI_SETLOWPOWERTIMEOUT = 0x0051, 1389 SPI_SETPOWEROFFTIMEOUT = 0x0052, 1390 SPI_GETLOWPOWERACTIVE = 0x0053, 1391 SPI_GETPOWEROFFACTIVE = 0x0054, 1392 SPI_SETLOWPOWERACTIVE = 0x0055, 1393 SPI_SETPOWEROFFACTIVE = 0x0056, 1394 SPI_SETCURSORS = 0x0057, 1395 SPI_SETICONS = 0x0058, 1396 SPI_GETDEFAULTINPUTLANG = 0x0059, 1397 SPI_SETDEFAULTINPUTLANG = 0x005A, 1398 SPI_SETLANGTOGGLE = 0x005B, 1399 SPI_GETWINDOWSEXTENSION = 0x005C, 1400 SPI_SETMOUSETRAILS = 0x005D, 1401 SPI_GETMOUSETRAILS = 0x005E, 1402 SPI_GETSNAPTODEFBUTTON = 0x005F, 1403 SPI_SETSNAPTODEFBUTTON = 0x0060, 1404 //SPI_SCREENSAVERRUNNING = 0x0061, // mistake in older MinGW? 1405 SPI_SETSCREENSAVERRUNNING = 0x0061, 1406 SPI_GETMOUSEHOVERWIDTH = 0x0062, 1407 SPI_SETMOUSEHOVERWIDTH = 0x0063, 1408 SPI_GETMOUSEHOVERHEIGHT = 0x0064, 1409 SPI_SETMOUSEHOVERHEIGHT = 0x0065, 1410 SPI_GETMOUSEHOVERTIME = 0x0066, 1411 SPI_SETMOUSEHOVERTIME = 0x0067, 1412 SPI_GETWHEELSCROLLLINES = 0x0068, 1413 SPI_SETWHEELSCROLLLINES = 0x0069, 1414 SPI_GETMENUSHOWDELAY = 0x006A, 1415 SPI_SETMENUSHOWDELAY = 0x006B, 1416 SPI_GETSHOWIMEUI = 0x006E, 1417 SPI_SETSHOWIMEUI = 0x006F, 1418 SPI_GETMOUSESPEED = 0x0070, 1419 SPI_SETMOUSESPEED = 0x0071, 1420 SPI_GETSCREENSAVERRUNNING = 0x0072, 1421 SPI_GETDESKWALLPAPER = 0x0073, 1422 SPI_GETACTIVEWINDOWTRACKING = 0x1000, 1423 SPI_SETACTIVEWINDOWTRACKING = 0x1001, 1424 SPI_GETMENUANIMATION = 0x1002, 1425 SPI_SETMENUANIMATION = 0x1003, 1426 SPI_GETCOMBOBOXANIMATION = 0x1004, 1427 SPI_SETCOMBOBOXANIMATION = 0x1005, 1428 SPI_GETLISTBOXSMOOTHSCROLLING = 0x1006, 1429 SPI_SETLISTBOXSMOOTHSCROLLING = 0x1007, 1430 SPI_GETGRADIENTCAPTIONS = 0x1008, 1431 SPI_SETGRADIENTCAPTIONS = 0x1009, 1432 SPI_GETKEYBOARDCUES = 0x100A, 1433 SPI_GETMENUUNDERLINES = SPI_GETKEYBOARDCUES, 1434 SPI_SETKEYBOARDCUES = 0x100B, 1435 SPI_SETMENUUNDERLINES = SPI_SETKEYBOARDCUES, 1436 SPI_GETACTIVEWNDTRKZORDER = 0x100C, 1437 SPI_SETACTIVEWNDTRKZORDER = 0x100D, 1438 SPI_GETHOTTRACKING = 0x100E, 1439 SPI_SETHOTTRACKING = 0x100F, 1440 SPI_GETMENUFADE = 0x1012, 1441 SPI_SETMENUFADE = 0x1013, 1442 SPI_GETSELECTIONFADE = 0x1014, 1443 SPI_SETSELECTIONFADE = 0x1015, 1444 SPI_GETTOOLTIPANIMATION = 0x1016, 1445 SPI_SETTOOLTIPANIMATION = 0x1017, 1446 SPI_GETTOOLTIPFADE = 0x1018, 1447 SPI_SETTOOLTIPFADE = 0x1019, 1448 SPI_GETCURSORSHADOW = 0x101A, 1449 SPI_SETCURSORSHADOW = 0x101B, 1450 SPI_GETBLOCKSENDINPUTRESETS = 0x1026, 1451 SPI_SETBLOCKSENDINPUTRESETS = 0x1027, 1452 SPI_GETUIEFFECTS = 0x103E, 1453 SPI_SETUIEFFECTS = 0x103F, 1454 SPI_GETFOREGROUNDLOCKTIMEOUT = 0x2000, 1455 SPI_SETFOREGROUNDLOCKTIMEOUT = 0x2001, 1456 SPI_GETACTIVEWNDTRKTIMEOUT = 0x2002, 1457 SPI_SETACTIVEWNDTRKTIMEOUT = 0x2003, 1458 SPI_GETFOREGROUNDFLASHCOUNT = 0x2004, 1459 SPI_SETFOREGROUNDFLASHCOUNT = 0x2005, 1460 SPI_GETCARETWIDTH = 0x2006, 1461 SPI_SETCARETWIDTH = 0x2007 1462 } 1463 1464 enum { 1465 SPIF_UPDATEINIFILE = 1, 1466 SPIF_SENDWININICHANGE = 2, 1467 SPIF_SENDCHANGE = SPIF_SENDWININICHANGE 1468 } 1469 1470 // [Redefined] ATF_ONOFFFEEDBACK = 2 1471 // [Redefined] ATF_TIMEOUTON = 1 1472 enum WM_APP = 32768; 1473 enum WM_ACTIVATE = 6; 1474 enum WM_ACTIVATEAPP = 28; 1475 enum WM_AFXFIRST = 864; 1476 enum WM_AFXLAST = 895; 1477 enum WM_ASKCBFORMATNAME = 780; 1478 enum WM_CANCELJOURNAL = 75; 1479 enum WM_CANCELMODE = 31; 1480 enum WM_CAPTURECHANGED = 533; 1481 enum WM_CHANGECBCHAIN = 781; 1482 enum WM_CHAR = 258; 1483 enum WM_CHARTOITEM = 47; 1484 enum WM_CHILDACTIVATE = 34; 1485 enum WM_CLEAR = 771; 1486 enum WM_CLOSE = 16; 1487 enum WM_COMMAND = 273; 1488 enum WM_COMMNOTIFY = 68; // obsolete 1489 enum WM_COMPACTING = 65; 1490 enum WM_COMPAREITEM = 57; 1491 enum WM_CONTEXTMENU = 123; 1492 enum WM_COPY = 769; 1493 enum WM_COPYDATA = 74; 1494 enum WM_CREATE = 1; 1495 enum WM_CTLCOLORBTN = 309; 1496 enum WM_CTLCOLORDLG = 310; 1497 enum WM_CTLCOLOREDIT = 307; 1498 enum WM_CTLCOLORLISTBOX = 308; 1499 enum WM_CTLCOLORMSGBOX = 306; 1500 enum WM_CTLCOLORSCROLLBAR = 311; 1501 enum WM_CTLCOLORSTATIC = 312; 1502 enum WM_CUT = 768; 1503 enum WM_DEADCHAR = 259; 1504 enum WM_DELETEITEM = 45; 1505 enum WM_DESTROY = 2; 1506 enum WM_DESTROYCLIPBOARD = 775; 1507 enum WM_DEVICECHANGE = 537; 1508 enum WM_DEVMODECHANGE = 27; 1509 enum WM_DISPLAYCHANGE = 126; 1510 enum WM_DRAWCLIPBOARD = 776; 1511 enum WM_DRAWITEM = 43; 1512 enum WM_DROPFILES = 563; 1513 enum WM_ENABLE = 10; 1514 enum WM_ENDSESSION = 22; 1515 enum WM_ENTERIDLE = 289; 1516 enum WM_ENTERMENULOOP = 529; 1517 enum WM_ENTERSIZEMOVE = 561; 1518 enum WM_ERASEBKGND = 20; 1519 enum WM_EXITMENULOOP = 530; 1520 enum WM_EXITSIZEMOVE = 562; 1521 enum WM_FONTCHANGE = 29; 1522 enum WM_GETDLGCODE = 135; 1523 enum WM_GETFONT = 49; 1524 enum WM_GETHOTKEY = 51; 1525 enum WM_GETICON = 127; 1526 enum WM_GETMINMAXINFO = 36; 1527 enum WM_GETTEXT = 13; 1528 enum WM_GETTEXTLENGTH = 14; 1529 enum WM_HANDHELDFIRST = 856; 1530 enum WM_HANDHELDLAST = 863; 1531 enum WM_HELP = 83; 1532 enum WM_HOTKEY = 786; 1533 enum WM_HSCROLL = 276; 1534 enum WM_HSCROLLCLIPBOARD = 782; 1535 enum WM_ICONERASEBKGND = 39; 1536 enum WM_INITDIALOG = 272; 1537 enum WM_INITMENU = 278; 1538 enum WM_INITMENUPOPUP = 279; 1539 enum WM_INPUTLANGCHANGE = 81; 1540 enum WM_INPUTLANGCHANGEREQUEST = 80; 1541 enum WM_KEYDOWN = 256; 1542 enum WM_KEYUP = 257; 1543 enum WM_KILLFOCUS = 8; 1544 enum WM_MDIACTIVATE = 546; 1545 enum WM_MDICASCADE = 551; 1546 enum WM_MDICREATE = 544; 1547 enum WM_MDIDESTROY = 545; 1548 enum WM_MDIGETACTIVE = 553; 1549 enum WM_MDIICONARRANGE = 552; 1550 enum WM_MDIMAXIMIZE = 549; 1551 enum WM_MDINEXT = 548; 1552 enum WM_MDIREFRESHMENU = 564; 1553 enum WM_MDIRESTORE = 547; 1554 enum WM_MDISETMENU = 560; 1555 enum WM_MDITILE = 550; 1556 enum WM_MEASUREITEM = 44; 1557 enum WM_UNINITMENUPOPUP = 0x0125; 1558 enum WM_MENURBUTTONUP = 290; 1559 enum WM_MENUCOMMAND = 0x0126; 1560 enum WM_MENUGETOBJECT = 0x0124; 1561 enum WM_MENUDRAG = 0x0123; 1562 1563 enum WM_CHANGEUISTATE = 0x0127; 1564 enum WM_UPDATEUISTATE = 0x0128; 1565 enum WM_QUERYUISTATE = 0x0129; 1566 1567 // LOWORD(wParam) values in WM_*UISTATE* 1568 enum { 1569 UIS_SET = 1, 1570 UIS_CLEAR = 2, 1571 UIS_INITIALIZE = 3 1572 } 1573 1574 // HIWORD(wParam) values in WM_*UISTATE* 1575 enum { 1576 UISF_HIDEFOCUS = 0x1, 1577 UISF_HIDEACCEL = 0x2 1578 } 1579 1580 1581 static if (_WIN32_WINNT >= 0x501) { 1582 1583 // HIWORD(wParam) values in WM_*UISTATE* 1584 enum { 1585 UISF_ACTIVE = 0x4 1586 } 1587 1588 } 1589 1590 enum WM_MENUCHAR = 288; 1591 enum WM_MENUSELECT = 287; 1592 enum WM_MOVE = 3; 1593 enum WM_MOVING = 534; 1594 enum WM_NCACTIVATE = 134; 1595 enum WM_NCCALCSIZE = 131; 1596 enum WM_NCCREATE = 129; 1597 enum WM_NCDESTROY = 130; 1598 enum WM_NCHITTEST = 132; 1599 enum WM_NCLBUTTONDBLCLK = 163; 1600 enum WM_NCLBUTTONDOWN = 161; 1601 enum WM_NCLBUTTONUP = 162; 1602 enum WM_NCMBUTTONDBLCLK = 169; 1603 enum WM_NCMBUTTONDOWN = 167; 1604 enum WM_NCMBUTTONUP = 168; 1605 enum WM_NCXBUTTONDOWN = 171; 1606 enum WM_NCXBUTTONUP = 172; 1607 enum WM_NCXBUTTONDBLCLK = 173; 1608 enum WM_NCMOUSEHOVER = 0x02A0; 1609 enum WM_NCMOUSELEAVE = 0x02A2; 1610 enum WM_NCMOUSEMOVE = 160; 1611 enum WM_NCPAINT = 133; 1612 enum WM_NCRBUTTONDBLCLK = 166; 1613 enum WM_NCRBUTTONDOWN = 164; 1614 enum WM_NCRBUTTONUP = 165; 1615 enum WM_NEXTDLGCTL = 40; 1616 enum WM_NEXTMENU = 531; 1617 enum WM_NOTIFY = 78; 1618 enum WM_NOTIFYFORMAT = 85; 1619 enum WM_NULL = 0; 1620 enum WM_PAINT = 15; 1621 enum WM_PAINTCLIPBOARD = 777; 1622 enum WM_PAINTICON = 38; 1623 enum WM_PALETTECHANGED = 785; 1624 enum WM_PALETTEISCHANGING = 784; 1625 enum WM_PARENTNOTIFY = 528; 1626 enum WM_PASTE = 770; 1627 enum WM_PENWINFIRST = 896; 1628 enum WM_PENWINLAST = 911; 1629 enum WM_POWER = 72; 1630 enum WM_POWERBROADCAST = 536; 1631 enum WM_PRINT = 791; 1632 enum WM_PRINTCLIENT = 792; 1633 enum WM_APPCOMMAND = 0x0319; 1634 enum WM_QUERYDRAGICON = 55; 1635 enum WM_QUERYENDSESSION = 17; 1636 enum WM_QUERYNEWPALETTE = 783; 1637 enum WM_QUERYOPEN = 19; 1638 enum WM_QUEUESYNC = 35; 1639 enum WM_QUIT = 18; 1640 enum WM_RENDERALLFORMATS = 774; 1641 enum WM_RENDERFORMAT = 773; 1642 enum WM_SETCURSOR = 32; 1643 enum WM_SETFOCUS = 7; 1644 enum WM_SETFONT = 48; 1645 enum WM_SETHOTKEY = 50; 1646 enum WM_SETICON = 128; 1647 enum WM_SETREDRAW = 11; 1648 enum WM_SETTEXT = 12; 1649 enum WM_SETTINGCHANGE = 26; 1650 enum WM_SHOWWINDOW = 24; 1651 enum WM_SIZE = 5; 1652 enum WM_SIZECLIPBOARD = 779; 1653 enum WM_SIZING = 532; 1654 enum WM_SPOOLERSTATUS = 42; 1655 enum WM_STYLECHANGED = 125; 1656 enum WM_STYLECHANGING = 124; 1657 enum WM_SYSCHAR = 262; 1658 enum WM_SYSCOLORCHANGE = 21; 1659 enum WM_SYSCOMMAND = 274; 1660 enum WM_SYSDEADCHAR = 263; 1661 enum WM_SYSKEYDOWN = 260; 1662 enum WM_SYSKEYUP = 261; 1663 static if (_WIN32_WINNT >= 0x501) { 1664 enum WM_TABLET_FIRST = 704; 1665 enum WM_TABLET_LAST = 735; 1666 } 1667 enum WM_TCARD = 82; 1668 enum WM_THEMECHANGED = 794; 1669 enum WM_TIMECHANGE = 30; 1670 enum WM_TIMER = 275; 1671 enum WM_UNDO = 772; 1672 enum WM_USER = 1024; 1673 enum WM_USERCHANGED = 84; 1674 enum WM_VKEYTOITEM = 46; 1675 enum WM_VSCROLL = 277; 1676 enum WM_VSCROLLCLIPBOARD = 778; 1677 enum WM_WINDOWPOSCHANGED = 71; 1678 enum WM_WINDOWPOSCHANGING = 70; 1679 enum WM_WININICHANGE = 26; 1680 static if (_WIN32_WINNT >= 0x501) { 1681 enum WM_WTSSESSION_CHANGE = 689; 1682 } 1683 enum WM_INPUT = 255; 1684 enum WM_KEYFIRST = 256; 1685 static if (_WIN32_WINNT >= 0x501) { 1686 enum WM_UNICHAR = 265; 1687 enum WM_KEYLAST = 265; 1688 enum UNICODE_NOCHAR = 0xFFFF; 1689 } else { 1690 enum WM_KEYLAST = 264; 1691 } 1692 enum WM_SYNCPAINT = 136; 1693 enum WM_MOUSEACTIVATE = 33; 1694 enum WM_MOUSEMOVE = 512; 1695 enum WM_LBUTTONDOWN = 513; 1696 enum WM_LBUTTONUP = 514; 1697 enum WM_LBUTTONDBLCLK = 515; 1698 enum WM_RBUTTONDOWN = 516; 1699 enum WM_RBUTTONUP = 517; 1700 enum WM_RBUTTONDBLCLK = 518; 1701 enum WM_MBUTTONDOWN = 519; 1702 enum WM_MBUTTONUP = 520; 1703 enum WM_MBUTTONDBLCLK = 521; 1704 enum WM_MOUSEWHEEL = 522; 1705 enum WM_MOUSEFIRST = 512; 1706 static if (_WIN32_WINNT >= 0x501) { 1707 enum WM_XBUTTONDOWN = 523; 1708 enum WM_XBUTTONUP = 524; 1709 enum WM_XBUTTONDBLCLK = 525; 1710 } 1711 static if (_WIN32_WINNT >= 0x600) { // FIXME: where did this come from? what version is it? 1712 enum WM_MOUSEHWHEEL = 526; 1713 } 1714 1715 static if (_WIN32_WINNT >= 0x600) { 1716 enum WM_MOUSELAST = WM_MOUSEHWHEEL; 1717 } else static if (_WIN32_WINNT >= 0x501) { 1718 enum WM_MOUSELAST = WM_XBUTTONDBLCLK; 1719 } else { 1720 enum WM_MOUSELAST = WM_MOUSEWHEEL; 1721 } 1722 1723 enum WM_MOUSEHOVER = 0x2A1; 1724 enum WM_MOUSELEAVE = 0x2A3; 1725 1726 enum WHEEL_DELTA = 120; 1727 1728 SHORT GET_WHEEL_DELTA_WPARAM()(WPARAM wparam) { 1729 return cast(SHORT) HIWORD(wparam); 1730 } 1731 1732 enum WHEEL_PAGESCROLL = uint.max; 1733 1734 enum BM_CLICK = 245; 1735 enum BM_GETCHECK = 240; 1736 enum BM_GETIMAGE = 246; 1737 enum BM_GETSTATE = 242; 1738 enum BM_SETCHECK = 241; 1739 enum BM_SETIMAGE = 247; 1740 static if (_WIN32_WINNT >= 0x600) { 1741 enum BM_SETDONTCLICK = 248; 1742 } 1743 enum BM_SETSTATE = 243; 1744 enum BM_SETSTYLE = 244; 1745 enum BN_CLICKED = 0; 1746 enum BN_DBLCLK = 5; 1747 enum BN_DISABLE = 4; 1748 enum BN_DOUBLECLICKED = 5; 1749 enum BN_HILITE = 2; 1750 enum BN_KILLFOCUS = 7; 1751 enum BN_PAINT = 1; 1752 enum BN_PUSHED = 2; 1753 enum BN_SETFOCUS = 6; 1754 enum BN_UNHILITE = 3; 1755 enum BN_UNPUSHED = 3; 1756 enum CB_ADDSTRING = 323; 1757 enum CB_DELETESTRING = 324; 1758 enum CB_DIR = 325; 1759 enum CB_FINDSTRING = 332; 1760 enum CB_FINDSTRINGEXACT = 344; 1761 enum CB_GETCOUNT = 326; 1762 enum CB_GETCURSEL = 327; 1763 enum CB_GETDROPPEDCONTROLRECT = 338; 1764 enum CB_GETDROPPEDSTATE = 343; 1765 enum CB_GETDROPPEDWIDTH = 351; 1766 enum CB_GETEDITSEL = 320; 1767 enum CB_GETEXTENDEDUI = 342; 1768 enum CB_GETHORIZONTALEXTENT = 349; 1769 enum CB_GETITEMDATA = 336; 1770 enum CB_GETITEMHEIGHT = 340; 1771 enum CB_GETLBTEXT = 328; 1772 enum CB_GETLBTEXTLEN = 329; 1773 enum CB_GETLOCALE = 346; 1774 enum CB_GETTOPINDEX = 347; 1775 enum CB_INITSTORAGE = 353; 1776 enum CB_INSERTSTRING = 330; 1777 enum CB_LIMITTEXT = 321; 1778 enum CB_RESETCONTENT = 331; 1779 enum CB_SELECTSTRING = 333; 1780 enum CB_SETCURSEL = 334; 1781 enum CB_SETDROPPEDWIDTH = 352; 1782 enum CB_SETEDITSEL = 322; 1783 enum CB_SETEXTENDEDUI = 341; 1784 enum CB_SETHORIZONTALEXTENT = 350; 1785 enum CB_SETITEMDATA = 337; 1786 enum CB_SETITEMHEIGHT = 339; 1787 enum CB_SETLOCALE = 345; 1788 enum CB_SETTOPINDEX = 348; 1789 enum CB_SHOWDROPDOWN = 335; 1790 1791 static if (_WIN32_WINNT >= 0x501) { 1792 enum CB_GETCOMBOBOXINFO = 356; 1793 } 1794 1795 enum CBN_CLOSEUP = 8; 1796 enum CBN_DBLCLK = 2; 1797 enum CBN_DROPDOWN = 7; 1798 enum CBN_EDITCHANGE = 5; 1799 enum CBN_EDITUPDATE = 6; 1800 enum CBN_ERRSPACE = (-1); 1801 enum CBN_KILLFOCUS = 4; 1802 enum CBN_SELCHANGE = 1; 1803 enum CBN_SELENDCANCEL = 10; 1804 enum CBN_SELENDOK = 9; 1805 enum CBN_SETFOCUS = 3; 1806 1807 enum EM_CANUNDO = 198; 1808 enum EM_CHARFROMPOS = 215; 1809 enum EM_EMPTYUNDOBUFFER = 205; 1810 enum EM_FMTLINES = 200; 1811 enum EM_GETFIRSTVISIBLELINE = 206; 1812 enum EM_GETHANDLE = 189; 1813 enum EM_GETLIMITTEXT = 213; 1814 enum EM_GETLINE = 196; 1815 enum EM_GETLINECOUNT = 186; 1816 enum EM_GETMARGINS = 212; 1817 enum EM_GETMODIFY = 184; 1818 enum EM_GETPASSWORDCHAR = 210; 1819 enum EM_GETRECT = 178; 1820 enum EM_GETSEL = 176; 1821 enum EM_GETTHUMB = 190; 1822 enum EM_GETWORDBREAKPROC = 209; 1823 enum EM_LIMITTEXT = 197; 1824 enum EM_LINEFROMCHAR = 201; 1825 enum EM_LINEINDEX = 187; 1826 enum EM_LINELENGTH = 193; 1827 enum EM_LINESCROLL = 182; 1828 enum EM_POSFROMCHAR = 214; 1829 enum EM_REPLACESEL = 194; 1830 enum EM_SCROLL = 181; 1831 enum EM_SCROLLCARET = 183; 1832 enum EM_SETHANDLE = 188; 1833 enum EM_SETLIMITTEXT = 197; 1834 enum EM_SETMARGINS = 211; 1835 enum EM_SETMODIFY = 185; 1836 enum EM_SETPASSWORDCHAR = 204; 1837 enum EM_SETREADONLY = 207; 1838 enum EM_SETRECT = 179; 1839 enum EM_SETRECTNP = 180; 1840 enum EM_SETSEL = 177; 1841 enum EM_SETTABSTOPS = 203; 1842 enum EM_SETWORDBREAKPROC = 208; 1843 enum EM_UNDO = 199; 1844 1845 enum EM_SETIMESTATUS = 216; 1846 enum EM_GETIMESTATUS = 217; 1847 1848 enum EN_CHANGE = 768; 1849 enum EN_ERRSPACE = 1280; 1850 enum EN_HSCROLL = 1537; 1851 enum EN_KILLFOCUS = 512; 1852 enum EN_MAXTEXT = 1281; 1853 enum EN_SETFOCUS = 256; 1854 enum EN_UPDATE = 1024; 1855 enum EN_VSCROLL = 1538; 1856 1857 enum LB_ADDFILE = 406; 1858 enum LB_ADDSTRING = 384; 1859 enum LB_DELETESTRING = 386; 1860 enum LB_DIR = 397; 1861 enum LB_FINDSTRING = 399; 1862 enum LB_FINDSTRINGEXACT = 418; 1863 enum LB_GETANCHORINDEX = 413; 1864 enum LB_GETCARETINDEX = 415; 1865 enum LB_GETCOUNT = 395; 1866 enum LB_GETCURSEL = 392; 1867 enum LB_GETHORIZONTALEXTENT = 403; 1868 enum LB_GETITEMDATA = 409; 1869 enum LB_GETITEMHEIGHT = 417; 1870 enum LB_GETITEMRECT = 408; 1871 enum LB_GETLOCALE = 422; 1872 enum LB_GETSEL = 391; 1873 enum LB_GETSELCOUNT = 400; 1874 enum LB_GETSELITEMS = 401; 1875 enum LB_GETTEXT = 393; 1876 enum LB_GETTEXTLEN = 394; 1877 enum LB_GETTOPINDEX = 398; 1878 enum LB_INITSTORAGE = 424; 1879 enum LB_INSERTSTRING = 385; 1880 enum LB_ITEMFROMPOINT = 425; 1881 enum LB_RESETCONTENT = 388; 1882 enum LB_SELECTSTRING = 396; 1883 enum LB_SELITEMRANGE = 411; 1884 enum LB_SELITEMRANGEEX = 387; 1885 enum LB_SETANCHORINDEX = 412; 1886 enum LB_SETCARETINDEX = 414; 1887 enum LB_SETCOLUMNWIDTH = 405; 1888 enum LB_SETCOUNT = 423; 1889 enum LB_SETCURSEL = 390; 1890 enum LB_SETHORIZONTALEXTENT = 404; 1891 enum LB_SETITEMDATA = 410; 1892 enum LB_SETITEMHEIGHT = 416; 1893 enum LB_SETLOCALE = 421; 1894 enum LB_SETSEL = 389; 1895 enum LB_SETTABSTOPS = 402; 1896 enum LB_SETTOPINDEX = 407; 1897 static if (_WIN32_WINNT >= 0x501) { 1898 enum LB_GETLISTBOXINFO = 434; 1899 } 1900 1901 enum LBN_DBLCLK = 2; 1902 enum LBN_ERRSPACE = -2; 1903 enum LBN_KILLFOCUS = 5; 1904 enum LBN_SELCANCEL = 3; 1905 enum LBN_SELCHANGE = 1; 1906 enum LBN_SETFOCUS = 4; 1907 1908 enum SBM_ENABLE_ARROWS = 228; 1909 enum SBM_GETPOS = 225; 1910 enum SBM_GETRANGE = 227; 1911 enum SBM_GETSCROLLINFO = 234; 1912 enum SBM_SETPOS = 224; 1913 enum SBM_SETRANGE = 226; 1914 enum SBM_SETRANGEREDRAW = 230; 1915 enum SBM_SETSCROLLINFO = 233; 1916 static if (_WIN32_WINNT >= 0x501) { 1917 enum SBM_GETSCROLLBARINFO = 235; 1918 } 1919 1920 enum STM_GETICON = 369; 1921 enum STM_GETIMAGE = 371; 1922 enum STM_SETICON = 368; 1923 enum STM_SETIMAGE = 370; 1924 enum STN_CLICKED = 0; 1925 enum STN_DBLCLK = 1; 1926 enum STN_DISABLE = 3; 1927 enum STN_ENABLE = 2; 1928 enum STM_MSGMAX = 372; 1929 1930 enum DM_GETDEFID = WM_USER; 1931 enum DM_SETDEFID = WM_USER+1; 1932 enum DM_REPOSITION = WM_USER+2; 1933 1934 enum PSM_PAGEINFO = WM_USER+100; 1935 enum PSM_SHEETINFO = WM_USER+101; 1936 1937 enum PSI_SETACTIVE = 1; 1938 enum PSI_KILLACTIVE = 2; 1939 enum PSI_APPLY = 3; 1940 enum PSI_RESET = 4; 1941 enum PSI_HASHELP = 5; 1942 enum PSI_HELP = 6; 1943 enum PSI_CHANGED = 1; 1944 enum PSI_GUISTART = 2; 1945 enum PSI_REBOOT = 3; 1946 enum PSI_GETSIBLINGS = 4; 1947 1948 enum DCX_WINDOW = 1; 1949 enum DCX_CACHE = 2; 1950 enum DCX_PARENTCLIP = 32; 1951 enum DCX_CLIPSIBLINGS = 16; 1952 enum DCX_CLIPCHILDREN = 8; 1953 enum DCX_NORESETATTRS = 4; 1954 enum DCX_INTERSECTUPDATE = 0x200; 1955 enum DCX_LOCKWINDOWUPDATE = 0x400; 1956 enum DCX_EXCLUDERGN = 64; 1957 enum DCX_INTERSECTRGN = 128; 1958 enum DCX_EXCLUDEUPDATE = 256; 1959 enum DCX_VALIDATE = 0x200000; 1960 1961 enum GMDI_GOINTOPOPUPS = 2; 1962 enum GMDI_USEDISABLED = 1; 1963 enum FKF_AVAILABLE = 2; 1964 enum FKF_CLICKON = 64; 1965 enum FKF_FILTERKEYSON = 1; 1966 enum FKF_HOTKEYACTIVE = 4; 1967 enum FKF_HOTKEYSOUND = 16; 1968 enum FKF_CONFIRMHOTKEY = 8; 1969 enum FKF_INDICATOR = 32; 1970 enum HCF_HIGHCONTRASTON = 1; 1971 enum HCF_AVAILABLE = 2; 1972 enum HCF_HOTKEYACTIVE = 4; 1973 enum HCF_CONFIRMHOTKEY = 8; 1974 enum HCF_HOTKEYSOUND = 16; 1975 enum HCF_INDICATOR = 32; 1976 enum HCF_HOTKEYAVAILABLE = 64; 1977 enum MKF_AVAILABLE = 2; 1978 enum MKF_CONFIRMHOTKEY = 8; 1979 enum MKF_HOTKEYACTIVE = 4; 1980 enum MKF_HOTKEYSOUND = 16; 1981 enum MKF_INDICATOR = 32; 1982 enum MKF_MOUSEKEYSON = 1; 1983 enum MKF_MODIFIERS = 64; 1984 enum MKF_REPLACENUMBERS = 128; 1985 enum SERKF_ACTIVE = 8; // May be obsolete. Not in recent MS docs. 1986 enum SERKF_AVAILABLE = 2; 1987 enum SERKF_INDICATOR = 4; 1988 enum SERKF_SERIALKEYSON = 1; 1989 enum SSF_AVAILABLE = 2; 1990 enum SSF_SOUNDSENTRYON = 1; 1991 enum SSTF_BORDER = 2; 1992 enum SSTF_CHARS = 1; 1993 enum SSTF_DISPLAY = 3; 1994 enum SSTF_NONE = 0; 1995 enum SSGF_DISPLAY = 3; 1996 enum SSGF_NONE = 0; 1997 enum SSWF_CUSTOM = 4; 1998 enum SSWF_DISPLAY = 3; 1999 enum SSWF_NONE = 0; 2000 enum SSWF_TITLE = 1; 2001 enum SSWF_WINDOW = 2; 2002 enum SKF_AUDIBLEFEEDBACK = 64; 2003 enum SKF_AVAILABLE = 2; 2004 enum SKF_CONFIRMHOTKEY = 8; 2005 enum SKF_HOTKEYACTIVE = 4; 2006 enum SKF_HOTKEYSOUND = 16; 2007 enum SKF_INDICATOR = 32; 2008 enum SKF_STICKYKEYSON = 1; 2009 enum SKF_TRISTATE = 128; 2010 enum SKF_TWOKEYSOFF = 256; 2011 enum TKF_AVAILABLE = 2; 2012 enum TKF_CONFIRMHOTKEY = 8; 2013 enum TKF_HOTKEYACTIVE = 4; 2014 enum TKF_HOTKEYSOUND = 16; 2015 enum TKF_TOGGLEKEYSON = 1; 2016 enum MDITILE_SKIPDISABLED = 2; 2017 enum MDITILE_HORIZONTAL = 1; 2018 enum MDITILE_VERTICAL = 0; 2019 2020 enum { 2021 VK_LBUTTON = 0x01, 2022 VK_RBUTTON = 0x02, 2023 VK_CANCEL = 0x03, 2024 VK_MBUTTON = 0x04, 2025 VK_XBUTTON1 = 0x05, 2026 VK_XBUTTON2 = 0x06, 2027 VK_BACK = 0x08, 2028 VK_TAB = 0x09, 2029 VK_CLEAR = 0x0C, 2030 VK_RETURN = 0x0D, 2031 VK_SHIFT = 0x10, 2032 VK_CONTROL = 0x11, 2033 VK_MENU = 0x12, 2034 VK_PAUSE = 0x13, 2035 VK_CAPITAL = 0x14, 2036 VK_KANA = 0x15, 2037 VK_HANGEUL = 0x15, 2038 VK_HANGUL = 0x15, 2039 VK_JUNJA = 0x17, 2040 VK_FINAL = 0x18, 2041 VK_HANJA = 0x19, 2042 VK_KANJI = 0x19, 2043 VK_ESCAPE = 0x1B, 2044 VK_CONVERT = 0x1C, 2045 VK_NONCONVERT = 0x1D, 2046 VK_ACCEPT = 0x1E, 2047 VK_MODECHANGE = 0x1F, 2048 VK_SPACE = 0x20, 2049 VK_PRIOR = 0x21, 2050 VK_NEXT = 0x22, 2051 VK_END = 0x23, 2052 VK_HOME = 0x24, 2053 VK_LEFT = 0x25, 2054 VK_UP = 0x26, 2055 VK_RIGHT = 0x27, 2056 VK_DOWN = 0x28, 2057 VK_SELECT = 0x29, 2058 VK_PRINT = 0x2A, 2059 VK_EXECUTE = 0x2B, 2060 VK_SNAPSHOT = 0x2C, 2061 VK_INSERT = 0x2D, 2062 VK_DELETE = 0x2E, 2063 VK_HELP = 0x2F, 2064 VK_LWIN = 0x5B, 2065 VK_RWIN = 0x5C, 2066 VK_APPS = 0x5D, 2067 VK_SLEEP = 0x5F, 2068 VK_NUMPAD0 = 0x60, 2069 VK_NUMPAD1 = 0x61, 2070 VK_NUMPAD2 = 0x62, 2071 VK_NUMPAD3 = 0x63, 2072 VK_NUMPAD4 = 0x64, 2073 VK_NUMPAD5 = 0x65, 2074 VK_NUMPAD6 = 0x66, 2075 VK_NUMPAD7 = 0x67, 2076 VK_NUMPAD8 = 0x68, 2077 VK_NUMPAD9 = 0x69, 2078 VK_MULTIPLY = 0x6A, 2079 VK_ADD = 0x6B, 2080 VK_SEPARATOR = 0x6C, 2081 VK_SUBTRACT = 0x6D, 2082 VK_DECIMAL = 0x6E, 2083 VK_DIVIDE = 0x6F, 2084 VK_F1 = 0x70, 2085 VK_F2 = 0x71, 2086 VK_F3 = 0x72, 2087 VK_F4 = 0x73, 2088 VK_F5 = 0x74, 2089 VK_F6 = 0x75, 2090 VK_F7 = 0x76, 2091 VK_F8 = 0x77, 2092 VK_F9 = 0x78, 2093 VK_F10 = 0x79, 2094 VK_F11 = 0x7A, 2095 VK_F12 = 0x7B, 2096 VK_F13 = 0x7C, 2097 VK_F14 = 0x7D, 2098 VK_F15 = 0x7E, 2099 VK_F16 = 0x7F, 2100 VK_F17 = 0x80, 2101 VK_F18 = 0x81, 2102 VK_F19 = 0x82, 2103 VK_F20 = 0x83, 2104 VK_F21 = 0x84, 2105 VK_F22 = 0x85, 2106 VK_F23 = 0x86, 2107 VK_F24 = 0x87, 2108 VK_NUMLOCK = 0x90, 2109 VK_SCROLL = 0x91, 2110 VK_LSHIFT = 0xA0, 2111 VK_RSHIFT = 0xA1, 2112 VK_LCONTROL = 0xA2, 2113 VK_RCONTROL = 0xA3, 2114 VK_LMENU = 0xA4, 2115 VK_RMENU = 0xA5, 2116 VK_BROWSER_BACK = 0xA6, 2117 VK_BROWSER_FORWARD = 0xA7, 2118 VK_BROWSER_REFRESH = 0xA8, 2119 VK_BROWSER_STOP = 0xA9, 2120 VK_BROWSER_SEARCH = 0xAA, 2121 VK_BROWSER_FAVORITES = 0xAB, 2122 VK_BROWSER_HOME = 0xAC, 2123 VK_VOLUME_MUTE = 0xAD, 2124 VK_VOLUME_DOWN = 0xAE, 2125 VK_VOLUME_UP = 0xAF, 2126 VK_MEDIA_NEXT_TRACK = 0xB0, 2127 VK_MEDIA_PREV_TRACK = 0xB1, 2128 VK_MEDIA_STOP = 0xB2, 2129 VK_MEDIA_PLAY_PAUSE = 0xB3, 2130 VK_LAUNCH_MAIL = 0xB4, 2131 VK_LAUNCH_MEDIA_SELECT = 0xB5, 2132 VK_LAUNCH_APP1 = 0xB6, 2133 VK_LAUNCH_APP2 = 0xB7, 2134 VK_OEM_1 = 0xBA, 2135 VK_OEM_PLUS = 0xBB, 2136 VK_OEM_COMMA = 0xBC, 2137 VK_OEM_MINUS = 0xBD, 2138 VK_OEM_PERIOD = 0xBE, 2139 VK_OEM_2 = 0xBF, 2140 VK_OEM_3 = 0xC0, 2141 VK_OEM_4 = 0xDB, 2142 VK_OEM_5 = 0xDC, 2143 VK_OEM_6 = 0xDD, 2144 VK_OEM_7 = 0xDE, 2145 VK_OEM_8 = 0xDF, 2146 VK_OEM_102 = 0xE2, 2147 VK_PROCESSKEY = 0xE5, 2148 VK_PACKET = 0xE7, 2149 VK_ATTN = 0xF6, 2150 VK_CRSEL = 0xF7, 2151 VK_EXSEL = 0xF8, 2152 VK_EREOF = 0xF9, 2153 VK_PLAY = 0xFA, 2154 VK_ZOOM = 0xFB, 2155 VK_NONAME = 0xFC, 2156 VK_PA1 = 0xFD, 2157 VK_OEM_CLEAR = 0xFE, 2158 } 2159 2160 enum TME_HOVER = 1; 2161 enum TME_LEAVE = 2; 2162 enum TME_QUERY = 0x40000000; 2163 enum TME_CANCEL = 0x80000000; 2164 2165 enum HOVER_DEFAULT = 0xFFFFFFFF; 2166 2167 enum MK_LBUTTON = 1; 2168 enum MK_RBUTTON = 2; 2169 enum MK_SHIFT = 4; 2170 enum MK_CONTROL = 8; 2171 enum MK_MBUTTON = 16; 2172 enum MK_XBUTTON1 = 32; 2173 enum MK_XBUTTON2 = 64; 2174 2175 enum { 2176 TPM_RECURSE = 0x0001, 2177 TPM_LEFTBUTTON = 0, 2178 TPM_RIGHTBUTTON = 0x0002, 2179 TPM_LEFTALIGN = 0, 2180 TPM_CENTERALIGN = 0x0004, 2181 TPM_RIGHTALIGN = 0x0008, 2182 TPM_TOPALIGN = 0, 2183 TPM_VCENTERALIGN = 0x0010, 2184 TPM_BOTTOMALIGN = 0x0020, 2185 TPM_HORIZONTAL = 0, 2186 TPM_VERTICAL = 0x0040, 2187 TPM_NONOTIFY = 0x0080, 2188 TPM_RETURNCMD = 0x0100 2189 } 2190 2191 enum HELP_COMMAND = 0x102; 2192 enum HELP_CONTENTS = 3; 2193 enum HELP_CONTEXT = 1; 2194 enum HELP_CONTEXTPOPUP = 8; 2195 enum HELP_FORCEFILE = 9; 2196 enum HELP_HELPONHELP = 4; 2197 enum HELP_INDEX = 3; 2198 enum HELP_KEY = 0x101; 2199 enum HELP_MULTIKEY = 0x201; 2200 enum HELP_PARTIALKEY = 0x105; 2201 enum HELP_QUIT = 2; 2202 enum HELP_SETCONTENTS = 5; 2203 enum HELP_SETINDEX = 5; 2204 enum HELP_SETWINPOS = 0x203; 2205 enum HELP_CONTEXTMENU = 0xa; 2206 enum HELP_FINDER = 0xb; 2207 enum HELP_WM_HELP = 0xc; 2208 enum HELP_TCARD = 0x8000; 2209 enum HELP_TCARD_DATA = 16; 2210 enum HELP_TCARD_OTHER_CALLER = 0x11; 2211 2212 enum IDH_NO_HELP = 28440; 2213 enum IDH_MISSING_CONTEXT = 28441; 2214 enum IDH_GENERIC_HELP_BUTTON = 28442; 2215 enum IDH_OK = 28443; 2216 enum IDH_CANCEL = 28444; 2217 enum IDH_HELP = 28445; 2218 2219 enum LB_CTLCODE = 0; 2220 enum LB_OKAY = 0; 2221 enum LB_ERR = -1; 2222 enum LB_ERRSPACE = -2; 2223 2224 enum CB_OKAY = 0; 2225 enum CB_ERR = -1; 2226 enum CB_ERRSPACE = -2; 2227 2228 enum HIDE_WINDOW = 0; 2229 2230 enum SHOW_OPENWINDOW = 1; 2231 enum SHOW_ICONWINDOW = 2; 2232 enum SHOW_FULLSCREEN = 3; 2233 enum SHOW_OPENNOACTIVATE = 4; 2234 2235 enum KF_EXTENDED = 256; 2236 enum KF_DLGMODE = 2048; 2237 enum KF_MENUMODE = 4096; 2238 enum KF_ALTDOWN = 8192; 2239 enum KF_REPEAT = 16384; 2240 enum KF_UP = 32768; 2241 2242 enum WSF_VISIBLE = 1; 2243 2244 enum PWR_OK = 1; 2245 enum PWR_FAIL = -1; 2246 enum PWR_SUSPENDREQUEST = 1; 2247 enum PWR_SUSPENDRESUME = 2; 2248 enum PWR_CRITICALRESUME = 3; 2249 2250 enum NFR_ANSI = 1; 2251 enum NFR_UNICODE = 2; 2252 enum NF_QUERY = 3; 2253 enum NF_REQUERY = 4; 2254 2255 enum MENULOOP_WINDOW = 0; 2256 enum MENULOOP_POPUP = 1; 2257 2258 enum WMSZ_LEFT = 1; 2259 enum WMSZ_RIGHT = 2; 2260 enum WMSZ_TOP = 3; 2261 enum WMSZ_TOPLEFT = 4; 2262 enum WMSZ_TOPRIGHT = 5; 2263 enum WMSZ_BOTTOM = 6; 2264 enum WMSZ_BOTTOMLEFT = 7; 2265 enum WMSZ_BOTTOMRIGHT = 8; 2266 2267 enum HTERROR = -2; 2268 enum HTTRANSPARENT = -1; 2269 enum HTNOWHERE = 0; 2270 enum HTCLIENT = 1; 2271 enum HTCAPTION = 2; 2272 enum HTSYSMENU = 3; 2273 enum HTGROWBOX = 4; 2274 enum HTSIZE = 4; 2275 enum HTMENU = 5; 2276 enum HTHSCROLL = 6; 2277 enum HTVSCROLL = 7; 2278 enum HTMINBUTTON = 8; 2279 enum HTMAXBUTTON = 9; 2280 enum HTREDUCE = 8; 2281 enum HTZOOM = 9; 2282 enum HTLEFT = 10; 2283 enum HTSIZEFIRST = 10; 2284 enum HTRIGHT = 11; 2285 enum HTTOP = 12; 2286 enum HTTOPLEFT = 13; 2287 enum HTTOPRIGHT = 14; 2288 enum HTBOTTOM = 15; 2289 enum HTBOTTOMLEFT = 16; 2290 enum HTBOTTOMRIGHT = 17; 2291 enum HTSIZELAST = 17; 2292 enum HTBORDER = 18; 2293 enum HTOBJECT = 19; 2294 enum HTCLOSE = 20; 2295 enum HTHELP = 21; 2296 2297 enum MA_ACTIVATE = 1; 2298 enum MA_ACTIVATEANDEAT = 2; 2299 enum MA_NOACTIVATE = 3; 2300 enum MA_NOACTIVATEANDEAT = 4; 2301 2302 enum SIZE_RESTORED = 0; 2303 enum SIZE_MINIMIZED = 1; 2304 enum SIZE_MAXIMIZED = 2; 2305 enum SIZE_MAXSHOW = 3; 2306 enum SIZE_MAXHIDE = 4; 2307 2308 enum SIZENORMAL = 0; 2309 enum SIZEICONIC = 1; 2310 enum SIZEFULLSCREEN = 2; 2311 enum SIZEZOOMSHOW = 3; 2312 enum SIZEZOOMHIDE = 4; 2313 2314 enum WVR_ALIGNTOP = 16; 2315 enum WVR_ALIGNLEFT = 32; 2316 enum WVR_ALIGNBOTTOM = 64; 2317 enum WVR_ALIGNRIGHT = 128; 2318 enum WVR_HREDRAW = 256; 2319 enum WVR_VREDRAW = 512; 2320 enum WVR_REDRAW = (WVR_HREDRAW|WVR_VREDRAW); 2321 enum WVR_VALIDRECTS = 1024; 2322 2323 enum PRF_CHECKVISIBLE = 1; 2324 enum PRF_NONCLIENT = 2; 2325 enum PRF_CLIENT = 4; 2326 enum PRF_ERASEBKGND = 8; 2327 enum PRF_CHILDREN = 16; 2328 enum PRF_OWNED = 32; 2329 2330 enum IDANI_OPEN = 1; 2331 enum IDANI_CLOSE = 2; 2332 enum IDANI_CAPTION = 3; 2333 2334 enum WPF_RESTORETOMAXIMIZED = 2; 2335 enum WPF_SETMINPOSITION = 1; 2336 2337 enum ODT_MENU = 1; 2338 enum ODT_LISTBOX = 2; 2339 enum ODT_COMBOBOX = 3; 2340 enum ODT_BUTTON = 4; 2341 enum ODT_STATIC = 5; 2342 enum ODA_DRAWENTIRE = 1; 2343 enum ODA_SELECT = 2; 2344 enum ODA_FOCUS = 4; 2345 enum ODS_SELECTED = 1; 2346 enum ODS_GRAYED = 2; 2347 enum ODS_DISABLED = 4; 2348 enum ODS_CHECKED = 8; 2349 enum ODS_FOCUS = 16; 2350 enum ODS_DEFAULT = 32; 2351 enum ODS_COMBOBOXEDIT = 4096; 2352 2353 enum IDHOT_SNAPWINDOW = -1; 2354 enum IDHOT_SNAPDESKTOP = -2; 2355 2356 enum DBWF_LPARAMPOINTER = 0x8000; 2357 enum DLGWINDOWEXTRA = 30; 2358 enum MNC_IGNORE = 0; 2359 enum MNC_CLOSE = 1; 2360 enum MNC_EXECUTE = 2; 2361 enum MNC_SELECT = 3; 2362 enum DOF_EXECUTABLE = 0x8001; 2363 enum DOF_DOCUMENT = 0x8002; 2364 enum DOF_DIRECTORY = 0x8003; 2365 enum DOF_MULTIPLE = 0x8004; 2366 enum DOF_PROGMAN = 1; 2367 enum DOF_SHELLDATA = 2; 2368 enum DO_DROPFILE = 0x454C4946; 2369 enum DO_PRINTFILE = 0x544E5250; 2370 2371 enum SC_SIZE = 0xF000; 2372 enum SC_MOVE = 0xF010; 2373 enum SC_MINIMIZE = 0xF020; 2374 enum SC_ICON = 0xf020; 2375 enum SC_MAXIMIZE = 0xF030; 2376 enum SC_ZOOM = 0xF030; 2377 enum SC_NEXTWINDOW = 0xF040; 2378 enum SC_PREVWINDOW = 0xF050; 2379 enum SC_CLOSE = 0xF060; 2380 enum SC_VSCROLL = 0xF070; 2381 enum SC_HSCROLL = 0xF080; 2382 enum SC_MOUSEMENU = 0xF090; 2383 enum SC_KEYMENU = 0xF100; 2384 enum SC_ARRANGE = 0xF110; 2385 enum SC_RESTORE = 0xF120; 2386 enum SC_TASKLIST = 0xF130; 2387 enum SC_SCREENSAVE = 0xF140; 2388 enum SC_HOTKEY = 0xF150; 2389 enum SC_DEFAULT = 0xF160; 2390 enum SC_MONITORPOWER = 0xF170; 2391 enum SC_CONTEXTHELP = 0xF180; 2392 enum SC_SEPARATOR = 0xF00F; 2393 2394 enum EC_LEFTMARGIN = 1; 2395 enum EC_RIGHTMARGIN = 2; 2396 enum EC_USEFONTINFO = 0xffff; 2397 2398 enum DC_HASDEFID = 0x534B; 2399 2400 enum DLGC_WANTARROWS = 1; 2401 enum DLGC_WANTTAB = 2; 2402 enum DLGC_WANTALLKEYS = 4; 2403 enum DLGC_WANTMESSAGE = 4; 2404 enum DLGC_HASSETSEL = 8; 2405 enum DLGC_DEFPUSHBUTTON = 16; 2406 enum DLGC_UNDEFPUSHBUTTON = 32; 2407 enum DLGC_RADIOBUTTON = 64; 2408 enum DLGC_WANTCHARS = 128; 2409 enum DLGC_STATIC = 256; 2410 enum DLGC_BUTTON = 0x2000; 2411 2412 enum WA_INACTIVE = 0; 2413 enum WA_ACTIVE = 1; 2414 enum WA_CLICKACTIVE = 2; 2415 2416 enum ICON_SMALL = 0; 2417 enum ICON_BIG = 1; 2418 static if (_WIN32_WINNT >= 0x501) { 2419 enum ICON_SMALL2 = 2; 2420 } 2421 2422 enum HBITMAP 2423 HBMMENU_CALLBACK = cast(HBITMAP)-1, 2424 HBMMENU_SYSTEM = cast(HBITMAP)1, 2425 HBMMENU_MBAR_RESTORE = cast(HBITMAP)2, 2426 HBMMENU_MBAR_MINIMIZE = cast(HBITMAP)3, 2427 HBMMENU_MBAR_CLOSE = cast(HBITMAP)5, 2428 HBMMENU_MBAR_CLOSE_D = cast(HBITMAP)6, 2429 HBMMENU_MBAR_MINIMIZE_D = cast(HBITMAP)7, 2430 HBMMENU_POPUP_CLOSE = cast(HBITMAP)8, 2431 HBMMENU_POPUP_RESTORE = cast(HBITMAP)9, 2432 HBMMENU_POPUP_MAXIMIZE = cast(HBITMAP)10, 2433 HBMMENU_POPUP_MINIMIZE = cast(HBITMAP)11; 2434 2435 enum MOD_ALT = 1; 2436 enum MOD_CONTROL = 2; 2437 enum MOD_SHIFT = 4; 2438 enum MOD_WIN = 8; 2439 enum MOD_IGNORE_ALL_MODIFIER = 1024; 2440 enum MOD_ON_KEYUP = 2048; 2441 enum MOD_RIGHT = 16384; 2442 enum MOD_LEFT = 32768; 2443 2444 enum LLKHF_EXTENDED = (KF_EXTENDED >> 8); 2445 enum LLKHF_INJECTED = 0x00000010; 2446 enum LLKHF_ALTDOWN = (KF_ALTDOWN >> 8); 2447 enum LLKHF_UP = (KF_UP >> 8); 2448 2449 enum CURSOR_SHOWING = 0x00000001; 2450 enum WS_ACTIVECAPTION = 0x00000001; 2451 enum ENDSESSION_LOGOFF = 0x80000000; 2452 2453 enum GA_PARENT = 1; 2454 enum GA_ROOT = 2; 2455 enum GA_ROOTOWNER = 3; 2456 2457 enum { 2458 MAPVK_VK_TO_VSC, 2459 MAPVK_VSC_TO_VK, 2460 MAPVK_VK_TO_CHAR, 2461 MAPVK_VSC_TO_VK_EX, 2462 MAPVK_VK_TO_VSC_EX // = 4 2463 } 2464 2465 enum { 2466 INPUT_MOUSE, 2467 INPUT_KEYBOARD, 2468 INPUT_HARDWARE // = 2 2469 } 2470 2471 // Callbacks 2472 // --------- 2473 extern (Windows) nothrow { 2474 alias INT_PTR function(HWND, UINT, WPARAM, LPARAM) DLGPROC; 2475 alias void function(HWND, UINT, UINT_PTR, DWORD) TIMERPROC; 2476 alias BOOL function(HDC, LPARAM, int) GRAYSTRINGPROC; 2477 alias LRESULT function(int, WPARAM, LPARAM) HOOKPROC; 2478 alias BOOL function(HWND, LPCSTR, HANDLE) PROPENUMPROCA; 2479 alias BOOL function(HWND, LPCWSTR, HANDLE) PROPENUMPROCW; 2480 alias BOOL function(HWND, LPSTR, HANDLE, ULONG_PTR) PROPENUMPROCEXA; 2481 alias BOOL function(HWND, LPWSTR, HANDLE, ULONG_PTR) PROPENUMPROCEXW; 2482 alias int function(LPSTR, int, int, int) EDITWORDBREAKPROCA; 2483 alias int function(LPWSTR, int, int, int) EDITWORDBREAKPROCW; 2484 alias LRESULT function(HWND, UINT, WPARAM, LPARAM) WNDPROC; 2485 alias BOOL function(HDC, LPARAM, WPARAM, int, int) DRAWSTATEPROC; 2486 alias BOOL function(HWND, LPARAM) WNDENUMPROC; 2487 alias BOOL function(HWND, LPARAM) ENUMWINDOWSPROC; 2488 alias void function(LPHELPINFO) MSGBOXCALLBACK; 2489 2490 alias BOOL function(HMONITOR, HDC, LPRECT, LPARAM) MONITORENUMPROC; 2491 alias BOOL function(LPSTR, LPARAM) NAMEENUMPROCA; 2492 alias BOOL function(LPWSTR, LPARAM) NAMEENUMPROCW; 2493 alias void function(HWND, UINT, ULONG_PTR, LRESULT) SENDASYNCPROC; 2494 2495 alias NAMEENUMPROCA DESKTOPENUMPROCA; 2496 alias NAMEENUMPROCW DESKTOPENUMPROCW; 2497 alias NAMEENUMPROCA WINSTAENUMPROCA; 2498 alias NAMEENUMPROCW WINSTAENUMPROCW; 2499 } 2500 2501 mixin DECLARE_HANDLE!("HDWP"); 2502 mixin DECLARE_HANDLE!("HDEVNOTIFY"); 2503 2504 struct MENUGETOBJECTINFO { 2505 DWORD dwFlags; 2506 UINT uPos; 2507 HMENU hmenu; 2508 PVOID riid; 2509 PVOID pvObj; 2510 } 2511 alias MENUGETOBJECTINFO* PMENUGETOBJECTINFO; 2512 2513 struct ACCEL { 2514 BYTE fVirt; 2515 WORD key; 2516 WORD cmd; 2517 } 2518 alias ACCEL* LPACCEL; 2519 2520 struct ACCESSTIMEOUT { 2521 UINT cbSize = ACCESSTIMEOUT.sizeof; 2522 DWORD dwFlags; 2523 DWORD iTimeOutMSec; 2524 } 2525 alias ACCESSTIMEOUT* LPACCESSTIMEOUT; 2526 2527 struct ANIMATIONINFO { 2528 UINT cbSize = ANIMATIONINFO.sizeof; 2529 int iMinAnimate; 2530 } 2531 alias ANIMATIONINFO* LPANIMATIONINFO; 2532 2533 struct CREATESTRUCTA { 2534 LPVOID lpCreateParams; 2535 HINSTANCE hInstance; 2536 HMENU hMenu; 2537 HWND hwndParent; 2538 int cy; 2539 int cx; 2540 int y; 2541 int x; 2542 LONG style; 2543 LPCSTR lpszName; 2544 LPCSTR lpszClass; 2545 DWORD dwExStyle; 2546 } 2547 alias CREATESTRUCTA* LPCREATESTRUCTA; 2548 2549 struct CREATESTRUCTW { 2550 LPVOID lpCreateParams; 2551 HINSTANCE hInstance; 2552 HMENU hMenu; 2553 HWND hwndParent; 2554 int cy; 2555 int cx; 2556 int y; 2557 int x; 2558 LONG style; 2559 LPCWSTR lpszName; 2560 LPCWSTR lpszClass; 2561 DWORD dwExStyle; 2562 } 2563 alias CREATESTRUCTW* LPCREATESTRUCTW; 2564 2565 struct CBT_CREATEWNDA { 2566 LPCREATESTRUCTA lpcs; 2567 HWND hwndInsertAfter; 2568 } 2569 alias CBT_CREATEWNDA* LPCBT_CREATEWNDA; 2570 2571 struct CBT_CREATEWNDW { 2572 LPCREATESTRUCTW lpcs; 2573 HWND hwndInsertAfter; 2574 } 2575 alias CBT_CREATEWNDW* LPCBT_CREATEWNDW; 2576 2577 struct CBTACTIVATESTRUCT { 2578 BOOL fMouse; 2579 HWND hWndActive; 2580 } 2581 alias CBTACTIVATESTRUCT* LPCBTACTIVATESTRUCT; 2582 2583 static if (_WIN32_WINNT >= 0x501) { 2584 2585 struct WTSSESSION_NOTIFICATION 2586 { 2587 DWORD cbSize; 2588 DWORD dwSessionId; 2589 } 2590 alias WTSSESSION_NOTIFICATION* PWTSSESSION_NOTIFICATION; 2591 2592 } 2593 2594 struct CLIENTCREATESTRUCT { 2595 HANDLE hWindowMenu; 2596 UINT idFirstChild; 2597 } 2598 alias CLIENTCREATESTRUCT* LPCLIENTCREATESTRUCT; 2599 2600 struct COMPAREITEMSTRUCT { 2601 UINT CtlType; 2602 UINT CtlID; 2603 HWND hwndItem; 2604 UINT itemID1; 2605 ULONG_PTR itemData1; 2606 UINT itemID2; 2607 ULONG_PTR itemData2; 2608 DWORD dwLocaleId; 2609 } 2610 alias COMPAREITEMSTRUCT* LPCOMPAREITEMSTRUCT; 2611 2612 struct COPYDATASTRUCT { 2613 ULONG_PTR dwData; 2614 DWORD cbData; 2615 PVOID lpData; 2616 } 2617 alias COPYDATASTRUCT* PCOPYDATASTRUCT; 2618 2619 struct CURSORSHAPE { 2620 int xHotSpot; 2621 int yHotSpot; 2622 int cx; 2623 int cy; 2624 int cbWidth; 2625 BYTE Planes; 2626 BYTE BitsPixel; 2627 } 2628 alias CURSORSHAPE* LPCURSORSHAPE; 2629 2630 struct CWPRETSTRUCT { 2631 LRESULT lResult; 2632 LPARAM lParam; 2633 WPARAM wParam; 2634 DWORD message; 2635 HWND hwnd; 2636 } 2637 2638 struct CWPSTRUCT { 2639 LPARAM lParam; 2640 WPARAM wParam; 2641 UINT message; 2642 HWND hwnd; 2643 } 2644 alias CWPSTRUCT* PCWPSTRUCT; 2645 2646 struct DEBUGHOOKINFO { 2647 DWORD idThread; 2648 DWORD idThreadInstaller; 2649 LPARAM lParam; 2650 WPARAM wParam; 2651 int code; 2652 } 2653 alias DEBUGHOOKINFO* PDEBUGHOOKINFO, LPDEBUGHOOKINFO; 2654 2655 struct DELETEITEMSTRUCT { 2656 UINT CtlType; 2657 UINT CtlID; 2658 UINT itemID; 2659 HWND hwndItem; 2660 ULONG_PTR itemData; 2661 } 2662 alias DELETEITEMSTRUCT* PDELETEITEMSTRUCT, LPDELETEITEMSTRUCT; 2663 2664 align(2): 2665 struct DLGITEMTEMPLATE { 2666 DWORD style; 2667 DWORD dwExtendedStyle; 2668 short x; 2669 short y; 2670 short cx; 2671 short cy; 2672 WORD id; 2673 } 2674 alias DLGITEMTEMPLATE* LPDLGITEMTEMPLATE; 2675 2676 struct DLGTEMPLATE { 2677 DWORD style; 2678 DWORD dwExtendedStyle; 2679 WORD cdit; 2680 short x; 2681 short y; 2682 short cx; 2683 short cy; 2684 } 2685 alias DLGTEMPLATE* LPDLGTEMPLATE, LPDLGTEMPLATEA, LPDLGTEMPLATEW; 2686 alias const(DLGTEMPLATE)* LPCDLGTEMPLATE, LPCDLGTEMPLATEA, LPCDLGTEMPLATEW; 2687 2688 align: 2689 2690 struct DRAWITEMSTRUCT { 2691 UINT CtlType; 2692 UINT CtlID; 2693 UINT itemID; 2694 UINT itemAction; 2695 UINT itemState; 2696 HWND hwndItem; 2697 HDC hDC; 2698 RECT rcItem; 2699 ULONG_PTR itemData; 2700 } 2701 alias DRAWITEMSTRUCT* LPDRAWITEMSTRUCT, PDRAWITEMSTRUCT; 2702 2703 struct DRAWTEXTPARAMS { 2704 UINT cbSize = DRAWTEXTPARAMS.sizeof; 2705 int iTabLength; 2706 int iLeftMargin; 2707 int iRightMargin; 2708 UINT uiLengthDrawn; 2709 } 2710 alias DRAWTEXTPARAMS* LPDRAWTEXTPARAMS; 2711 2712 struct PAINTSTRUCT { 2713 HDC hdc; 2714 BOOL fErase; 2715 RECT rcPaint; 2716 BOOL fRestore; 2717 BOOL fIncUpdate; 2718 BYTE[32] rgbReserved; 2719 } 2720 alias PAINTSTRUCT* PPAINTSTRUCT, NPPAINTSTRUCT, LPPAINTSTRUCT; 2721 2722 struct MSG { 2723 HWND hwnd; 2724 UINT message; 2725 WPARAM wParam; 2726 LPARAM lParam; 2727 DWORD time; 2728 POINT pt; 2729 } 2730 alias MSG* NPMSG, LPMSG, PMSG; 2731 2732 struct ICONINFO { 2733 BOOL fIcon; 2734 DWORD xHotspot; 2735 DWORD yHotspot; 2736 HBITMAP hbmMask; 2737 HBITMAP hbmColor; 2738 } 2739 alias ICONINFO* PICONINFO; 2740 2741 struct NMHDR { 2742 HWND hwndFrom; 2743 UINT_PTR idFrom; 2744 UINT code; 2745 } 2746 alias NMHDR* LPNMHDR; 2747 2748 struct WNDCLASSA { 2749 UINT style; 2750 WNDPROC lpfnWndProc; 2751 int cbClsExtra; 2752 int cbWndExtra; 2753 HINSTANCE hInstance; 2754 HICON hIcon; 2755 HCURSOR hCursor; 2756 HBRUSH hbrBackground; 2757 LPCSTR lpszMenuName; 2758 LPCSTR lpszClassName; 2759 } 2760 alias WNDCLASSA* NPWNDCLASSA, LPWNDCLASSA, PWNDCLASSA; 2761 2762 struct WNDCLASSW { 2763 UINT style; 2764 WNDPROC lpfnWndProc; 2765 int cbClsExtra; 2766 int cbWndExtra; 2767 HINSTANCE hInstance; 2768 HICON hIcon; 2769 HCURSOR hCursor; 2770 HBRUSH hbrBackground; 2771 LPCWSTR lpszMenuName; 2772 LPCWSTR lpszClassName; 2773 } 2774 alias WNDCLASSW* NPWNDCLASSW, LPWNDCLASSW, PWNDCLASSW; 2775 2776 struct WNDCLASSEXA { 2777 UINT cbSize = WNDCLASSEXA.sizeof; 2778 UINT style; 2779 WNDPROC lpfnWndProc; 2780 int cbClsExtra; 2781 int cbWndExtra; 2782 HINSTANCE hInstance; 2783 HICON hIcon; 2784 HCURSOR hCursor; 2785 HBRUSH hbrBackground; 2786 LPCSTR lpszMenuName; 2787 LPCSTR lpszClassName; 2788 HICON hIconSm; 2789 } 2790 alias WNDCLASSEXA* NPWNDCLASSEXA, LPWNDCLASSEXA, PWNDCLASSEXA; 2791 2792 struct WNDCLASSEXW { 2793 UINT cbSize = WNDCLASSEXW.sizeof; 2794 UINT style; 2795 WNDPROC lpfnWndProc; 2796 int cbClsExtra; 2797 int cbWndExtra; 2798 HINSTANCE hInstance; 2799 HICON hIcon; 2800 HCURSOR hCursor; 2801 HBRUSH hbrBackground; 2802 LPCWSTR lpszMenuName; 2803 LPCWSTR lpszClassName; 2804 HICON hIconSm; 2805 } 2806 alias WNDCLASSEXW* LPWNDCLASSEXW, PWNDCLASSEXW; 2807 2808 struct MENUITEMINFOA { 2809 UINT cbSize = MENUITEMINFOA.sizeof; 2810 UINT fMask; 2811 UINT fType; 2812 UINT fState; 2813 UINT wID; 2814 HMENU hSubMenu; 2815 HBITMAP hbmpChecked; 2816 HBITMAP hbmpUnchecked; 2817 ULONG_PTR dwItemData; 2818 LPSTR dwTypeData; 2819 UINT cch; 2820 HBITMAP hbmpItem; 2821 } 2822 alias MENUITEMINFOA* LPMENUITEMINFOA; 2823 alias const(MENUITEMINFOA)* LPCMENUITEMINFOA; 2824 2825 struct MENUITEMINFOW { 2826 UINT cbSize = MENUITEMINFOW.sizeof; 2827 UINT fMask; 2828 UINT fType; 2829 UINT fState; 2830 UINT wID; 2831 HMENU hSubMenu; 2832 HBITMAP hbmpChecked; 2833 HBITMAP hbmpUnchecked; 2834 ULONG_PTR dwItemData; 2835 LPWSTR dwTypeData; 2836 UINT cch; 2837 HBITMAP hbmpItem; 2838 } 2839 alias MENUITEMINFOW* LPMENUITEMINFOW; 2840 alias const(MENUITEMINFOW)* LPCMENUITEMINFOW; 2841 2842 struct SCROLLINFO { 2843 UINT cbSize = this.sizeof; 2844 UINT fMask; 2845 int nMin; 2846 int nMax; 2847 UINT nPage; 2848 int nPos; 2849 int nTrackPos; 2850 } 2851 alias SCROLLINFO* LPSCROLLINFO; 2852 alias const(SCROLLINFO)* LPCSCROLLINFO; 2853 2854 struct WINDOWPLACEMENT { 2855 UINT length; 2856 UINT flags; 2857 UINT showCmd; 2858 POINT ptMinPosition; 2859 POINT ptMaxPosition; 2860 RECT rcNormalPosition; 2861 } 2862 alias WINDOWPLACEMENT* LPWINDOWPLACEMENT, PWINDOWPLACEMENT; 2863 2864 struct MENUITEMTEMPLATEHEADER { 2865 WORD versionNumber; 2866 WORD offset; 2867 } 2868 2869 struct MENUITEMTEMPLATE { 2870 WORD mtOption; 2871 WORD mtID; 2872 WCHAR[1] mtString = 0; 2873 } 2874 2875 alias void MENUTEMPLATE, MENUTEMPLATEA, MENUTEMPLATEW; 2876 2877 alias MENUTEMPLATE* LPMENUTEMPLATEA, LPMENUTEMPLATEW, LPMENUTEMPLATE; 2878 2879 struct HELPINFO { 2880 UINT cbSize = this.sizeof; 2881 int iContextType; 2882 int iCtrlId; 2883 HANDLE hItemHandle; 2884 DWORD_PTR dwContextId; 2885 POINT MousePos; 2886 } 2887 alias HELPINFO* LPHELPINFO; 2888 2889 struct MSGBOXPARAMSA { 2890 UINT cbSize = this.sizeof; 2891 HWND hwndOwner; 2892 HINSTANCE hInstance; 2893 LPCSTR lpszText; 2894 LPCSTR lpszCaption; 2895 DWORD dwStyle; 2896 LPCSTR lpszIcon; 2897 DWORD_PTR dwContextHelpId; 2898 MSGBOXCALLBACK lpfnMsgBoxCallback; 2899 DWORD dwLanguageId; 2900 } 2901 alias MSGBOXPARAMSA* PMSGBOXPARAMSA, LPMSGBOXPARAMSA; 2902 2903 struct MSGBOXPARAMSW { 2904 UINT cbSize = this.sizeof; 2905 HWND hwndOwner; 2906 HINSTANCE hInstance; 2907 LPCWSTR lpszText; 2908 LPCWSTR lpszCaption; 2909 DWORD dwStyle; 2910 LPCWSTR lpszIcon; 2911 DWORD_PTR dwContextHelpId; 2912 MSGBOXCALLBACK lpfnMsgBoxCallback; 2913 DWORD dwLanguageId; 2914 } 2915 alias MSGBOXPARAMSW* PMSGBOXPARAMSW, LPMSGBOXPARAMSW; 2916 2917 struct USEROBJECTFLAGS { 2918 BOOL fInherit; 2919 BOOL fReserved; 2920 DWORD dwFlags; 2921 } 2922 2923 struct FILTERKEYS { 2924 UINT cbSize = this.sizeof; 2925 DWORD dwFlags; 2926 DWORD iWaitMSec; 2927 DWORD iDelayMSec; 2928 DWORD iRepeatMSec; 2929 DWORD iBounceMSec; 2930 } 2931 2932 struct HIGHCONTRASTA { 2933 UINT cbSize = this.sizeof; 2934 DWORD dwFlags; 2935 LPSTR lpszDefaultScheme; 2936 } 2937 alias HIGHCONTRASTA* LPHIGHCONTRASTA; 2938 2939 struct HIGHCONTRASTW { 2940 UINT cbSize = this.sizeof; 2941 DWORD dwFlags; 2942 LPWSTR lpszDefaultScheme; 2943 } 2944 alias HIGHCONTRASTW* LPHIGHCONTRASTW; 2945 2946 struct ICONMETRICSA { 2947 UINT cbSize = this.sizeof; 2948 int iHorzSpacing; 2949 int iVertSpacing; 2950 int iTitleWrap; 2951 LOGFONTA lfFont; 2952 } 2953 alias ICONMETRICSA* LPICONMETRICSA; 2954 2955 struct ICONMETRICSW { 2956 UINT cbSize = this.sizeof; 2957 int iHorzSpacing; 2958 int iVertSpacing; 2959 int iTitleWrap; 2960 LOGFONTW lfFont; 2961 } 2962 alias ICONMETRICSW* LPICONMETRICSW; 2963 2964 struct MINIMIZEDMETRICS { 2965 UINT cbSize = this.sizeof; 2966 int iWidth; 2967 int iHorzGap; 2968 int iVertGap; 2969 int iArrange; 2970 } 2971 alias MINIMIZEDMETRICS* LPMINIMIZEDMETRICS; 2972 2973 struct MOUSEKEYS { 2974 UINT cbSize = this.sizeof; 2975 DWORD dwFlags; 2976 DWORD iMaxSpeed; 2977 DWORD iTimeToMaxSpeed; 2978 DWORD iCtrlSpeed; 2979 DWORD dwReserved1; 2980 DWORD dwReserved2; 2981 } 2982 alias MOUSEKEYS* LPMOUSEKEYS; 2983 2984 struct NONCLIENTMETRICSA { 2985 UINT cbSize = this.sizeof; 2986 int iBorderWidth; 2987 int iScrollWidth; 2988 int iScrollHeight; 2989 int iCaptionWidth; 2990 int iCaptionHeight; 2991 LOGFONTA lfCaptionFont; 2992 int iSmCaptionWidth; 2993 int iSmCaptionHeight; 2994 LOGFONTA lfSmCaptionFont; 2995 int iMenuWidth; 2996 int iMenuHeight; 2997 LOGFONTA lfMenuFont; 2998 LOGFONTA lfStatusFont; 2999 LOGFONTA lfMessageFont; 3000 } 3001 alias NONCLIENTMETRICSA* LPNONCLIENTMETRICSA; 3002 3003 struct NONCLIENTMETRICSW { 3004 UINT cbSize = this.sizeof; 3005 int iBorderWidth; 3006 int iScrollWidth; 3007 int iScrollHeight; 3008 int iCaptionWidth; 3009 int iCaptionHeight; 3010 LOGFONTW lfCaptionFont; 3011 int iSmCaptionWidth; 3012 int iSmCaptionHeight; 3013 LOGFONTW lfSmCaptionFont; 3014 int iMenuWidth; 3015 int iMenuHeight; 3016 LOGFONTW lfMenuFont; 3017 LOGFONTW lfStatusFont; 3018 LOGFONTW lfMessageFont; 3019 } 3020 alias NONCLIENTMETRICSW* LPNONCLIENTMETRICSW; 3021 3022 struct SERIALKEYSA { 3023 UINT cbSize = this.sizeof; 3024 DWORD dwFlags; 3025 LPSTR lpszActivePort; 3026 LPSTR lpszPort; 3027 UINT iBaudRate; 3028 UINT iPortState; 3029 UINT iActive; 3030 } 3031 alias SERIALKEYSA* LPSERIALKEYSA; 3032 3033 struct SERIALKEYSW { 3034 UINT cbSize = this.sizeof; 3035 DWORD dwFlags; 3036 LPWSTR lpszActivePort; 3037 LPWSTR lpszPort; 3038 UINT iBaudRate; 3039 UINT iPortState; 3040 UINT iActive; 3041 } 3042 alias SERIALKEYSW* LPSERIALKEYSW; 3043 3044 struct SOUNDSENTRYA { 3045 UINT cbSize = this.sizeof; 3046 DWORD dwFlags; 3047 DWORD iFSTextEffect; 3048 DWORD iFSTextEffectMSec; 3049 DWORD iFSTextEffectColorBits; 3050 DWORD iFSGrafEffect; 3051 DWORD iFSGrafEffectMSec; 3052 DWORD iFSGrafEffectColor; 3053 DWORD iWindowsEffect; 3054 DWORD iWindowsEffectMSec; 3055 LPSTR lpszWindowsEffectDLL; 3056 DWORD iWindowsEffectOrdinal; 3057 } 3058 alias SOUNDSENTRYA* LPSOUNDSENTRYA; 3059 3060 struct SOUNDSENTRYW { 3061 UINT cbSize = this.sizeof; 3062 DWORD dwFlags; 3063 DWORD iFSTextEffect; 3064 DWORD iFSTextEffectMSec; 3065 DWORD iFSTextEffectColorBits; 3066 DWORD iFSGrafEffect; 3067 DWORD iFSGrafEffectMSec; 3068 DWORD iFSGrafEffectColor; 3069 DWORD iWindowsEffect; 3070 DWORD iWindowsEffectMSec; 3071 LPWSTR lpszWindowsEffectDLL; 3072 DWORD iWindowsEffectOrdinal; 3073 } 3074 alias SOUNDSENTRYW* LPSOUNDSENTRYW; 3075 3076 struct STICKYKEYS { 3077 DWORD cbSize = this.sizeof; 3078 DWORD dwFlags; 3079 } 3080 alias STICKYKEYS* LPSTICKYKEYS; 3081 3082 struct TOGGLEKEYS { 3083 DWORD cbSize = this.sizeof; 3084 DWORD dwFlags; 3085 } 3086 3087 struct MOUSEHOOKSTRUCT { 3088 POINT pt; 3089 HWND hwnd; 3090 UINT wHitTestCode; 3091 ULONG_PTR dwExtraInfo; 3092 } 3093 alias MOUSEHOOKSTRUCT* LPMOUSEHOOKSTRUCT, PMOUSEHOOKSTRUCT; 3094 3095 struct TRACKMOUSEEVENT { 3096 DWORD cbSize = this.sizeof; 3097 DWORD dwFlags; 3098 HWND hwndTrack; 3099 DWORD dwHoverTime; 3100 } 3101 alias TRACKMOUSEEVENT* LPTRACKMOUSEEVENT; 3102 3103 struct TPMPARAMS { 3104 UINT cbSize = this.sizeof; 3105 RECT rcExclude; 3106 } 3107 alias TPMPARAMS* LPTPMPARAMS; 3108 3109 struct EVENTMSG { 3110 UINT message; 3111 UINT paramL; 3112 UINT paramH; 3113 DWORD time; 3114 HWND hwnd; 3115 } 3116 alias EVENTMSG* PEVENTMSGMSG, LPEVENTMSGMSG, PEVENTMSG, LPEVENTMSG; 3117 3118 struct WINDOWPOS { 3119 HWND hwnd; 3120 HWND hwndInsertAfter; 3121 int x; 3122 int y; 3123 int cx; 3124 int cy; 3125 UINT flags; 3126 } 3127 alias WINDOWPOS* PWINDOWPOS, LPWINDOWPOS; 3128 3129 struct NCCALCSIZE_PARAMS { 3130 RECT[3] rgrc; 3131 PWINDOWPOS lppos; 3132 } 3133 alias NCCALCSIZE_PARAMS* LPNCCALCSIZE_PARAMS; 3134 3135 struct MDICREATESTRUCTA { 3136 LPCSTR szClass; 3137 LPCSTR szTitle; 3138 HANDLE hOwner; 3139 int x; 3140 int y; 3141 int cx; 3142 int cy; 3143 DWORD style; 3144 LPARAM lParam; 3145 } 3146 alias MDICREATESTRUCTA* LPMDICREATESTRUCTA; 3147 3148 struct MDICREATESTRUCTW { 3149 LPCWSTR szClass; 3150 LPCWSTR szTitle; 3151 HANDLE hOwner; 3152 int x; 3153 int y; 3154 int cx; 3155 int cy; 3156 DWORD style; 3157 LPARAM lParam; 3158 } 3159 alias MDICREATESTRUCTW* LPMDICREATESTRUCTW; 3160 3161 struct MINMAXINFO { 3162 POINT ptReserved; 3163 POINT ptMaxSize; 3164 POINT ptMaxPosition; 3165 POINT ptMinTrackSize; 3166 POINT ptMaxTrackSize; 3167 } 3168 alias MINMAXINFO* PMINMAXINFO, LPMINMAXINFO; 3169 3170 struct MDINEXTMENU { 3171 HMENU hmenuIn; 3172 HMENU hmenuNext; 3173 HWND hwndNext; 3174 } 3175 alias MDINEXTMENU* PMDINEXTMENU, LPMDINEXTMENU; 3176 3177 struct MEASUREITEMSTRUCT { 3178 UINT CtlType; 3179 UINT CtlID; 3180 UINT itemID; 3181 UINT itemWidth; 3182 UINT itemHeight; 3183 ULONG_PTR itemData; 3184 } 3185 alias MEASUREITEMSTRUCT* PMEASUREITEMSTRUCT, LPMEASUREITEMSTRUCT; 3186 3187 struct DROPSTRUCT { 3188 HWND hwndSource; 3189 HWND hwndSink; 3190 DWORD wFmt; 3191 ULONG_PTR dwData; 3192 POINT ptDrop; 3193 DWORD dwControlData; 3194 } 3195 alias DROPSTRUCT* PDROPSTRUCT, LPDROPSTRUCT; 3196 3197 alias DWORD HELPPOLY; 3198 3199 struct MULTIKEYHELPA { 3200 DWORD mkSize; 3201 CHAR mkKeylist = 0; 3202 CHAR[1] szKeyphrase = 0; 3203 } 3204 alias MULTIKEYHELPA* PMULTIKEYHELPA, LPMULTIKEYHELPA; 3205 3206 struct MULTIKEYHELPW { 3207 DWORD mkSize; 3208 WCHAR mkKeylist = 0; 3209 WCHAR[1] szKeyphrase = 0; 3210 } 3211 alias MULTIKEYHELPW* PMULTIKEYHELPW, LPMULTIKEYHELPW; 3212 3213 struct HELPWININFOA { 3214 int wStructSize; 3215 int x; 3216 int y; 3217 int dx; 3218 int dy; 3219 int wMax; 3220 CHAR[2] rgchMember = 0; 3221 } 3222 alias HELPWININFOA* PHELPWININFOA, LPHELPWININFOA; 3223 3224 struct HELPWININFOW { 3225 int wStructSize; 3226 int x; 3227 int y; 3228 int dx; 3229 int dy; 3230 int wMax; 3231 WCHAR[2] rgchMember = 0; 3232 } 3233 alias HELPWININFOW* PHELPWININFOW, LPHELPWININFOW; 3234 3235 struct STYLESTRUCT { 3236 DWORD styleOld; 3237 DWORD styleNew; 3238 } 3239 alias STYLESTRUCT* LPSTYLESTRUCT; 3240 3241 struct ALTTABINFO { 3242 DWORD cbSize = this.sizeof; 3243 int cItems; 3244 int cColumns; 3245 int cRows; 3246 int iColFocus; 3247 int iRowFocus; 3248 int cxItem; 3249 int cyItem; 3250 POINT ptStart; 3251 } 3252 alias ALTTABINFO* PALTTABINFO, LPALTTABINFO; 3253 3254 struct COMBOBOXINFO { 3255 DWORD cbSize = this.sizeof; 3256 RECT rcItem; 3257 RECT rcButton; 3258 DWORD stateButton; 3259 HWND hwndCombo; 3260 HWND hwndItem; 3261 HWND hwndList; 3262 } 3263 alias COMBOBOXINFO* PCOMBOBOXINFO, LPCOMBOBOXINFO; 3264 3265 struct CURSORINFO { 3266 DWORD cbSize = this.sizeof; 3267 DWORD flags; 3268 HCURSOR hCursor; 3269 POINT ptScreenPos; 3270 } 3271 alias CURSORINFO* PCURSORINFO, LPCURSORINFO; 3272 3273 struct MENUBARINFO { 3274 DWORD cbSize = this.sizeof; 3275 RECT rcBar; 3276 HMENU hMenu; 3277 HWND hwndMenu; 3278 byte bf_; // Simulated bitfield 3279 // BOOL fBarFocused:1; 3280 // BOOL fFocused:1; 3281 bool fBarFocused()() { return (bf_ & 1) == 1; } 3282 bool fFocused()() { return (bf_ & 2) == 2; } 3283 bool fBarFocused()(bool b) { bf_ = cast(byte) ((bf_ & 0xFE) | b); return b; } 3284 bool fFocused()(bool b) { bf_ = cast(byte) (b ? (bf_ | 2) : bf_ & 0xFD); return b; } 3285 } 3286 alias MENUBARINFO* PMENUBARINFO; 3287 3288 struct MENUINFO { 3289 DWORD cbSize = this.sizeof; 3290 DWORD fMask; 3291 DWORD dwStyle; 3292 UINT cyMax; 3293 HBRUSH hbrBack; 3294 DWORD dwContextHelpID; 3295 ULONG_PTR dwMenuData; 3296 } 3297 alias MENUINFO* LPMENUINFO; 3298 alias const(MENUINFO)* LPCMENUINFO; 3299 3300 3301 enum CCHILDREN_SCROLLBAR = 5; 3302 3303 struct SCROLLBARINFO { 3304 DWORD cbSize = this.sizeof; 3305 RECT rcScrollBar; 3306 int dxyLineButton; 3307 int xyThumbTop; 3308 int xyThumbBottom; 3309 int reserved; 3310 DWORD[CCHILDREN_SCROLLBAR+1] rgstate; 3311 } 3312 alias SCROLLBARINFO* PSCROLLBARINFO, LPSCROLLBARINFO; 3313 3314 enum CCHILDREN_TITLEBAR = 5; 3315 3316 struct WINDOWINFO { 3317 DWORD cbSize = WINDOWINFO.sizeof; 3318 RECT rcWindow; 3319 RECT rcClient; 3320 DWORD dwStyle; 3321 DWORD dwExStyle; 3322 DWORD dwWindowStatus; 3323 UINT cxWindowBorders; 3324 UINT cyWindowBorders; 3325 ATOM atomWindowType; 3326 WORD wCreatorVersion; 3327 } 3328 alias WINDOWINFO* PWINDOWINFO, LPWINDOWINFO; 3329 3330 struct LASTINPUTINFO { 3331 UINT cbSize = this.sizeof; 3332 DWORD dwTime; 3333 } 3334 alias LASTINPUTINFO* PLASTINPUTINFO; 3335 3336 struct MONITORINFO { 3337 DWORD cbSize = this.sizeof; 3338 RECT rcMonitor; 3339 RECT rcWork; 3340 DWORD dwFlags; 3341 } 3342 alias MONITORINFO* LPMONITORINFO; 3343 3344 enum CCHDEVICENAME = 32; 3345 3346 struct MONITORINFOEXA { 3347 DWORD cbSize = MONITORINFOEXA.sizeof; 3348 RECT rcMonitor; 3349 RECT rcWork; 3350 DWORD dwFlags; 3351 CHAR[CCHDEVICENAME] szDevice = 0; 3352 } 3353 alias MONITORINFOEXA* LPMONITORINFOEXA; 3354 3355 struct MONITORINFOEXW { 3356 DWORD cbSize = MONITORINFOEXW.sizeof; 3357 RECT rcMonitor; 3358 RECT rcWork; 3359 DWORD dwFlags; 3360 WCHAR[CCHDEVICENAME] szDevice = 0; 3361 } 3362 alias MONITORINFOEXW* LPMONITORINFOEXW; 3363 3364 struct KBDLLHOOKSTRUCT { 3365 DWORD vkCode; 3366 DWORD scanCode; 3367 DWORD flags; 3368 DWORD time; 3369 ULONG_PTR dwExtraInfo; 3370 } 3371 alias KBDLLHOOKSTRUCT* LPKBDLLHOOKSTRUCT, PKBDLLHOOKSTRUCT; 3372 3373 struct MSLLHOOKSTRUCT { 3374 POINT pt; 3375 DWORD mouseData; 3376 DWORD flags; 3377 DWORD time; 3378 ULONG_PTR dwExtraInfo; 3379 } 3380 alias MSLLHOOKSTRUCT* PMSLLHOOKSTRUCT; 3381 3382 struct MOUSEINPUT { 3383 LONG dx; 3384 LONG dy; 3385 DWORD mouseData; 3386 DWORD dwFlags; 3387 DWORD time; 3388 ULONG_PTR dwExtraInfo; 3389 } 3390 alias MOUSEINPUT* PMOUSEINPUT; 3391 3392 struct KEYBDINPUT { 3393 WORD wVk; 3394 WORD wScan; 3395 DWORD dwFlags; 3396 DWORD time; 3397 ULONG_PTR dwExtraInfo; 3398 } 3399 alias KEYBDINPUT* PKEYBDINPUT; 3400 3401 struct HARDWAREINPUT { 3402 DWORD uMsg; 3403 WORD wParamL; 3404 WORD wParamH; 3405 } 3406 alias HARDWAREINPUT* PHARDWAREINPUT; 3407 3408 struct INPUT { 3409 DWORD type; 3410 union { 3411 MOUSEINPUT mi; 3412 KEYBDINPUT ki; 3413 HARDWAREINPUT hi; 3414 } 3415 } 3416 alias INPUT* PINPUT, LPINPUT; 3417 3418 static if (_WIN32_WINNT >= 0x501) { 3419 align(4) struct BSMINFO { 3420 UINT cbSize = this.sizeof; 3421 HDESK hdesk; 3422 HWND hwnd; 3423 align(4) LUID luid; 3424 } 3425 alias BSMINFO* PBSMINFO; 3426 3427 alias TypeDef!(HANDLE) HRAWINPUT; 3428 3429 struct RAWINPUTHEADER { 3430 DWORD dwType; 3431 DWORD dwSize; 3432 HANDLE hDevice; 3433 WPARAM wParam; 3434 } 3435 alias RAWINPUTHEADER* PRAWINPUTHEADER; 3436 3437 struct RAWMOUSE { 3438 USHORT usFlags; 3439 union { 3440 ULONG ulButtons; 3441 struct { 3442 USHORT usButtonFlags; 3443 USHORT usButtonData; 3444 } 3445 } 3446 ULONG ulRawButtons; 3447 LONG lLastX; 3448 LONG lLastY; 3449 ULONG ulExtraInformation; 3450 } 3451 alias RAWMOUSE* PRAWMOUSE, LPRAWMOUSE; 3452 3453 struct RAWKEYBOARD { 3454 USHORT MakeCode; 3455 USHORT Flags; 3456 USHORT Reserved; 3457 USHORT VKey; 3458 UINT Message; 3459 ULONG ExtraInformation; 3460 } 3461 alias RAWKEYBOARD* PRAWKEYBOARD, LPRAWKEYBOARD; 3462 3463 struct RAWHID { 3464 DWORD dwSizeHid; 3465 DWORD dwCount; 3466 BYTE bRawData; 3467 } 3468 alias RAWHID* PRAWHID, LPRAWHID; 3469 3470 struct RAWINPUT { 3471 RAWINPUTHEADER header; 3472 union _data { 3473 RAWMOUSE mouse; 3474 RAWKEYBOARD keyboard; 3475 RAWHID hid; 3476 } 3477 _data data; 3478 } 3479 alias RAWINPUT* PRAWINPUT, LPRAWINPUT; 3480 3481 struct RAWINPUTDEVICE { 3482 USHORT usUsagePage; 3483 USHORT usUsage; 3484 DWORD dwFlags; 3485 HWND hwndTarget; 3486 } 3487 alias RAWINPUTDEVICE* PRAWINPUTDEVICE, LPRAWINPUTDEVICE; 3488 alias const(RAWINPUTDEVICE)* PCRAWINPUTDEVICE; 3489 3490 struct RAWINPUTDEVICELIST { 3491 HANDLE hDevice; 3492 DWORD dwType; 3493 } 3494 alias RAWINPUTDEVICELIST* PRAWINPUTDEVICELIST; 3495 3496 struct RID_DEVICE_INFO_MOUSE { 3497 DWORD dwId; 3498 DWORD dwNumberOfButtons; 3499 DWORD dwSampleRate; 3500 BOOL fHasHorizontalWheel; 3501 } 3502 3503 struct RID_DEVICE_INFO_KEYBOARD { 3504 DWORD dwType; 3505 DWORD dwSubType; 3506 DWORD dwKeyboardMode; 3507 DWORD dwNumberOfFunctionKeys; 3508 DWORD dwNumberOfIndicators; 3509 DWORD dwNumberOfKeysTotal; 3510 } 3511 3512 struct RID_DEVICE_INFO_HID { 3513 DWORD dwVendorId; 3514 DWORD dwProductId; 3515 DWORD dwVersionNumber; 3516 USHORT usUsagePage; 3517 USHORT usUsage; 3518 } 3519 3520 struct RID_DEVICE_INFO { 3521 DWORD cbSize = this.sizeof; 3522 DWORD dwType; 3523 union { 3524 RID_DEVICE_INFO_MOUSE mouse; 3525 RID_DEVICE_INFO_KEYBOARD keyboard; 3526 RID_DEVICE_INFO_HID hid; 3527 } 3528 } 3529 }// (_WIN32_WINNT >= 0x501) 3530 3531 alias CharToOemA AnsiToOem; 3532 alias OemToCharA OemToAnsi; 3533 alias CharToOemBuffA AnsiToOemBuff; 3534 alias OemToCharBuffA OemToAnsiBuff; 3535 alias CharUpperA AnsiUpper; 3536 alias CharUpperBuffA AnsiUpperBuff; 3537 alias CharLowerA AnsiLower; 3538 alias CharLowerBuffA AnsiLowerBuff; 3539 alias CharNextA AnsiNext; 3540 alias CharPrevA AnsiPrev; 3541 3542 alias MAKELONG MAKEWPARAM; 3543 alias MAKELONG MAKELPARAM; 3544 alias MAKELONG MAKELRESULT; 3545 3546 void POINTSTOPOINT()(out POINT p, LONG ps) { 3547 p.x = LOWORD(ps); 3548 p.y = HIWORD(ps); 3549 } 3550 3551 POINTS POINTTOPOINTS()(const POINT p) { 3552 return MAKELONG(p.x, p.y); 3553 } 3554 3555 extern (Windows) nothrow @nogc { 3556 HKL ActivateKeyboardLayout(HKL, UINT); 3557 BOOL AdjustWindowRect(LPRECT, DWORD, BOOL); 3558 BOOL AdjustWindowRectEx(LPRECT, DWORD, BOOL, DWORD); 3559 BOOL AnyPopup(); 3560 BOOL AppendMenuA(HMENU, UINT, UINT_PTR, LPCSTR); 3561 BOOL AppendMenuW(HMENU, UINT, UINT_PTR, LPCWSTR); 3562 UINT ArrangeIconicWindows(HWND); 3563 BOOL AttachThreadInput(DWORD, DWORD, BOOL); 3564 HDWP BeginDeferWindowPos(int); 3565 HDC BeginPaint(HWND, LPPAINTSTRUCT); 3566 BOOL BringWindowToTop(HWND); 3567 BOOL CallMsgFilterA(LPMSG, INT); 3568 BOOL CallMsgFilterW(LPMSG, INT); 3569 LRESULT CallNextHookEx(HHOOK, int, WPARAM, LPARAM); 3570 LRESULT CallWindowProcA(WNDPROC, HWND, UINT, WPARAM, LPARAM); 3571 LRESULT CallWindowProcW(WNDPROC, HWND, UINT, WPARAM, LPARAM); 3572 WORD CascadeWindows(HWND, UINT, LPCRECT, UINT, const(HWND)*); 3573 BOOL ChangeClipboardChain(HWND, HWND); 3574 3575 LONG ChangeDisplaySettingsA(PDEVMODEA, DWORD); 3576 LONG ChangeDisplaySettingsW(PDEVMODEW, DWORD); 3577 LONG ChangeDisplaySettingsExA(LPCSTR, LPDEVMODEA, HWND, DWORD, LPVOID); 3578 LONG ChangeDisplaySettingsExW(LPCWSTR, LPDEVMODEW, HWND, DWORD, LPVOID); 3579 3580 BOOL ChangeMenuA(HMENU, UINT, LPCSTR, UINT, UINT); 3581 BOOL ChangeMenuW(HMENU, UINT, LPCWSTR, UINT, UINT); 3582 LPSTR CharLowerA(LPSTR); 3583 LPWSTR CharLowerW(LPWSTR); 3584 DWORD CharLowerBuffA(LPSTR, DWORD); 3585 DWORD CharLowerBuffW(LPWSTR, DWORD); 3586 LPSTR CharNextA(LPCSTR); 3587 LPWSTR CharNextW(LPCWSTR); 3588 LPSTR CharNextExA(WORD, LPCSTR, DWORD); 3589 LPWSTR CharNextExW(WORD, LPCWSTR, DWORD); 3590 LPSTR CharPrevA(LPCSTR, LPCSTR); 3591 LPWSTR CharPrevW(LPCWSTR, LPCWSTR); 3592 LPSTR CharPrevExA(WORD, LPCSTR, LPCSTR, DWORD); 3593 LPWSTR CharPrevExW(WORD, LPCWSTR, LPCWSTR, DWORD); 3594 BOOL CharToOemA(LPCSTR, LPSTR); 3595 BOOL CharToOemW(LPCWSTR, LPSTR); 3596 BOOL CharToOemBuffA(LPCSTR, LPSTR, DWORD); 3597 BOOL CharToOemBuffW(LPCWSTR, LPSTR, DWORD); 3598 LPSTR CharUpperA(LPSTR); 3599 LPWSTR CharUpperW(LPWSTR); 3600 DWORD CharUpperBuffA(LPSTR, DWORD); 3601 DWORD CharUpperBuffW(LPWSTR, DWORD); 3602 BOOL CheckDlgButton(HWND, int, UINT); 3603 DWORD CheckMenuItem(HMENU, UINT, UINT); 3604 BOOL CheckMenuRadioItem(HMENU, UINT, UINT, UINT, UINT); 3605 BOOL CheckRadioButton(HWND, int, int, int); 3606 HWND ChildWindowFromPoint(HWND, POINT); 3607 HWND ChildWindowFromPointEx(HWND, POINT, UINT); 3608 BOOL ClientToScreen(HWND, LPPOINT); 3609 BOOL ClipCursor(LPCRECT); 3610 BOOL CloseClipboard(); 3611 BOOL CloseDesktop(HDESK); 3612 BOOL CloseWindow(HWND); 3613 BOOL CloseWindowStation(HWINSTA); 3614 int CopyAcceleratorTableA(HACCEL, LPACCEL, int); 3615 int CopyAcceleratorTableW(HACCEL, LPACCEL, int); 3616 3617 HICON CopyIcon(HICON); 3618 HANDLE CopyImage(HANDLE, UINT, int, int, UINT); 3619 BOOL CopyRect(LPRECT, LPCRECT); 3620 int CountClipboardFormats(); 3621 HACCEL CreateAcceleratorTableA(LPACCEL, int); 3622 HACCEL CreateAcceleratorTableW(LPACCEL, int); 3623 BOOL CreateCaret(HWND, HBITMAP, int, int); 3624 HCURSOR CreateCursor(HINSTANCE, int, int, int, int, PCVOID, PCVOID); 3625 3626 HDESK CreateDesktopA(LPCSTR, LPCSTR, LPDEVMODEA, DWORD, ACCESS_MASK, LPSECURITY_ATTRIBUTES); 3627 HDESK CreateDesktopW(LPCWSTR, LPCWSTR, LPDEVMODEW, DWORD, ACCESS_MASK, LPSECURITY_ATTRIBUTES); 3628 3629 HWND CreateDialogParamA(HINSTANCE, LPCSTR, HWND, DLGPROC, LPARAM); 3630 HWND CreateDialogParamW(HINSTANCE, LPCWSTR, HWND, DLGPROC, LPARAM); 3631 HWND CreateDialogIndirectParamA(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM); 3632 HWND CreateDialogIndirectParamW(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM); 3633 3634 HICON CreateIcon(HINSTANCE, int, int, BYTE, BYTE, const(BYTE)*, BYTE*); 3635 HICON CreateIconFromResource(PBYTE, DWORD, BOOL, DWORD); 3636 HICON CreateIconFromResourceEx(PBYTE, DWORD, BOOL, DWORD, int, int, UINT); 3637 HICON CreateIconIndirect(PICONINFO); 3638 HWND CreateMDIWindowA(LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HINSTANCE, LPARAM); 3639 HWND CreateMDIWindowW(LPCWSTR, LPCWSTR, DWORD, int, int, int, int, HWND, HINSTANCE, LPARAM); 3640 HMENU CreateMenu(); 3641 HMENU CreatePopupMenu(); 3642 3643 HWND CreateWindowExA(DWORD, LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HMENU, HINSTANCE, LPVOID); 3644 HWND CreateWindowExW(DWORD, LPCWSTR, LPCWSTR, DWORD, int, int, int, int, HWND, HMENU, HINSTANCE, LPVOID); 3645 3646 HWINSTA CreateWindowStationA(LPSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES); 3647 HWINSTA CreateWindowStationW(LPWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES); 3648 LRESULT DefDlgProcA(HWND, UINT, WPARAM, LPARAM); 3649 LRESULT DefDlgProcW(HWND, UINT, WPARAM, LPARAM); 3650 HDWP DeferWindowPos(HDWP, HWND, HWND, int, int, int, int, UINT); 3651 LRESULT DefFrameProcA(HWND, HWND, UINT, WPARAM, LPARAM); 3652 LRESULT DefFrameProcW(HWND, HWND, UINT, WPARAM, LPARAM); 3653 3654 LRESULT DefMDIChildProcA(HWND, UINT, WPARAM, LPARAM); 3655 LRESULT DefMDIChildProcW(HWND, UINT, WPARAM, LPARAM); 3656 LRESULT DefWindowProcA(HWND, UINT, WPARAM, LPARAM); 3657 LRESULT DefWindowProcW(HWND, UINT, WPARAM, LPARAM); 3658 BOOL DeleteMenu(HMENU, UINT, UINT); 3659 BOOL DeregisterShellHookWindow(HWND); 3660 BOOL DestroyAcceleratorTable(HACCEL); 3661 BOOL DestroyCaret(); 3662 BOOL DestroyCursor(HCURSOR); 3663 BOOL DestroyIcon(HICON); 3664 BOOL DestroyMenu(HMENU); 3665 BOOL DestroyWindow(HWND); 3666 3667 INT_PTR DialogBoxParamA(HINSTANCE, LPCSTR, HWND, DLGPROC, LPARAM); 3668 INT_PTR DialogBoxParamW(HINSTANCE, LPCWSTR, HWND, DLGPROC, LPARAM); 3669 INT_PTR DialogBoxIndirectParamA(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM); 3670 INT_PTR DialogBoxIndirectParamW(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM); 3671 3672 } // extern (Windows) 3673 3674 nothrow @nogc { 3675 HCURSOR CopyCursor()(HCURSOR c) { 3676 return cast(HCURSOR)CopyIcon(cast(HICON)c); 3677 } 3678 3679 HWND CreateDialogA()(HINSTANCE h, LPCSTR n, HWND w, DLGPROC f) { 3680 return CreateDialogParamA(h, n, w, f, 0); 3681 } 3682 3683 HWND CreateDialogW()(HINSTANCE h, LPCWSTR n, HWND w, DLGPROC f) { 3684 return CreateDialogParamW(h, n, w, f, 0); 3685 } 3686 3687 HWND CreateDialogIndirectA()(HINSTANCE h, LPCDLGTEMPLATE t, HWND w, DLGPROC f) { 3688 return CreateDialogIndirectParamA(h, t, w, f, 0); 3689 } 3690 3691 HWND CreateDialogIndirectW()(HINSTANCE h, LPCDLGTEMPLATE t, HWND w, DLGPROC f) { 3692 return CreateDialogIndirectParamW(h, t, w, f, 0); 3693 } 3694 3695 HWND CreateWindowA()(LPCSTR a, LPCSTR b, DWORD c, int d, int e, int f, int g, HWND h, HMENU i, HINSTANCE j, LPVOID k) { 3696 return CreateWindowExA(0, a, b, c, d, e, f, g, h, i, j, k); 3697 } 3698 3699 HWND CreateWindowW()(LPCWSTR a, LPCWSTR b, DWORD c, int d, int e, int f, int g, HWND h, HMENU i, HINSTANCE j, LPVOID k) { 3700 return CreateWindowExW(0, a, b, c, d, e, f, g, h, i, j, k); 3701 } 3702 3703 INT_PTR DialogBoxA()(HINSTANCE i, LPCSTR t, HWND p, DLGPROC f) { 3704 return DialogBoxParamA(i, t, p, f, 0); 3705 } 3706 3707 INT_PTR DialogBoxW()(HINSTANCE i, LPCWSTR t, HWND p, DLGPROC f) { 3708 return DialogBoxParamW(i, t, p, f, 0); 3709 } 3710 3711 INT_PTR DialogBoxIndirectA()(HINSTANCE i, LPCDLGTEMPLATE t, HWND p, DLGPROC f) { 3712 return DialogBoxIndirectParamA(i, t, p, f, 0); 3713 } 3714 3715 INT_PTR DialogBoxIndirectW()(HINSTANCE i, LPCDLGTEMPLATE t, HWND p, DLGPROC f) { 3716 return DialogBoxIndirectParamW(i, t, p, f, 0); 3717 } 3718 3719 BOOL ExitWindows()(UINT r, DWORD c) { 3720 return ExitWindowsEx(EWX_LOGOFF, 0); 3721 } 3722 } 3723 alias GetWindow GetNextWindow; 3724 3725 extern (Windows) nothrow @nogc: 3726 LONG DispatchMessageA(const(MSG)*); 3727 LONG DispatchMessageW(const(MSG)*); 3728 int DlgDirListA(HWND, LPSTR, int, int, UINT); 3729 int DlgDirListW(HWND, LPWSTR, int, int, UINT); 3730 int DlgDirListComboBoxA(HWND, LPSTR, int, int, UINT); 3731 int DlgDirListComboBoxW(HWND, LPWSTR, int, int, UINT); 3732 BOOL DlgDirSelectComboBoxExA(HWND, LPSTR, int, int); 3733 BOOL DlgDirSelectComboBoxExW(HWND, LPWSTR, int, int); 3734 BOOL DlgDirSelectExA(HWND, LPSTR, int, int); 3735 BOOL DlgDirSelectExW(HWND, LPWSTR, int, int); 3736 BOOL DragDetect(HWND, POINT); 3737 DWORD DragObject(HWND, HWND, UINT, ULONG_PTR, HCURSOR); 3738 BOOL DrawAnimatedRects(HWND, int, LPCRECT, LPCRECT); 3739 BOOL DrawCaption(HWND, HDC, LPCRECT, UINT); 3740 BOOL DrawEdge(HDC, LPRECT, UINT, UINT); 3741 BOOL DrawFocusRect(HDC, LPCRECT); 3742 BOOL DrawFrameControl(HDC, LPRECT, UINT, UINT); 3743 BOOL DrawIcon(HDC, int, int, HICON); 3744 BOOL DrawIconEx(HDC, int, int, HICON, int, int, UINT, HBRUSH, UINT); 3745 BOOL DrawMenuBar(HWND); 3746 BOOL DrawStateA(HDC, HBRUSH, DRAWSTATEPROC, LPARAM, WPARAM, int, int, int, int, UINT); 3747 BOOL DrawStateW(HDC, HBRUSH, DRAWSTATEPROC, LPARAM, WPARAM, int, int, int, int, UINT); 3748 int DrawTextA(HDC, LPCSTR, int, LPRECT, UINT); 3749 int DrawTextW(HDC, LPCWSTR, int, LPRECT, UINT); 3750 int DrawTextExA(HDC, LPSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS); 3751 int DrawTextExW(HDC, LPWSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS); 3752 BOOL EmptyClipboard(); 3753 BOOL EnableMenuItem(HMENU, UINT, UINT); 3754 BOOL EnableScrollBar(HWND, UINT, UINT); 3755 BOOL EnableWindow(HWND, BOOL); 3756 BOOL EndDeferWindowPos(HDWP); 3757 BOOL EndDialog(HWND, INT_PTR); 3758 BOOL EndMenu(); 3759 BOOL EndPaint(HWND, const(PAINTSTRUCT)*); 3760 BOOL EnumChildWindows(HWND, ENUMWINDOWSPROC, LPARAM); 3761 UINT EnumClipboardFormats(UINT); 3762 BOOL EnumDesktopsA(HWINSTA, DESKTOPENUMPROCA, LPARAM); 3763 BOOL EnumDesktopsW(HWINSTA, DESKTOPENUMPROCW, LPARAM); 3764 BOOL EnumDesktopWindows(HDESK, ENUMWINDOWSPROC, LPARAM); 3765 BOOL EnumDisplaySettingsA(LPCSTR, DWORD, PDEVMODEA); 3766 BOOL EnumDisplaySettingsW(LPCWSTR, DWORD, PDEVMODEW); 3767 3768 BOOL EnumDisplayDevicesA(LPCSTR, DWORD, PDISPLAY_DEVICEA, DWORD); 3769 BOOL EnumDisplayDevicesW(LPCWSTR, DWORD, PDISPLAY_DEVICEW, DWORD); 3770 3771 int EnumPropsA(HWND, PROPENUMPROCA); 3772 int EnumPropsW(HWND, PROPENUMPROCW); 3773 int EnumPropsExA(HWND, PROPENUMPROCEXA, LPARAM); 3774 int EnumPropsExW(HWND, PROPENUMPROCEXW, LPARAM); 3775 3776 BOOL EnumThreadWindows(DWORD, WNDENUMPROC, LPARAM); 3777 BOOL EnumWindows(WNDENUMPROC, LPARAM); 3778 BOOL EnumWindowStationsA(WINSTAENUMPROCA, LPARAM); 3779 BOOL EnumWindowStationsW(WINSTAENUMPROCW, LPARAM); 3780 BOOL EqualRect(LPCRECT, LPCRECT); 3781 3782 BOOL ExitWindowsEx(UINT, DWORD); 3783 HWND FindWindowA(LPCSTR, LPCSTR); 3784 HWND FindWindowExA(HWND, HWND, LPCSTR, LPCSTR); 3785 HWND FindWindowExW(HWND, HWND, LPCWSTR, LPCWSTR); 3786 HWND FindWindowW(LPCWSTR, LPCWSTR); 3787 BOOL FlashWindow(HWND, BOOL); 3788 3789 int FrameRect(HDC, LPCRECT, HBRUSH); 3790 BOOL FrameRgn(HDC, HRGN, HBRUSH, int, int); 3791 HWND GetActiveWindow(); 3792 HWND GetAncestor(HWND, UINT); 3793 SHORT GetAsyncKeyState(int); 3794 HWND GetCapture(); 3795 UINT GetCaretBlinkTime(); 3796 BOOL GetCaretPos(LPPOINT); 3797 BOOL GetClassInfoA(HINSTANCE, LPCSTR, LPWNDCLASSA); 3798 BOOL GetClassInfoExA(HINSTANCE, LPCSTR, LPWNDCLASSEXA); 3799 BOOL GetClassInfoW(HINSTANCE, LPCWSTR, LPWNDCLASSW); 3800 BOOL GetClassInfoExW(HINSTANCE, LPCWSTR, LPWNDCLASSEXW); 3801 DWORD GetClassLongA(HWND, int); 3802 DWORD GetClassLongW(HWND, int); 3803 int GetClassNameA(HWND, LPSTR, int); 3804 int GetClassNameW(HWND, LPWSTR, int); 3805 WORD GetClassWord(HWND, int); 3806 BOOL GetClientRect(HWND, LPRECT); 3807 HANDLE GetClipboardData(UINT); 3808 int GetClipboardFormatNameA(UINT, LPSTR, int); 3809 int GetClipboardFormatNameW(UINT, LPWSTR, int); 3810 HWND GetClipboardOwner(); 3811 HWND GetClipboardViewer(); 3812 BOOL GetClipCursor(LPRECT); 3813 BOOL GetCursorPos(LPPOINT); 3814 HDC GetDC(HWND); 3815 HDC GetDCEx(HWND, HRGN, DWORD); 3816 HWND GetDesktopWindow(); 3817 int GetDialogBaseUnits(); 3818 int GetDlgCtrlID(HWND); 3819 HWND GetDlgItem(HWND, int); 3820 UINT GetDlgItemInt(HWND, int, PBOOL, BOOL); 3821 UINT GetDlgItemTextA(HWND, int, LPSTR, int); 3822 UINT GetDlgItemTextW(HWND, int, LPWSTR, int); 3823 UINT GetDoubleClickTime(); 3824 HWND GetFocus(); 3825 HWND GetForegroundWindow(); 3826 3827 BOOL GetIconInfo(HICON, PICONINFO); 3828 BOOL GetInputState(); 3829 UINT GetKBCodePage(); 3830 HKL GetKeyboardLayout(DWORD); 3831 UINT GetKeyboardLayoutList(int, HKL*); 3832 BOOL GetKeyboardLayoutNameA(LPSTR); 3833 BOOL GetKeyboardLayoutNameW(LPWSTR); 3834 BOOL GetKeyboardState(PBYTE); 3835 int GetKeyboardType(int); 3836 int GetKeyNameTextA(LONG, LPSTR, int); 3837 int GetKeyNameTextW(LONG, LPWSTR, int); 3838 SHORT GetKeyState(int); 3839 HWND GetLastActivePopup(HWND); 3840 HMENU GetMenu(HWND); 3841 LONG GetMenuCheckMarkDimensions(); 3842 DWORD GetMenuContextHelpId(HMENU); 3843 UINT GetMenuDefaultItem(HMENU, UINT, UINT); 3844 int GetMenuItemCount(HMENU); 3845 UINT GetMenuItemID(HMENU, int); 3846 BOOL GetMenuItemInfoA(HMENU, UINT, BOOL, LPMENUITEMINFOA); 3847 BOOL GetMenuItemInfoW(HMENU, UINT, BOOL, LPMENUITEMINFOW); 3848 BOOL GetMenuItemRect(HWND, HMENU, UINT, LPRECT); 3849 UINT GetMenuState(HMENU, UINT, UINT); 3850 int GetMenuStringA(HMENU, UINT, LPSTR, int, UINT); 3851 int GetMenuStringW(HMENU, UINT, LPWSTR, int, UINT); 3852 BOOL GetMessageA(LPMSG, HWND, UINT, UINT); 3853 BOOL GetMessageW(LPMSG, HWND, UINT, UINT); 3854 LONG GetMessageExtraInfo(); 3855 DWORD GetMessagePos(); 3856 LONG GetMessageTime(); 3857 3858 HWND GetNextDlgGroupItem(HWND, HWND, BOOL); 3859 HWND GetNextDlgTabItem(HWND, HWND, BOOL); 3860 3861 HWND GetOpenClipboardWindow(); 3862 HWND GetParent(HWND); 3863 int GetPriorityClipboardFormat(UINT*, int); 3864 HANDLE GetPropA(HWND, LPCSTR); 3865 HANDLE GetPropW(HWND, LPCWSTR); 3866 3867 DWORD GetQueueStatus(UINT); 3868 BOOL GetScrollInfo(HWND, int, LPSCROLLINFO); 3869 int GetScrollPos(HWND, int); 3870 BOOL GetScrollRange(HWND, int, LPINT, LPINT); 3871 3872 HMENU GetSubMenu(HMENU, int); 3873 DWORD GetSysColor(int); 3874 HBRUSH GetSysColorBrush(int); 3875 3876 HMENU GetSystemMenu(HWND, BOOL); 3877 int GetSystemMetrics(int); 3878 DWORD GetTabbedTextExtentA(HDC, LPCSTR, int, int, LPINT); 3879 DWORD GetTabbedTextExtentW(HDC, LPCWSTR, int, int, LPINT); 3880 LONG GetWindowLongA(HWND, int); 3881 LONG GetWindowLongW(HWND, int); 3882 3883 HDESK GetThreadDesktop(DWORD); 3884 HWND GetTopWindow(HWND); 3885 BOOL GetUpdateRect(HWND, LPRECT, BOOL); 3886 int GetUpdateRgn(HWND, HRGN, BOOL); 3887 BOOL GetUserObjectInformationA(HANDLE, int, PVOID, DWORD, PDWORD); 3888 BOOL GetUserObjectInformationW(HANDLE, int, PVOID, DWORD, PDWORD); 3889 BOOL GetUserObjectSecurity(HANDLE, PSECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD); 3890 HWND GetWindow(HWND, UINT); 3891 DWORD GetWindowContextHelpId(HWND); 3892 HDC GetWindowDC(HWND); 3893 BOOL GetWindowPlacement(HWND, WINDOWPLACEMENT*); 3894 BOOL GetWindowRect(HWND, LPRECT); 3895 int GetWindowRgn(HWND, HRGN); 3896 int GetWindowTextA(HWND, LPSTR, int); 3897 int GetWindowTextLengthA(HWND); 3898 int GetWindowTextLengthW(HWND); 3899 int GetWindowTextW(HWND, LPWSTR, int); 3900 WORD GetWindowWord(HWND, int); 3901 BOOL GetAltTabInfoA(HWND, int, PALTTABINFO, LPSTR, UINT); 3902 BOOL GetAltTabInfoW(HWND, int, PALTTABINFO, LPWSTR, UINT); 3903 BOOL GetComboBoxInfo(HWND, PCOMBOBOXINFO); 3904 BOOL GetCursorInfo(PCURSORINFO); 3905 BOOL GetLastInputInfo(PLASTINPUTINFO); 3906 DWORD GetListBoxInfo(HWND); 3907 BOOL GetMenuBarInfo(HWND, LONG, LONG, PMENUBARINFO); 3908 BOOL GetMenuInfo(HMENU, LPMENUINFO); 3909 BOOL GetScrollBarInfo(HWND, LONG, PSCROLLBARINFO); 3910 BOOL GetTitleBarInfo(HWND, PTITLEBARINFO); 3911 BOOL GetWindowInfo(HWND, PWINDOWINFO); 3912 UINT GetWindowModuleFileNameA(HWND, LPSTR, UINT); 3913 UINT GetWindowModuleFileNameW(HWND, LPWSTR, UINT); 3914 BOOL GrayStringA(HDC, HBRUSH, GRAYSTRINGPROC, LPARAM, int, int, int, int, int); 3915 BOOL GrayStringW(HDC, HBRUSH, GRAYSTRINGPROC, LPARAM, int, int, int, int, int); 3916 BOOL HideCaret(HWND); 3917 BOOL HiliteMenuItem(HWND, HMENU, UINT, UINT); 3918 BOOL InflateRect(LPRECT, int, int); 3919 BOOL InSendMessage(); 3920 BOOL InsertMenuA(HMENU, UINT, UINT, UINT_PTR, LPCSTR); 3921 BOOL InsertMenuW(HMENU, UINT, UINT, UINT_PTR, LPCWSTR); 3922 BOOL InsertMenuItemA(HMENU, UINT, BOOL, LPCMENUITEMINFOA); 3923 BOOL InsertMenuItemW(HMENU, UINT, BOOL, LPCMENUITEMINFOW); 3924 INT InternalGetWindowText(HWND, LPWSTR, INT); 3925 BOOL IntersectRect(LPRECT, LPCRECT, LPCRECT); 3926 BOOL InvalidateRect(HWND, LPCRECT, BOOL); 3927 BOOL InvalidateRgn(HWND, HRGN, BOOL); 3928 BOOL InvertRect(HDC, LPCRECT); 3929 BOOL IsCharAlphaA(CHAR ch); 3930 BOOL IsCharAlphaNumericA(CHAR); 3931 BOOL IsCharAlphaNumericW(WCHAR); 3932 BOOL IsCharAlphaW(WCHAR); 3933 BOOL IsCharLowerA(CHAR); 3934 BOOL IsCharLowerW(WCHAR); 3935 BOOL IsCharUpperA(CHAR); 3936 BOOL IsCharUpperW(WCHAR); 3937 BOOL IsChild(HWND, HWND); 3938 BOOL IsClipboardFormatAvailable(UINT); 3939 BOOL IsDialogMessageA(HWND, LPMSG); 3940 BOOL IsDialogMessageW(HWND, LPMSG); 3941 UINT IsDlgButtonChecked(HWND, int); 3942 BOOL IsIconic(HWND); 3943 BOOL IsMenu(HMENU); 3944 BOOL IsRectEmpty(LPCRECT); 3945 BOOL IsWindow(HWND); 3946 BOOL IsWindowEnabled(HWND); 3947 BOOL IsWindowUnicode(HWND); 3948 BOOL IsWindowVisible(HWND); 3949 BOOL IsZoomed(HWND); 3950 void keybd_event(BYTE, BYTE, DWORD, ULONG_PTR); 3951 BOOL KillTimer(HWND, UINT_PTR); 3952 HACCEL LoadAcceleratorsA(HINSTANCE, LPCSTR); 3953 HACCEL LoadAcceleratorsW(HINSTANCE, LPCWSTR); 3954 HBITMAP LoadBitmapA(HINSTANCE, LPCSTR); 3955 HBITMAP LoadBitmapW(HINSTANCE, LPCWSTR); 3956 HCURSOR LoadCursorA(HINSTANCE, LPCSTR); 3957 HCURSOR LoadCursorFromFileA(LPCSTR); 3958 HCURSOR LoadCursorFromFileW(LPCWSTR); 3959 HCURSOR LoadCursorW(HINSTANCE, LPCWSTR); 3960 HICON LoadIconA(HINSTANCE, LPCSTR); 3961 HICON LoadIconW(HINSTANCE, LPCWSTR); 3962 HANDLE LoadImageA(HINSTANCE, LPCSTR, UINT, int, int, UINT); 3963 HANDLE LoadImageW(HINSTANCE, LPCWSTR, UINT, int, int, UINT); 3964 HKL LoadKeyboardLayoutA(LPCSTR, UINT); 3965 HKL LoadKeyboardLayoutW(LPCWSTR, UINT); 3966 HMENU LoadMenuA(HINSTANCE, LPCSTR); 3967 HMENU LoadMenuIndirectA(const(MENUTEMPLATE)*); 3968 HMENU LoadMenuIndirectW(const(MENUTEMPLATE)*); 3969 HMENU LoadMenuW(HINSTANCE, LPCWSTR); 3970 int LoadStringA(HINSTANCE, UINT, LPSTR, int); 3971 int LoadStringW(HINSTANCE, UINT, LPWSTR, int); 3972 BOOL LockWindowUpdate(HWND); 3973 int LookupIconIdFromDirectory(PBYTE, BOOL); 3974 int LookupIconIdFromDirectoryEx(PBYTE, BOOL, int, int, UINT); 3975 BOOL MapDialogRect(HWND, LPRECT); 3976 UINT MapVirtualKeyA(UINT, UINT); 3977 UINT MapVirtualKeyExA(UINT, UINT, HKL); 3978 UINT MapVirtualKeyExW(UINT, UINT, HKL); 3979 UINT MapVirtualKeyW(UINT, UINT); 3980 int MapWindowPoints(HWND, HWND, LPPOINT, UINT); 3981 int MenuItemFromPoint(HWND, HMENU, POINT); 3982 BOOL MessageBeep(UINT); 3983 int MessageBoxA(HWND, LPCSTR, LPCSTR, UINT); 3984 int MessageBoxW(HWND, LPCWSTR, LPCWSTR, UINT); 3985 int MessageBoxExA(HWND, LPCSTR, LPCSTR, UINT, WORD); 3986 int MessageBoxExW(HWND, LPCWSTR, LPCWSTR, UINT, WORD); 3987 int MessageBoxIndirectA(const(MSGBOXPARAMSA)*); 3988 int MessageBoxIndirectW(const(MSGBOXPARAMSW)*); 3989 BOOL ModifyMenuA(HMENU, UINT, UINT, UINT_PTR, LPCSTR); 3990 BOOL ModifyMenuW(HMENU, UINT, UINT, UINT_PTR, LPCWSTR); 3991 void mouse_event(DWORD, DWORD, DWORD, DWORD, ULONG_PTR); 3992 BOOL MoveWindow(HWND, int, int, int, int, BOOL); 3993 DWORD MsgWaitForMultipleObjects(DWORD, const(HANDLE)*, BOOL, DWORD, DWORD); 3994 DWORD MsgWaitForMultipleObjectsEx(DWORD, const(HANDLE)*, DWORD, DWORD, DWORD); 3995 DWORD OemKeyScan(WORD); 3996 BOOL OemToCharA(LPCSTR, LPSTR); 3997 BOOL OemToCharBuffA(LPCSTR, LPSTR, DWORD); 3998 BOOL OemToCharBuffW(LPCSTR, LPWSTR, DWORD); 3999 BOOL OemToCharW(LPCSTR, LPWSTR); 4000 BOOL OffsetRect(LPRECT, int, int); 4001 BOOL OpenClipboard(HWND); 4002 HDESK OpenDesktopA(LPSTR, DWORD, BOOL, DWORD); 4003 HDESK OpenDesktopW(LPWSTR, DWORD, BOOL, DWORD); 4004 BOOL OpenIcon(HWND); 4005 HDESK OpenInputDesktop(DWORD, BOOL, DWORD); 4006 HWINSTA OpenWindowStationA(LPSTR, BOOL, DWORD); 4007 HWINSTA OpenWindowStationW(LPWSTR, BOOL, DWORD); 4008 BOOL PaintDesktop(HDC); 4009 BOOL PeekMessageA(LPMSG, HWND, UINT, UINT, UINT); 4010 BOOL PeekMessageW(LPMSG, HWND, UINT, UINT, UINT); 4011 BOOL PostMessageA(HWND, UINT, WPARAM, LPARAM); 4012 BOOL PostMessageW(HWND, UINT, WPARAM, LPARAM); 4013 void PostQuitMessage(int); 4014 BOOL PostThreadMessageA(DWORD, UINT, WPARAM, LPARAM); 4015 BOOL PostThreadMessageW(DWORD, UINT, WPARAM, LPARAM); 4016 BOOL PtInRect(LPCRECT, POINT); 4017 HWND RealChildWindowFromPoint(HWND, POINT); 4018 UINT RealGetWindowClassA(HWND, LPSTR, UINT); 4019 UINT RealGetWindowClassW(HWND, LPWSTR, UINT); 4020 BOOL RedrawWindow(HWND, LPCRECT, HRGN, UINT); 4021 ATOM RegisterClassA(const(WNDCLASSA)*); 4022 ATOM RegisterClassW(const(WNDCLASSW)*); 4023 ATOM RegisterClassExA(const(WNDCLASSEXA)*); 4024 ATOM RegisterClassExW(const(WNDCLASSEXW)*); 4025 UINT RegisterClipboardFormatA(LPCSTR); 4026 UINT RegisterClipboardFormatW(LPCWSTR); 4027 BOOL RegisterHotKey(HWND, int, UINT, UINT); 4028 UINT RegisterWindowMessageA(LPCSTR); 4029 UINT RegisterWindowMessageW(LPCWSTR); 4030 BOOL ReleaseCapture(); 4031 int ReleaseDC(HWND, HDC); 4032 BOOL RemoveMenu(HMENU, UINT, UINT); 4033 HANDLE RemovePropA(HWND, LPCSTR); 4034 HANDLE RemovePropW(HWND, LPCWSTR); 4035 BOOL ReplyMessage(LRESULT); 4036 BOOL ScreenToClient(HWND, LPPOINT); 4037 BOOL ScrollDC(HDC, int, int, LPCRECT, LPCRECT, HRGN, LPRECT); 4038 BOOL ScrollWindow(HWND, int, int, LPCRECT, LPCRECT); 4039 int ScrollWindowEx(HWND, int, int, LPCRECT, LPCRECT, HRGN, LPRECT, UINT); 4040 LONG SendDlgItemMessageA(HWND, int, UINT, WPARAM, LPARAM); 4041 LONG SendDlgItemMessageW(HWND, int, UINT, WPARAM, LPARAM); 4042 LRESULT SendMessageA(HWND, UINT, WPARAM, LPARAM); 4043 BOOL SendMessageCallbackA(HWND, UINT, WPARAM, LPARAM, SENDASYNCPROC, ULONG_PTR); 4044 BOOL SendMessageCallbackW(HWND, UINT, WPARAM, LPARAM, SENDASYNCPROC, ULONG_PTR); 4045 LRESULT SendMessageTimeoutA(HWND, UINT, WPARAM, LPARAM, UINT, UINT, PDWORD); 4046 LRESULT SendMessageTimeoutW(HWND, UINT, WPARAM, LPARAM, UINT, UINT, PDWORD); 4047 LRESULT SendMessageW(HWND, UINT, WPARAM, LPARAM); 4048 BOOL SendNotifyMessageA(HWND, UINT, WPARAM, LPARAM); 4049 BOOL SendNotifyMessageW(HWND, UINT, WPARAM, LPARAM); 4050 HWND SetActiveWindow(HWND); 4051 HWND SetCapture(HWND hWnd); 4052 BOOL SetCaretBlinkTime(UINT); 4053 BOOL SetCaretPos(int, int); 4054 DWORD SetClassLongA(HWND, int, LONG); 4055 DWORD SetClassLongW(HWND, int, LONG); 4056 WORD SetClassWord(HWND, int, WORD); 4057 HANDLE SetClipboardData(UINT, HANDLE); 4058 HWND SetClipboardViewer(HWND); 4059 HCURSOR SetCursor(HCURSOR); 4060 BOOL SetCursorPos(int, int); 4061 void SetDebugErrorLevel(DWORD); 4062 BOOL SetDlgItemInt(HWND, int, UINT, BOOL); 4063 BOOL SetDlgItemTextA(HWND, int, LPCSTR); 4064 BOOL SetDlgItemTextW(HWND, int, LPCWSTR); 4065 BOOL SetDoubleClickTime(UINT); 4066 HWND SetFocus(HWND); 4067 BOOL SetForegroundWindow(HWND); 4068 BOOL SetKeyboardState(PBYTE); 4069 BOOL SetMenu(HWND, HMENU); 4070 BOOL SetMenuContextHelpId(HMENU, DWORD); 4071 BOOL SetMenuDefaultItem(HMENU, UINT, UINT); 4072 BOOL SetMenuInfo(HMENU, LPCMENUINFO); 4073 BOOL SetMenuItemBitmaps(HMENU, UINT, UINT, HBITMAP, HBITMAP); 4074 BOOL SetMenuItemInfoA(HMENU, UINT, BOOL, LPCMENUITEMINFOA); 4075 BOOL SetMenuItemInfoW(HMENU, UINT, BOOL, LPCMENUITEMINFOW); 4076 LPARAM SetMessageExtraInfo(LPARAM); 4077 BOOL SetMessageQueue(int); 4078 HWND SetParent(HWND, HWND); 4079 BOOL SetProcessWindowStation(HWINSTA); 4080 BOOL SetPropA(HWND, LPCSTR, HANDLE); 4081 BOOL SetPropW(HWND, LPCWSTR, HANDLE); 4082 BOOL SetRect(LPRECT, int, int, int, int); 4083 BOOL SetRectEmpty(LPRECT); 4084 int SetScrollInfo(HWND, int, LPCSCROLLINFO, BOOL); 4085 int SetScrollPos(HWND, int, int, BOOL); 4086 BOOL SetScrollRange(HWND, int, int, int, BOOL); 4087 BOOL SetSysColors(int, const(INT)*, const(COLORREF)*); 4088 BOOL SetSystemCursor(HCURSOR, DWORD); 4089 BOOL SetThreadDesktop(HDESK); 4090 UINT_PTR SetTimer(HWND, UINT_PTR, UINT, TIMERPROC); 4091 BOOL SetUserObjectInformationA(HANDLE, int, PVOID, DWORD); 4092 BOOL SetUserObjectInformationW(HANDLE, int, PVOID, DWORD); 4093 BOOL SetUserObjectSecurity(HANDLE, PSECURITY_INFORMATION, PSECURITY_DESCRIPTOR); 4094 BOOL SetWindowContextHelpId(HWND, DWORD); 4095 LONG SetWindowLongA(HWND, int, LONG); 4096 LONG SetWindowLongW(HWND, int, LONG); 4097 BOOL SetWindowPlacement(HWND hWnd, const(WINDOWPLACEMENT)*); 4098 BOOL SetWindowPos(HWND, HWND, int, int, int, int, UINT); 4099 int SetWindowRgn(HWND, HRGN, BOOL); 4100 HHOOK SetWindowsHookA(int, HOOKPROC); 4101 HHOOK SetWindowsHookW(int, HOOKPROC); 4102 HHOOK SetWindowsHookExA(int, HOOKPROC, HINSTANCE, DWORD); 4103 HHOOK SetWindowsHookExW(int, HOOKPROC, HINSTANCE, DWORD); 4104 BOOL SetWindowTextA(HWND, LPCSTR); 4105 BOOL SetWindowTextW(HWND, LPCWSTR); 4106 WORD SetWindowWord(HWND, int, WORD); 4107 BOOL ShowCaret(HWND); 4108 int ShowCursor(BOOL); 4109 BOOL ShowOwnedPopups(HWND, BOOL); 4110 BOOL ShowScrollBar(HWND, int, BOOL); 4111 BOOL ShowWindow(HWND, int); 4112 BOOL ShowWindowAsync(HWND, int); 4113 BOOL SubtractRect(LPRECT, LPCRECT, LPCRECT); 4114 BOOL SwapMouseButton(BOOL); 4115 BOOL SwitchDesktop(HDESK); 4116 BOOL SystemParametersInfoA(UINT, UINT, PVOID, UINT); 4117 BOOL SystemParametersInfoW(UINT, UINT, PVOID, UINT); 4118 LONG TabbedTextOutA(HDC, int, int, LPCSTR, int, int, LPINT, int); 4119 LONG TabbedTextOutW(HDC, int, int, LPCWSTR, int, int, LPINT, int); 4120 WORD TileWindows(HWND, UINT, LPCRECT, UINT, const(HWND)*); 4121 int ToAscii(UINT, UINT, PBYTE, LPWORD, UINT); 4122 int ToAsciiEx(UINT, UINT, PBYTE, LPWORD, UINT, HKL); 4123 int ToUnicode(UINT, UINT, PBYTE, LPWSTR, int, UINT); 4124 int ToUnicodeEx(UINT, UINT, PBYTE, LPWSTR, int, UINT, HKL); 4125 BOOL TrackMouseEvent(LPTRACKMOUSEEVENT); 4126 BOOL TrackPopupMenu(HMENU, UINT, int, int, int, HWND, LPCRECT); 4127 BOOL TrackPopupMenuEx(HMENU, UINT, int, int, HWND, LPTPMPARAMS); 4128 int TranslateAcceleratorA(HWND, HACCEL, LPMSG); 4129 int TranslateAcceleratorW(HWND, HACCEL, LPMSG); 4130 BOOL TranslateMDISysAccel(HWND, LPMSG); 4131 BOOL TranslateMessage(const(MSG)*); 4132 BOOL UnhookWindowsHook(int, HOOKPROC); 4133 BOOL UnhookWindowsHookEx(HHOOK); 4134 BOOL UnionRect(LPRECT, LPCRECT, LPCRECT); 4135 BOOL UnloadKeyboardLayout(HKL); 4136 BOOL UnregisterClassA(LPCSTR, HINSTANCE); 4137 BOOL UnregisterClassW(LPCWSTR, HINSTANCE); 4138 BOOL UnregisterHotKey(HWND, int); 4139 BOOL UpdateWindow(HWND); 4140 BOOL ValidateRect(HWND, LPCRECT); 4141 BOOL ValidateRgn(HWND, HRGN); 4142 SHORT VkKeyScanA(CHAR); 4143 SHORT VkKeyScanExA(CHAR, HKL); 4144 SHORT VkKeyScanExW(WCHAR, HKL); 4145 SHORT VkKeyScanW(WCHAR); 4146 DWORD WaitForInputIdle(HANDLE, DWORD); 4147 BOOL WaitMessage(); 4148 HWND WindowFromDC(HDC hDC); 4149 HWND WindowFromPoint(POINT); 4150 UINT WinExec(LPCSTR, UINT); 4151 BOOL WinHelpA(HWND, LPCSTR, UINT, ULONG_PTR); 4152 BOOL WinHelpW(HWND, LPCWSTR, UINT, ULONG_PTR); 4153 4154 extern (C) { 4155 int wsprintfA(LPSTR, LPCSTR, ...); 4156 int wsprintfW(LPWSTR, LPCWSTR, ...); 4157 } 4158 4159 4160 // These shouldn't be necessary for D. 4161 alias TypeDef!(char*) va_list_; 4162 int wvsprintfA(LPSTR, LPCSTR, va_list_ arglist); 4163 int wvsprintfW(LPWSTR, LPCWSTR, va_list_ arglist); 4164 4165 enum : DWORD { 4166 MONITOR_DEFAULTTONULL, 4167 MONITOR_DEFAULTTOPRIMARY, 4168 MONITOR_DEFAULTTONEAREST // = 2 4169 } 4170 enum MONITORINFOF_PRIMARY = 1; 4171 4172 enum EDS_RAWMODE = 0x00000002; 4173 4174 enum { 4175 ISMEX_NOSEND = 0, 4176 ISMEX_SEND = 1, 4177 ISMEX_NOTIFY = 2, 4178 ISMEX_CALLBACK = 4, 4179 ISMEX_REPLIED = 8 4180 } 4181 4182 struct TITLEBARINFO { 4183 DWORD cbSize = TITLEBARINFO.sizeof; 4184 RECT rcTitleBar; 4185 DWORD[CCHILDREN_TITLEBAR+1] rgstate; 4186 } 4187 alias TITLEBARINFO* PTITLEBARINFO, LPTITLEBARINFO; 4188 4189 static if (_WIN32_WINNT >= 0x501) { // *** correct? 4190 struct FLASHWINFO { 4191 UINT cbSize = this.sizeof; 4192 HWND hwnd; 4193 DWORD dwFlags; 4194 UINT uCount; 4195 DWORD dwTimeout; 4196 } 4197 alias FLASHWINFO* PFLASHWINFO; 4198 } 4199 4200 enum DWORD ASFW_ANY = -1; 4201 enum : UINT { 4202 LSFW_LOCK = 1, 4203 LSFW_UNLOCK 4204 } 4205 enum { 4206 GMMP_USE_DISPLAY_POINTS = 1, 4207 GMMP_USE_HIGH_RESOLUTION_POINTS 4208 } 4209 4210 struct MOUSEMOVEPOINT { 4211 int x; 4212 int y; 4213 DWORD time; 4214 ULONG_PTR dwExtraInfo; 4215 } 4216 alias MOUSEMOVEPOINT* PMOUSEMOVEPOINT, LPMOUSEMOVEPOINT; 4217 4218 enum { 4219 MIM_MAXHEIGHT = 1, 4220 MIM_BACKGROUND = 2, 4221 MIM_HELPID = 4, 4222 MIM_MENUDATA = 8, 4223 MIM_STYLE = 16, 4224 MIM_APPLYTOSUBMENUS = 0x80000000L 4225 } 4226 4227 enum { 4228 MNS_NOCHECK = 0x80000000, 4229 MNS_MODELESS = 0x40000000, 4230 MNS_DRAGDROP = 0x20000000, 4231 MNS_AUTODISMISS = 0x10000000, 4232 MNS_NOTIFYBYPOS = 0x08000000, 4233 MNS_CHECKORBMP = 0x04000000 4234 } 4235 4236 enum { 4237 PM_QS_INPUT = (QS_INPUT << 16), 4238 PM_QS_POSTMESSAGE = ((QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16), 4239 PM_QS_PAINT = (QS_PAINT << 16), 4240 PM_QS_SENDMESSAGE = (QS_SENDMESSAGE << 16) 4241 } 4242 /* 4243 #define WM_GETOBJECT 0x003D 4244 #define WM_CHANGEUISTATE 0x0127 4245 #define WM_UPDATEUISTATE 0x0128 4246 #define WM_QUERYUISTATE 0x0129 4247 #define WM_UNINITMENUPOPUP 0x0125 4248 #define WM_MENURBUTTONUP 290 4249 #define WM_MENUCOMMAND 0x0126 4250 #define WM_MENUGETOBJECT 0x0124 4251 #define WM_MENUDRAG 0x0123 4252 #define WM_APPCOMMAND 0x0319 4253 #define WM_NCXBUTTONDOWN 171 4254 #define WM_NCXBUTTONUP 172 4255 #define WM_NCXBUTTONDBLCLK 173 4256 #define WM_NCMOUSEHOVER 0x02A0 4257 #define WM_NCMOUSELEAVE 0x02A2*/ 4258 4259 enum { 4260 FLASHW_STOP = 0, 4261 FLASHW_CAPTION = 0x01, 4262 FLASHW_TRAY = 0x02, 4263 FLASHW_ALL = 0x03, 4264 FLASHW_TIMER = 0x04, 4265 FLASHW_TIMERNOFG = 0x0C 4266 } 4267 4268 enum CHILDID_SELF = 0; 4269 4270 enum { 4271 OBJID_WINDOW = 0x00000000, 4272 OBJID_SOUND = 0xFFFFFFF5, 4273 OBJID_ALERT = 0xFFFFFFF6, 4274 OBJID_CURSOR = 0xFFFFFFF7, 4275 OBJID_CARET = 0xFFFFFFF8, 4276 OBJID_SIZEGRIP = 0xFFFFFFF9, 4277 OBJID_HSCROLL = 0xFFFFFFFA, 4278 OBJID_VSCROLL = 0xFFFFFFFB, 4279 OBJID_CLIENT = 0xFFFFFFFC, 4280 OBJID_MENU = 0xFFFFFFFD, 4281 OBJID_TITLEBAR = 0xFFFFFFFE, 4282 OBJID_SYSMENU = 0xFFFFFFFF 4283 } 4284 4285 enum { 4286 GUI_CARETBLINKING = 0x0001, 4287 GUI_INMOVESIZE = 0x0002, 4288 GUI_INMENUMODE = 0x0004, 4289 GUI_SYSTEMMENUMODE = 0x0008, 4290 GUI_POPUPMENUMODE = 0x0010 4291 } 4292 static if (_WIN32_WINNT >= 0x501) { 4293 enum GUI_16BITTASK = 0x0020; 4294 } 4295 4296 enum { 4297 WINEVENT_OUTOFCONTEXT = 0x00, 4298 WINEVENT_SKIPOWNTHREAD = 0x01, 4299 WINEVENT_SKIPOWNPROCESS = 0x02, 4300 WINEVENT_INCONTEXT = 0x04 4301 } 4302 4303 enum { 4304 AW_HOR_POSITIVE = 0x00000001, 4305 AW_HOR_NEGATIVE = 0x00000002, 4306 AW_VER_POSITIVE = 0x00000004, 4307 AW_VER_NEGATIVE = 0x00000008, 4308 AW_CENTER = 0x00000010, 4309 AW_HIDE = 0x00010000, 4310 AW_ACTIVATE = 0x00020000, 4311 AW_SLIDE = 0x00040000, 4312 AW_BLEND = 0x00080000 4313 } 4314 4315 enum { 4316 DEVICE_NOTIFY_WINDOW_HANDLE = 0x00000000, 4317 DEVICE_NOTIFY_SERVICE_HANDLE = 0x00000001 4318 } 4319 4320 static if (_WIN32_WINNT >= 0x501) { 4321 enum DEVICE_NOTIFY_ALL_INTERFACE_CLASSES = 0x00000004; 4322 } 4323 4324 enum : DWORD { 4325 EVENT_MIN = 0x00000001, 4326 EVENT_SYSTEM_SOUND = 0x00000001, 4327 EVENT_SYSTEM_ALERT, 4328 EVENT_SYSTEM_FOREGROUND, 4329 EVENT_SYSTEM_MENUSTART, 4330 EVENT_SYSTEM_MENUEND, 4331 EVENT_SYSTEM_MENUPOPUPSTART, 4332 EVENT_SYSTEM_MENUPOPUPEND, 4333 EVENT_SYSTEM_CAPTURESTART, 4334 EVENT_SYSTEM_CAPTUREEND, 4335 EVENT_SYSTEM_MOVESIZESTART, 4336 EVENT_SYSTEM_MOVESIZEEND, 4337 EVENT_SYSTEM_CONTEXTHELPSTART, 4338 EVENT_SYSTEM_CONTEXTHELPEND, 4339 EVENT_SYSTEM_DRAGDROPSTART, 4340 EVENT_SYSTEM_DRAGDROPEND, 4341 EVENT_SYSTEM_DIALOGSTART, 4342 EVENT_SYSTEM_DIALOGEND, 4343 EVENT_SYSTEM_SCROLLINGSTART, 4344 EVENT_SYSTEM_SCROLLINGEND, 4345 EVENT_SYSTEM_SWITCHSTART, 4346 EVENT_SYSTEM_SWITCHEND, 4347 EVENT_SYSTEM_MINIMIZESTART, 4348 EVENT_SYSTEM_MINIMIZEEND, // = 0x00000017 4349 EVENT_OBJECT_CREATE = 0x00008000, 4350 EVENT_OBJECT_DESTROY, 4351 EVENT_OBJECT_SHOW, 4352 EVENT_OBJECT_HIDE, 4353 EVENT_OBJECT_REORDER, 4354 EVENT_OBJECT_FOCUS, 4355 EVENT_OBJECT_SELECTION, 4356 EVENT_OBJECT_SELECTIONADD, 4357 EVENT_OBJECT_SELECTIONREMOVE, 4358 EVENT_OBJECT_SELECTIONWITHIN, 4359 EVENT_OBJECT_STATECHANGE, 4360 EVENT_OBJECT_LOCATIONCHANGE, 4361 EVENT_OBJECT_NAMECHANGE, 4362 EVENT_OBJECT_DESCRIPTIONCHANGE, 4363 EVENT_OBJECT_VALUECHANGE, 4364 EVENT_OBJECT_PARENTCHANGE, 4365 EVENT_OBJECT_HELPCHANGE, 4366 EVENT_OBJECT_DEFACTIONCHANGE, 4367 EVENT_OBJECT_ACCELERATORCHANGE, // = 0x00008012 4368 EVENT_MAX = 0x7FFFFFFF 4369 } 4370 4371 static if (_WIN32_WINNT >= 0x501) { 4372 enum : DWORD { 4373 EVENT_CONSOLE_CARET = 0x00004000, 4374 EVENT_CONSOLE_UPDATE_REGION, 4375 EVENT_CONSOLE_UPDATE_SIMPLE, 4376 EVENT_CONSOLE_UPDATE_SCROLL, 4377 EVENT_CONSOLE_LAYOUT, 4378 EVENT_CONSOLE_START_APPLICATION, 4379 EVENT_CONSOLE_END_APPLICATION, // = 0x00004007 4380 } 4381 4382 enum : LONG { 4383 CONSOLE_CARET_SELECTION = 1, 4384 CONSOLE_CARET_VISIBLE // = 2 4385 } 4386 enum LONG CONSOLE_APPLICATION_16BIT = 1; 4387 } 4388 4389 enum { 4390 LWA_COLORKEY = 1, 4391 LWA_ALPHA 4392 } 4393 enum { 4394 ULW_COLORKEY = 1, 4395 ULW_ALPHA = 2, 4396 ULW_OPAQUE = 4 4397 } 4398 enum { 4399 GR_GDIOBJECTS, 4400 GR_USEROBJECTS 4401 } 4402 4403 enum { 4404 XBUTTON1 = 1, 4405 XBUTTON2 4406 } 4407 4408 struct GUITHREADINFO { 4409 DWORD cbSize = this.sizeof; 4410 DWORD flags; 4411 HWND hwndActive; 4412 HWND hwndFocus; 4413 HWND hwndCapture; 4414 HWND hwndMenuOwner; 4415 HWND hwndMoveSize; 4416 HWND hwndCaret; 4417 RECT rcCaret; 4418 } 4419 alias GUITHREADINFO* PGUITHREADINFO, LPGUITHREADINFO; 4420 extern (Windows) { 4421 alias void function(HWINEVENTHOOK, DWORD, HWND, LONG, LONG, DWORD, DWORD) WINEVENTPROC; 4422 } 4423 // *** line 4680 of MinGW 4.0 4424 int BroadcastSystemMessageA(DWORD, LPDWORD, UINT, WPARAM, LPARAM); 4425 int BroadcastSystemMessageW(DWORD, LPDWORD, UINT, WPARAM, LPARAM); 4426 4427 UINT SendInput(UINT, LPINPUT, int); 4428 BOOL EnumDisplayMonitors(HDC, LPCRECT, MONITORENUMPROC, LPARAM); 4429 BOOL GetMonitorInfoA(HMONITOR, LPMONITORINFO); 4430 extern(D) BOOL GetMonitorInfoA()(HMONITOR m, LPMONITORINFOEXA mi) { return GetMonitorInfoA(m, cast(LPMONITORINFO)mi); } 4431 BOOL GetMonitorInfoW(HMONITOR, LPMONITORINFO); 4432 extern(D) BOOL GetMonitorInfoW()(HMONITOR m, LPMONITORINFOEXW mi) { return GetMonitorInfoW(m, cast(LPMONITORINFO)mi); } 4433 HMONITOR MonitorFromPoint(POINT, DWORD); 4434 HMONITOR MonitorFromRect(LPCRECT, DWORD); 4435 HMONITOR MonitorFromWindow(HWND, DWORD); 4436 BOOL AllowSetForegroundWindow(DWORD); 4437 BOOL AnimateWindow(HWND, DWORD, DWORD); 4438 BOOL EndTask(HWND, BOOL, BOOL); 4439 BOOL EnumDisplaySettingsExA(LPCSTR, DWORD, LPDEVMODEA, DWORD); 4440 BOOL EnumDisplaySettingsExW(LPCWSTR, DWORD, LPDEVMODEW, DWORD); 4441 DWORD GetClipboardSequenceNumber(); 4442 DWORD GetGuiResources(HANDLE, DWORD); 4443 BOOL GetGUIThreadInfo(DWORD, LPGUITHREADINFO); 4444 4445 int GetMouseMovePointsEx(UINT, LPMOUSEMOVEPOINT, LPMOUSEMOVEPOINT, int, DWORD); 4446 BOOL GetProcessDefaultLayout(DWORD*); 4447 HWND GetShellWindow(); 4448 BOOL IsHungAppWindow(HWND); 4449 DWORD InSendMessageEx(LPVOID); 4450 BOOL LockSetForegroundWindow(UINT); 4451 BOOL LockWorkStation(); 4452 void NotifyWinEvent(DWORD, HWND, LONG, LONG); 4453 HDEVNOTIFY RegisterDeviceNotificationA(HANDLE, LPVOID, DWORD); 4454 HDEVNOTIFY RegisterDeviceNotificationW(HANDLE, LPVOID, DWORD); 4455 BOOL SetProcessDefaultLayout(DWORD); 4456 HWINEVENTHOOK SetWinEventHook(UINT, UINT, HMODULE, WINEVENTPROC, DWORD, DWORD, UINT); 4457 void SwitchToThisWindow(HWND, BOOL); 4458 BOOL SetLayeredWindowAttributes(HWND, COLORREF, BYTE, DWORD); 4459 BOOL UpdateLayeredWindow(HWND, HDC, POINT*, SIZE*, HDC, POINT*, COLORREF, BLENDFUNCTION*, DWORD); 4460 BOOL UserHandleGrantAccess(HANDLE, HANDLE, BOOL); 4461 BOOL UnhookWinEvent(HWINEVENTHOOK); 4462 BOOL UnregisterDeviceNotification(HANDLE); 4463 4464 static if (_WIN32_WINNT >= 0x501) { 4465 int BroadcastSystemMessageExA(DWORD, LPDWORD, UINT, WPARAM, LPARAM, PBSMINFO); 4466 int BroadcastSystemMessageExW(DWORD, LPDWORD, UINT, WPARAM, LPARAM, PBSMINFO); 4467 LRESULT DefRawInputProc(PRAWINPUT*, INT, UINT); 4468 BOOL FlashWindowEx(PFLASHWINFO); 4469 BOOL GetLayeredWindowAttributes(HWND, COLORREF*, BYTE*, DWORD*); 4470 UINT GetRawInputBuffer(PRAWINPUT, PUINT, UINT); 4471 UINT GetRawInputData(HRAWINPUT, UINT, LPVOID, PUINT, UINT); 4472 UINT GetRawInputDeviceInfoA(HANDLE, UINT, LPVOID, PUINT); 4473 UINT GetRawInputDeviceInfoW(HANDLE, UINT, LPVOID, PUINT); 4474 UINT GetRawInputDeviceList(PRAWINPUTDEVICELIST, PUINT, UINT); 4475 UINT GetRegisteredRawInputDevices(PRAWINPUTDEVICE, PUINT, UINT); 4476 BOOL IsGUIThread(BOOL); 4477 BOOL IsWinEventHookInstalled(DWORD); 4478 BOOL PrintWindow(HWND, HDC, UINT); 4479 BOOL RegisterRawInputDevices(PCRAWINPUTDEVICE, UINT, UINT); 4480 } 4481 4482 version (Win64) { 4483 ULONG_PTR GetClassLongPtrA(HWND, int); 4484 ULONG_PTR GetClassLongPtrW(HWND, int); 4485 ULONG_PTR SetClassLongPtrA(HWND, int, LONG_PTR); 4486 ULONG_PTR SetClassLongPtrW(HWND, int, LONG_PTR); 4487 LONG_PTR GetWindowLongPtrA(HWND, int); 4488 LONG_PTR GetWindowLongPtrW(HWND, int); 4489 LONG_PTR SetWindowLongPtrA(HWND, int, LONG_PTR); 4490 LONG_PTR SetWindowLongPtrW(HWND, int, LONG_PTR); 4491 } else { 4492 alias GetClassLongA GetClassLongPtrA; 4493 alias GetClassLongW GetClassLongPtrW; 4494 alias SetClassLongA SetClassLongPtrA; 4495 alias SetClassLongW SetClassLongPtrW; 4496 alias GetWindowLongA GetWindowLongPtrA; 4497 alias GetWindowLongW GetWindowLongPtrW; 4498 alias SetWindowLongA SetWindowLongPtrA; 4499 alias SetWindowLongW SetWindowLongPtrW; 4500 } 4501 4502 4503 // ----- 4504 // Aliases for Unicode or Ansi 4505 version (Unicode) { 4506 alias EDITWORDBREAKPROCW EDITWORDBREAKPROC; 4507 alias PROPENUMPROCW PROPENUMPROC; 4508 alias PROPENUMPROCEXW PROPENUMPROCEX; 4509 alias DESKTOPENUMPROCW DESKTOPENUMPROC; 4510 alias WINSTAENUMPROCW WINSTAENUMPROC; 4511 alias MAKEINTRESOURCEW MAKEINTRESOURCE; 4512 4513 alias WNDCLASSW WNDCLASS; 4514 alias WNDCLASSEXW WNDCLASSEX; 4515 alias MENUITEMINFOW MENUITEMINFO; 4516 alias LPCMENUITEMINFOW LPCMENUITEMINFO; 4517 alias MSGBOXPARAMSW MSGBOXPARAMS; 4518 alias HIGHCONTRASTW HIGHCONTRAST; 4519 alias SERIALKEYSW SERIALKEYS; 4520 alias SOUNDSENTRYW SOUNDSENTRY; 4521 alias CREATESTRUCTW CREATESTRUCT; 4522 alias CBT_CREATEWNDW CBT_CREATEWND; 4523 alias MDICREATESTRUCTW MDICREATESTRUCT; 4524 alias MULTIKEYHELPW MULTIKEYHELP; 4525 alias MONITORINFOEXW MONITORINFOEX; 4526 alias ICONMETRICSW ICONMETRICS; 4527 alias NONCLIENTMETRICSW NONCLIENTMETRICS; 4528 4529 alias AppendMenuW AppendMenu; 4530 alias BroadcastSystemMessageW BroadcastSystemMessage; 4531 static if (_WIN32_WINNT >= 0x501) { 4532 alias BroadcastSystemMessageExW BroadcastSystemMessageEx; 4533 } 4534 alias CallMsgFilterW CallMsgFilter; 4535 alias CallWindowProcW CallWindowProc; 4536 alias ChangeMenuW ChangeMenu; 4537 alias CharLowerW CharLower; 4538 alias CharLowerBuffW CharLowerBuff; 4539 alias CharNextW CharNext; 4540 alias CharNextExW CharNextEx; 4541 alias CharPrevW CharPrev; 4542 alias CharPrevExW CharPrevEx; 4543 alias CharToOemW CharToOem; 4544 alias CharToOemBuffW CharToOemBuff; 4545 alias CharUpperW CharUpper; 4546 alias CharUpperBuffW CharUpperBuff; 4547 alias CopyAcceleratorTableW CopyAcceleratorTable; 4548 alias CreateAcceleratorTableW CreateAcceleratorTable; 4549 alias CreateDialogW CreateDialog; 4550 alias CreateDialogIndirectW CreateDialogIndirect; 4551 alias CreateDialogIndirectParamW CreateDialogIndirectParam; 4552 alias CreateDialogParamW CreateDialogParam; 4553 alias CreateMDIWindowW CreateMDIWindow; 4554 alias CreateWindowW CreateWindow; 4555 alias CreateWindowExW CreateWindowEx; 4556 alias CreateWindowStationW CreateWindowStation; 4557 alias DefDlgProcW DefDlgProc; 4558 alias DefFrameProcW DefFrameProc; 4559 alias DefMDIChildProcW DefMDIChildProc; 4560 alias DefWindowProcW DefWindowProc; 4561 alias DialogBoxW DialogBox; 4562 alias DialogBoxIndirectW DialogBoxIndirect; 4563 alias DialogBoxIndirectParamW DialogBoxIndirectParam; 4564 alias DialogBoxParamW DialogBoxParam; 4565 alias DispatchMessageW DispatchMessage; 4566 alias DlgDirListW DlgDirList; 4567 alias DlgDirListComboBoxW DlgDirListComboBox; 4568 alias DlgDirSelectComboBoxExW DlgDirSelectComboBoxEx; 4569 alias DlgDirSelectExW DlgDirSelectEx; 4570 alias DrawStateW DrawState; 4571 alias DrawTextW DrawText; 4572 alias DrawTextExW DrawTextEx; 4573 alias EnumDesktopsW EnumDesktops; 4574 alias EnumPropsW EnumProps; 4575 alias EnumPropsExW EnumPropsEx; 4576 alias EnumWindowStationsW EnumWindowStations; 4577 alias FindWindowW FindWindow; 4578 alias FindWindowExW FindWindowEx; 4579 alias GetClassInfoW GetClassInfo; 4580 alias GetClassInfoExW GetClassInfoEx; 4581 alias GetClassLongW GetClassLong; 4582 alias GetClassLongPtrW GetClassLongPtr; 4583 alias GetClassNameW GetClassName; 4584 alias GetClipboardFormatNameW GetClipboardFormatName; 4585 alias GetDlgItemTextW GetDlgItemText; 4586 alias GetKeyboardLayoutNameW GetKeyboardLayoutName; 4587 alias GetKeyNameTextW GetKeyNameText; 4588 alias GetMenuItemInfoW GetMenuItemInfo; 4589 alias GetMenuStringW GetMenuString; 4590 alias GetMessageW GetMessage; 4591 alias GetMonitorInfoW GetMonitorInfo; 4592 alias GetPropW GetProp; 4593 static if (_WIN32_WINNT >= 0x501) { 4594 alias GetRawInputDeviceInfoW GetRawInputDeviceInfo; 4595 } 4596 alias GetTabbedTextExtentW GetTabbedTextExtent; 4597 alias GetUserObjectInformationW GetUserObjectInformation; 4598 alias GetWindowLongW GetWindowLong; 4599 alias GetWindowLongPtrW GetWindowLongPtr; 4600 alias GetWindowTextW GetWindowText; 4601 alias GetWindowTextLengthW GetWindowTextLength; 4602 alias GetAltTabInfoW GetAltTabInfo; 4603 alias GetWindowModuleFileNameW GetWindowModuleFileName; 4604 alias GrayStringW GrayString; 4605 alias InsertMenuW InsertMenu; 4606 alias InsertMenuItemW InsertMenuItem; 4607 alias IsCharAlphaW IsCharAlpha; 4608 alias IsCharAlphaNumericW IsCharAlphaNumeric; 4609 alias IsCharLowerW IsCharLower; 4610 alias IsCharUpperW IsCharUpper; 4611 alias IsDialogMessageW IsDialogMessage; 4612 alias LoadAcceleratorsW LoadAccelerators; 4613 alias LoadBitmapW LoadBitmap; 4614 alias LoadCursorW LoadCursor; 4615 alias LoadCursorFromFileW LoadCursorFromFile; 4616 alias LoadIconW LoadIcon; 4617 alias LoadImageW LoadImage; 4618 alias LoadKeyboardLayoutW LoadKeyboardLayout; 4619 alias LoadMenuW LoadMenu; 4620 alias LoadMenuIndirectW LoadMenuIndirect; 4621 alias LoadStringW LoadString; 4622 alias MapVirtualKeyW MapVirtualKey; 4623 alias MapVirtualKeyExW MapVirtualKeyEx; 4624 alias MessageBoxW MessageBox; 4625 alias MessageBoxExW MessageBoxEx; 4626 alias MessageBoxIndirectW MessageBoxIndirect; 4627 alias ModifyMenuW ModifyMenu; 4628 alias OemToCharW OemToChar; 4629 alias OemToCharBuffW OemToCharBuff; 4630 alias OpenDesktopW OpenDesktop; 4631 alias OpenWindowStationW OpenWindowStation; 4632 alias PeekMessageW PeekMessage; 4633 alias PostMessageW PostMessage; 4634 alias PostThreadMessageW PostThreadMessage; 4635 alias RealGetWindowClassW RealGetWindowClass; 4636 alias RegisterClassW RegisterClass; 4637 alias RegisterClassExW RegisterClassEx; 4638 alias RegisterClipboardFormatW RegisterClipboardFormat; 4639 alias RegisterDeviceNotificationW RegisterDeviceNotification; 4640 alias RegisterWindowMessageW RegisterWindowMessage; 4641 alias RemovePropW RemoveProp; 4642 alias SendDlgItemMessageW SendDlgItemMessage; 4643 alias SendMessageW SendMessage; 4644 alias SendMessageCallbackW SendMessageCallback; 4645 alias SendMessageTimeoutW SendMessageTimeout; 4646 alias SendNotifyMessageW SendNotifyMessage; 4647 alias SetClassLongW SetClassLong; 4648 alias SetClassLongPtrW SetClassLongPtr; 4649 alias SetDlgItemTextW SetDlgItemText; 4650 alias SetMenuItemInfoW SetMenuItemInfo; 4651 alias SetPropW SetProp; 4652 alias SetUserObjectInformationW SetUserObjectInformation; 4653 alias SetWindowLongW SetWindowLong; 4654 alias SetWindowLongPtrW SetWindowLongPtr; 4655 alias SetWindowsHookW SetWindowsHook; 4656 alias SetWindowsHookExW SetWindowsHookEx; 4657 alias SetWindowTextW SetWindowText; 4658 alias SystemParametersInfoW SystemParametersInfo; 4659 alias TabbedTextOutW TabbedTextOut; 4660 alias TranslateAcceleratorW TranslateAccelerator; 4661 alias UnregisterClassW UnregisterClass; 4662 alias VkKeyScanW VkKeyScan; 4663 alias VkKeyScanExW VkKeyScanEx; 4664 alias WinHelpW WinHelp; 4665 alias wsprintfW wsprintf; 4666 alias wvsprintfW wvsprintf; 4667 4668 alias ChangeDisplaySettingsW ChangeDisplaySettings; 4669 alias ChangeDisplaySettingsExW ChangeDisplaySettingsEx; 4670 alias CreateDesktopW CreateDesktop; 4671 alias EnumDisplaySettingsW EnumDisplaySettings; 4672 alias EnumDisplaySettingsExW EnumDisplaySettingsEx; 4673 alias EnumDisplayDevicesW EnumDisplayDevices; 4674 4675 } else { // ANSI 4676 4677 alias EDITWORDBREAKPROCA EDITWORDBREAKPROC; 4678 alias PROPENUMPROCA PROPENUMPROC; 4679 alias PROPENUMPROCEXA PROPENUMPROCEX; 4680 alias DESKTOPENUMPROCA DESKTOPENUMPROC; 4681 alias WINSTAENUMPROCA WINSTAENUMPROC; 4682 alias MAKEINTRESOURCEA MAKEINTRESOURCE; 4683 4684 alias WNDCLASSA WNDCLASS; 4685 alias WNDCLASSEXA WNDCLASSEX; 4686 alias MENUITEMINFOA MENUITEMINFO; 4687 alias LPCMENUITEMINFOA LPCMENUITEMINFO; 4688 alias MSGBOXPARAMSA MSGBOXPARAMS; 4689 alias HIGHCONTRASTA HIGHCONTRAST; 4690 alias SERIALKEYSA SERIALKEYS; 4691 alias SOUNDSENTRYA SOUNDSENTRY; 4692 alias CREATESTRUCTA CREATESTRUCT; 4693 alias CBT_CREATEWNDA CBT_CREATEWND; 4694 alias MDICREATESTRUCTA MDICREATESTRUCT; 4695 alias MULTIKEYHELPA MULTIKEYHELP; 4696 alias MONITORINFOEXA MONITORINFOEX; 4697 alias ICONMETRICSA ICONMETRICS; 4698 alias NONCLIENTMETRICSA NONCLIENTMETRICS; 4699 4700 alias AppendMenuA AppendMenu; 4701 alias BroadcastSystemMessageA BroadcastSystemMessage; 4702 static if (_WIN32_WINNT >= 0x501) { 4703 alias BroadcastSystemMessageExA BroadcastSystemMessageEx; 4704 } 4705 alias CallMsgFilterA CallMsgFilter; 4706 alias CallWindowProcA CallWindowProc; 4707 alias ChangeMenuA ChangeMenu; 4708 alias CharLowerA CharLower; 4709 alias CharLowerBuffA CharLowerBuff; 4710 alias CharNextA CharNext; 4711 alias CharNextExA CharNextEx; 4712 alias CharPrevA CharPrev; 4713 alias CharPrevExA CharPrevEx; 4714 alias CharToOemA CharToOem; 4715 alias CharToOemBuffA CharToOemBuff; 4716 alias CharUpperA CharUpper; 4717 alias CharUpperBuffA CharUpperBuff; 4718 alias CopyAcceleratorTableA CopyAcceleratorTable; 4719 alias CreateAcceleratorTableA CreateAcceleratorTable; 4720 alias CreateDialogA CreateDialog; 4721 alias CreateDialogIndirectA CreateDialogIndirect; 4722 alias CreateDialogIndirectParamA CreateDialogIndirectParam; 4723 alias CreateDialogParamA CreateDialogParam; 4724 alias CreateMDIWindowA CreateMDIWindow; 4725 alias CreateWindowA CreateWindow; 4726 alias CreateWindowExA CreateWindowEx; 4727 alias CreateWindowStationA CreateWindowStation; 4728 alias DefDlgProcA DefDlgProc; 4729 alias DefFrameProcA DefFrameProc; 4730 alias DefMDIChildProcA DefMDIChildProc; 4731 alias DefWindowProcA DefWindowProc; 4732 alias DialogBoxA DialogBox; 4733 alias DialogBoxIndirectA DialogBoxIndirect; 4734 alias DialogBoxIndirectParamA DialogBoxIndirectParam; 4735 alias DialogBoxParamA DialogBoxParam; 4736 alias DispatchMessageA DispatchMessage; 4737 alias DlgDirListA DlgDirList; 4738 alias DlgDirListComboBoxA DlgDirListComboBox; 4739 alias DlgDirSelectComboBoxExA DlgDirSelectComboBoxEx; 4740 alias DlgDirSelectExA DlgDirSelectEx; 4741 alias DrawStateA DrawState; 4742 alias DrawTextA DrawText; 4743 alias DrawTextExA DrawTextEx; 4744 alias EnumDesktopsA EnumDesktops; 4745 alias EnumPropsA EnumProps; 4746 alias EnumPropsExA EnumPropsEx; 4747 alias EnumWindowStationsA EnumWindowStations; 4748 alias FindWindowA FindWindow; 4749 alias FindWindowExA FindWindowEx; 4750 alias GetClassInfoA GetClassInfo; 4751 alias GetClassInfoExA GetClassInfoEx; 4752 alias GetClassLongA GetClassLong; 4753 alias GetClassLongPtrA GetClassLongPtr; 4754 alias GetClassNameA GetClassName; 4755 alias GetClipboardFormatNameA GetClipboardFormatName; 4756 alias GetDlgItemTextA GetDlgItemText; 4757 alias GetKeyboardLayoutNameA GetKeyboardLayoutName; 4758 alias GetKeyNameTextA GetKeyNameText; 4759 alias GetMenuItemInfoA GetMenuItemInfo; 4760 alias GetMenuStringA GetMenuString; 4761 alias GetMessageA GetMessage; 4762 alias GetMonitorInfoA GetMonitorInfo; 4763 alias GetPropA GetProp; 4764 static if (_WIN32_WINNT >= 0x501) { 4765 alias GetRawInputDeviceInfoA GetRawInputDeviceInfo; 4766 } 4767 alias GetTabbedTextExtentA GetTabbedTextExtent; 4768 alias GetUserObjectInformationA GetUserObjectInformation; 4769 alias GetWindowLongA GetWindowLong; 4770 alias GetWindowLongPtrA GetWindowLongPtr; 4771 alias GetWindowTextA GetWindowText; 4772 alias GetWindowTextLengthA GetWindowTextLength; 4773 alias GetAltTabInfoA GetAltTabInfo; 4774 alias GetWindowModuleFileNameA GetWindowModuleFileName; 4775 alias GrayStringA GrayString; 4776 alias InsertMenuA InsertMenu; 4777 alias InsertMenuItemA InsertMenuItem; 4778 alias IsCharAlphaA IsCharAlpha; 4779 alias IsCharAlphaNumericA IsCharAlphaNumeric; 4780 alias IsCharLowerA IsCharLower; 4781 alias IsCharUpperA IsCharUpper; 4782 alias IsDialogMessageA IsDialogMessage; 4783 alias LoadAcceleratorsA LoadAccelerators; 4784 alias LoadBitmapA LoadBitmap; 4785 alias LoadCursorA LoadCursor; 4786 alias LoadIconA LoadIcon; 4787 alias LoadCursorFromFileA LoadCursorFromFile; 4788 alias LoadImageA LoadImage; 4789 alias LoadKeyboardLayoutA LoadKeyboardLayout; 4790 alias LoadMenuA LoadMenu; 4791 alias LoadMenuIndirectA LoadMenuIndirect; 4792 alias LoadStringA LoadString; 4793 alias MapVirtualKeyA MapVirtualKey; 4794 alias MapVirtualKeyExA MapVirtualKeyEx; 4795 alias MessageBoxA MessageBox; 4796 alias MessageBoxExA MessageBoxEx; 4797 alias MessageBoxIndirectA MessageBoxIndirect; 4798 alias ModifyMenuA ModifyMenu; 4799 alias OemToCharA OemToChar; 4800 alias OemToCharBuffA OemToCharBuff; 4801 alias OpenDesktopA OpenDesktop; 4802 alias OpenWindowStationA OpenWindowStation; 4803 alias PeekMessageA PeekMessage; 4804 alias PostMessageA PostMessage; 4805 alias PostThreadMessageA PostThreadMessage; 4806 alias RealGetWindowClassA RealGetWindowClass; 4807 alias RegisterClassA RegisterClass; 4808 alias RegisterClassExA RegisterClassEx; 4809 alias RegisterClipboardFormatA RegisterClipboardFormat; 4810 alias RegisterDeviceNotificationA RegisterDeviceNotification; 4811 alias RegisterWindowMessageA RegisterWindowMessage; 4812 alias RemovePropA RemoveProp; 4813 alias SendDlgItemMessageA SendDlgItemMessage; 4814 alias SendMessageA SendMessage; 4815 alias SendMessageCallbackA SendMessageCallback; 4816 alias SendMessageTimeoutA SendMessageTimeout; 4817 alias SendNotifyMessageA SendNotifyMessage; 4818 alias SetClassLongA SetClassLong; 4819 alias SetClassLongPtrA SetClassLongPtr; 4820 alias SetDlgItemTextA SetDlgItemText; 4821 alias SetMenuItemInfoA SetMenuItemInfo; 4822 alias SetPropA SetProp; 4823 alias SetUserObjectInformationA SetUserObjectInformation; 4824 alias SetWindowLongA SetWindowLong; 4825 alias SetWindowLongPtrA SetWindowLongPtr; 4826 alias SetWindowsHookA SetWindowsHook; 4827 alias SetWindowsHookExA SetWindowsHookEx; 4828 alias SetWindowTextA SetWindowText; 4829 alias SystemParametersInfoA SystemParametersInfo; 4830 alias TabbedTextOutA TabbedTextOut; 4831 alias TranslateAcceleratorA TranslateAccelerator; 4832 alias UnregisterClassA UnregisterClass; 4833 alias VkKeyScanA VkKeyScan; 4834 alias VkKeyScanExA VkKeyScanEx; 4835 alias WinHelpA WinHelp; 4836 alias wsprintfA wsprintf; 4837 alias wvsprintfA wvsprintf; 4838 4839 alias ChangeDisplaySettingsA ChangeDisplaySettings; 4840 alias ChangeDisplaySettingsExA ChangeDisplaySettingsEx; 4841 alias CreateDesktopA CreateDesktop; 4842 alias EnumDisplaySettingsA EnumDisplaySettings; 4843 alias EnumDisplaySettingsExA EnumDisplaySettingsEx; 4844 alias EnumDisplayDevicesA EnumDisplayDevices; 4845 } 4846 4847 alias WNDCLASS* LPWNDCLASS, PWNDCLASS; 4848 alias WNDCLASSEX* LPWNDCLASSEX, PWNDCLASSEX; 4849 alias MENUITEMINFO* LPMENUITEMINFO; 4850 alias MSGBOXPARAMS* PMSGBOXPARAMS, LPMSGBOXPARAMS; 4851 alias HIGHCONTRAST* LPHIGHCONTRAST; 4852 alias SERIALKEYS* LPSERIALKEYS; 4853 alias SOUNDSENTRY* LPSOUNDSENTRY; 4854 alias CREATESTRUCT* LPCREATESTRUCT; 4855 alias CBT_CREATEWND* LPCBT_CREATEWND; 4856 alias MDICREATESTRUCT* LPMDICREATESTRUCT; 4857 alias MULTIKEYHELP* PMULTIKEYHELP, LPMULTIKEYHELP; 4858 alias MONITORINFOEX* LPMONITORINFOEX; 4859 alias ICONMETRICS* LPICONMETRICS; 4860 alias NONCLIENTMETRICS* LPNONCLIENTMETRICS; 4861 4862 static if (_WIN32_WINNT >= 0x501) { 4863 enum PW_CLIENTONLY = 0x00000001; 4864 enum RIM_INPUT = 0x00000000; 4865 enum RIM_INPUTSINK = 0x00000001; 4866 enum RIM_TYPEMOUSE = 0x00000000; 4867 enum RIM_TYPEKEYBOARD = 0x00000001; 4868 enum RIM_TYPEHID = 0x00000002; 4869 enum MOUSE_MOVE_RELATIVE = 0x00000000; 4870 enum MOUSE_MOVE_ABSOLUTE = 0x00000001; 4871 enum MOUSE_VIRTUAL_DESKTOP = 0x00000002; 4872 enum MOUSE_ATTRIBUTES_CHANGED = 0x00000004; 4873 enum RI_MOUSE_LEFT_BUTTON_DOWN = 0x0001; 4874 enum RI_MOUSE_LEFT_BUTTON_UP = 0x0002; 4875 enum RI_MOUSE_RIGHT_BUTTON_DOWN = 0x0004; 4876 enum RI_MOUSE_RIGHT_BUTTON_UP = 0x0008; 4877 enum RI_MOUSE_MIDDLE_BUTTON_DOWN = 0x0010; 4878 enum RI_MOUSE_MIDDLE_BUTTON_UP = 0x0020; 4879 enum RI_MOUSE_BUTTON_1_DOWN = RI_MOUSE_LEFT_BUTTON_DOWN; 4880 enum RI_MOUSE_BUTTON_1_UP = RI_MOUSE_LEFT_BUTTON_UP; 4881 enum RI_MOUSE_BUTTON_2_DOWN = RI_MOUSE_RIGHT_BUTTON_DOWN; 4882 enum RI_MOUSE_BUTTON_2_UP = RI_MOUSE_RIGHT_BUTTON_UP; 4883 enum RI_MOUSE_BUTTON_3_DOWN = RI_MOUSE_MIDDLE_BUTTON_DOWN; 4884 enum RI_MOUSE_BUTTON_3_UP = RI_MOUSE_MIDDLE_BUTTON_UP; 4885 enum RI_MOUSE_BUTTON_4_DOWN = 0x0040; 4886 enum RI_MOUSE_BUTTON_4_UP = 0x0080; 4887 enum RI_MOUSE_BUTTON_5_DOWN = 0x0100; 4888 enum RI_MOUSE_BUTTON_5_UP = 0x0200; 4889 enum RI_MOUSE_WHEEL = 0x0400; 4890 enum KEYBOARD_OVERRUN_MAKE_CODE = 0x00ff; 4891 enum RI_KEY_MAKE = 0x0000; 4892 enum RI_KEY_BREAK = 0x0001; 4893 enum RI_KEY_E0 = 0x0002; 4894 enum RI_KEY_E1 = 0x0004; 4895 enum RI_KEY_TERMSRV_SET_LED = 0x0008; 4896 enum RI_KEY_TERMSRV_SHADOW = 0x0010; 4897 4898 enum RID_INPUT = 0x10000003; 4899 enum RID_HEADER = 0x10000005; 4900 4901 enum RIDI_PREPARSEDDATA = 0x20000005; 4902 enum RIDI_DEVICENAME = 0x20000007; 4903 enum RIDI_DEVICEINFO = 0x2000000b; 4904 4905 enum RIDEV_REMOVE = 0x00000001; 4906 enum RIDEV_EXCLUDE = 0x00000010; 4907 enum RIDEV_PAGEONLY = 0x00000020; 4908 enum RIDEV_NOLEGACY = 0x00000030; 4909 enum RIDEV_INPUTSINK = 0x00000100; 4910 enum RIDEV_CAPTUREMOUSE = 0x00000200; 4911 enum RIDEV_NOHOTKEYS = 0x00000200; 4912 enum RIDEV_APPKEYS = 0x00000400; 4913 }