1 /** DGui project file. 2 3 Copyright: Trogu Antonio Davide 2011-2013 4 5 License: $(HTTP boost.org/LICENSE_1_0.txt, Boost License 1.0). 6 7 Authors: Trogu Antonio Davide 8 */ 9 10 /* 11 * Notes: 12 * - ToolTip Messages are Commented. 13 * - RichEdit Text Styles are Commented. 14 */ 15 16 module dguihub.core.winapi; 17 18 public import core.sys.windows.windows; 19 public import core.sys.windows.com; 20 21 extern (Windows) { 22 enum : int { 23 I_CHILDRENCALLBACK = -1, 24 LPSTR_TEXTCALLBACKW = -1, 25 } 26 27 enum { 28 SW_INVALIDATE = 2, 29 } 30 31 /* Dialog codes */ 32 enum : uint { 33 DLGC_WANTARROWS = 1, 34 DLGC_WANTTAB = 2, 35 DLGC_WANTALLKEYS = 4, 36 DLGC_WANTMESSAGE = 4, 37 DLGC_HASSETSEL = 8, 38 DLGC_DEFPUSHBUTTON = 16, 39 DLGC_UNDEFPUSHBUTTON = 32, 40 DLGC_RADIOBUTTON = 64, 41 DLGC_WANTCHARS = 128, 42 DLGC_STATIC = 256, 43 DLGC_BUTTON = 0x2000, 44 } 45 46 /* Frame Control Constants */ 47 enum : uint { 48 DFC_CAPTION = 1, 49 DFC_MENU = 2, 50 DFC_SCROLL = 3, 51 DFC_BUTTON = 4, 52 DFC_POPUPMENU = 5, 53 } 54 55 enum : uint { 56 DFCS_CAPTIONCLOSE = 0, 57 DFCS_CAPTIONMIN = 1, 58 DFCS_CAPTIONMAX = 2, 59 DFCS_CAPTIONRESTORE = 3, 60 DFCS_CAPTIONHELP = 4, 61 } 62 63 enum : uint { 64 DFCS_SCROLLUP = 0, 65 DFCS_SCROLLDOWN = 1, 66 DFCS_SCROLLLEFT = 2, 67 DFCS_SCROLLRIGHT = 3, 68 DFCS_SCROLLCOMBOBOX = 5, 69 DFCS_SCROLLSIZEGRIP = 8, 70 DFCS_SCROLLSIZEGRIPRIGHT = 16, 71 } 72 73 enum : uint { 74 DFCS_MENUARROW = 0, 75 DFCS_MENUCHECK = 1, 76 DFCS_MENUBULLET = 2, 77 DFCS_MENUARROWRIGHT = 4, 78 } 79 80 enum : uint { 81 DFCS_BUTTONCHECK = 0, 82 DFCS_BUTTONRADIOIMAGE = 1, 83 DFCS_BUTTONRADIOMASK = 2, 84 DFCS_BUTTONRADIO = 4, 85 DFCS_BUTTON3STATE = 8, 86 DFCS_BUTTONPUSH = 16, 87 DFCS_INACTIVE = 256, 88 DFCS_PUSHED = 512, 89 DFCS_CHECKED = 1024, 90 } 91 92 enum : uint { 93 DFCS_TRANSPARENT = 0x800, 94 DFCS_HOT = 0x1000, 95 DFCS_ADJUSTRECT = 0x2000, 96 DFCS_FLAT = 0x4000, 97 DFCS_MONO = 0x8000, 98 } 99 100 /* Windows Generic Messages */ 101 enum : uint { 102 WM_USER = 0x0400, 103 WM_APP = 0x8000, 104 WM_SETFONT = 0x0030, 105 WM_GETFONT = 0x0031, 106 WM_WINDOWPOSCHANGING = 0x0046, 107 WM_WINDOWPOSCHANGED = 0x0047, 108 WM_DRAWITEM = 0x002B, 109 WM_CLEAR = 0x0303, 110 WM_CUT = 0x0300, 111 WM_COPY = 0x0301, 112 WM_PASTE = 0x0302, 113 WM_MOUSEWHEEL = 0x020A, 114 WM_MOUSEHOVER = 0x02A1, 115 WM_MOUSELEAVE = 0x02A3, 116 WM_MENUCOMMAND = 0x0126, 117 WM_PRINT = 0x0317, 118 WM_PRINTCLIENT = 0x0318, 119 WM_MEASUREITEM = 0x002C,//WM_COMPACTING = 0x0041, 120 //WM_NEXTDLGCTL = 0x0028, 121 //WM_CAPTURECHANGED = 0x0215, 122 //WM_DROPFILES = 0x0233, 123 //WM_PALETTECHANGED = 0x0311, 124 //WM_MDIACTIVATE = 0x0222, 125 //WM_MDITILE = 0x0226, 126 //WM_MDICASCADE = 0x0227, 127 //WM_MDIICONARRANGE = 0x0228, 128 //WM_MDIGETACTIVE = 0x0229, 129 } 130 131 /* Windows Position and Size Flags */ 132 enum : uint { 133 SWP_NOSIZE = 0x0001, 134 SWP_NOMOVE = 0x0002, 135 SWP_NOZORDER = 0x0004, 136 SWP_NOREDRAW = 0x0008, 137 SWP_NOACTIVATE = 0x0010, 138 SWP_SHOWWINDOW = 0x0040, 139 SWP_FRAMECHANGED = 0x0020, 140 SWP_HIDEWINDOW = 0x0080, 141 SWP_NOCOPYBITS = 0x0100, 142 SWP_NOOWNERZORDER = 0x0200, 143 SWP_NOSENDCHANGING = 0x0400, 144 SWP_DRAWFRAME = SWP_FRAMECHANGED, 145 SWP_NOREPOSITION = SWP_NOOWNERZORDER, 146 SWP_DEFERERASE = 0x2000, 147 SWP_ASYNCWINDOWPOS = 0x4000, 148 } 149 150 /* DIBs Flags */ 151 enum { 152 DIB_RGB_COLORS = 0, 153 DIB_PAL_COLORS = 1, 154 } 155 156 /* GDI Object Types */ 157 enum : uint { 158 OBJ_PEN = 1, 159 OBJ_BRUSH = 2, 160 OBJ_DC = 3, 161 OBJ_METADC = 4, 162 OBJ_PAL = 5, 163 OBJ_FONT = 6, 164 OBJ_BITMAP = 7, 165 OBJ_REGION = 8, 166 OBJ_METAFILE = 9, 167 OBJ_MEMDC = 10, 168 OBJ_EXTPEN = 11, 169 OBJ_ENHMETADC = 12, 170 OBJ_ENHMETAFILE = 13, 171 } 172 173 /* Track Bar Messages */ 174 enum : uint { 175 TBM_GETPOS = WM_USER, 176 TBM_GETRANGEMIN = WM_USER + 1, 177 TBM_GETRANGEMAX = WM_USER + 2, 178 TBM_GETTIC = WM_USER + 3, 179 TBM_SETTIC = WM_USER + 4, 180 TBM_SETPOS = WM_USER + 5, 181 TBM_SETRANGE = WM_USER + 6, 182 TBM_SETRANGEMIN = WM_USER + 7, 183 TBM_SETRANGEMAX = WM_USER + 8, 184 TBM_CLEARTICS = WM_USER + 9, 185 TBM_SETSEL = WM_USER + 10, 186 TBM_SETSELSTART = WM_USER + 11, 187 TBM_SETSELEND = WM_USER + 12, 188 TBM_GETPTICS = WM_USER + 14, 189 TBM_GETTICPOS = WM_USER + 15, 190 TBM_GETNUMTICS = WM_USER + 16, 191 TBM_GETSELSTART = WM_USER + 17, 192 TBM_GETSELEND = WM_USER + 18, 193 TBM_CLEARSEL = WM_USER + 19, 194 TBM_SETTICFREQ = WM_USER + 20, 195 TBM_SETPAGESIZE = WM_USER + 21, 196 TBM_GETPAGESIZE = WM_USER + 22, 197 TBM_SETLINESIZE = WM_USER + 23, 198 TBM_GETLINESIZE = WM_USER + 24, 199 TBM_GETTHUMBRECT = WM_USER + 25, 200 TBM_GETCHANNELRECT = WM_USER + 26, 201 TBM_SETTHUMBLENGTH = WM_USER + 27, 202 TBM_GETTHUMBLENGTH = WM_USER + 28, 203 TBM_SETTOOLTIPS = WM_USER + 29, 204 TBM_GETTOOLTIPS = WM_USER + 30, 205 TBM_SETTIPSIDE = WM_USER + 31, 206 TBM_SETBUDDY = WM_USER + 32, 207 TBM_GETBUDDY = WM_USER + 33, 208 TBM_SETPOSNOTIFY = WM_USER + 34, 209 } 210 211 /* TrackBar Styles */ 212 enum : uint { 213 TBS_AUTOTICKS = 0x0001, 214 TBS_VERT = 0x0002, 215 TBS_HORZ = 0x0000, 216 TBS_TOP = 0x0004, 217 TBS_BOTTOM = 0x0000, 218 TBS_LEFT = 0x0004, 219 TBS_RIGHT = 0x0000, 220 TBS_BOTH = 0x0008, 221 TBS_NOTICKS = 0x0010, 222 TBS_ENABLESELRANGE = 0x0020, 223 TBS_FIXEDLENGTH = 0x0040, 224 TBS_NOTHUMB = 0x0080, 225 TBS_TOOLTIPS = 0x0100, 226 } 227 228 /* DrawIconEx() API flags */ 229 enum : uint { 230 DI_MASK = 0x0001, 231 DI_IMAGE = 0x0002, 232 DI_COMPAT = 0x0004, 233 DI_DEFAULTSIZE = 0x0008, 234 DI_NORMAL = DI_IMAGE | DI_MASK, 235 } 236 237 /* GetClassLong() API Flags */ 238 enum : int { 239 GCL_MENUNAME = -8, 240 GCL_HBRBACKGROUND = -10, 241 GCL_HCURSOR = -12, 242 GCL_HICON = -14, 243 GCL_HMODULE = -16, 244 GCL_CBWNDEXTRA = -18, 245 GCL_CBCLSEXTRA = -20, 246 GCL_WNDPROC = -24, 247 GCL_STYLE = -26, 248 GCL_HICONSM = -34, 249 } 250 251 /* Common Control Styles */ 252 enum : uint { 253 CCS_TOP = 1, 254 CCS_NOMOVEY = 2, 255 CCS_BOTTOM = 3, 256 CCS_NORESIZE = 4, 257 CCS_NOPARENTALIGN = 8, 258 CCS_ADJUSTABLE = 32, 259 CCS_NODIVIDER = 64, 260 CCS_VERT = 128, 261 CCS_LEFT = 129, 262 CCS_NOMOVEX = 130, 263 CCS_RIGHT = 131, 264 } 265 266 /* GetWindowLong Flags() */ 267 enum : int { 268 GWL_WNDPROC = -4, 269 GWL_HINSTANCE = -6, 270 GWL_HWNDPARENT = -8, 271 GWL_STYLE = -16, 272 GWL_EXSTYLE = -20, 273 GWL_USERDATA = -21, 274 GWL_ID = -12, 275 } 276 277 /* Notification Messages Base */ 278 enum : uint { 279 NM_FIRST = 0, 280 NM_CLICK = NM_FIRST - 2, 281 NM_RCLICK = NM_FIRST - 5, 282 NM_CUSTOMDRAW = NM_FIRST - 12, 283 } 284 285 /* DrawEdge() API Flags */ 286 enum : uint { 287 BDR_RAISEDOUTER = 1, 288 BDR_SUNKENOUTER = 2, 289 BDR_RAISEDINNER = 4, 290 BDR_SUNKENINNER = 8, 291 BDR_OUTER = 3, 292 BDR_INNER = 0xc, 293 BDR_RAISED = 5, 294 BDR_SUNKEN = 10, 295 EDGE_RAISED = BDR_RAISEDOUTER | BDR_RAISEDINNER, 296 EDGE_SUNKEN = BDR_SUNKENOUTER | BDR_SUNKENINNER, 297 EDGE_ETCHED = BDR_SUNKENOUTER | BDR_RAISEDINNER, 298 EDGE_BUMP = BDR_RAISEDOUTER | BDR_SUNKENINNER, 299 300 BF_LEFT = 1, 301 BF_TOP = 2, 302 BF_RIGHT = 4, 303 BF_BOTTOM = 8, 304 BF_TOPLEFT = BF_TOP | BF_LEFT, 305 BF_TOPRIGHT = BF_TOP | BF_RIGHT, 306 BF_BOTTOMLEFT = BF_BOTTOM | BF_LEFT, 307 BF_BOTTOMRIGHT = BF_BOTTOM | BF_RIGHT, 308 BF_RECT = BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM, 309 310 BF_DIAGONAL = 16, 311 BF_DIAGONAL_ENDTOPRIGHT = BF_DIAGONAL | BF_TOP | BF_RIGHT, 312 BF_DIAGONAL_ENDTOPLEFT = BF_DIAGONAL | BF_TOP | BF_LEFT, 313 BF_DIAGONAL_ENDBOTTOMLEFT = BF_DIAGONAL | BF_BOTTOM | BF_LEFT, 314 BF_DIAGONAL_ENDBOTTOMRIGHT = BF_DIAGONAL | BF_BOTTOM | BF_RIGHT, 315 BF_MIDDLE = 0x800, 316 BF_SOFT = 0x1000, 317 BF_ADJUST = 0x2000, 318 BF_FLAT = 0x4000, 319 BF_MONO = 0x8000, 320 } 321 322 /* Rich Edit Messages */ 323 enum : uint { 324 ES_DISABLENOSCROLL = 0x00002000, 325 326 ENM_NONE = 0x00000000, 327 ENM_CHANGE = 0x00000001, 328 ENM_UPDATE = 0x00000002, 329 ENM_LINK = 0x04000000, 330 ENM_PROTECTED = 0x00200000, 331 332 EM_CANPASTE = WM_USER + 50, 333 EM_EXGETSEL = WM_USER + 52, 334 EM_EXLIMITTEXT = WM_USER + 53, 335 EM_EXLINEFROMCHAR = WM_USER + 54, 336 EM_EXSETSEL = WM_USER + 55, 337 EM_GETCHARFORMAT = WM_USER + 58, 338 EM_GETSELTEXT = WM_USER + 62, 339 EM_PASTESPECIAL = WM_USER + 64, 340 EM_SETBKGNDCOLOR = WM_USER + 67, 341 EM_SETCHARFORMAT = WM_USER + 68, 342 EM_SETEVENTMASK = WM_USER + 69, 343 EM_STREAMIN = WM_USER + 73, 344 EM_STREAMOUT = WM_USER + 74, 345 EM_GETTEXTRANGE = WM_USER + 75, 346 347 /* Rich Edit 2.0 */ 348 EM_SETUNDOLIMIT = WM_USER + 82, 349 EM_REDO = WM_USER + 84, 350 EM_CANREDO = WM_USER + 85, 351 EM_GETUNDONAME = WM_USER + 86, 352 EM_GETREDONAME = WM_USER + 87, 353 EM_STOPGROUPTYPING = WM_USER + 88, 354 EM_SETTEXTMODE = WM_USER + 89, 355 EM_GETTEXTMODE = WM_USER + 90, 356 EM_AUTOURLDETECT = WM_USER + 91, 357 EM_GETAUTOURLDETECT = WM_USER + 92, 358 EM_SETPALETTE = WM_USER + 93, 359 EM_GETTEXTEX = WM_USER + 94, 360 EM_GETTEXTLENGTHEX = WM_USER + 95, 361 EM_SHOWSCROLLBAR = WM_USER + 96, 362 EM_SETTEXTEX = WM_USER + 97, 363 EN_LINK = 0x070B, 364 } 365 366 const HBMMENU_CALLBACK = cast(HBITMAP)-1; 367 368 /+ 369 /* Rich Edit Text Styles */ 370 enum: uint 371 { 372 SF_TEXT = 0x0001, 373 SF_RTF = 0x0002, 374 SF_RTFNOOBJS = 0x0003, 375 SF_TEXTIZED = 0x0004, 376 377 SFF_SELECTION = 0x8000, 378 SFF_PLAINRTF = 0x4000, 379 380 SCF_SELECTION = 0x0001, 381 SCF_WORD = 0x0002, 382 SCF_ALL = 0x0004, 383 384 CFM_BOLD = 0x00000001, 385 CFM_ITALIC = 0x00000002, 386 CFM_UNDERLINE = 0x00000004, 387 CFM_STRIKEOUT = 0x00000008, 388 CFM_PROTECTED = 0x00000010, 389 CFM_LINK = 0x00000020, 390 CFM_SIZE = 0x80000000, 391 CFM_COLOR = 0x40000000, 392 CFM_FACE = 0x20000000, 393 CFM_OFFSET = 0x10000000, 394 CFM_CHARSET = 0x08000000, 395 CFM_SMALLCAPS = 0x0040, 396 CFM_ALLCAPS = 0x0080, 397 CFM_HIDDEN = 0x0100, 398 CFM_OUTLINE = 0x0200, 399 CFM_SHADOW = 0x0400, 400 CFM_EMBOSS = 0x0800, 401 CFM_IMPRINT = 0x1000, 402 CFM_DISABLED = 0x2000, 403 CFM_REVISED = 0x4000, 404 CFM_BACKCOLOR = 0x04000000, 405 CFM_LCID = 0x02000000, 406 CFM_UNDERLINETYPE = 0x00800000, 407 CFM_WEIGHT = 0x00400000, 408 CFM_SPACING = 0x00200000, 409 CFM_KERNING = 0x00100000, 410 CFM_STYLE = 0x00080000, 411 CFM_ANIMATION = 0x00040000, 412 CFM_REVAUTHOR = 0x00008000, 413 414 CFE_BOLD = 0x0001, 415 CFE_ITALIC = 0x0002, 416 CFE_UNDERLINE = 0x0004, 417 CFE_STRIKEOUT = 0x0008, 418 CFE_PROTECTED = 0x0010, 419 CFE_LINK = 0x0020, 420 CFE_AUTOCOLOR = 0x40000000, 421 CFE_AUTOBACKCOLOR = CFM_BACKCOLOR, 422 CFE_SUBSCRIPT = 0x00010000, 423 CFE_SUPERSCRIPT = 0x00020000, 424 425 CFM_SUBSCRIPT = CFE_SUBSCRIPT | CFE_SUPERSCRIPT, 426 CFM_SUPERSCRIPT = CFM_SUBSCRIPT, 427 428 CFU_UNDERLINE = 1, 429 } 430 +/ 431 432 enum : DWORD { 433 OFN_OVERWRITEPROMPT = 0x00000002, 434 OFN_PATHMUSTEXIST = 0x00000800, 435 OFN_FILEMUSTEXIST = 0x00001000, 436 OFN_CREATEPROMPT = 0x00002000,//OFN_READONLY = 0x00000001, 437 //OFN_HIDEREADONLY = 0x00000004, 438 //OFN_NOCHANGEDIR = 0x00000008, 439 //OFN_SHOWHELP = 0x00000010, 440 //OFN_ENABLEHOOK = 0x00000020, 441 //OFN_ENABLETEMPLATE = 0x00000040, 442 //OFN_ENABLETEMPLATEHANDLE = 0x00000080, 443 //OFN_NOVALIDATE = 0x00000100, 444 //OFN_ALLOWMULTISELECT = 0x00000200, 445 //OFN_EXTENSIONDIFFERENT = 0x00000400, 446 //OFN_SHAREAWARE = 0x00004000, 447 //OFN_NOREADONLYRETURN = 0x00008000, 448 //OFN_NOTESTFILECREATE = 0x00010000, 449 //OFN_NONETWORKBUTTON = 0x00020000, 450 //OFN_NOLONGNAMES = 0x00040000, 451 //OFN_EXPLORER = 0x00080000, 452 //OFN_NODEREFERENCELINKS = 0x00100000, 453 //OFN_LONGNAMES = 0x00200000, 454 //OFN_ENABLEINCLUDENOTIFY = 0x00400000, 455 //OFN_ENABLESIZING = 0x00800000, 456 //OFN_DONTADDTORECENT = 0x02000000, 457 //OFN_FORCESHOWHIDDEN = 0x10000000, 458 } 459 460 enum : DWORD { 461 CF_SCREENFONTS = 0x00000001, 462 CF_INITTOLOGFONTSTRUCT = 0x00000040, 463 CF_EFFECTS = 0x00000100,//CF_PRINTERFONTS = 0x00000002, 464 //CF_BOTH = CF_SCREENFONTS | CF_PRINTERFONTS, 465 //CF_SHOWHELP = 0x00000004, 466 //CF_ENABLEHOOK = 0x00000008, 467 //CF_ENABLETEMPLATE = 0x00000010, 468 //CF_ENABLETEMPLATEHANDLE = 0x00000020, 469 //CF_USESTYLE = 0x00000080, 470 //CF_APPLY = 0x00000200, 471 //CF_ANSIONLY = 0x00000400, 472 //CF_SCRIPTSONLY = CF_ANSIONLY, 473 //CF_NOVECTORFONTS = 0x00000800, 474 //CF_NOOEMFONTS = CF_NOVECTORFONTS, 475 //CF_NOSIMULATIONS = 0x00001000, 476 //CF_LIMITSIZE = 0x00002000, 477 //CF_FIXEDPITCHONLY = 0x00004000, 478 //CF_WYSIWYG = 0x00008000, 479 //CF_FORCEFONTEXIST = 0x00010000, 480 //CF_SCALABLEONLY = 0x00020000, 481 //CF_TTONLY = 0x00040000, 482 //CF_NOFACESEL = 0x00080000, 483 //CF_NOSTYLESEL = 0x00100000, 484 //CF_NOSIZESEL = 0x00200000, 485 //CF_SELECTSCRIPT = 0x00400000, 486 //CF_NOSCRIPTSEL = 0x00800000, 487 //CF_NOVERTFONTS = 0x01000000, 488 } 489 490 enum : uint { 491 ODT_MENU = 1, 492 ODT_LISTBOX = 2, 493 ODT_COMBOBOX = 3, 494 ODT_BUTTON = 4, 495 ODT_STATIC = 5, 496 } 497 498 /* 499 enum: uint 500 { 501 MDITILE_VERTICAL = 0x0000, 502 MDITILE_HORIZONTAL = 0x0001, 503 MDITILE_SKIPDISABLED = 0x0002, 504 MDITILE_ZORDER = 0x0004, 505 } 506 */ 507 508 enum { 509 DS_ABSALIGN = 0x0001, 510 DS_3DLOOK = 0x0004, 511 DS_SYSMODAL = 0x0002, 512 DS_FIXEDSYS = 0x0008, 513 DS_NOFAILCREATE = 0x0010, 514 DS_LOCALEDIT = 0x0020, 515 DS_SETFONT = 0x0040, 516 DS_MODALFRAME = 0x0080, 517 DS_NOIDLEMSG = 0x0100, 518 DS_SETFOREGROUND = 0x0200, 519 DS_CONTROL = 0x0400, 520 DS_CENTER = 0x0800, 521 DS_CENTERMOUSE = 0x1000, 522 DS_CONTEXTHELP = 0x2000, 523 DS_SHELLFONT = DS_SETFONT | DS_FIXEDSYS, 524 } 525 526 enum { 527 WS_EX_ACCEPTFILES = 16, 528 WS_EX_APPWINDOW = 0x40000, 529 WS_EX_CLIENTEDGE = 512, 530 WS_EX_COMPOSITED = 0x2000000, // Windows XP 531 WS_EX_CONTEXTHELP = 0x400, 532 WS_EX_CONTROLPARENT = 0x10000, 533 WS_EX_DLGMODALFRAME = 1, 534 WS_EX_LAYERED = 0x80000, // Windows 2000 535 WS_EX_LAYOUTRTL = 0x400000, // Windows 98, Windows 2000 536 WS_EX_LEFT = 0, 537 WS_EX_LEFTSCROLLBAR = 0x4000, 538 WS_EX_LTRREADING = 0, 539 WS_EX_MDICHILD = 64, 540 WS_EX_NOACTIVATE = 0x8000000, // Windows 2000 541 WS_EX_NOINHERITLAYOUT = 0x100000, // Windows 2000 542 WS_EX_NOPARENTNOTIFY = 4, 543 WS_EX_OVERLAPPEDWINDOW = 0x300, 544 WS_EX_PALETTEWINDOW = 0x188, 545 WS_EX_RIGHT = 0x1000, 546 WS_EX_RIGHTSCROLLBAR = 0, 547 WS_EX_RTLREADING = 0x2000, 548 WS_EX_STATICEDGE = 0x20000, 549 WS_EX_TOOLWINDOW = 128, 550 WS_EX_TOPMOST = 8, 551 WS_EX_WINDOWEDGE = 256,//WS_EX_TRANSPARENT = 32, 552 } 553 554 /* ToolTip Messages */ 555 enum : uint { 556 TTM_ACTIVATE = WM_USER + 1, 557 TTM_SETDELAYTIME = WM_USER + 3, 558 TTM_POP = WM_USER + 28, 559 TTM_SETTITLEW = WM_USER + 33, 560 TTM_POPUP = WM_USER + 34, 561 TTM_ADDTOOLW = WM_USER + 50, 562 TTM_DELTOOLW = WM_USER + 51, 563 TTM_GETTEXTW = WM_USER + 56, 564 TTM_UPDATETIPTEXTW = WM_USER + 57, 565 566 TTN_FIRST = -520u, 567 TTN_GETDISPINFOW = TTN_FIRST - 10,//TTN_SHOW = TTN_FIRST - 1, 568 //TTN_POP = TTN_FIRST - 2, 569 //TTM_ADDTOOLA = WM_USER + 4, 570 //TTM_DELTOOLA = WM_USER + 5, 571 //TTM_GETTOOLINFOA = WM_USER + 8, 572 //TTM_GETTEXTA = WM_USER + 11, 573 //TTM_UPDATETIPTEXTA = WM_USER + 12, 574 //TTM_ENUMTOOLSA = WM_USER + 14, 575 //TTM_GETCURRENTTOOLA = WM_USER + 15, 576 } 577 578 /* ToolTip Icons */ 579 enum : uint { 580 TTI_NONE = 0, 581 TTI_INFO = 1, 582 TTI_WARNING = 2, 583 TTI_ERROR = 3, 584 } 585 586 /* ToolTip Styles */ 587 enum : uint { 588 TTS_ALWAYSTIP = 0x01, 589 TTS_NOPREFIX = 0x02, 590 TTS_NOANIMATE = 0x10, // IE5+ 591 TTS_NOFADE = 0x20, // IE5+ 592 TTS_BALLOON = 0x40, // IE5+ 593 TTS_CLOSE = 0x80, 594 } 595 596 /* ToolTip Flags */ 597 enum : uint { 598 TTF_IDISHWND = 0x0001, 599 TTF_CENTERTIP = 0x0002, 600 TTF_RTLREADING = 0x0004, 601 TTF_SUBCLASS = 0x0010, 602 TTF_TRACK = 0x0020, // IE3+ 603 TTF_ABSOLUTE = 0x0080, // IE3+ 604 TTF_TRANSPARENT = 0x0100, // IE3+ 605 TTF_PARSELINKS = 0x1000, 606 TTF_DI_SETITEM = 0x8000, // IE3+ 607 } 608 609 enum : uint { 610 AW_HOR_POSITIVE = 0x00000001, 611 AW_HOR_NEGATIVE = 0x00000002, 612 AW_VER_POSITIVE = 0x00000004, 613 AW_VER_NEGATIVE = 0x00000008, 614 AW_CENTER = 0x00000010, 615 AW_HIDE = 0x00010000, 616 AW_ACTIVATE = 0x00020000, 617 AW_SLIDE = 0x00040000, 618 AW_BLEND = 0x00080000, 619 } 620 621 enum : uint { 622 MF_STRING = 0x00000000, 623 MF_UNCHECKED = 0x00000000, 624 MF_BYCOMMAND = 0x00000000, 625 MF_GRAYED = 0x00000001, 626 MF_CHECKED = 0x00000008, 627 MF_POPUP = 0x00000010, 628 MF_MENUBARBREAK = 0x00000020, 629 MF_MENUBREAK = 0x00000040, 630 MF_BYPOSITION = 0x00000400, 631 MF_SEPARATOR = 0x00000800, 632 MF_DEFAULT = 0x00001000, 633 MF_SYSMENU = 0x00002000, 634 635 MFT_STRING = MF_STRING, 636 MFT_MENUBARBREAK = MF_MENUBARBREAK, 637 MFT_MENUBREAK = MF_MENUBREAK, 638 MFT_RADIOCHECK = 0x00000200, 639 MFT_SEPARATOR = MF_SEPARATOR, 640 641 MFS_UNCHECKED = MF_UNCHECKED, 642 MFS_CHECKED = MF_CHECKED, 643 MFS_DEFAULT = MF_DEFAULT, 644 MFS_GRAYED = MF_GRAYED, 645 MFS_DISABLED = 3, 646 MFS_ENABLED = 0, 647 648 MIIM_DATA = 32, 649 MIIM_STATE = 0x00000001, 650 MIIM_ID = 0x00000002, 651 MIIM_SUBMENU = 0x00000004, 652 MIIM_CHECKMARKS = 0x00000008, 653 MIIM_TYPE = 0x00000010, 654 MIIM_BITMAP = 0x00000080, 655 } 656 657 /* 658 enum: int 659 { 660 RGN_AND = 1, 661 RGN_OR = 2, 662 RGN_XOR = 3, 663 RGN_DIFF = 4, 664 RGN_COPY = 5, 665 } 666 */ 667 668 enum : int { 669 HWND_TOP = 0, 670 HWND_BOTTOM = 1, 671 HWND_TOPMOST = -1, 672 HWND_NOTOPMOST = -2, 673 } 674 675 enum : uint { 676 CBS_SIMPLE = 0x0001, 677 CBS_DROPDOWN = 0x0002, 678 CBS_DROPDOWNLIST = 0x0003, 679 CBS_AUTOHSCROLL = 0x0040, 680 CBS_OWNERDRAWFIXED = 0x0010, 681 CBS_OWNERDRAWVARIABLE = 0x0020, 682 } 683 684 enum : uint { 685 CBEIF_TEXT = 0x00000001, 686 CBEIF_IMAGE = 0x00000002, 687 CBEIF_SELECTEDIMAGE = 0x00000004, 688 CBEIF_OVERLAY = 0x00000008, 689 CBEIF_INDENT = 0x00000010, 690 CBEIF_LPARAM = 0x00000020, 691 CBEIF_DI_SETITEM = 0x10000000, 692 } 693 694 enum : uint { 695 TME_HOVER = 1, 696 TME_LEAVE = 2, 697 TME_QUERY = 0x40000000, 698 TME_CANCEL = 0x80000000, 699 700 HOVER_DEFAULT = 0xFFFFFFFF, 701 } 702 703 enum : uint { 704 TPM_LEFTBUTTON = 0x0000, 705 TPM_RIGHTBUTTON = 0x0002, 706 TPM_LEFTALIGN = 0x0000, 707 TPM_CENTERALIGN = 0x0004, 708 TPM_RIGHTALIGN = 0x0008, 709 TPM_TOPALIGN = 0x0000, 710 TPM_VCENTERALIGN = 0x0010, 711 TPM_BOTTOMALIGN = 0x0020, 712 TPM_HORIZONTAL = 0x0000, 713 TPM_VERTICAL = 0x0040, 714 TPM_NONOTIFY = 0x0080, 715 TPM_RETURNCMD = 0x0100, 716 TPM_RECURSE = 0x0001, 717 } 718 719 enum { 720 ICON_SMALL = 0, 721 ICON_BIG = 1, 722 } 723 724 enum : uint { 725 SPI_GETNONCLIENTMETRICS = 41, 726 SPI_GETWORKAREA = 48, 727 SPI_GETANIMATION = 72, 728 SPI_GETWHEELSCROLLLINES = 104, 729 SPI_GETWHEELSCROLLCHARS = 108, 730 } 731 732 enum : uint { 733 ODS_SELECTED = 1, 734 ODS_GRAYED = 2, 735 ODS_DISABLED = 4, 736 ODS_CHECKED = 8, 737 ODS_FOCUS = 16, 738 ODS_DEFAULT = 32, 739 ODS_COMBOBOXEDIT = 4096, 740 } 741 742 const LPWSTR IDC_ARROW = cast(LPWSTR)32512; 743 const LPWSTR IDC_UPARROW = cast(LPWSTR)32516; 744 const LPWSTR IDC_ICON = cast(LPWSTR)32641; 745 const LPWSTR IDC_APPSTARTING = cast(LPWSTR)32650; 746 const LPWSTR IDC_HAND = cast(LPWSTR)32649; // Windows 98+ 747 const LPWSTR IDC_HELP = cast(LPWSTR)32651; 748 const LPWSTR IDC_IBEAM = cast(LPWSTR)32513; 749 const LPWSTR IDC_NO = cast(LPWSTR)32648; 750 const LPWSTR IDC_SIZEALL = cast(LPWSTR)32646; 751 const LPWSTR IDC_SIZENESW = cast(LPWSTR)32643; 752 const LPWSTR IDC_SIZENS = cast(LPWSTR)32645; 753 const LPWSTR IDC_SIZENWSE = cast(LPWSTR)32642; 754 const LPWSTR IDC_SIZEWE = cast(LPWSTR)32644; 755 const LPWSTR IDC_WAIT = cast(LPWSTR)32514; 756 757 enum : ushort { 758 MK_LBUTTON = 0x0001, 759 MK_RBUTTON = 0x0002, 760 MK_SHIFT = 0x0004, 761 MK_CONTROL = 0x0008, 762 MK_MBUTTON = 0x0010, 763 } 764 765 enum { 766 LOGPIXELSX = 88, 767 LOGPIXELSY = 90, 768 } 769 770 enum { 771 LB_OKAY = 0, 772 LB_ERR = -1, 773 LB_ERRSPACE = -2, 774 } 775 776 enum : uint { 777 LB_GETCOUNT = 0x018B, 778 LB_GETITEMDATA = 0x0199, 779 LB_ADDSTRING = 0x0180, 780 LB_SETITEMDATA = 0x019A, 781 LB_RESETCONTENT = 0x0184, 782 LB_INSERTSTRING = 0x0181, 783 LB_DELETESTRING = 0x0182, 784 LB_GETHORIZONTALEXTENT = 0x0193, 785 LB_SETHORIZONTALEXTENT = 0x0194, 786 LB_SETITEMHEIGHT = 0x01A0, 787 LB_GETITEMHEIGHT = 0x01A1, 788 LB_GETSELCOUNT = 0x0190, 789 LB_GETSELITEMS = 0x0191, 790 LB_SETCURSEL = 0x0186, 791 LB_GETCURSEL = 0x0188, 792 LB_SETTOPINDEX = 0x0197, 793 LB_GETTOPINDEX = 0x018E, 794 LB_SELITEMRANGE = 0x0183, 795 LB_SETSEL = 0x0185, 796 LB_FINDSTRING = 0x018F, 797 LB_FINDSTRINGEXACT = 0x01A2, 798 LB_GETITEMRECT = 0x0198, 799 LB_GETSEL = 0x0187, 800 LB_ITEMFROMPOINT = 0x01A9, 801 LB_ADDFILE = 0x0196, 802 LB_DIR = 0x018D, 803 } 804 805 enum : uint { 806 LBS_NOINTEGRALHEIGHT = 0x0100, 807 LBS_MULTICOLUMN = 0x0200, 808 LBS_DISABLENOSCROLL = 0x1000, 809 LBS_NOSEL = 0x4000, 810 LBS_EXTENDEDSEL = 0x0800, 811 LBS_MULTIPLESEL = 0x0008, 812 LBS_SORT = 0x0002, 813 LBS_USETABSTOPS = 0x0080, 814 LBS_OWNERDRAWVARIABLE = 0x0020, 815 LBS_OWNERDRAWFIXED = 0x0010, 816 LBS_NOTIFY = 0x0001, 817 LBS_HASSTRINGS = 0x0040, 818 LBS_WANTKEYBOARDINPUT = 0x0400, 819 } 820 821 enum { 822 LBN_ERRSPACE = -2, 823 LBN_SELCHANGE = 1, 824 LBN_DBLCLK = 2, 825 LBN_SELCANCEL = 3, 826 LBN_SETFOCUS = 4, 827 LBN_KILLFOCUS = 5, 828 } 829 830 enum { 831 CB_OKAY = 0, 832 CB_ERR = -1, 833 CB_ERRSPACE = -2, 834 } 835 836 enum : uint { 837 CB_SETCURSEL = 0x014E, 838 CB_GETCURSEL = 0x0147, 839 CB_FINDSTRING = 0x014C, 840 CB_FINDSTRINGEXACT = 0x0158, 841 CB_SETITEMHEIGHT = 0x0153, 842 CB_GETITEMHEIGHT = 0x0154, 843 CB_ADDSTRING = 0x0143, 844 CB_DELETESTRING = 0x0144, 845 CB_DIR = 0x0145, 846 CB_INSERTSTRING = 0x014A, 847 CB_RESETCONTENT = 0x014B, 848 CB_SETITEMDATA = 0x0151, 849 CB_GETDROPPEDWIDTH = 0x015f, 850 CB_SETDROPPEDWIDTH = 0x0160, 851 CB_LIMITTEXT = 0x0141, 852 CB_GETEDITSEL = 0x0140, 853 CB_SETEDITSEL = 0x0142, 854 CB_SHOWDROPDOWN = 0x014F, 855 CB_GETDROPPEDSTATE = 0x0157, 856 857 //CBEM_INSERTITEMA = WM_USER + 1, 858 //CBEM_GETITEMA = WM_USER + 4, 859 //CBEM_SETITEMA = WM_USER + 5, 860 CBEM_SETIMAGELIST = WM_USER + 2, 861 CBEM_GETIMAGELIST = WM_USER + 3, 862 CBEM_DELETEITEM = CB_DELETESTRING, 863 CBEM_GETCOMBOCONTROL = WM_USER + 6, 864 CBEM_GETEDITCONTROL = WM_USER + 7, 865 CBEM_SETEXSTYLE = WM_USER + 8, 866 CBEM_GETEXSTYLE = WM_USER + 9, 867 CBEM_SETEXTENDEDSTYLE = WM_USER + 14, 868 CBEM_GETEXTENDEDSTYLE = WM_USER + 9, 869 CBEM_HASEDITCHANGED = WM_USER + 10, 870 CBEM_INSERTITEMW = WM_USER + 11, 871 CBEM_SETITEMW = WM_USER + 12, 872 CBEM_GETITEMW = WM_USER + 13, 873 } 874 875 enum : DWORD { 876 CBS_SORT = 0x0100, 877 CBS_HASSTRINGS = 0x0200, 878 CBS_NOINTEGRALHEIGHT = 0x0400, 879 } 880 881 enum { 882 CBN_SELCHANGE = 1, 883 CBN_SETFOCUS = 3, 884 CBN_KILLFOCUS = 4, 885 CBN_EDITCHANGE = 5, 886 } 887 888 enum : uint { 889 TVE_COLLAPSE = 0x0001, 890 TVE_EXPAND = 0x0002, 891 TVE_TOGGLE = 0x0003, 892 } 893 894 enum : uint { 895 TVIS_SELECTED = 0x0002, 896 TVIS_EXPANDED = 0x0020, 897 } 898 899 enum : uint { 900 TVIF_TEXT = 0x0001, 901 TVIF_IMAGE = 0x0002, 902 TVIF_PARAM = 0x0004, 903 TVIF_STATE = 0x0008, 904 TVIF_HANDLE = 0x0010, 905 TVIF_SELECTEDIMAGE = 0x0020, 906 TVIF_CHILDREN = 0x0040, 907 TVIF_INTEGRAL = 0x0080, // IE4+ 908 } 909 910 enum : uint { 911 TVGN_FIRSTVISIBLE = 0x0005, 912 TVGN_CARET = 0x0009, 913 } 914 915 enum : uint { 916 TV_FIRST = 0x1100, 917 TVN_FIRST = cast(UINT)-400, 918 919 TVM_INSERTITEMA = TV_FIRST + 0, 920 TVM_DELETEITEM = TV_FIRST + 1, 921 TVM_EXPAND = TV_FIRST + 2, 922 TVM_GETITEMRECT = TV_FIRST + 4, 923 TVM_GETINDENT = TV_FIRST + 6, 924 TVM_SETINDENT = TV_FIRST + 7, 925 TVM_SETIMAGELIST = TV_FIRST + 9, 926 TVM_GETNEXTITEM = TV_FIRST + 10, 927 TVM_SELECTITEM = TV_FIRST + 11, 928 TVM_GETITEMA = TV_FIRST + 12, 929 TVM_SETITEMA = TV_FIRST + 13, 930 TVM_EDITLABELA = TV_FIRST + 14, 931 TVM_GETVISIBLECOUNT = TV_FIRST + 16, 932 TVM_HITTEST = TV_FIRST + 17, 933 TVM_ENSUREVISIBLE = TV_FIRST + 20, 934 TVM_SETITEMHEIGHT = TV_FIRST + 27, // Internet Explorer 4+ 935 TVM_GETITEMHEIGHT = TV_FIRST + 28, // Internet Explorer 4+ 936 TVM_INSERTITEMW = TV_FIRST + 50, 937 TVM_SETITEMW = TV_FIRST + 63, 938 TVM_GETITEMW = TV_FIRST + 62, 939 940 TVN_SELCHANGINGA = TVN_FIRST - 1, 941 TVN_SELCHANGEDA = TVN_FIRST - 2, 942 TVN_GETDISPINFOA = TVN_FIRST - 3, 943 TVN_ITEMEXPANDINGA = TVN_FIRST - 5, 944 TVN_ITEMEXPANDEDA = TVN_FIRST - 6, 945 TVN_BEGINLABELEDITA = TVN_FIRST - 10, 946 TVN_ENDLABELEDITA = TVN_FIRST - 11, 947 TVN_SELCHANGINGW = TVN_FIRST - 50, 948 TVN_SELCHANGEDW = TVN_FIRST - 51, 949 TVN_GETDISPINFOW = TVN_FIRST - 52, 950 TVN_ITEMEXPANDINGW = TVN_FIRST - 54, 951 TVN_ITEMEXPANDEDW = TVN_FIRST - 55, 952 TVN_BEGINLABELEDITW = TVN_FIRST - 59, 953 TVN_ENDLABELEDITW = TVN_FIRST - 60, 954 } 955 956 enum : uint { 957 TVS_HASBUTTONS = 0x0001, 958 TVS_HASLINES = 0x0002, 959 TVS_LINESATROOT = 0x0004, 960 TVS_EDITLABELS = 0x0008, 961 TVS_SHOWSELALWAYS = 0x0020, 962 TVS_CHECKBOXES = 0x0100, // Internet Explorer 3+ 963 TVS_TRACKSELECT = 0x0200, // Internet Explorer 3+ 964 TVS_FULLROWSELECT = 0x1000, // Internet Explorer 4+ 965 TVS_NOSCROLL = 0x2000, // Internet Explorer 4+ 966 TVS_SINGLEEXPAND = 0x0400, // Internet Explorer 4+ 967 } 968 969 enum : HTREEITEM { 970 TVI_ROOT = cast(HTREEITEM)-0x10000, 971 TVI_FIRST = cast(HTREEITEM)-0x0FFFF, 972 TVI_LAST = cast(HTREEITEM)-0x0FFFE, 973 TVI_SORT = cast(HTREEITEM)-0x0FFFD, 974 } 975 976 enum : uint { 977 TVC_UNKNOWN = 0x0000, 978 TVC_BYMOUSE = 0x0001, 979 TVC_BYKEYBOARD = 0x0002, 980 } 981 982 enum : WPARAM { 983 TVSIL_NORMAL = 0, 984 TVSIL_STATE = 2, 985 } 986 987 enum : uint { 988 SB_SETTEXTA = WM_USER + 1, 989 SB_SETPARTS = WM_USER + 4, 990 SB_SIMPLE = WM_USER + 9, 991 SB_SETTEXTW = WM_USER + 11, 992 993 SBARS_SIZEGRIP = 0x0100, 994 } 995 996 enum : WPARAM { 997 SBT_NOBORDERS = 0x0100, 998 SBT_POPOUT = 0x0200, 999 SBT_RTLREADING = 0x0400, 1000 SBT_OWNERDRAW = 0x1000, 1001 } 1002 1003 enum : uint { 1004 LVM_FIRST = 0x1000, 1005 1006 LVM_SETBKCOLOR = LVM_FIRST + 1, 1007 LVM_SETIMAGELIST = LVM_FIRST + 3, 1008 LVM_SETITEMW = LVM_FIRST + 76, 1009 LVM_DELETEITEM = LVM_FIRST + 8, 1010 LVM_DELETEALLITEMS = LVM_FIRST + 9, 1011 LVM_SETCALLBACKMASK = LVM_FIRST + 11, 1012 LVM_GETNEXTITEM = LVM_FIRST + 12, 1013 LVM_GETITEMRECT = LVM_FIRST + 14, 1014 LVM_ENSUREVISIBLE = LVM_FIRST + 19, 1015 LVM_REDRAWITEMS = LVM_FIRST + 21, 1016 LVM_ARRANGE = LVM_FIRST + 22, 1017 LVM_DELETECOLUMN = LVM_FIRST + 28, 1018 LVM_SETCOLUMNWIDTH = LVM_FIRST + 30, 1019 LVM_SETTEXTCOLOR = LVM_FIRST + 36, 1020 LVM_SETTEXTBKCOLOR = LVM_FIRST + 38, 1021 LVM_SETITEMSTATE = LVM_FIRST + 43, 1022 LVM_GETITEMSTATE = LVM_FIRST + 44, 1023 LVM_SETITEMTEXTA = LVM_FIRST + 46, 1024 LVM_SORTITEMS = LVM_FIRST + 48, 1025 LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54, 1026 LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 55, 1027 LVM_INSERTITEMW = LVM_FIRST + 77, 1028 LVM_SETCOLUMNW = LVM_FIRST + 96, 1029 LVM_INSERTCOLUMNW = LVM_FIRST + 97, 1030 LVM_SETITEMTEXTW = LVM_FIRST + 116, 1031 LVM_EDITLABELW = LVM_FIRST + 118,//LVM_SETITEMA = LVM_FIRST + 6, 1032 //LVM_INSERTITEMA = LVM_FIRST + 7, 1033 //LVM_EDITLABELA = LVM_FIRST + 23, 1034 //LVM_GETCOLUMNA = LVM_FIRST + 25, 1035 //LVM_SETCOLUMNA = LVM_FIRST + 26, 1036 //LVM_INSERTCOLUMNA = LVM_FIRST + 27, 1037 } 1038 1039 enum : uint { 1040 LVIS_OVERLAYMASK = 0x0F00, 1041 LVIS_STATEIMAGEMASK = 0xF000, 1042 } 1043 1044 enum : uint { 1045 LVN_FIRST = cast(uint)-100, 1046 1047 LVN_ITEMCHANGING = LVN_FIRST - 0, 1048 LVN_ITEMCHANGED = LVN_FIRST - 1, 1049 LVN_BEGINLABELEDITW = LVN_FIRST - 75, 1050 LVN_ENDLABELEDITW = LVN_FIRST - 76, 1051 LVN_COLUMNCLICK = LVN_FIRST - 8, 1052 LVN_GETDISPINFOW = LVN_FIRST - 77,//LVN_BEGINLABELEDITA = LVN_FIRST - 5, 1053 //LVN_GETDISPINFOA = LVN_FIRST - 50, 1054 //LVN_ENDLABELEDITA = LVN_FIRST - 6, 1055 } 1056 1057 enum : uint { 1058 LVCF_FMT = 0x0001, 1059 LVCF_WIDTH = 0x0002, 1060 LVCF_TEXT = 0x0004, 1061 LVCF_SUBITEM = 0x0008, 1062 } 1063 1064 enum : int { 1065 LVCFMT_LEFT = 0x0000, 1066 LVCFMT_RIGHT = 0x0001, 1067 LVCFMT_CENTER = 0x0002, 1068 LVCFMT_JUSTIFYMASK = 0x0003, 1069 } 1070 1071 enum : uint { 1072 LVIF_TEXT = 0x0001, 1073 LVIF_IMAGE = 0x0002, 1074 LVIF_PARAM = 0x0004, 1075 LVIF_STATE = 0x0008, 1076 } 1077 1078 enum : uint { 1079 LVIS_FOCUSED = 0x0001, 1080 LVIS_SELECTED = 0x0002, 1081 LVIS_CUT = 0x0004, 1082 LVIS_DROPHILITED = 0x0008, 1083 } 1084 1085 enum : uint { 1086 LVS_ALIGNTOP = 0x0000, 1087 LVS_ALIGNLEFT = 0x0800, 1088 LVS_ICON = 0x0000, 1089 LVS_REPORT = 0x0001, 1090 LVS_SMALLICON = 0x0002, 1091 LVS_LIST = 0x0003, 1092 LVS_SINGLESEL = 0x0004, 1093 LVS_SHOWSELALWAYS = 0x0008, 1094 LVS_SORTASCENDING = 0x0010, 1095 LVS_SORTDESCENDING = 0x0020, 1096 LVS_SHAREIMAGELISTS = 0x0040, 1097 LVS_NOLABELWRAP = 0x0080, 1098 LVS_AUTOARRANGE = 0x0100, 1099 LVS_EDITLABELS = 0x0200, 1100 LVS_OWNERDRAWFIXED = 0x0400, 1101 LVS_OWNERDATA = 0x1000, 1102 LVS_NOSCROLL = 0x2000, 1103 } 1104 1105 enum : uint { 1106 LVS_EX_GRIDLINES = 0x00000001, 1107 LVS_EX_SUBITEMIMAGES = 0x00000002, 1108 LVS_EX_CHECKBOXES = 0x00000004, 1109 LVS_EX_TRACKSELECT = 0x00000008, 1110 LVS_EX_HEADERDRAGDROP = 0x00000010, 1111 LVS_EX_FULLROWSELECT = 0x00000020, 1112 LVS_EX_ONECLICKACTIVATE = 0x00000040, 1113 LVS_EX_TWOCLICKACTIVATE = 0x00000080, 1114 1115 // Internet Explorer 4+ 1116 LVS_EX_FLATSB = 0x00000100, 1117 LVS_EX_REGIONAL = 0x00000200, 1118 LVS_EX_INFOTIP = 0x00000400, 1119 LVS_EX_UNDERLINEHOT = 0x00000800, 1120 LVS_EX_UNDERLINECOLD = 0x00001000, 1121 LVS_EX_MULTIWORKAREAS = 0x00002000, 1122 } 1123 1124 enum { 1125 LVSIL_NORMAL = 0, 1126 LVSIL_SMALL = 1, 1127 LVSIL_STATE = 2, 1128 } 1129 1130 enum : uint { 1131 TCM_FIRST = 0x1300, 1132 1133 TCM_DELETEITEM = TCM_FIRST + 8, 1134 TCM_DELETEALLITEMS = TCM_FIRST + 9, 1135 TCM_GETITEMRECT = TCM_FIRST + 10, 1136 TCM_GETCURSEL = TCM_FIRST + 11, 1137 TCM_SETCURSEL = TCM_FIRST + 12, 1138 TCM_ADJUSTRECT = TCM_FIRST + 40, 1139 TCM_SETITEMSIZE = TCM_FIRST + 41, 1140 TCM_SETPADDING = TCM_FIRST + 43, 1141 TCM_GETROWCOUNT = TCM_FIRST + 44, 1142 TCM_SETTOOLTIPS = TCM_FIRST + 46, 1143 TCM_SETITEMW = TCM_FIRST + 61, 1144 TCM_SETIMAGELIST = TCM_FIRST + 3, 1145 TCM_INSERTITEMW = TCM_FIRST + 62,//TCM_SETITEMA = TCM_FIRST + 6, 1146 //TCM_INSERTITEMA = TCM_FIRST + 7, 1147 //TCM_SETITEMEXTRA = TCM_FIRST + 14, 1148 } 1149 1150 enum : uint { 1151 TCIF_TEXT = 0x0001, 1152 TCIF_IMAGE = 0x0002, 1153 TCIF_RTLREADING = 0x0004, 1154 TCIF_PARAM = 0x0008, 1155 } 1156 1157 enum : uint { 1158 TCS_FORCEICONLEFT = 0x0010, 1159 TCS_FORCELABELLEFT = 0x0020, 1160 TCS_TABS = 0x0000, 1161 TCS_BUTTONS = 0x0100, 1162 TCS_SINGLELINE = 0x0000, 1163 TCS_MULTILINE = 0x0200, 1164 TCS_RIGHTJUSTIFY = 0x0000, 1165 TCS_FIXEDWIDTH = 0x0400, 1166 TCS_RAGGEDRIGHT = 0x0800, 1167 TCS_FOCUSONBUTTONDOWN = 0x1000, 1168 TCS_OWNERDRAWFIXED = 0x2000, 1169 TCS_TOOLTIPS = 0x4000, 1170 TCS_FOCUSNEVER = 0x8000, 1171 1172 // Internet Explorer 3+ 1173 TCS_SCROLLOPPOSITE = 0x0001, 1174 TCS_BOTTOM = 0x0002, 1175 TCS_RIGHT = 0x0002, 1176 TCS_MULTISELECT = 0x0004, 1177 TCS_HOTTRACK = 0x0040, 1178 TCS_VERTICAL = 0x0080, 1179 1180 // Internet Explorer 4+ 1181 TCS_FLATBUTTONS = 0x0008, 1182 } 1183 1184 enum : uint { 1185 TCN_FIRST = cast(uint)-550, 1186 1187 TCN_SELCHANGE = TCN_FIRST - 1, 1188 TCN_SELCHANGING = TCN_FIRST - 2, 1189 } 1190 1191 enum : uint { 1192 NIF_MESSAGE = 0x00000001, 1193 NIF_ICON = 0x00000002, 1194 NIF_TIP = 0x00000004, 1195 } 1196 1197 enum : uint { 1198 NIM_ADD = 0x00000000, 1199 NIM_MODIFY = 0x00000001, 1200 NIM_DELETE = 0x00000002, 1201 } 1202 1203 enum : uint { 1204 SIF_RANGE = 0x0001, 1205 SIF_PAGE = 0x0002, 1206 SIF_POS = 0x0004, 1207 SIF_DISABLENOSCROLL = 0x0008, 1208 SIF_ALL = 23, 1209 } 1210 1211 enum : int { 1212 SM_SWAPBUTTON = 23, 1213 SM_CXFRAME = 32, 1214 SM_CYFRAME = 33, 1215 SM_CXSMICON = 49, 1216 SM_CYSMICON = 50, 1217 SM_CYSMCAPTION = 51, 1218 SM_CXSIZEFRAME = SM_CXFRAME, 1219 SM_CYSIZEFRAME = SM_CYFRAME, 1220 SM_CYMENU = 15, 1221 SM_CXVSCROLL = 2, 1222 SM_CYHSCROLL = 3, 1223 } 1224 1225 enum : uint { 1226 LR_DEFAULTCOLOR = 0, 1227 LR_MONOCHROME = 1, 1228 LR_COLOR = 2, 1229 LR_COPYRETURNORG = 4, 1230 LR_COPYDELETEORG = 8, 1231 LR_LOADTRANSPARENT = 32, 1232 LR_LOADREALSIZE = 128, 1233 LR_LOADMAP3DCOLORS = 4096, 1234 LR_CREATEDIBSECTION = 8192, 1235 LR_COPYFROMRESOURCE = 16384, 1236 LR_LOADFROMFILE = 0x0010, 1237 LR_DEFAULTSIZE = 0x0040, 1238 LR_SHARED = 0x8000, 1239 } 1240 1241 enum : COLORREF { 1242 CLR_INVALID = 0xFFFFFFFF, 1243 CLR_NONE = CLR_INVALID, 1244 } 1245 1246 enum : uint { 1247 DT_TOP = 0x00000000, 1248 DT_LEFT = 0x00000000, 1249 DT_CENTER = 0x00000001, 1250 DT_RIGHT = 0x00000002, 1251 DT_VCENTER = 0x00000004, 1252 DT_BOTTOM = 0x00000008, 1253 DT_WORDBREAK = 0x00000010, 1254 DT_SINGLELINE = 0x00000020, 1255 DT_EXPANDTABS = 0x00000040, 1256 DT_TABSTOP = 0x00000080, 1257 DT_NOCLIP = 0x00000100, 1258 DT_EXTERNALLEADING = 0x00000200, 1259 DT_CALCRECT = 0x00000400, 1260 DT_NOPREFIX = 0x00000800, 1261 DT_INTERNAL = 0x00001000, 1262 DT_EDITCONTROL = 0x00002000, 1263 DT_PATH_ELLIPSIS = 0x00004000, 1264 DT_END_ELLIPSIS = 0x00008000, 1265 DT_MODIFYSTRING = 0x00010000, 1266 DT_RTLREADING = 0x00020000, 1267 DT_WORD_ELLIPSIS = 0x00040000, 1268 } 1269 1270 enum { 1271 TRANSPARENT = 1, 1272 OPAQUE = 2, 1273 } 1274 1275 enum : uint { 1276 ETO_OPAQUE = 0x0002, 1277 ETO_CLIPPED = 0x0004, 1278 } 1279 1280 enum : uint { 1281 PS_SOLID = 0, 1282 PS_DASH = 1, 1283 PS_DOT = 2, 1284 PS_DASHDOT = 3, 1285 PS_DASHDOTDOT = 4, 1286 PS_NULL = 5, 1287 PS_INSIDEFRAME = 6, 1288 } 1289 1290 enum : uint { 1291 IMAGE_BITMAP = 0, 1292 IMAGE_ICON = 1, 1293 IMAGE_CURSOR = 2, 1294 } 1295 1296 const LPWSTR IDI_ERROR = MAKEINTRESOURCEW(32513); 1297 const LPWSTR IDI_QUESTION = MAKEINTRESOURCEW(32514); 1298 const LPWSTR IDI_WARNING = MAKEINTRESOURCEW(32515); 1299 const LPWSTR IDI_ASTERISK = MAKEINTRESOURCEW(32516); 1300 const LPWSTR IDI_INFORMATION = IDI_ASTERISK; 1301 1302 const LPCWSTR RT_BITMAP = MAKEINTRESOURCEW(2); 1303 const LPCWSTR RT_ICON = MAKEINTRESOURCEW(3); 1304 const LPCWSTR RT_MENU = MAKEINTRESOURCEW(4); 1305 const LPCWSTR RT_DIALOG = MAKEINTRESOURCEW(5); 1306 const LPCWSTR RT_STRING = MAKEINTRESOURCEW(6); 1307 const LPCWSTR RT_FONTDIR = MAKEINTRESOURCEW(7); 1308 const LPCWSTR RT_ACCELERATOR = MAKEINTRESOURCEW(9); 1309 const LPCWSTR RT_RCDATA = MAKEINTRESOURCEW(10); 1310 const LPCWSTR RT_MESSAGETABLE = MAKEINTRESOURCEW(11); 1311 const LPCWSTR RT_VERSION = MAKEINTRESOURCEW(16); 1312 const LPCWSTR RT_DLGINCLUDE = MAKEINTRESOURCEW(17); 1313 const LPCWSTR RT_PLUGPLAY = MAKEINTRESOURCEW(19); 1314 const LPCWSTR RT_VXD = MAKEINTRESOURCEW(20); 1315 const LPCWSTR RT_ANICURSOR = MAKEINTRESOURCEW(21); 1316 const LPCWSTR RT_ANIICON = MAKEINTRESOURCEW(22); 1317 const LPCWSTR RT_HTML = MAKEINTRESOURCEW(23); 1318 const LPCWSTR RT_MANIFEST = MAKEINTRESOURCEW(24); 1319 1320 enum : LONG { 1321 HS_HORIZONTAL = 0, 1322 HS_VERTICAL = 1, 1323 HS_FDIAGONAL = 2, 1324 HS_BDIAGONAL = 3, 1325 HS_CROSS = 4, 1326 HS_DIAGCROSS = 5, 1327 } 1328 1329 enum : uint { 1330 // Internet Explorer 3+ 1331 ICC_LISTVIEW_CLASSES = 0x00000001, 1332 ICC_TREEVIEW_CLASSES = 0x00000002, 1333 ICC_BAR_CLASSES = 0x00000004, // ToolBar/StatusBar/TrackBar 1334 ICC_TAB_CLASSES = 0x00000008, 1335 ICC_UPDOWN_CLASS = 0x00000010, 1336 ICC_PROGRESS_CLASS = 0x00000020, 1337 ICC_HOTKEY_CLASS = 0x00000040, 1338 ICC_ANIMATE_CLASS = 0x00000080, 1339 ICC_WIN95_CLASSES = 0x000000FF, 1340 ICC_DATE_CLASSES = 0x00000100, 1341 ICC_USEREX_CLASSES = 0x00000200, 1342 ICC_COOL_CLASSES = 0x00000400, 1343 1344 ICC_STANDARD_CLASSES = 0x00004000, 1345 1346 // IE4+ 1347 ICC_INTERNET_CLASSES = 0x00000800, 1348 ICC_PAGESCROLLER_CLASS = 0x00001000, 1349 ICC_NATIVEFNTCTL_CLASS = 0x00002000, 1350 } 1351 1352 enum : uint { 1353 PBS_SMOOTH = 0x01, 1354 PBS_VERTICAL = 0x04, 1355 PBS_MARQUEE = 0x08, 1356 PBS_SMOOTHREVERSE = 0x10, 1357 } 1358 1359 enum : uint { 1360 PBM_SETRANGE = WM_USER + 1, 1361 PBM_SETPOS = WM_USER + 2, 1362 PBM_DELTAPOS = WM_USER + 3, 1363 PBM_SETSTEP = WM_USER + 4, 1364 PBM_STEPIT = WM_USER + 5, 1365 PBM_SETMARQUEE = WM_USER + 10, 1366 PBM_SETRANGE32 = 1030, 1367 PBM_GETRANGE = 1031, 1368 PBM_GETPOS = 1032, 1369 PBM_SETBARCOLOR = 1033, 1370 } 1371 1372 enum : uint { 1373 BIF_RETURNONLYFSDIRS = 0x0001, 1374 BIF_NEWDIALOGSTYLE = 0x0040, 1375 BIF_NONEWFOLDERBUTTON = 0x0200, // Shell32.dll 6.0+ 1376 } 1377 1378 enum { 1379 ILD_NORMAL = 0, 1380 LF_FACESIZE = 32, 1381 } 1382 1383 enum : uint { 1384 ILC_COLOR4 = 0x0004, 1385 ILC_COLOR8 = 0x0008, 1386 ILC_COLOR16 = 0x0010, 1387 ILC_COLOR24 = 0x0018, 1388 ILC_COLOR32 = 0x0020, 1389 ILC_MASK = 0x0001, 1390 } 1391 1392 enum : uint { 1393 TBSTYLE_BUTTON = 0x00, 1394 TBSTYLE_SEP = 0x01, 1395 TBSTYLE_CHECK = 0x02, 1396 TBSTYLE_GROUP = 0x04, 1397 TBSTYLE_DROPDOWN = 0x08, 1398 TBSTYLE_AUTOSIZE = 0x10, 1399 TBSTYLE_WRAPABLE = 0x200, 1400 TBSTYLE_FLAT = 0x800, 1401 TBSTYLE_LIST = 0x1000, 1402 1403 TBSTYLE_EX_DRAWDDARROWS = 0x00000001, 1404 1405 BTNS_BUTTON = TBSTYLE_BUTTON, 1406 BTNS_SEP = TBSTYLE_SEP, 1407 BTNS_CHECK = TBSTYLE_CHECK, 1408 BTNS_GROUP = TBSTYLE_GROUP, 1409 BTNS_DROPDOWN = TBSTYLE_DROPDOWN, 1410 BTNS_AUTOSIZE = TBSTYLE_AUTOSIZE, 1411 BTNS_WHOLEDROPDOWN = 0x0080, 1412 BTNS_SHOWTEXT = 0x0040, 1413 } 1414 1415 enum : BYTE { 1416 TBSTATE_CHECKED = 0x01, 1417 TBSTATE_PRESSED = 0x02, 1418 TBSTATE_ENABLED = 0x04, 1419 TBSTATE_HIDDEN = 0x08, 1420 TBSTATE_INDETERMINATE = 0x10, 1421 TBSTATE_WRAP = 0x20, 1422 TBSTATE_ELLIPSES = 0x40, 1423 TBSTATE_MARKED = 0x80, 1424 } 1425 1426 enum : LRESULT { 1427 TBDDRET_DEFAULT = 0, 1428 TBDDRET_NODEFAULT = 1, 1429 TBDDRET_TREATPRESSED = 2, 1430 } 1431 1432 enum : uint { 1433 TBIF_IMAGE = 1, 1434 TBIF_TEXT = 2, 1435 TBIF_STATE = 4, 1436 TBIF_STYLE = 8, 1437 TBIF_LPARAM = 16, 1438 TBIF_COMMAND = 32, 1439 TBIF_SIZE = 64, 1440 TBIF_BYINDEX = 0x80000000, 1441 } 1442 1443 enum : uint { 1444 TB_SETSTATE = WM_USER + 17, 1445 TB_DELETEBUTTON = WM_USER + 22, 1446 TB_GETITEMRECT = WM_USER + 29, 1447 TB_BUTTONSTRUCTSIZE = WM_USER + 30, 1448 TB_SETBUTTONSIZE = WM_USER + 31, 1449 TB_AUTOSIZE = WM_USER + 33, 1450 TB_SETIMAGELIST = WM_USER + 48, 1451 TB_INSERTBUTTONW = WM_USER + 67, 1452 TB_ADDBUTTONSW = WM_USER + 68, 1453 TB_SETPADDING = WM_USER + 87, 1454 TB_GETBUTTONINFOW = WM_USER + 63, 1455 TB_SETBUTTONINFOW = WM_USER + 64, 1456 TB_HITTEST = WM_USER + 69, 1457 TB_GETBUTTONSIZE = WM_USER + 58, 1458 TB_SETEXTENDEDSTYLE = WM_USER + 84, 1459 TB_GETEXTENDEDSTYLE = WM_USER + 85,//TB_ADDBUTTONSA = WM_USER + 20, 1460 //TB_INSERTBUTTONA = WM_USER + 21, 1461 //TB_GETBUTTONINFOA = WM_USER + 65, 1462 //TB_SETBUTTONINFOA = WM_USER + 66, 1463 } 1464 1465 enum : uint { 1466 CC_RGBINIT = 0x00000001, 1467 CC_FULLOPEN = 0x00000002, 1468 CC_PREVENTFULLOPEN = 0x00000004, 1469 CC_SHOWHELP = 0x00000008, 1470 CC_ENABLEHOOK = 0x00000010, 1471 CC_ENABLETEMPLATE = 0x00000020, 1472 CC_ENABLETEMPLATEHANDLE = 0x00000040, 1473 CC_SOLIDCOLOR = 0x00000080, 1474 CC_ANYCOLOR = 0x00000100, 1475 } 1476 1477 enum : uint { 1478 TBN_FIRST = cast(uint)-700, 1479 TBN_DROPDOWN = TBN_FIRST - 10, 1480 } 1481 1482 struct WNDCLASSEXW { 1483 UINT cbSize; 1484 UINT style; 1485 WNDPROC lpfnWndProc; 1486 int cbClsExtra; 1487 int cbWndExtra; 1488 HINSTANCE hInstance; 1489 HICON hIcon; 1490 HCURSOR hCursor; 1491 HBRUSH hbrBackground; 1492 LPCWSTR lpszMenuName; 1493 LPCWSTR lpszClassName; 1494 HICON hIconSm; 1495 } 1496 1497 align(1) struct TEXTMETRICW { 1498 LONG tmHeight; 1499 LONG tmAscent; 1500 LONG tmDescent; 1501 LONG tmInternalLeading; 1502 LONG tmExternalLeading; 1503 LONG tmAveCharWidth; 1504 LONG tmMaxCharWidth; 1505 LONG tmWeight; 1506 LONG tmOverhang; 1507 LONG tmDigitizedAspectX; 1508 LONG tmDigitizedAspectY; 1509 wchar tmFirstChar; 1510 wchar tmLastChar; 1511 wchar tmDefaultChar; 1512 wchar tmBreakChar; 1513 BYTE tmItalic; 1514 BYTE tmUnderlined; 1515 BYTE tmStruckOut; 1516 BYTE tmPitchAndFamily; 1517 BYTE tmCharSet; 1518 } 1519 1520 struct SIZE { 1521 LONG cx; 1522 LONG cy; 1523 } 1524 1525 struct NMMOUSE { 1526 NMHDR hdr; 1527 DWORD dwItemSpec; 1528 DWORD dwItemData; 1529 POINT pt; 1530 LPARAM dwHitInfo; 1531 } 1532 1533 struct TCITEMHEADERW { 1534 UINT mask; 1535 UINT lpReserved1; 1536 UINT lpReserved2; 1537 LPCWSTR pszText; 1538 int cchTextMax; 1539 int iImage; 1540 } 1541 1542 struct TRIVERTEX { 1543 LONG x; 1544 LONG y; 1545 ushort Red; 1546 ushort Green; 1547 ushort Blue; 1548 ushort Alpha; 1549 } 1550 1551 struct GRADIENT_TRIANGLE { 1552 ULONG Vertex1; 1553 ULONG Vertex2; 1554 ULONG Vertex3; 1555 } 1556 1557 struct GRADIENT_RECT { 1558 ULONG UpperLeft; 1559 ULONG LowerRight; 1560 } 1561 1562 struct ACTCTXW { 1563 ULONG cbSize; 1564 DWORD dwFlags; 1565 LPCWSTR lpSource; 1566 USHORT wProcessorArchitecture; 1567 LANGID wLangId; 1568 LPCWSTR lpAssemblyDirectory; 1569 LPCWSTR lpResourceName; 1570 LPCWSTR lpApplicationName; 1571 HMODULE hModule; 1572 } 1573 1574 struct OSVERSIONINFOW { 1575 DWORD dwOSVersionInfoSize; 1576 DWORD dwMajorVersion; 1577 DWORD dwMinorVersion; 1578 DWORD dwBuildNumber; 1579 DWORD dwPlatformId; 1580 wchar[128] szCSDVersion; 1581 } 1582 1583 struct WINDOWPOS { 1584 HWND hwnd; 1585 HWND hwndInsertAfter; 1586 int x; 1587 int y; 1588 int cx; 1589 int cy; 1590 UINT flags; 1591 } 1592 1593 struct WINDOWINFO { 1594 DWORD cbSize; 1595 RECT rcWindow; 1596 RECT rcClient; 1597 DWORD dwStyle; 1598 DWORD dwExStyle; 1599 DWORD dwWindowStatus; 1600 UINT cxWindowBorders; 1601 UINT cyWindowBorders; 1602 ATOM atomWindowType; 1603 WORD wCreatorVersion; 1604 } 1605 1606 struct COMBOBOXEXITEMW { 1607 UINT mask; 1608 int iItem; 1609 LPCWSTR pszText; 1610 int cchTextMax; 1611 int iImage; 1612 int iSelectedImage; 1613 int iOverlay; 1614 int iIndent; 1615 LPARAM lParam; 1616 } 1617 1618 struct BLENDFUNCTION { 1619 BYTE BlendOp; 1620 BYTE BlendFlags; 1621 BYTE SourceConstantAlpha; 1622 BYTE AlphaFormat; 1623 } 1624 1625 struct NOTIFYICONDATA { 1626 DWORD cbSize; 1627 HWND hWnd; 1628 UINT uID; 1629 UINT uFlags; 1630 UINT uCallbackMessage; 1631 HICON hIcon; 1632 char[64] szTip; 1633 } 1634 1635 struct SHITEMID { 1636 align(1): 1637 USHORT cb; // Size including cb. 1638 BYTE[1] abID; 1639 } 1640 1641 struct ITEMIDLIST { 1642 SHITEMID mkid; 1643 } 1644 1645 struct BROWSEINFOW { 1646 HWND hwndOwner; 1647 ITEMIDLIST* pidlRoot; 1648 LPWSTR pszDisplayName; 1649 LPCWSTR lpszTitle; 1650 UINT ulFlags; 1651 BFFCALLBACK lpfn; 1652 LPARAM lParam; 1653 int iImage; 1654 } 1655 1656 struct LOGBRUSH { 1657 UINT lbStyle; 1658 COLORREF lbColor; 1659 LONG lbHatch; 1660 } 1661 1662 struct DRAWTEXTPARAMS { 1663 UINT cbSize; 1664 int iTabLength; 1665 int iLeftMargin; 1666 int iRightMargin; 1667 UINT uiLengthDrawn; 1668 } 1669 1670 struct NMHDR { 1671 HWND hwndFrom; 1672 UINT idFrom; 1673 UINT code; 1674 } 1675 1676 struct NMCUSTOMDRAW { 1677 NMHDR hdr; 1678 DWORD dwDrawStage; 1679 HDC hdc; 1680 RECT rc; 1681 DWORD dwItemSpec; 1682 UINT uItemState; 1683 LPARAM lItemlParam; 1684 } 1685 1686 struct NMTVCUSTOMDRAW { 1687 NMCUSTOMDRAW nmcd; 1688 COLORREF clrText; 1689 COLORREF clrTextBk; 1690 int iLevel; // IE4+ 1691 } 1692 1693 struct NMLISTVIEW { 1694 NMHDR hdr; 1695 int iItem; 1696 int iSubItem; 1697 UINT uNewState; 1698 UINT uOldState; 1699 UINT uChanged; 1700 POINT ptAction; 1701 LPARAM lParam; 1702 } 1703 1704 struct LVITEMW { 1705 UINT mask; 1706 int iItem; 1707 int iSubItem; 1708 UINT state; 1709 UINT stateMask; 1710 LPCWSTR pszText; 1711 int cchTextMax; 1712 int iImage; 1713 LPARAM lParam; 1714 } 1715 1716 align(1) struct NMTTDISPINFOW { 1717 NMHDR hdr; 1718 wchar* lpszText; 1719 wchar[80] szText; 1720 HINSTANCE hinst; 1721 UINT uFlags; 1722 LPARAM lParam; 1723 } 1724 1725 struct LVDISPINFOW { 1726 NMHDR hdr; 1727 LVITEMW item; 1728 } 1729 1730 struct LVCOLUMNW { 1731 UINT mask; 1732 int fmt; 1733 int cx; 1734 LPCWSTR pszText; 1735 int cchTextMax; 1736 int iSubItem; 1737 } 1738 1739 struct TBBUTTON { 1740 int iBitmap; 1741 int idCommand; 1742 BYTE fsState; 1743 BYTE fsStyle; 1744 BYTE[2] bReserved; 1745 DWORD dwData; 1746 int iString; 1747 } 1748 1749 struct NMTOOLBARW { 1750 NMHDR hdr; 1751 int iItem; 1752 TBBUTTON tbButton; 1753 int cchText; 1754 LPWSTR pszText; 1755 RECT rcButton; 1756 } 1757 1758 struct TVITEMW { 1759 UINT mask; 1760 HTREEITEM hItem; 1761 UINT state; 1762 UINT stateMask; 1763 LPCWSTR pszText; 1764 int cchTextMax; 1765 int iImage; 1766 int iSelectedImage; 1767 int cChildren; 1768 LPARAM lParam; 1769 } 1770 1771 struct TVHITTESTINFO { 1772 POINT pt; 1773 UINT flags; 1774 HTREEITEM hItem; 1775 } 1776 1777 struct TVINSERTSTRUCTW { 1778 HTREEITEM hParent; 1779 HTREEITEM hInsertAfter; 1780 TVITEMW item; 1781 } 1782 1783 struct NMTREEVIEWW { 1784 NMHDR hdr; 1785 UINT action; 1786 TVITEMW itemOld; 1787 TVITEMW itemNew; 1788 POINT ptDrag; 1789 } 1790 1791 struct NMTVDISPINFOW { 1792 NMHDR hdr; 1793 TVITEMW item; 1794 } 1795 1796 struct TCITEMW { 1797 UINT mask; 1798 UINT lpReserved1; 1799 UINT lpReserved2; 1800 LPCTSTR pszText; 1801 int cchTextMax; 1802 int iImage; 1803 LPARAM lParam; 1804 } 1805 1806 // Rich edit. 1807 struct CHARRANGE { 1808 LONG cpMin; 1809 LONG cpMax; 1810 } 1811 1812 // Rich edit. 1813 struct EDITSTREAM { 1814 /+ DWORD_PTR +/ 1815 DWORD dwCookie; 1816 DWORD dwError; 1817 EDITSTREAMCALLBACK pfnCallback; 1818 } 1819 1820 struct TEXTRANGEA { 1821 CHARRANGE chrg; 1822 LPSTR lpstrText; 1823 } 1824 1825 struct MENUITEMINFOW { 1826 UINT cbSize; 1827 UINT fMask; 1828 UINT fType; 1829 UINT fState; 1830 UINT wID; 1831 HMENU hSubMenu; 1832 HBITMAP hbmpChecked; 1833 HBITMAP hbmpUnchecked; 1834 DWORD dwItemData; 1835 LPCWSTR dwTypeData; 1836 UINT cch; 1837 HBITMAP hbmpItem; 1838 } 1839 1840 struct SCROLLINFO { 1841 UINT cbSize; 1842 UINT fMask; 1843 int nMin; 1844 int nMax; 1845 UINT nPage; 1846 int nPos; 1847 int nTrackPos; 1848 } 1849 1850 struct TBBUTTONINFOW { 1851 UINT cbSize; 1852 DWORD dwMask; 1853 int idCommand; 1854 int iImage; 1855 BYTE fsState; 1856 BYTE fsStyle; 1857 WORD cx; 1858 DWORD lParam; 1859 LPWSTR pszText; 1860 int cchText; 1861 } 1862 1863 align(1) struct CHOOSECOLORW { 1864 DWORD lStructSize; 1865 HWND hwndOwner; 1866 HWND hInstance; 1867 COLORREF rgbResult; 1868 COLORREF* lpCustColors; 1869 DWORD Flags; 1870 LPARAM lCustData; 1871 LPCCHOOKPROC lpfnHook; 1872 LPCWSTR lpTemplateName; 1873 } 1874 1875 struct LOGFONTW { 1876 LONG lfHeight; 1877 LONG lfWidth; 1878 LONG lfEscapement; 1879 LONG lfOrientation; 1880 LONG lfWeight; 1881 BYTE lfItalic; 1882 BYTE lfUnderline; 1883 BYTE lfStrikeOut; 1884 BYTE lfCharSet; 1885 BYTE lfOutPrecision; 1886 BYTE lfClipPrecision; 1887 BYTE lfQuality; 1888 BYTE lfPitchAndFamily; 1889 WCHAR[LF_FACESIZE] lfFaceName; 1890 } 1891 1892 struct NONCLIENTMETRICSW { 1893 UINT cbSize; 1894 int iBorderWidth; 1895 int iScrollWidth; 1896 int iScrollHeight; 1897 int iCaptionWidth; 1898 int iCaptionHeight; 1899 LOGFONTW lfCaptionFont; 1900 int iSmCaptionWidth; 1901 int iSmCaptionHeight; 1902 LOGFONTW lfSmCaptionFont; 1903 int iMenuWidth; 1904 int iMenuHeight; 1905 LOGFONTW lfMenuFont; 1906 LOGFONTW lfStatusFont; 1907 LOGFONTW lfMessageFont; 1908 } 1909 1910 align(1) struct CHOOSEFONTW { 1911 DWORD lStructSize; 1912 HWND hwndOwner; 1913 HDC hDC; 1914 LOGFONTW* lpLogFont; 1915 INT iPointSize; 1916 DWORD Flags; 1917 DWORD rgbColors; 1918 LPARAM lCustData; 1919 LPCFHOOKPROC lpfnHook; 1920 LPCWSTR lpTemplateName; 1921 HINSTANCE hInstance; 1922 LPWSTR lpszStyle; 1923 WORD nFontType; 1924 WORD ___MISSING_ALIGNMENT__; 1925 INT nSizeMin; 1926 INT nSizeMax; 1927 } 1928 1929 struct ICONINFO { 1930 BOOL fIcon; 1931 DWORD xHotspot; 1932 DWORD yHotspot; 1933 HBITMAP hbmMask; 1934 HBITMAP hbmColor; 1935 } 1936 1937 struct CREATESTRUCTW { 1938 LPVOID lpCreateParams; 1939 HINSTANCE hInstance; 1940 HMENU hMenu; 1941 HWND hwndParent; 1942 int cy; 1943 int cx; 1944 int y; 1945 int x; 1946 LONG style; 1947 LPCWSTR lpszName; 1948 LPCWSTR lpszClass; 1949 DWORD dwExStyle; 1950 } 1951 1952 struct TOOLINFOW { 1953 UINT cbSize; 1954 UINT uFlags; 1955 HWND hwnd; 1956 UINT uId; 1957 RECT rect; 1958 HINSTANCE hinst; 1959 LPWSTR lpszText; 1960 LPARAM lParam; 1961 //void* lpReserved; <-- From XP/Vista/7 1962 } 1963 1964 struct TRACKMOUSEEVENT { 1965 DWORD cbSize; 1966 DWORD dwFlags; 1967 HWND hwndTrack; 1968 DWORD dwHoverTime; 1969 } 1970 1971 struct DRAWITEMSTRUCT { 1972 UINT CtlType; 1973 UINT CtlID; 1974 UINT itemID; 1975 UINT itemAction; 1976 UINT itemState; 1977 HWND hwndItem; 1978 HDC hDC; 1979 RECT rcItem; 1980 DWORD itemData; 1981 } 1982 1983 struct MEASUREITEMSTRUCT { 1984 UINT CtlType; 1985 UINT CtlID; 1986 UINT itemID; 1987 UINT itemWidth; 1988 UINT itemHeight; 1989 DWORD itemData; 1990 } 1991 1992 struct INITCOMMONCONTROLSEX { 1993 DWORD dwSize; 1994 DWORD dwICC; 1995 } 1996 1997 struct MENUINFO { 1998 DWORD cbSize; 1999 DWORD fMask; 2000 DWORD dwStyle; 2001 UINT cyMax; 2002 HBRUSH hbrBack; 2003 DWORD dwContextHelpID; 2004 ULONG_PTR dwMenuData; 2005 } 2006 2007 /* *** Win32 Macros *** */ 2008 COLORREF RGB(int r, int g, int b) { 2009 return cast(COLORREF)(cast(ubyte)r | (cast(ubyte)g << 8) | (cast(ubyte)b << 16)); 2010 } 2011 2012 DWORD MAKELONG(int wLow, int wHigh) { 2013 return cast(DWORD)cast(WORD)wLow | (cast(DWORD)cast(WORD)wHigh << 16); 2014 } 2015 2016 LPWSTR MAKEINTRESOURCEW(ushort id) { 2017 return (cast(LPWSTR)(cast(ULONG_PTR)((cast(WORD)(id))))); 2018 } 2019 2020 BYTE GetRValue(COLORREF c) { 2021 return cast(BYTE)c; 2022 } 2023 2024 BYTE GetGValue(COLORREF c) { 2025 return cast(BYTE)(c >> 8); 2026 } 2027 2028 BYTE GetBValue(COLORREF c) { 2029 return cast(BYTE)(c >> 16); 2030 } 2031 2032 short GetWheelDelta(WPARAM wParam) { 2033 return cast(short)HIWORD(wParam); 2034 } 2035 2036 alias GUID CLSID; 2037 alias DWORD function( /+ DWORD_PTR +/ DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG* pcb) EDITSTREAMCALLBACK; // Rich edit. 2038 alias int function(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData) BFFCALLBACK; 2039 alias UINT function(HWND hdlg, UINT uiMsg, WPARAM wParam, LPARAM lParam) LPCCHOOKPROC; 2040 alias UINT function(HWND hdlg, UINT uiMsg, WPARAM wParam, LPARAM lParam) LPCFHOOKPROC; 2041 alias BOOL function(HDC hdc, LPARAM lpData, int cchData) GRAYSTRINGPROC; 2042 2043 alias MAKELONG MAKELRESULT; 2044 alias MAKELONG MAKELPARAM; 2045 alias MAKELONG MAKEWPARAM; 2046 alias TBBUTTON TB_BUTTON; 2047 alias HANDLE HIMAGELIST; 2048 alias size_t ULONG_PTR; 2049 alias HANDLE HTREEITEM; 2050 alias WORD CLIPFORMAT; 2051 alias ulong DWORDLONG; 2052 alias long LONGLONG; 2053 alias WORD LANGID; 2054 alias DWORD LCID; 2055 alias DWORD HDWP; 2056 alias DWORD ARGB; 2057 2058 /* *** Shell32.lib *** */ 2059 ITEMIDLIST* SHBrowseForFolderW(BROWSEINFOW* lpbi); 2060 BOOL SHGetPathFromIDListW(ITEMIDLIST* pidl, wchar* pszPath); 2061 HICON ExtractAssociatedIconW(HINSTANCE hInst, LPCWSTR lpIconPath, WORD* lpiIcon); 2062 2063 /* *** Comdlg32 *** */ 2064 BOOL ChooseColorW(CHOOSECOLORW* lpcc); 2065 BOOL ChooseFontW(CHOOSEFONTW* lpcf); 2066 2067 /* *** Kernel32.dll *** */ 2068 HMODULE LoadLibraryW(LPCWSTR lpFileName); 2069 HMODULE GetModuleHandleW(LPCWSTR lpModuleName); 2070 DWORD GetModuleFileNameW(HMODULE hModule, LPWSTR lpFilename, DWORD nSize); 2071 HRSRC FindResourceExW(HMODULE hModule, LPCWSTR lpType, LPCWSTR lpName, WORD wLanguage); 2072 BOOL GetVersionExW(OSVERSIONINFOW* lpVersionInfo); 2073 DWORD GetTempPathW(DWORD nBufferLength, LPWSTR lpBuffer); 2074 HGLOBAL LoadResource(HMODULE hModule, HRSRC hResInfo); 2075 DWORD SizeofResource(HMODULE hModule, HRSRC hResInfo); 2076 BOOL TerminateProcess(HANDLE, UINT); 2077 VOID ExitProcess(UINT uExitCode); 2078 int MulDiv(int nNumber, int nNumerator, int nDenominator); 2079 2080 /* *** User32.dll *** */ 2081 int MessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType); 2082 BOOL GetMessageW(MSG* lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax); 2083 LRESULT DispatchMessageW(MSG* lpmsg); 2084 HWND CreateWindowExW(DWORD dwExStyle, LPCWSTR lpClassName, LPCWSTR lpWindowName, 2085 DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, 2086 HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam); 2087 HDWP DeferWindowPos(HDWP hWinPosInfo, HWND hWnd, HWND hWndInsertAfter, int x, 2088 int y, int cx, int cy, UINT uFlags); 2089 //LRESULT SendMessageW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2090 HANDLE LoadImageW(HINSTANCE hinst, LPCWSTR lpszName, UINT uType, int cxDesired, 2091 int cyDesired, UINT fuLoad); 2092 LRESULT CallWindowProcA(WNDPROC lpPrevWndFunc, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2093 LRESULT CallWindowProcW(WNDPROC lpPrevWndFunc, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2094 BOOL SetWindowPos(HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags); 2095 BOOL GetTextExtentPoint32W(HDC hdc, LPCWSTR lpString, int c, SIZE* lpSize); 2096 BOOL DrawFrameControl(HDC hdc, RECT* lprc, uint uType, uint uState); 2097 BOOL SetMenuItemInfoW(HMENU hMenu, UINT uItem, BOOL fByPosition, MENUITEMINFOW* lpmii); 2098 BOOL InsertMenuItemW(HMENU hMenu, UINT uItem, BOOL fByPosition, MENUITEMINFOW* lpmii); 2099 BOOL SystemParametersInfoW(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni); 2100 UINT SetTimer(HWND hWnd, UINT nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc); 2101 BOOL GetClassInfoExW(HINSTANCE hinst, LPCWSTR lpszClass, WNDCLASSEXW* lpwcx); 2102 LRESULT DefWindowProcW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2103 int SetScrollInfo(HWND hwnd, int fnBar, SCROLLINFO* lpsi, BOOL fRedraw); 2104 BOOL EnableMenuItem(HMENU hMenu, UINT uIDEnableItem, UINT uEnable); 2105 int GetWindowTextW(HWND hWnd, LPWSTR lpString, int nMaxCount); 2106 BOOL GetScrollInfo(HWND hwnd, int fnBar, SCROLLINFO* lpsi); 2107 LONG SetWindowLongW(HWND hWnd, int nIndex, LONG dwNewLong); 2108 DWORD SetClassLongW(HWND hWnd, int nIndex, LONG lNewLong); 2109 BOOL GetMenuItemInfoW(HMENU, UINT, BOOL, MENUITEMINFOW*); 2110 BOOL TrackMouseEvent(TRACKMOUSEEVENT* lpEventTrack); 2111 HWND SetParent(HWND hWndChild, HWND hWndNewParent); 2112 BOOL SetWindowTextW(HWND hWnd, LPCWSTR lpString); 2113 BOOL GetWindowInfo(HWND hwnd, WINDOWINFO* pwi); 2114 BOOL IsDialogMessageW(HWND hDlg, LPMSG lpMsg); 2115 HMENU GetSystemMenu(HWND hWnd, BOOL bRevert); 2116 LONG GetWindowLongW(HWND hWnd, int nIndex); 2117 BOOL EnableWindow(HWND hWnd, BOOL bEnable); 2118 DWORD GetClassLongW(HWND hWnd, int nIndex); 2119 ATOM RegisterClassExW(WNDCLASSEXW* lpwcx); 2120 HDWP BeginDeferWindowPos(int nNumWindows); 2121 BOOL EndDeferWindowPos(HDWP hWinPosInfo); 2122 BOOL KillTimer(HWND hWnd, UINT uIDEvent); 2123 BOOL DrawFocusRect(HDC hDC, RECT* lprc); 2124 BOOL OpenClipboard(HWND hWndNewOwner); 2125 BOOL SetMenu(HWND hWnd, HMENU hMenu); 2126 int GetWindowTextLengthW(HWND hWnd); 2127 BOOL SetMenuInfo(HMENU, MENUINFO*); 2128 BOOL DeleteMenu(HMENU, UINT, UINT); 2129 SHORT GetAsyncKeyState(int vKey); 2130 //BOOL BringWindowToTop(HWND hWnd); 2131 BOOL IsWindowVisible(HWND hWnd); 2132 BOOL IsWindowEnabled(HWND hWnd); 2133 BOOL IsWindowUnicode(HWND hWnd); 2134 DWORD GetSysColor(int nIndex); 2135 HBRUSH GetSysColorBrush(int nIndex); 2136 BOOL DestroyWindow(HWND hwnd); 2137 BOOL CloseWindow(HWND hWnd); 2138 BOOL DestroyMenu(HMENU hMenu); 2139 BOOL DrawMenuBar(HWND hWnd); 2140 HWND SetCapture(HWND hWnd); 2141 HWND GetParent(HWND hWnd); 2142 BOOL IsWindow(HWND hWnd); 2143 BOOL IsMenu(HMENU hMenu); 2144 HMENU GetMenu(HWND hWnd); 2145 HWND GetDesktopWindow(); 2146 HMENU CreatePopupMenu(); 2147 HWND GetActiveWindow(); 2148 BOOL EmptyClipboard(); 2149 BOOL ReleaseCapture(); 2150 //BOOL WaitMessage(); 2151 HMENU CreateMenu(); 2152 //HWND GetCapture(); 2153 2154 /* *** Comctl32.dll *** */ 2155 //BOOL ImageList_DrawEx(HIMAGELIST himl, int i, HDC hdcDst, int x, int y, int dx, int dy, COLORREF rgbBk, COLORREF rgbFg, UINT fStyle); 2156 //BOOL ImageList_Draw(HIMAGELIST himl, int i, HDC hdcDst, int x, int y, UINT fStyle); 2157 //HIMAGELIST ImageList_Create(int cx, int cy, UINT flags, int cInitial, int cGrow); 2158 //int ImageList_AddMasked(HIMAGELIST himl, HBITMAP hbmImage, COLORREF crMask); 2159 //int ImageList_Add(HIMAGELIST himl, HBITMAP hbmImage, HBITMAP hbmMask); 2160 BOOL InitCommonControlsEx(INITCOMMONCONTROLSEX* lpInitCtrls); 2161 COLORREF ImageList_SetBkColor(HIMAGELIST, COLORREF); 2162 int ImageList_AddIcon(HIMAGELIST himl, HICON hicon); 2163 int ImageList_ReplaceIcon(HIMAGELIST, int, HICON); 2164 BOOL ImageList_Remove(HIMAGELIST himl, int i); 2165 BOOL ImageList_Destroy(HIMAGELIST himl); 2166 2167 /* *** Gdi32.dll *** */ 2168 //BOOL GdiTransparentBlt(HDC hdcDest, int xoriginDest, int yoriginDest,int wDest, int hDest, HDC hdcSrc, int xoriginSrc, int yoriginSrc, int wSrc, int hSrc, UINT crTransparent); 2169 //BOOL GdiAlphaBlend(HDC hdcDest, int xoriginDest, int yoriginDest, int wDest, int hDest, HDC hdcSrc, int xoriginSrc, int yoriginSrc, int wSrc, int hSrc, BLENDFUNCTION ftn); 2170 BOOL DrawIconEx(HDC hdc, int xLeft, int yTop, HICON hIcon, int cxWidth, 2171 int cyWidth, UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags); 2172 BOOL PlgBlt(HDC hdcDest, POINT* lpPoint, HDC hdcSrc, int nXSrc, int nYSrc, 2173 int nWidth, int nHeight, HBITMAP hbmMask, int xMask, int yMask); 2174 BOOL BitBlt(HDC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, 2175 HDC hdcSrc, int nXSrc, int nYSrc, DWORD dwRop); 2176 int GetDIBits(HDC hdc, HBITMAP hbmp, UINT uStartScan, UINT cScanLines, 2177 void* lpvBits, BITMAPINFO* lpbi, UINT uUsage); 2178 HBITMAP CreateDIBSection(HDC hdc, BITMAPINFO* pbmi, UINT iUsage, 2179 void** ppvBits, HANDLE hSection, DWORD dwOffset); 2180 int DrawTextExW(HDC hdc, LPCWSTR lpchText, int cchText, RECT* lprc, 2181 UINT dwDTFormat, DRAWTEXTPARAMS* lpDTParams); 2182 //BOOL GdiGradientFill(HDC hdc, TRIVERTEX* pVertex, ULONG dwNumVertex, void* pMesh, ULONG dwNumMesh, ULONG dwMode); 2183 HBITMAP CreateBitmap(int nWidth, int nHeight, UINT cPlanes, UINT cBitsPerPel, 2184 const(void*) lpvBits); 2185 BOOL Rectangle(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect); 2186 BOOL Ellipse(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect); 2187 BOOL PatBlt(HDC hdc, int nXLeft, int nYLeft, int nWidth, int nHeight, DWORD dwRop); 2188 HBITMAP CreateCompatibleBitmap(HDC hdc, int nWidth, int nHeight); 2189 BOOL SetBrushOrgEx(HDC hdc, int nXOrg, int nYOrg, LPPOINT lppt); 2190 int GetObjectW(HGDIOBJ hgdiobj, int cbBuffer, void* lpvObject); 2191 BOOL GetIconInfo(HICON hIcon, ICONINFO* iconinfo); 2192 HBRUSH CreateHatchBrush(int ht, COLORREF crColor); 2193 BOOL GetTextMetricsW(HDC hdc, TEXTMETRICW* lptm); 2194 HBRUSH CreateSolidBrush(COLORREF crColor); 2195 HFONT CreateFontIndirectW(LOGFONTW* lplf); 2196 BOOL DrawEdge(HDC, LPRECT, UINT, UINT); 2197 BOOL DestroyCursor(HCURSOR hCursor); 2198 BOOL DestroyIcon(HICON hIcon); 2199 COLORREF GetTextColor(HDC hdc); 2200 2201 /* *** Advapi32.dll *** */ 2202 LONG RegCreateKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD Reserved, LPTSTR lpClass, DWORD dwOptions, REGSAM samDesired, 2203 LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition); 2204 LONG RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, 2205 REGSAM samDesired, PHKEY phkResult); 2206 LONG RegQueryValueExW(HKEY hKey, LPCWSTR lpValueName, DWORD* lpReserved, 2207 DWORD* lpType, BYTE* lpData, DWORD* lpcbData); 2208 LONG RegSetValueExW(HKEY hKey, LPCWSTR lpValueName, DWORD Reserved, 2209 DWORD dwType, const BYTE* lpData, DWORD cbData); 2210 LONG RegQueryInfoKeyW(HKEY hKey, LPWSTR lpClass, LPDWORD lpcClass, 2211 LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcMaxSubKeyLen, 2212 LPDWORD lpcMaxClassLen, LPDWORD lpcValues, LPDWORD lpcMaxValueNameLen, 2213 LPDWORD lpcMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime); 2214 LONG RegEnumKeyExW(HKEY hKey, DWORD dwIndex, LPWSTR lpName, LPDWORD lpcName, 2215 LPDWORD lpReserved, LPWSTR lpClass, LPDWORD lpcClass, PFILETIME lpftLastWriteTime); 2216 LONG RegEnumValueW(HKEY hKey, DWORD dwIndex, LPWSTR lpValueName, LPDWORD lpcchValueName, 2217 LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData); 2218 LONG RegDeleteValueW(HKEY hKey, LPCWSTR lpValueName); 2219 LONG RegDeleteKeyW(HKEY hKey, LPCWSTR lpSubKey); 2220 2221 /* *** Ole32.dll *** */ 2222 HRESULT CLSIDFromString(wchar* lpsz, CLSID* pclsid); 2223 }