Hex Artifact Content

Not logged in

Artifact 3a4a470084abe4866391eab0d0aad21ebb5a14c0:


0000: 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e 61 6e 73  module win32.ans
0010: 69 2e 77 69 6e 75 73 65 72 3b 0d 0a 0d 0a 2f 2f  i.winuser;....//
0020: 20 54 72 61 6e 73 6c 61 74 65 64 20 66 72 6f 6d   Translated from
0030: 20 4d 69 63 72 6f 73 6f 66 74 20 50 6c 61 74 66   Microsoft Platf
0040: 6f 72 6d 20 53 44 4b 20 41 75 67 75 73 74 20 32  orm SDK August 2
0050: 30 30 31 20 45 64 69 74 69 6f 6e 0d 0a 2f 2f 20  001 Edition..// 
0060: 62 79 20 59 2e 54 6f 6d 69 6e 6f 20 28 64 65 6d  by Y.Tomino (dem
0070: 6f 6f 6e 6c 69 74 40 69 6e 74 65 72 37 2e 6a 70  oonlit@inter7.jp
0080: 29 0d 0a 0d 0a 69 6d 70 6f 72 74 20 77 69 6e 33  )....import win3
0090: 32 2e 61 6e 73 69 2e 77 69 6e 62 61 73 65 2c 20  2.ansi.winbase, 
00a0: 77 69 6e 33 32 2e 61 6e 73 69 2e 77 69 6e 67 64  win32.ansi.wingd
00b0: 69 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  i;..enum : uint 
00c0: 7b 0d 0a 20 20 51 53 5f 50 4f 53 54 4d 45 53 53  {..  QS_POSTMESS
00d0: 41 47 45 20 3d 20 30 78 30 30 30 38 2c 0d 0a 20  AGE = 0x0008,.. 
00e0: 20 51 53 5f 54 49 4d 45 52 20 20 20 20 20 20 20   QS_TIMER       
00f0: 3d 20 30 78 30 30 31 30 2c 0d 0a 20 20 51 53 5f  = 0x0010,..  QS_
0100: 50 41 49 4e 54 20 20 20 20 20 20 20 3d 20 30 78  PAINT       = 0x
0110: 30 30 32 30 2c 0d 0a 20 20 51 53 5f 53 45 4e 44  0020,..  QS_SEND
0120: 4d 45 53 53 41 47 45 20 3d 20 30 78 30 30 34 30  MESSAGE = 0x0040
0130: 2c 0d 0a 20 20 51 53 5f 48 4f 54 4b 45 59 20 20  ,..  QS_HOTKEY  
0140: 20 20 20 20 3d 20 30 78 30 30 38 30 2c 0d 0a 20      = 0x0080,.. 
0150: 20 51 53 5f 49 4e 50 55 54 20 20 20 20 20 20 20   QS_INPUT       
0160: 3d 20 30 78 30 34 30 37 0d 0a 7d 0d 0a 0d 0a 2f  = 0x0407..}..../
0170: 2f 20 23 69 66 6e 64 65 66 20 5f 57 49 4e 55 53  / #ifndef _WINUS
0180: 45 52 5f 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  ER_..// #define 
0190: 5f 57 49 4e 55 53 45 52 5f 0d 0a 0d 0a 2f 2f 20  _WINUSER_....// 
01a0: 23 69 66 20 21 64 65 66 69 6e 65 64 28 5f 55 53  #if !defined(_US
01b0: 45 52 33 32 5f 29 0d 0a 2f 2f 20 23 64 65 66 69  ER32_)..// #defi
01c0: 6e 65 20 57 49 4e 55 53 45 52 41 50 49 20 44 45  ne WINUSERAPI DE
01d0: 43 4c 53 50 45 43 5f 49 4d 50 4f 52 54 0d 0a 2f  CLSPEC_IMPORT../
01e0: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
01f0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
0200: 2f 20 23 69 66 64 65 66 20 5f 4d 41 43 0d 0a 2f  / #ifdef _MAC../
0210: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
0220: 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f  f....// #ifdef _
0230: 5f 63 70 6c 75 73 70 6c 75 73 0d 0a 2f 2f 20 65  _cplusplus..// e
0240: 78 74 65 72 6e 20 22 43 22 20 7b 0d 0a 2f 2f 20  xtern "C" {..// 
0250: 23 65 6e 64 69 66 20 2f 2a 20 5f 5f 63 70 6c 75  #endif /* __cplu
0260: 73 70 6c 75 73 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23  splus */....// #
0270: 69 66 6e 64 65 66 20 57 49 4e 56 45 52 0d 0a 2f  ifndef WINVER../
0280: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
0290: 66 20 2f 2a 20 21 57 49 4e 56 45 52 20 2a 2f 0d  f /* !WINVER */.
02a0: 0a 0d 0a 2f 2f 20 23 69 6e 63 6c 75 64 65 20 3c  ...// #include <
02b0: 73 74 64 61 72 67 2e 68 3e 0d 0a 0d 0a 2f 2f 20  stdarg.h>....// 
02c0: 23 69 66 6e 64 65 66 20 4e 4f 55 53 45 52 0d 0a  #ifndef NOUSER..
02d0: 0d 0a 61 6c 69 61 73 20 48 41 4e 44 4c 45 20 48  ..alias HANDLE H
02e0: 44 57 50 3b 0d 0a 61 6c 69 61 73 20 56 4f 49 44  DWP;..alias VOID
02f0: 20 4d 45 4e 55 54 45 4d 50 4c 41 54 45 41 3b 0d   MENUTEMPLATEA;.
0300: 0a 61 6c 69 61 73 20 56 4f 49 44 20 4d 45 4e 55  .alias VOID MENU
0310: 54 45 4d 50 4c 41 54 45 57 3b 0d 0a 2f 2f 20 23  TEMPLATEW;..// #
0320: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
0330: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d  / .....// #else.
0340: 0a 61 6c 69 61 73 20 4d 45 4e 55 54 45 4d 50 4c  .alias MENUTEMPL
0350: 41 54 45 41 20 4d 45 4e 55 54 45 4d 50 4c 41 54  ATEA MENUTEMPLAT
0360: 45 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  E;..// #endif //
0370: 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
0380: 50 56 4f 49 44 20 4c 50 4d 45 4e 55 54 45 4d 50  PVOID LPMENUTEMP
0390: 4c 41 54 45 41 3b 0d 0a 61 6c 69 61 73 20 50 56  LATEA;..alias PV
03a0: 4f 49 44 20 4c 50 4d 45 4e 55 54 45 4d 50 4c 41  OID LPMENUTEMPLA
03b0: 54 45 57 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  TEW;..// #ifdef 
03c0: 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d  UNICODE..// ....
03d0: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
03e0: 20 4c 50 4d 45 4e 55 54 45 4d 50 4c 41 54 45 41   LPMENUTEMPLATEA
03f0: 20 4c 50 4d 45 4e 55 54 45 4d 50 4c 41 54 45 3b   LPMENUTEMPLATE;
0400: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55  ..// #endif // U
0410: 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
0420: 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20  (Windows) alias 
0430: 4c 52 45 53 55 4c 54 20 66 75 6e 63 74 69 6f 6e  LRESULT function
0440: 28 48 57 4e 44 2c 20 55 49 4e 54 2c 20 57 50 41  (HWND, UINT, WPA
0450: 52 41 4d 2c 20 4c 50 41 52 41 4d 29 20 57 4e 44  RAM, LPARAM) WND
0460: 50 52 4f 43 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  PROC;....// #ifd
0470: 65 66 20 53 54 52 49 43 54 0d 0a 0d 0a 65 78 74  ef STRICT....ext
0480: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69  ern(Windows) ali
0490: 61 73 20 49 4e 54 5f 50 54 52 20 66 75 6e 63 74  as INT_PTR funct
04a0: 69 6f 6e 28 48 57 4e 44 2c 20 55 49 4e 54 2c 20  ion(HWND, UINT, 
04b0: 57 50 41 52 41 4d 2c 20 4c 50 41 52 41 4d 29 20  WPARAM, LPARAM) 
04c0: 44 4c 47 50 52 4f 43 3b 0d 0a 65 78 74 65 72 6e  DLGPROC;..extern
04d0: 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20  (Windows) alias 
04e0: 56 4f 49 44 20 66 75 6e 63 74 69 6f 6e 28 48 57  VOID function(HW
04f0: 4e 44 2c 20 55 49 4e 54 2c 20 55 49 4e 54 5f 50  ND, UINT, UINT_P
0500: 54 52 2c 20 44 57 4f 52 44 29 20 54 49 4d 45 52  TR, DWORD) TIMER
0510: 50 52 4f 43 3b 0d 0a 65 78 74 65 72 6e 28 57 69  PROC;..extern(Wi
0520: 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 42 4f 4f  ndows) alias BOO
0530: 4c 20 66 75 6e 63 74 69 6f 6e 28 48 44 43 2c 20  L function(HDC, 
0540: 4c 50 41 52 41 4d 2c 20 69 6e 74 29 20 47 52 41  LPARAM, int) GRA
0550: 59 53 54 52 49 4e 47 50 52 4f 43 3b 0d 0a 65 78  YSTRINGPROC;..ex
0560: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c  tern(Windows) al
0570: 69 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74 69 6f  ias BOOL functio
0580: 6e 28 48 57 4e 44 2c 20 4c 50 41 52 41 4d 29 20  n(HWND, LPARAM) 
0590: 57 4e 44 45 4e 55 4d 50 52 4f 43 3b 0d 0a 65 78  WNDENUMPROC;..ex
05a0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c  tern(Windows) al
05b0: 69 61 73 20 4c 52 45 53 55 4c 54 20 66 75 6e 63  ias LRESULT func
05c0: 74 69 6f 6e 28 69 6e 74 20 63 6f 64 65 2c 20 57  tion(int code, W
05d0: 50 41 52 41 4d 20 77 50 61 72 61 6d 2c 20 4c 50  PARAM wParam, LP
05e0: 41 52 41 4d 20 6c 50 61 72 61 6d 29 20 48 4f 4f  ARAM lParam) HOO
05f0: 4b 50 52 4f 43 3b 0d 0a 65 78 74 65 72 6e 28 57  KPROC;..extern(W
0600: 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 56 4f  indows) alias VO
0610: 49 44 20 66 75 6e 63 74 69 6f 6e 28 48 57 4e 44  ID function(HWND
0620: 2c 20 55 49 4e 54 2c 20 55 4c 4f 4e 47 5f 50 54  , UINT, ULONG_PT
0630: 52 2c 20 4c 52 45 53 55 4c 54 29 20 53 45 4e 44  R, LRESULT) SEND
0640: 41 53 59 4e 43 50 52 4f 43 3b 0d 0a 0d 0a 65 78  ASYNCPROC;....ex
0650: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c  tern(Windows) al
0660: 69 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74 69 6f  ias BOOL functio
0670: 6e 28 48 57 4e 44 2c 20 4c 50 43 53 54 52 2c 20  n(HWND, LPCSTR, 
0680: 48 41 4e 44 4c 45 29 20 50 52 4f 50 45 4e 55 4d  HANDLE) PROPENUM
0690: 50 52 4f 43 41 3b 0d 0a 65 78 74 65 72 6e 28 57  PROCA;..extern(W
06a0: 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 42 4f  indows) alias BO
06b0: 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 48 57 4e 44  OL function(HWND
06c0: 2c 20 4c 50 43 57 53 54 52 2c 20 48 41 4e 44 4c  , LPCWSTR, HANDL
06d0: 45 29 20 50 52 4f 50 45 4e 55 4d 50 52 4f 43 57  E) PROPENUMPROCW
06e0: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
06f0: 6f 77 73 29 20 61 6c 69 61 73 20 42 4f 4f 4c 20  ows) alias BOOL 
0700: 66 75 6e 63 74 69 6f 6e 28 48 57 4e 44 2c 20 4c  function(HWND, L
0710: 50 53 54 52 2c 20 48 41 4e 44 4c 45 2c 20 55 4c  PSTR, HANDLE, UL
0720: 4f 4e 47 5f 50 54 52 29 20 50 52 4f 50 45 4e 55  ONG_PTR) PROPENU
0730: 4d 50 52 4f 43 45 58 41 3b 0d 0a 65 78 74 65 72  MPROCEXA;..exter
0740: 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73  n(Windows) alias
0750: 20 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 48   BOOL function(H
0760: 57 4e 44 2c 20 4c 50 57 53 54 52 2c 20 48 41 4e  WND, LPWSTR, HAN
0770: 44 4c 45 2c 20 55 4c 4f 4e 47 5f 50 54 52 29 20  DLE, ULONG_PTR) 
0780: 50 52 4f 50 45 4e 55 4d 50 52 4f 43 45 58 57 3b  PROPENUMPROCEXW;
0790: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
07a0: 77 73 29 20 61 6c 69 61 73 20 69 6e 74 20 66 75  ws) alias int fu
07b0: 6e 63 74 69 6f 6e 28 4c 50 53 54 52 20 6c 70 63  nction(LPSTR lpc
07c0: 68 2c 20 69 6e 74 20 69 63 68 43 75 72 72 65 6e  h, int ichCurren
07d0: 74 2c 20 69 6e 74 20 63 63 68 2c 20 69 6e 74 20  t, int cch, int 
07e0: 63 6f 64 65 29 20 45 44 49 54 57 4f 52 44 42 52  code) EDITWORDBR
07f0: 45 41 4b 50 52 4f 43 41 3b 0d 0a 65 78 74 65 72  EAKPROCA;..exter
0800: 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73  n(Windows) alias
0810: 20 69 6e 74 20 66 75 6e 63 74 69 6f 6e 28 4c 50   int function(LP
0820: 57 53 54 52 20 6c 70 63 68 2c 20 69 6e 74 20 69  WSTR lpch, int i
0830: 63 68 43 75 72 72 65 6e 74 2c 20 69 6e 74 20 63  chCurrent, int c
0840: 63 68 2c 20 69 6e 74 20 63 6f 64 65 29 20 45 44  ch, int code) ED
0850: 49 54 57 4f 52 44 42 52 45 41 4b 50 52 4f 43 57  ITWORDBREAKPROCW
0860: 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56  ;....// #if(WINV
0870: 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65  ER >= 0x0400)..e
0880: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61  xtern(Windows) a
0890: 6c 69 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74 69  lias BOOL functi
08a0: 6f 6e 28 48 44 43 20 68 64 63 2c 20 4c 50 41 52  on(HDC hdc, LPAR
08b0: 41 4d 20 6c 44 61 74 61 2c 20 57 50 41 52 41 4d  AM lData, WPARAM
08c0: 20 77 44 61 74 61 2c 20 69 6e 74 20 63 78 2c 20   wData, int cx, 
08d0: 69 6e 74 20 63 79 29 20 44 52 41 57 53 54 41 54  int cy) DRAWSTAT
08e0: 45 50 52 4f 43 3b 0d 0a 2f 2f 20 23 65 6e 64 69  EPROC;..// #endi
08f0: 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
0900: 78 30 34 30 30 20 2a 2f 0d 0a 2f 2f 20 23 65 6c  x0400 */..// #el
0910: 73 65 20 2f 2a 20 21 53 54 52 49 43 54 20 2a 2f  se /* !STRICT */
0920: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
0930: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
0940: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23  ..// .......// #
0950: 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  if(WINVER >= 0x0
0960: 34 30 30 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  400)..// .....//
0970: 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45   #endif /* WINVE
0980: 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a  R >= 0x0400 */..
0990: 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 53 54  // #endif /* !ST
09a0: 52 49 43 54 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69  RICT */....// #i
09b0: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
09c0: 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 20 20   .....// #else  
09d0: 2f 2a 20 21 55 4e 49 43 4f 44 45 20 2a 2f 0d 0a  /* !UNICODE */..
09e0: 61 6c 69 61 73 20 50 52 4f 50 45 4e 55 4d 50 52  alias PROPENUMPR
09f0: 4f 43 41 20 50 52 4f 50 45 4e 55 4d 50 52 4f 43  OCA PROPENUMPROC
0a00: 3b 0d 0a 61 6c 69 61 73 20 50 52 4f 50 45 4e 55  ;..alias PROPENU
0a10: 4d 50 52 4f 43 45 58 41 20 50 52 4f 50 45 4e 55  MPROCEXA PROPENU
0a20: 4d 50 52 4f 43 45 58 3b 0d 0a 61 6c 69 61 73 20  MPROCEX;..alias 
0a30: 45 44 49 54 57 4f 52 44 42 52 45 41 4b 50 52 4f  EDITWORDBREAKPRO
0a40: 43 41 20 45 44 49 54 57 4f 52 44 42 52 45 41 4b  CA EDITWORDBREAK
0a50: 50 52 4f 43 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  PROC;..// #endif
0a60: 20 2f 2a 20 55 4e 49 43 4f 44 45 20 2a 2f 0d 0a   /* UNICODE */..
0a70: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 53 54 52 49  ..// #ifdef STRI
0a80: 43 54 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  CT....extern(Win
0a90: 64 6f 77 73 29 20 61 6c 69 61 73 20 42 4f 4f 4c  dows) alias BOOL
0aa0: 20 66 75 6e 63 74 69 6f 6e 28 4c 50 53 54 52 2c   function(LPSTR,
0ab0: 20 4c 50 41 52 41 4d 29 20 4e 41 4d 45 45 4e 55   LPARAM) NAMEENU
0ac0: 4d 50 52 4f 43 41 3b 0d 0a 65 78 74 65 72 6e 28  MPROCA;..extern(
0ad0: 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 42  Windows) alias B
0ae0: 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 4c 50 57  OOL function(LPW
0af0: 53 54 52 2c 20 4c 50 41 52 41 4d 29 20 4e 41 4d  STR, LPARAM) NAM
0b00: 45 45 4e 55 4d 50 52 4f 43 57 3b 0d 0a 0d 0a 61  EENUMPROCW;....a
0b10: 6c 69 61 73 20 4e 41 4d 45 45 4e 55 4d 50 52 4f  lias NAMEENUMPRO
0b20: 43 41 20 57 49 4e 53 54 41 45 4e 55 4d 50 52 4f  CA WINSTAENUMPRO
0b30: 43 41 3b 0d 0a 61 6c 69 61 73 20 4e 41 4d 45 45  CA;..alias NAMEE
0b40: 4e 55 4d 50 52 4f 43 41 20 44 45 53 4b 54 4f 50  NUMPROCA DESKTOP
0b50: 45 4e 55 4d 50 52 4f 43 41 3b 0d 0a 61 6c 69 61  ENUMPROCA;..alia
0b60: 73 20 4e 41 4d 45 45 4e 55 4d 50 52 4f 43 57 20  s NAMEENUMPROCW 
0b70: 57 49 4e 53 54 41 45 4e 55 4d 50 52 4f 43 57 3b  WINSTAENUMPROCW;
0b80: 0d 0a 61 6c 69 61 73 20 4e 41 4d 45 45 4e 55 4d  ..alias NAMEENUM
0b90: 50 52 4f 43 57 20 44 45 53 4b 54 4f 50 45 4e 55  PROCW DESKTOPENU
0ba0: 4d 50 52 4f 43 57 3b 0d 0a 0d 0a 2f 2f 20 23 65  MPROCW;....// #e
0bb0: 6c 73 65 20 2f 2a 20 21 53 54 52 49 43 54 20 2a  lse /* !STRICT *
0bc0: 2f 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f  /....// ......./
0bd0: 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 53 54 52  / #endif /* !STR
0be0: 49 43 54 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66  ICT */....// #if
0bf0: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
0c00: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 20  .......// #else 
0c10: 20 2f 2a 20 21 55 4e 49 43 4f 44 45 20 2a 2f 0d   /* !UNICODE */.
0c20: 0a 61 6c 69 61 73 20 57 49 4e 53 54 41 45 4e 55  .alias WINSTAENU
0c30: 4d 50 52 4f 43 41 20 57 49 4e 53 54 41 45 4e 55  MPROCA WINSTAENU
0c40: 4d 50 52 4f 43 3b 0d 0a 61 6c 69 61 73 20 44 45  MPROC;..alias DE
0c50: 53 4b 54 4f 50 45 4e 55 4d 50 52 4f 43 41 20 44  SKTOPENUMPROCA D
0c60: 45 53 4b 54 4f 50 45 4e 55 4d 50 52 4f 43 3b 0d  ESKTOPENUMPROC;.
0c70: 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
0c80: 55 4e 49 43 4f 44 45 20 2a 2f 0d 0a 0d 0a 62 69  UNICODE */....bi
0c90: 74 20 49 53 5f 49 4e 54 52 45 53 4f 55 52 43 45  t IS_INTRESOURCE
0ca0: 28 4c 50 54 53 54 52 20 5f 72 29 7b 20 72 65 74  (LPTSTR _r){ ret
0cb0: 75 72 6e 20 28 28 63 61 73 74 28 55 4c 4f 4e 47  urn ((cast(ULONG
0cc0: 5f 50 54 52 29 28 5f 72 29 20 3e 3e 20 31 36 29  _PTR)(_r) >> 16)
0cd0: 20 3d 3d 20 30 29 3b 20 7d 0d 0a 4c 50 53 54 52   == 0); }..LPSTR
0ce0: 20 4d 41 4b 45 49 4e 54 52 45 53 4f 55 52 43 45   MAKEINTRESOURCE
0cf0: 41 28 57 4f 52 44 20 69 29 7b 20 72 65 74 75 72  A(WORD i){ retur
0d00: 6e 20 63 61 73 74 28 4c 50 53 54 52 29 28 63 61  n cast(LPSTR)(ca
0d10: 73 74 28 55 4c 4f 4e 47 5f 50 54 52 29 28 63 61  st(ULONG_PTR)(ca
0d20: 73 74 28 57 4f 52 44 29 28 69 29 29 29 3b 20 7d  st(WORD)(i))); }
0d30: 0d 0a 4c 50 57 53 54 52 20 4d 41 4b 45 49 4e 54  ..LPWSTR MAKEINT
0d40: 52 45 53 4f 55 52 43 45 57 28 57 4f 52 44 20 69  RESOURCEW(WORD i
0d50: 29 7b 20 72 65 74 75 72 6e 20 63 61 73 74 28 4c  ){ return cast(L
0d60: 50 57 53 54 52 29 28 63 61 73 74 28 55 4c 4f 4e  PWSTR)(cast(ULON
0d70: 47 5f 50 54 52 29 28 63 61 73 74 28 57 4f 52 44  G_PTR)(cast(WORD
0d80: 29 28 69 29 29 29 3b 20 7d 0d 0a 2f 2f 20 23 69  )(i))); }..// #i
0d90: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
0da0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
0db0: 0a 61 6c 69 61 73 20 4d 41 4b 45 49 4e 54 52 45  .alias MAKEINTRE
0dc0: 53 4f 55 52 43 45 41 20 4d 41 4b 45 49 4e 54 52  SOURCEA MAKEINTR
0dd0: 45 53 4f 55 52 43 45 3b 0d 0a 2f 2f 20 23 65 6e  ESOURCE;..// #en
0de0: 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
0df0: 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f  ...// #ifndef NO
0e00: 52 45 53 4f 55 52 43 45 0d 0a 0d 0a 63 6f 6e 73  RESOURCE....cons
0e10: 74 20 4c 50 54 53 54 52 20 52 54 5f 43 55 52 53  t LPTSTR RT_CURS
0e20: 4f 52 20 3d 20 63 61 73 74 28 4c 50 54 53 54 52  OR = cast(LPTSTR
0e30: 29 28 31 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54  )(1);..const LPT
0e40: 53 54 52 20 52 54 5f 42 49 54 4d 41 50 20 3d 20  STR RT_BITMAP = 
0e50: 63 61 73 74 28 4c 50 54 53 54 52 29 28 32 29 3b  cast(LPTSTR)(2);
0e60: 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54 52 20 52  ..const LPTSTR R
0e70: 54 5f 49 43 4f 4e 20 3d 20 63 61 73 74 28 4c 50  T_ICON = cast(LP
0e80: 54 53 54 52 29 28 33 29 3b 0d 0a 63 6f 6e 73 74  TSTR)(3);..const
0e90: 20 4c 50 54 53 54 52 20 52 54 5f 4d 45 4e 55 20   LPTSTR RT_MENU 
0ea0: 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29 28 34  = cast(LPTSTR)(4
0eb0: 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54 52  );..const LPTSTR
0ec0: 20 52 54 5f 44 49 41 4c 4f 47 20 3d 20 63 61 73   RT_DIALOG = cas
0ed0: 74 28 4c 50 54 53 54 52 29 28 35 29 3b 0d 0a 63  t(LPTSTR)(5);..c
0ee0: 6f 6e 73 74 20 4c 50 54 53 54 52 20 52 54 5f 53  onst LPTSTR RT_S
0ef0: 54 52 49 4e 47 20 3d 20 63 61 73 74 28 4c 50 54  TRING = cast(LPT
0f00: 53 54 52 29 28 36 29 3b 0d 0a 63 6f 6e 73 74 20  STR)(6);..const 
0f10: 4c 50 54 53 54 52 20 52 54 5f 46 4f 4e 54 44 49  LPTSTR RT_FONTDI
0f20: 52 20 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29  R = cast(LPTSTR)
0f30: 28 37 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54 53  (7);..const LPTS
0f40: 54 52 20 52 54 5f 46 4f 4e 54 20 3d 20 63 61 73  TR RT_FONT = cas
0f50: 74 28 4c 50 54 53 54 52 29 28 38 29 3b 0d 0a 63  t(LPTSTR)(8);..c
0f60: 6f 6e 73 74 20 4c 50 54 53 54 52 20 52 54 5f 41  onst LPTSTR RT_A
0f70: 43 43 45 4c 45 52 41 54 4f 52 20 3d 20 63 61 73  CCELERATOR = cas
0f80: 74 28 4c 50 54 53 54 52 29 28 39 29 3b 0d 0a 63  t(LPTSTR)(9);..c
0f90: 6f 6e 73 74 20 4c 50 54 53 54 52 20 52 54 5f 52  onst LPTSTR RT_R
0fa0: 43 44 41 54 41 20 3d 20 63 61 73 74 28 4c 50 54  CDATA = cast(LPT
0fb0: 53 54 52 29 28 31 30 29 3b 0d 0a 63 6f 6e 73 74  STR)(10);..const
0fc0: 20 4c 50 54 53 54 52 20 52 54 5f 4d 45 53 53 41   LPTSTR RT_MESSA
0fd0: 47 45 54 41 42 4c 45 20 3d 20 63 61 73 74 28 4c  GETABLE = cast(L
0fe0: 50 54 53 54 52 29 28 31 31 29 3b 0d 0a 0d 0a 65  PTSTR)(11);....e
0ff0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 49 46  num : uint { DIF
1000: 46 45 52 45 4e 43 45 20 3d 20 31 31 20 7d 0d 0a  FERENCE = 11 }..
1010: 63 6f 6e 73 74 20 4c 50 54 53 54 52 20 52 54 5f  const LPTSTR RT_
1020: 47 52 4f 55 50 5f 43 55 52 53 4f 52 20 3d 20 63  GROUP_CURSOR = c
1030: 61 73 74 28 4c 50 54 53 54 52 29 28 63 61 73 74  ast(LPTSTR)(cast
1040: 28 55 4c 4f 4e 47 5f 50 54 52 29 52 54 5f 43 55  (ULONG_PTR)RT_CU
1050: 52 53 4f 52 20 2b 20 44 49 46 46 45 52 45 4e 43  RSOR + DIFFERENC
1060: 45 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54  E);..const LPTST
1070: 52 20 52 54 5f 47 52 4f 55 50 5f 49 43 4f 4e 20  R RT_GROUP_ICON 
1080: 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29 28 63  = cast(LPTSTR)(c
1090: 61 73 74 28 55 4c 4f 4e 47 5f 50 54 52 29 52 54  ast(ULONG_PTR)RT
10a0: 5f 49 43 4f 4e 20 2b 20 44 49 46 46 45 52 45 4e  _ICON + DIFFEREN
10b0: 43 45 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54 53  CE);..const LPTS
10c0: 54 52 20 52 54 5f 56 45 52 53 49 4f 4e 20 3d 20  TR RT_VERSION = 
10d0: 63 61 73 74 28 4c 50 54 53 54 52 29 28 31 36 29  cast(LPTSTR)(16)
10e0: 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54 52 20  ;..const LPTSTR 
10f0: 52 54 5f 44 4c 47 49 4e 43 4c 55 44 45 20 3d 20  RT_DLGINCLUDE = 
1100: 63 61 73 74 28 4c 50 54 53 54 52 29 28 31 37 29  cast(LPTSTR)(17)
1110: 3b 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  ;..// #if(WINVER
1120: 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 63 6f 6e   >= 0x0400)..con
1130: 73 74 20 4c 50 54 53 54 52 20 52 54 5f 50 4c 55  st LPTSTR RT_PLU
1140: 47 50 4c 41 59 20 3d 20 63 61 73 74 28 4c 50 54  GPLAY = cast(LPT
1150: 53 54 52 29 28 31 39 29 3b 0d 0a 63 6f 6e 73 74  STR)(19);..const
1160: 20 4c 50 54 53 54 52 20 52 54 5f 56 58 44 20 3d   LPTSTR RT_VXD =
1170: 20 63 61 73 74 28 4c 50 54 53 54 52 29 28 32 30   cast(LPTSTR)(20
1180: 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54 52  );..const LPTSTR
1190: 20 52 54 5f 41 4e 49 43 55 52 53 4f 52 20 3d 20   RT_ANICURSOR = 
11a0: 63 61 73 74 28 4c 50 54 53 54 52 29 28 32 31 29  cast(LPTSTR)(21)
11b0: 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54 52 20  ;..const LPTSTR 
11c0: 52 54 5f 41 4e 49 49 43 4f 4e 20 3d 20 63 61 73  RT_ANIICON = cas
11d0: 74 28 4c 50 54 53 54 52 29 28 32 32 29 3b 0d 0a  t(LPTSTR)(22);..
11e0: 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
11f0: 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f  VER >= 0x0400 */
1200: 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54 52 20 52  ..const LPTSTR R
1210: 54 5f 48 54 4d 4c 20 3d 20 63 61 73 74 28 4c 50  T_HTML = cast(LP
1220: 54 53 54 52 29 28 32 33 29 3b 0d 0a 2f 2f 20 23  TSTR)(23);..// #
1230: 69 66 64 65 66 20 52 43 5f 49 4e 56 4f 4b 45 44  ifdef RC_INVOKED
1240: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
1250: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
1260: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
1270: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
1280: 20 20 2f 2a 20 52 43 5f 49 4e 56 4f 4b 45 44 20    /* RC_INVOKED 
1290: 2a 2f 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54 52  */..const LPTSTR
12a0: 20 52 54 5f 4d 41 4e 49 46 45 53 54 20 3d 20 63   RT_MANIFEST = c
12b0: 61 73 74 28 4c 50 54 53 54 52 29 28 32 34 29 3b  ast(LPTSTR)(24);
12c0: 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54 52 20 43  ..const LPTSTR C
12d0: 52 45 41 54 45 50 52 4f 43 45 53 53 5f 4d 41 4e  REATEPROCESS_MAN
12e0: 49 46 45 53 54 5f 52 45 53 4f 55 52 43 45 5f 49  IFEST_RESOURCE_I
12f0: 44 20 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29  D = cast(LPTSTR)
1300: 28 20 31 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54  ( 1);..const LPT
1310: 53 54 52 20 49 53 4f 4c 41 54 49 4f 4e 41 57 41  STR ISOLATIONAWA
1320: 52 45 5f 4d 41 4e 49 46 45 53 54 5f 52 45 53 4f  RE_MANIFEST_RESO
1330: 55 52 43 45 5f 49 44 20 3d 20 63 61 73 74 28 4c  URCE_ID = cast(L
1340: 50 54 53 54 52 29 28 32 29 3b 0d 0a 63 6f 6e 73  PTSTR)(2);..cons
1350: 74 20 4c 50 54 53 54 52 20 49 53 4f 4c 41 54 49  t LPTSTR ISOLATI
1360: 4f 4e 41 57 41 52 45 5f 4e 4f 53 54 41 54 49 43  ONAWARE_NOSTATIC
1370: 49 4d 50 4f 52 54 5f 4d 41 4e 49 46 45 53 54 5f  IMPORT_MANIFEST_
1380: 52 45 53 4f 55 52 43 45 5f 49 44 20 3d 20 63 61  RESOURCE_ID = ca
1390: 73 74 28 4c 50 54 53 54 52 29 28 33 29 3b 0d 0a  st(LPTSTR)(3);..
13a0: 63 6f 6e 73 74 20 4c 50 54 53 54 52 20 4d 49 4e  const LPTSTR MIN
13b0: 49 4d 55 4d 5f 52 45 53 45 52 56 45 44 5f 4d 41  IMUM_RESERVED_MA
13c0: 4e 49 46 45 53 54 5f 52 45 53 4f 55 52 43 45 5f  NIFEST_RESOURCE_
13d0: 49 44 20 3d 20 63 61 73 74 28 4c 50 54 53 54 52  ID = cast(LPTSTR
13e0: 29 28 20 31 20 29 3b 0d 0a 63 6f 6e 73 74 20 4c  )( 1 );..const L
13f0: 50 54 53 54 52 20 4d 41 58 49 4d 55 4d 5f 52 45  PTSTR MAXIMUM_RE
1400: 53 45 52 56 45 44 5f 4d 41 4e 49 46 45 53 54 5f  SERVED_MANIFEST_
1410: 52 45 53 4f 55 52 43 45 5f 49 44 20 3d 20 63 61  RESOURCE_ID = ca
1420: 73 74 28 4c 50 54 53 54 52 29 28 31 36 20 29 3b  st(LPTSTR)(16 );
1430: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 52  ..// #endif /* R
1440: 43 5f 49 4e 56 4f 4b 45 44 20 2a 2f 0d 0a 0d 0a  C_INVOKED */....
1450: 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f  // #endif /* !NO
1460: 52 45 53 4f 55 52 43 45 20 2a 2f 0d 0a 0d 0a 65  RESOURCE */....e
1470: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
1480: 78 70 6f 72 74 20 69 6e 74 20 77 76 73 70 72 69  xport int wvspri
1490: 6e 74 66 41 28 0d 0a 20 20 4c 50 53 54 52 2c 0d  ntfA(..  LPSTR,.
14a0: 0a 20 20 4c 50 43 53 54 52 2c 0d 0a 20 20 76 61  .  LPCSTR,..  va
14b0: 5f 6c 69 73 74 20 61 72 67 6c 69 73 74 29 3b 0d  _list arglist);.
14c0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
14d0: 20 65 78 70 6f 72 74 20 69 6e 74 20 77 76 73 70   export int wvsp
14e0: 72 69 6e 74 66 57 28 0d 0a 20 20 4c 50 57 53 54  rintfW(..  LPWST
14f0: 52 2c 0d 0a 20 20 4c 50 43 57 53 54 52 2c 0d 0a  R,..  LPCWSTR,..
1500: 20 20 76 61 5f 6c 69 73 74 20 61 72 67 6c 69 73    va_list arglis
1510: 74 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  t);..// #ifdef U
1520: 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
1530: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
1540: 20 77 76 73 70 72 69 6e 74 66 41 20 77 76 73 70   wvsprintfA wvsp
1550: 72 69 6e 74 66 3b 0d 0a 2f 2f 20 23 65 6e 64 69  rintf;..// #endi
1560: 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
1570: 0a 65 78 74 65 72 6e 28 43 29 20 65 78 70 6f 72  .extern(C) expor
1580: 74 20 69 6e 74 20 77 73 70 72 69 6e 74 66 41 28  t int wsprintfA(
1590: 0d 0a 20 20 4c 50 53 54 52 2c 0d 0a 20 20 4c 50  ..  LPSTR,..  LP
15a0: 43 53 54 52 2c 0d 0a 20 20 2e 2e 2e 29 3b 0d 0a  CSTR,..  ...);..
15b0: 65 78 74 65 72 6e 28 43 29 20 65 78 70 6f 72 74  extern(C) export
15c0: 20 69 6e 74 20 77 73 70 72 69 6e 74 66 57 28 0d   int wsprintfW(.
15d0: 0a 20 20 4c 50 57 53 54 52 2c 0d 0a 20 20 4c 50  .  LPWSTR,..  LP
15e0: 43 57 53 54 52 2c 0d 0a 20 20 2e 2e 2e 29 3b 0d  CWSTR,..  ...);.
15f0: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
1600: 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  DE..// #.....// 
1610: 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 77 73 70  #else..alias wsp
1620: 72 69 6e 74 66 41 20 77 73 70 72 69 6e 74 66 3b  rintfA wsprintf;
1630: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
1640: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 63 6f 6e 73 74  UNICODE....const
1650: 20 4c 50 57 53 54 52 20 53 45 54 57 41 4c 4c 50   LPWSTR SETWALLP
1660: 41 50 45 52 5f 44 45 46 41 55 4c 54 20 3d 20 63  APER_DEFAULT = c
1670: 61 73 74 28 4c 50 57 53 54 52 29 2d 31 3b 0d 0a  ast(LPWSTR)-1;..
1680: 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 53  ..// #ifndef NOS
1690: 43 52 4f 4c 4c 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  CROLL....enum : 
16a0: 75 69 6e 74 20 7b 20 53 42 5f 48 4f 52 5a 20 3d  uint { SB_HORZ =
16b0: 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   0 }..enum : uin
16c0: 74 20 7b 20 53 42 5f 56 45 52 54 20 3d 20 31 20  t { SB_VERT = 1 
16d0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
16e0: 20 53 42 5f 43 54 4c 20 3d 20 32 20 7d 0d 0a 65   SB_CTL = 2 }..e
16f0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 5f  num : uint { SB_
1700: 42 4f 54 48 20 3d 20 33 20 7d 0d 0a 0d 0a 65 6e  BOTH = 3 }....en
1710: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 5f 4c  um : uint { SB_L
1720: 49 4e 45 55 50 20 3d 20 30 20 7d 0d 0a 65 6e 75  INEUP = 0 }..enu
1730: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 5f 4c 49  m : uint { SB_LI
1740: 4e 45 4c 45 46 54 20 3d 20 30 20 7d 0d 0a 65 6e  NELEFT = 0 }..en
1750: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 5f 4c  um : uint { SB_L
1760: 49 4e 45 44 4f 57 4e 20 3d 20 31 20 7d 0d 0a 65  INEDOWN = 1 }..e
1770: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 5f  num : uint { SB_
1780: 4c 49 4e 45 52 49 47 48 54 20 3d 20 31 20 7d 0d  LINERIGHT = 1 }.
1790: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
17a0: 42 5f 50 41 47 45 55 50 20 3d 20 32 20 7d 0d 0a  B_PAGEUP = 2 }..
17b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42  enum : uint { SB
17c0: 5f 50 41 47 45 4c 45 46 54 20 3d 20 32 20 7d 0d  _PAGELEFT = 2 }.
17d0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
17e0: 42 5f 50 41 47 45 44 4f 57 4e 20 3d 20 33 20 7d  B_PAGEDOWN = 3 }
17f0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1800: 53 42 5f 50 41 47 45 52 49 47 48 54 20 3d 20 33  SB_PAGERIGHT = 3
1810: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1820: 7b 20 53 42 5f 54 48 55 4d 42 50 4f 53 49 54 49  { SB_THUMBPOSITI
1830: 4f 4e 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a  ON = 4 }..enum :
1840: 20 75 69 6e 74 20 7b 20 53 42 5f 54 48 55 4d 42   uint { SB_THUMB
1850: 54 52 41 43 4b 20 3d 20 35 20 7d 0d 0a 65 6e 75  TRACK = 5 }..enu
1860: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 5f 54 4f  m : uint { SB_TO
1870: 50 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20  P = 6 }..enum : 
1880: 75 69 6e 74 20 7b 20 53 42 5f 4c 45 46 54 20 3d  uint { SB_LEFT =
1890: 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   6 }..enum : uin
18a0: 74 20 7b 20 53 42 5f 42 4f 54 54 4f 4d 20 3d 20  t { SB_BOTTOM = 
18b0: 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
18c0: 20 7b 20 53 42 5f 52 49 47 48 54 20 3d 20 37 20   { SB_RIGHT = 7 
18d0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
18e0: 20 53 42 5f 45 4e 44 53 43 52 4f 4c 4c 20 3d 20   SB_ENDSCROLL = 
18f0: 38 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  8 }....// #endif
1900: 20 2f 2a 20 21 4e 4f 53 43 52 4f 4c 4c 20 2a 2f   /* !NOSCROLL */
1910: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e  ....// #ifndef N
1920: 4f 53 48 4f 57 57 49 4e 44 4f 57 0d 0a 0d 0a 65  OSHOWWINDOW....e
1930: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57 5f  num : uint { SW_
1940: 48 49 44 45 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d  HIDE = 0 }..enum
1950: 20 3a 20 75 69 6e 74 20 7b 20 53 57 5f 53 48 4f   : uint { SW_SHO
1960: 57 4e 4f 52 4d 41 4c 20 3d 20 31 20 7d 0d 0a 65  WNORMAL = 1 }..e
1970: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57 5f  num : uint { SW_
1980: 4e 4f 52 4d 41 4c 20 3d 20 31 20 7d 0d 0a 65 6e  NORMAL = 1 }..en
1990: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57 5f 53  um : uint { SW_S
19a0: 48 4f 57 4d 49 4e 49 4d 49 5a 45 44 20 3d 20 32  HOWMINIMIZED = 2
19b0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
19c0: 7b 20 53 57 5f 53 48 4f 57 4d 41 58 49 4d 49 5a  { SW_SHOWMAXIMIZ
19d0: 45 44 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a  ED = 3 }..enum :
19e0: 20 75 69 6e 74 20 7b 20 53 57 5f 4d 41 58 49 4d   uint { SW_MAXIM
19f0: 49 5a 45 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20  IZE = 3 }..enum 
1a00: 3a 20 75 69 6e 74 20 7b 20 53 57 5f 53 48 4f 57  : uint { SW_SHOW
1a10: 4e 4f 41 43 54 49 56 41 54 45 20 3d 20 34 20 7d  NOACTIVATE = 4 }
1a20: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a30: 53 57 5f 53 48 4f 57 20 3d 20 35 20 7d 0d 0a 65  SW_SHOW = 5 }..e
1a40: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57 5f  num : uint { SW_
1a50: 4d 49 4e 49 4d 49 5a 45 20 3d 20 36 20 7d 0d 0a  MINIMIZE = 6 }..
1a60: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57  enum : uint { SW
1a70: 5f 53 48 4f 57 4d 49 4e 4e 4f 41 43 54 49 56 45  _SHOWMINNOACTIVE
1a80: 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 7 }..enum : u
1a90: 69 6e 74 20 7b 20 53 57 5f 53 48 4f 57 4e 41 20  int { SW_SHOWNA 
1aa0: 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 8 }..enum : ui
1ab0: 6e 74 20 7b 20 53 57 5f 52 45 53 54 4f 52 45 20  nt { SW_RESTORE 
1ac0: 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 9 }..enum : ui
1ad0: 6e 74 20 7b 20 53 57 5f 53 48 4f 57 44 45 46 41  nt { SW_SHOWDEFA
1ae0: 55 4c 54 20 3d 20 31 30 20 7d 0d 0a 65 6e 75 6d  ULT = 10 }..enum
1af0: 20 3a 20 75 69 6e 74 20 7b 20 53 57 5f 46 4f 52   : uint { SW_FOR
1b00: 43 45 4d 49 4e 49 4d 49 5a 45 20 3d 20 31 31 20  CEMINIMIZE = 11 
1b10: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1b20: 20 53 57 5f 4d 41 58 20 3d 20 31 31 20 7d 0d 0a   SW_MAX = 11 }..
1b30: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1b40: 48 49 44 45 5f 57 49 4e 44 4f 57 20 3d 20 30 20  HIDE_WINDOW = 0 
1b50: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1b60: 20 53 48 4f 57 5f 4f 50 45 4e 57 49 4e 44 4f 57   SHOW_OPENWINDOW
1b70: 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 1 }..enum : u
1b80: 69 6e 74 20 7b 20 53 48 4f 57 5f 49 43 4f 4e 57  int { SHOW_ICONW
1b90: 49 4e 44 4f 57 20 3d 20 32 20 7d 0d 0a 65 6e 75  INDOW = 2 }..enu
1ba0: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 48 4f 57 5f  m : uint { SHOW_
1bb0: 46 55 4c 4c 53 43 52 45 45 4e 20 3d 20 33 20 7d  FULLSCREEN = 3 }
1bc0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1bd0: 53 48 4f 57 5f 4f 50 45 4e 4e 4f 41 43 54 49 56  SHOW_OPENNOACTIV
1be0: 41 54 45 20 3d 20 34 20 7d 0d 0a 0d 0a 65 6e 75  ATE = 4 }....enu
1bf0: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57 5f 50 41  m : uint { SW_PA
1c00: 52 45 4e 54 43 4c 4f 53 49 4e 47 20 3d 20 31 20  RENTCLOSING = 1 
1c10: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1c20: 20 53 57 5f 4f 54 48 45 52 5a 4f 4f 4d 20 3d 20   SW_OTHERZOOM = 
1c30: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
1c40: 20 7b 20 53 57 5f 50 41 52 45 4e 54 4f 50 45 4e   { SW_PARENTOPEN
1c50: 49 4e 47 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20  ING = 3 }..enum 
1c60: 3a 20 75 69 6e 74 20 7b 20 53 57 5f 4f 54 48 45  : uint { SW_OTHE
1c70: 52 55 4e 5a 4f 4f 4d 20 3d 20 34 20 7d 0d 0a 0d  RUNZOOM = 4 }...
1c80: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e  .// #endif /* !N
1c90: 4f 53 48 4f 57 57 49 4e 44 4f 57 20 2a 2f 0d 0a  OSHOWWINDOW */..
1ca0: 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20  ..// #if(WINVER 
1cb0: 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 65 6e  >= 0x0500)....en
1cc0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 57 5f 48  um : uint { AW_H
1cd0: 4f 52 5f 50 4f 53 49 54 49 56 45 20 3d 20 30 78  OR_POSITIVE = 0x
1ce0: 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  00000001 }..enum
1cf0: 20 3a 20 75 69 6e 74 20 7b 20 41 57 5f 48 4f 52   : uint { AW_HOR
1d00: 5f 4e 45 47 41 54 49 56 45 20 3d 20 30 78 30 30  _NEGATIVE = 0x00
1d10: 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  000002 }..enum :
1d20: 20 75 69 6e 74 20 7b 20 41 57 5f 56 45 52 5f 50   uint { AW_VER_P
1d30: 4f 53 49 54 49 56 45 20 3d 20 30 78 30 30 30 30  OSITIVE = 0x0000
1d40: 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
1d50: 69 6e 74 20 7b 20 41 57 5f 56 45 52 5f 4e 45 47  int { AW_VER_NEG
1d60: 41 54 49 56 45 20 3d 20 30 78 30 30 30 30 30 30  ATIVE = 0x000000
1d70: 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
1d80: 74 20 7b 20 41 57 5f 43 45 4e 54 45 52 20 3d 20  t { AW_CENTER = 
1d90: 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e  0x00000010 }..en
1da0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 57 5f 48  um : uint { AW_H
1db0: 49 44 45 20 3d 20 30 78 30 30 30 31 30 30 30 30  IDE = 0x00010000
1dc0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1dd0: 7b 20 41 57 5f 41 43 54 49 56 41 54 45 20 3d 20  { AW_ACTIVATE = 
1de0: 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e  0x00020000 }..en
1df0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 57 5f 53  um : uint { AW_S
1e00: 4c 49 44 45 20 3d 20 30 78 30 30 30 34 30 30 30  LIDE = 0x0004000
1e10: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1e20: 20 7b 20 41 57 5f 42 4c 45 4e 44 20 3d 20 30 78   { AW_BLEND = 0x
1e30: 30 30 30 38 30 30 30 30 20 7d 0d 0a 0d 0a 2f 2f  00080000 }....//
1e40: 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45   #endif /* WINVE
1e50: 52 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a  R >= 0x0500 */..
1e60: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1e70: 4b 46 5f 45 58 54 45 4e 44 45 44 20 3d 20 30 78  KF_EXTENDED = 0x
1e80: 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0100 }..enum : u
1e90: 69 6e 74 20 7b 20 4b 46 5f 44 4c 47 4d 4f 44 45  int { KF_DLGMODE
1ea0: 20 3d 20 30 78 30 38 30 30 20 7d 0d 0a 65 6e 75   = 0x0800 }..enu
1eb0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4b 46 5f 4d 45  m : uint { KF_ME
1ec0: 4e 55 4d 4f 44 45 20 3d 20 30 78 31 30 30 30 20  NUMODE = 0x1000 
1ed0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1ee0: 20 4b 46 5f 41 4c 54 44 4f 57 4e 20 3d 20 30 78   KF_ALTDOWN = 0x
1ef0: 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  2000 }..enum : u
1f00: 69 6e 74 20 7b 20 4b 46 5f 52 45 50 45 41 54 20  int { KF_REPEAT 
1f10: 3d 20 30 78 34 30 30 30 20 7d 0d 0a 65 6e 75 6d  = 0x4000 }..enum
1f20: 20 3a 20 75 69 6e 74 20 7b 20 4b 46 5f 55 50 20   : uint { KF_UP 
1f30: 3d 20 30 78 38 30 30 30 20 7d 0d 0a 0d 0a 2f 2f  = 0x8000 }....//
1f40: 20 23 69 66 6e 64 65 66 20 4e 4f 56 49 52 54 55   #ifndef NOVIRTU
1f50: 41 4c 4b 45 59 43 4f 44 45 53 0d 0a 0d 0a 65 6e  ALKEYCODES....en
1f60: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4c  um : uint { VK_L
1f70: 42 55 54 54 4f 4e 20 3d 20 30 78 30 31 20 7d 0d  BUTTON = 0x01 }.
1f80: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
1f90: 4b 5f 52 42 55 54 54 4f 4e 20 3d 20 30 78 30 32  K_RBUTTON = 0x02
1fa0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1fb0: 7b 20 56 4b 5f 43 41 4e 43 45 4c 20 3d 20 30 78  { VK_CANCEL = 0x
1fc0: 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  03 }..enum : uin
1fd0: 74 20 7b 20 56 4b 5f 4d 42 55 54 54 4f 4e 20 3d  t { VK_MBUTTON =
1fe0: 20 30 78 30 34 20 7d 0d 0a 0d 0a 2f 2f 20 23 69   0x04 }....// #i
1ff0: 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e  f(_WIN32_WINNT >
2000: 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0500)..enum 
2010: 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 58 42 55 54  : uint { VK_XBUT
2020: 54 4f 4e 31 20 3d 20 30 78 30 35 20 7d 0d 0a 65  TON1 = 0x05 }..e
2030: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
2040: 58 42 55 54 54 4f 4e 32 20 3d 20 30 78 30 36 20  XBUTTON2 = 0x06 
2050: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  }..// #endif /* 
2060: 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
2070: 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 65 6e 75  0x0500 */....enu
2080: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 42 41  m : uint { VK_BA
2090: 43 4b 20 3d 20 30 78 30 38 20 7d 0d 0a 65 6e 75  CK = 0x08 }..enu
20a0: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 54 41  m : uint { VK_TA
20b0: 42 20 3d 20 30 78 30 39 20 7d 0d 0a 0d 0a 65 6e  B = 0x09 }....en
20c0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 43  um : uint { VK_C
20d0: 4c 45 41 52 20 3d 20 30 78 30 43 20 7d 0d 0a 65  LEAR = 0x0C }..e
20e0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
20f0: 52 45 54 55 52 4e 20 3d 20 30 78 30 44 20 7d 0d  RETURN = 0x0D }.
2100: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2110: 20 56 4b 5f 53 48 49 46 54 20 3d 20 30 78 31 30   VK_SHIFT = 0x10
2120: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2130: 7b 20 56 4b 5f 43 4f 4e 54 52 4f 4c 20 3d 20 30  { VK_CONTROL = 0
2140: 78 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x11 }..enum : ui
2150: 6e 74 20 7b 20 56 4b 5f 4d 45 4e 55 20 3d 20 30  nt { VK_MENU = 0
2160: 78 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x12 }..enum : ui
2170: 6e 74 20 7b 20 56 4b 5f 50 41 55 53 45 20 3d 20  nt { VK_PAUSE = 
2180: 30 78 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x13 }..enum : u
2190: 69 6e 74 20 7b 20 56 4b 5f 43 41 50 49 54 41 4c  int { VK_CAPITAL
21a0: 20 3d 20 30 78 31 34 20 7d 0d 0a 0d 0a 65 6e 75   = 0x14 }....enu
21b0: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4b 41  m : uint { VK_KA
21c0: 4e 41 20 3d 20 30 78 31 35 20 7d 0d 0a 65 6e 75  NA = 0x15 }..enu
21d0: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 48 41  m : uint { VK_HA
21e0: 4e 47 45 55 4c 20 3d 20 30 78 31 35 20 7d 0d 0a  NGEUL = 0x15 }..
21f0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
2200: 5f 48 41 4e 47 55 4c 20 3d 20 30 78 31 35 20 7d  _HANGUL = 0x15 }
2210: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2220: 56 4b 5f 4a 55 4e 4a 41 20 3d 20 30 78 31 37 20  VK_JUNJA = 0x17 
2230: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2240: 20 56 4b 5f 46 49 4e 41 4c 20 3d 20 30 78 31 38   VK_FINAL = 0x18
2250: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2260: 7b 20 56 4b 5f 48 41 4e 4a 41 20 3d 20 30 78 31  { VK_HANJA = 0x1
2270: 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  9 }..enum : uint
2280: 20 7b 20 56 4b 5f 4b 41 4e 4a 49 20 3d 20 30 78   { VK_KANJI = 0x
2290: 31 39 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  19 }....enum : u
22a0: 69 6e 74 20 7b 20 56 4b 5f 45 53 43 41 50 45 20  int { VK_ESCAPE 
22b0: 3d 20 30 78 31 42 20 7d 0d 0a 0d 0a 65 6e 75 6d  = 0x1B }....enum
22c0: 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 43 4f 4e   : uint { VK_CON
22d0: 56 45 52 54 20 3d 20 30 78 31 43 20 7d 0d 0a 65  VERT = 0x1C }..e
22e0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
22f0: 4e 4f 4e 43 4f 4e 56 45 52 54 20 3d 20 30 78 31  NONCONVERT = 0x1
2300: 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  D }..enum : uint
2310: 20 7b 20 56 4b 5f 41 43 43 45 50 54 20 3d 20 30   { VK_ACCEPT = 0
2320: 78 31 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x1E }..enum : ui
2330: 6e 74 20 7b 20 56 4b 5f 4d 4f 44 45 43 48 41 4e  nt { VK_MODECHAN
2340: 47 45 20 3d 20 30 78 31 46 20 7d 0d 0a 0d 0a 65  GE = 0x1F }....e
2350: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
2360: 53 50 41 43 45 20 3d 20 30 78 32 30 20 7d 0d 0a  SPACE = 0x20 }..
2370: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
2380: 5f 50 52 49 4f 52 20 3d 20 30 78 32 31 20 7d 0d  _PRIOR = 0x21 }.
2390: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
23a0: 4b 5f 4e 45 58 54 20 3d 20 30 78 32 32 20 7d 0d  K_NEXT = 0x22 }.
23b0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
23c0: 4b 5f 45 4e 44 20 3d 20 30 78 32 33 20 7d 0d 0a  K_END = 0x23 }..
23d0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
23e0: 5f 48 4f 4d 45 20 3d 20 30 78 32 34 20 7d 0d 0a  _HOME = 0x24 }..
23f0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
2400: 5f 4c 45 46 54 20 3d 20 30 78 32 35 20 7d 0d 0a  _LEFT = 0x25 }..
2410: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
2420: 5f 55 50 20 3d 20 30 78 32 36 20 7d 0d 0a 65 6e  _UP = 0x26 }..en
2430: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 52  um : uint { VK_R
2440: 49 47 48 54 20 3d 20 30 78 32 37 20 7d 0d 0a 65  IGHT = 0x27 }..e
2450: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
2460: 44 4f 57 4e 20 3d 20 30 78 32 38 20 7d 0d 0a 65  DOWN = 0x28 }..e
2470: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
2480: 53 45 4c 45 43 54 20 3d 20 30 78 32 39 20 7d 0d  SELECT = 0x29 }.
2490: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
24a0: 4b 5f 50 52 49 4e 54 20 3d 20 30 78 32 41 20 7d  K_PRINT = 0x2A }
24b0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
24c0: 56 4b 5f 45 58 45 43 55 54 45 20 3d 20 30 78 32  VK_EXECUTE = 0x2
24d0: 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  B }..enum : uint
24e0: 20 7b 20 56 4b 5f 53 4e 41 50 53 48 4f 54 20 3d   { VK_SNAPSHOT =
24f0: 20 30 78 32 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x2C }..enum : 
2500: 75 69 6e 74 20 7b 20 56 4b 5f 49 4e 53 45 52 54  uint { VK_INSERT
2510: 20 3d 20 30 78 32 44 20 7d 0d 0a 65 6e 75 6d 20   = 0x2D }..enum 
2520: 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 44 45 4c 45  : uint { VK_DELE
2530: 54 45 20 3d 20 30 78 32 45 20 7d 0d 0a 65 6e 75  TE = 0x2E }..enu
2540: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 48 45  m : uint { VK_HE
2550: 4c 50 20 3d 20 30 78 32 46 20 7d 0d 0a 0d 0a 65  LP = 0x2F }....e
2560: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
2570: 4c 57 49 4e 20 3d 20 30 78 35 42 20 7d 0d 0a 65  LWIN = 0x5B }..e
2580: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
2590: 52 57 49 4e 20 3d 20 30 78 35 43 20 7d 0d 0a 65  RWIN = 0x5C }..e
25a0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
25b0: 41 50 50 53 20 3d 20 30 78 35 44 20 7d 0d 0a 0d  APPS = 0x5D }...
25c0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
25d0: 4b 5f 53 4c 45 45 50 20 3d 20 30 78 35 46 20 7d  K_SLEEP = 0x5F }
25e0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
25f0: 7b 20 56 4b 5f 4e 55 4d 50 41 44 30 20 3d 20 30  { VK_NUMPAD0 = 0
2600: 78 36 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x60 }..enum : ui
2610: 6e 74 20 7b 20 56 4b 5f 4e 55 4d 50 41 44 31 20  nt { VK_NUMPAD1 
2620: 3d 20 30 78 36 31 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x61 }..enum :
2630: 20 75 69 6e 74 20 7b 20 56 4b 5f 4e 55 4d 50 41   uint { VK_NUMPA
2640: 44 32 20 3d 20 30 78 36 32 20 7d 0d 0a 65 6e 75  D2 = 0x62 }..enu
2650: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4e 55  m : uint { VK_NU
2660: 4d 50 41 44 33 20 3d 20 30 78 36 33 20 7d 0d 0a  MPAD3 = 0x63 }..
2670: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
2680: 5f 4e 55 4d 50 41 44 34 20 3d 20 30 78 36 34 20  _NUMPAD4 = 0x64 
2690: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
26a0: 20 56 4b 5f 4e 55 4d 50 41 44 35 20 3d 20 30 78   VK_NUMPAD5 = 0x
26b0: 36 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  65 }..enum : uin
26c0: 74 20 7b 20 56 4b 5f 4e 55 4d 50 41 44 36 20 3d  t { VK_NUMPAD6 =
26d0: 20 30 78 36 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x66 }..enum : 
26e0: 75 69 6e 74 20 7b 20 56 4b 5f 4e 55 4d 50 41 44  uint { VK_NUMPAD
26f0: 37 20 3d 20 30 78 36 37 20 7d 0d 0a 65 6e 75 6d  7 = 0x67 }..enum
2700: 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4e 55 4d   : uint { VK_NUM
2710: 50 41 44 38 20 3d 20 30 78 36 38 20 7d 0d 0a 65  PAD8 = 0x68 }..e
2720: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
2730: 4e 55 4d 50 41 44 39 20 3d 20 30 78 36 39 20 7d  NUMPAD9 = 0x69 }
2740: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2750: 56 4b 5f 4d 55 4c 54 49 50 4c 59 20 3d 20 30 78  VK_MULTIPLY = 0x
2760: 36 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  6A }..enum : uin
2770: 74 20 7b 20 56 4b 5f 41 44 44 20 3d 20 30 78 36  t { VK_ADD = 0x6
2780: 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  B }..enum : uint
2790: 20 7b 20 56 4b 5f 53 45 50 41 52 41 54 4f 52 20   { VK_SEPARATOR 
27a0: 3d 20 30 78 36 43 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x6C }..enum :
27b0: 20 75 69 6e 74 20 7b 20 56 4b 5f 53 55 42 54 52   uint { VK_SUBTR
27c0: 41 43 54 20 3d 20 30 78 36 44 20 7d 0d 0a 65 6e  ACT = 0x6D }..en
27d0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 44  um : uint { VK_D
27e0: 45 43 49 4d 41 4c 20 3d 20 30 78 36 45 20 7d 0d  ECIMAL = 0x6E }.
27f0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
2800: 4b 5f 44 49 56 49 44 45 20 3d 20 30 78 36 46 20  K_DIVIDE = 0x6F 
2810: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2820: 20 56 4b 5f 46 31 20 3d 20 30 78 37 30 20 7d 0d   VK_F1 = 0x70 }.
2830: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
2840: 4b 5f 46 32 20 3d 20 30 78 37 31 20 7d 0d 0a 65  K_F2 = 0x71 }..e
2850: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
2860: 46 33 20 3d 20 30 78 37 32 20 7d 0d 0a 65 6e 75  F3 = 0x72 }..enu
2870: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 46 34  m : uint { VK_F4
2880: 20 3d 20 30 78 37 33 20 7d 0d 0a 65 6e 75 6d 20   = 0x73 }..enum 
2890: 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 46 35 20 3d  : uint { VK_F5 =
28a0: 20 30 78 37 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x74 }..enum : 
28b0: 75 69 6e 74 20 7b 20 56 4b 5f 46 36 20 3d 20 30  uint { VK_F6 = 0
28c0: 78 37 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x75 }..enum : ui
28d0: 6e 74 20 7b 20 56 4b 5f 46 37 20 3d 20 30 78 37  nt { VK_F7 = 0x7
28e0: 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
28f0: 20 7b 20 56 4b 5f 46 38 20 3d 20 30 78 37 37 20   { VK_F8 = 0x77 
2900: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2910: 20 56 4b 5f 46 39 20 3d 20 30 78 37 38 20 7d 0d   VK_F9 = 0x78 }.
2920: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
2930: 4b 5f 46 31 30 20 3d 20 30 78 37 39 20 7d 0d 0a  K_F10 = 0x79 }..
2940: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
2950: 5f 46 31 31 20 3d 20 30 78 37 41 20 7d 0d 0a 65  _F11 = 0x7A }..e
2960: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
2970: 46 31 32 20 3d 20 30 78 37 42 20 7d 0d 0a 65 6e  F12 = 0x7B }..en
2980: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 46  um : uint { VK_F
2990: 31 33 20 3d 20 30 78 37 43 20 7d 0d 0a 65 6e 75  13 = 0x7C }..enu
29a0: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 46 31  m : uint { VK_F1
29b0: 34 20 3d 20 30 78 37 44 20 7d 0d 0a 65 6e 75 6d  4 = 0x7D }..enum
29c0: 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 46 31 35   : uint { VK_F15
29d0: 20 3d 20 30 78 37 45 20 7d 0d 0a 65 6e 75 6d 20   = 0x7E }..enum 
29e0: 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 46 31 36 20  : uint { VK_F16 
29f0: 3d 20 30 78 37 46 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x7F }..enum :
2a00: 20 75 69 6e 74 20 7b 20 56 4b 5f 46 31 37 20 3d   uint { VK_F17 =
2a10: 20 30 78 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x80 }..enum : 
2a20: 75 69 6e 74 20 7b 20 56 4b 5f 46 31 38 20 3d 20  uint { VK_F18 = 
2a30: 30 78 38 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x81 }..enum : u
2a40: 69 6e 74 20 7b 20 56 4b 5f 46 31 39 20 3d 20 30  int { VK_F19 = 0
2a50: 78 38 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x82 }..enum : ui
2a60: 6e 74 20 7b 20 56 4b 5f 46 32 30 20 3d 20 30 78  nt { VK_F20 = 0x
2a70: 38 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  83 }..enum : uin
2a80: 74 20 7b 20 56 4b 5f 46 32 31 20 3d 20 30 78 38  t { VK_F21 = 0x8
2a90: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
2aa0: 20 7b 20 56 4b 5f 46 32 32 20 3d 20 30 78 38 35   { VK_F22 = 0x85
2ab0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2ac0: 7b 20 56 4b 5f 46 32 33 20 3d 20 30 78 38 36 20  { VK_F23 = 0x86 
2ad0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2ae0: 20 56 4b 5f 46 32 34 20 3d 20 30 78 38 37 20 7d   VK_F24 = 0x87 }
2af0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
2b00: 7b 20 56 4b 5f 4e 55 4d 4c 4f 43 4b 20 3d 20 30  { VK_NUMLOCK = 0
2b10: 78 39 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x90 }..enum : ui
2b20: 6e 74 20 7b 20 56 4b 5f 53 43 52 4f 4c 4c 20 3d  nt { VK_SCROLL =
2b30: 20 30 78 39 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20   0x91 }....enum 
2b40: 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f  : uint { VK_OEM_
2b50: 4e 45 43 5f 45 51 55 41 4c 20 3d 20 30 78 39 32  NEC_EQUAL = 0x92
2b60: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
2b70: 74 20 7b 20 56 4b 5f 4f 45 4d 5f 46 4a 5f 4a 49  t { VK_OEM_FJ_JI
2b80: 53 48 4f 20 3d 20 30 78 39 32 20 7d 0d 0a 65 6e  SHO = 0x92 }..en
2b90: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4f  um : uint { VK_O
2ba0: 45 4d 5f 46 4a 5f 4d 41 53 53 48 4f 55 20 3d 20  EM_FJ_MASSHOU = 
2bb0: 30 78 39 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x93 }..enum : u
2bc0: 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f 46 4a 5f  int { VK_OEM_FJ_
2bd0: 54 4f 55 52 4f 4b 55 20 3d 20 30 78 39 34 20 7d  TOUROKU = 0x94 }
2be0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2bf0: 56 4b 5f 4f 45 4d 5f 46 4a 5f 4c 4f 59 41 20 3d  VK_OEM_FJ_LOYA =
2c00: 20 30 78 39 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x95 }..enum : 
2c10: 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f 46 4a  uint { VK_OEM_FJ
2c20: 5f 52 4f 59 41 20 3d 20 30 78 39 36 20 7d 0d 0a  _ROYA = 0x96 }..
2c30: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2c40: 56 4b 5f 4c 53 48 49 46 54 20 3d 20 30 78 41 30  VK_LSHIFT = 0xA0
2c50: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2c60: 7b 20 56 4b 5f 52 53 48 49 46 54 20 3d 20 30 78  { VK_RSHIFT = 0x
2c70: 41 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  A1 }..enum : uin
2c80: 74 20 7b 20 56 4b 5f 4c 43 4f 4e 54 52 4f 4c 20  t { VK_LCONTROL 
2c90: 3d 20 30 78 41 32 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0xA2 }..enum :
2ca0: 20 75 69 6e 74 20 7b 20 56 4b 5f 52 43 4f 4e 54   uint { VK_RCONT
2cb0: 52 4f 4c 20 3d 20 30 78 41 33 20 7d 0d 0a 65 6e  ROL = 0xA3 }..en
2cc0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4c  um : uint { VK_L
2cd0: 4d 45 4e 55 20 3d 20 30 78 41 34 20 7d 0d 0a 65  MENU = 0xA4 }..e
2ce0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
2cf0: 52 4d 45 4e 55 20 3d 20 30 78 41 35 20 7d 0d 0a  RMENU = 0xA5 }..
2d00: 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f  ..// #if(_WIN32_
2d10: 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29  WINNT >= 0x0500)
2d20: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2d30: 56 4b 5f 42 52 4f 57 53 45 52 5f 42 41 43 4b 20  VK_BROWSER_BACK 
2d40: 3d 20 30 78 41 36 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0xA6 }..enum :
2d50: 20 75 69 6e 74 20 7b 20 56 4b 5f 42 52 4f 57 53   uint { VK_BROWS
2d60: 45 52 5f 46 4f 52 57 41 52 44 20 3d 20 30 78 41  ER_FORWARD = 0xA
2d70: 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
2d80: 20 7b 20 56 4b 5f 42 52 4f 57 53 45 52 5f 52 45   { VK_BROWSER_RE
2d90: 46 52 45 53 48 20 3d 20 30 78 41 38 20 7d 0d 0a  FRESH = 0xA8 }..
2da0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
2db0: 5f 42 52 4f 57 53 45 52 5f 53 54 4f 50 20 3d 20  _BROWSER_STOP = 
2dc0: 30 78 41 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0xA9 }..enum : u
2dd0: 69 6e 74 20 7b 20 56 4b 5f 42 52 4f 57 53 45 52  int { VK_BROWSER
2de0: 5f 53 45 41 52 43 48 20 3d 20 30 78 41 41 20 7d  _SEARCH = 0xAA }
2df0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2e00: 56 4b 5f 42 52 4f 57 53 45 52 5f 46 41 56 4f 52  VK_BROWSER_FAVOR
2e10: 49 54 45 53 20 3d 20 30 78 41 42 20 7d 0d 0a 65  ITES = 0xAB }..e
2e20: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
2e30: 42 52 4f 57 53 45 52 5f 48 4f 4d 45 20 3d 20 30  BROWSER_HOME = 0
2e40: 78 41 43 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  xAC }....enum : 
2e50: 75 69 6e 74 20 7b 20 56 4b 5f 56 4f 4c 55 4d 45  uint { VK_VOLUME
2e60: 5f 4d 55 54 45 20 3d 20 30 78 41 44 20 7d 0d 0a  _MUTE = 0xAD }..
2e70: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
2e80: 5f 56 4f 4c 55 4d 45 5f 44 4f 57 4e 20 3d 20 30  _VOLUME_DOWN = 0
2e90: 78 41 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  xAE }..enum : ui
2ea0: 6e 74 20 7b 20 56 4b 5f 56 4f 4c 55 4d 45 5f 55  nt { VK_VOLUME_U
2eb0: 50 20 3d 20 30 78 41 46 20 7d 0d 0a 65 6e 75 6d  P = 0xAF }..enum
2ec0: 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4d 45 44   : uint { VK_MED
2ed0: 49 41 5f 4e 45 58 54 5f 54 52 41 43 4b 20 3d 20  IA_NEXT_TRACK = 
2ee0: 30 78 42 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0xB0 }..enum : u
2ef0: 69 6e 74 20 7b 20 56 4b 5f 4d 45 44 49 41 5f 50  int { VK_MEDIA_P
2f00: 52 45 56 5f 54 52 41 43 4b 20 3d 20 30 78 42 31  REV_TRACK = 0xB1
2f10: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2f20: 7b 20 56 4b 5f 4d 45 44 49 41 5f 53 54 4f 50 20  { VK_MEDIA_STOP 
2f30: 3d 20 30 78 42 32 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0xB2 }..enum :
2f40: 20 75 69 6e 74 20 7b 20 56 4b 5f 4d 45 44 49 41   uint { VK_MEDIA
2f50: 5f 50 4c 41 59 5f 50 41 55 53 45 20 3d 20 30 78  _PLAY_PAUSE = 0x
2f60: 42 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  B3 }..enum : uin
2f70: 74 20 7b 20 56 4b 5f 4c 41 55 4e 43 48 5f 4d 41  t { VK_LAUNCH_MA
2f80: 49 4c 20 3d 20 30 78 42 34 20 7d 0d 0a 65 6e 75  IL = 0xB4 }..enu
2f90: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4c 41  m : uint { VK_LA
2fa0: 55 4e 43 48 5f 4d 45 44 49 41 5f 53 45 4c 45 43  UNCH_MEDIA_SELEC
2fb0: 54 20 3d 20 30 78 42 35 20 7d 0d 0a 65 6e 75 6d  T = 0xB5 }..enum
2fc0: 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4c 41 55   : uint { VK_LAU
2fd0: 4e 43 48 5f 41 50 50 31 20 3d 20 30 78 42 36 20  NCH_APP1 = 0xB6 
2fe0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2ff0: 20 56 4b 5f 4c 41 55 4e 43 48 5f 41 50 50 32 20   VK_LAUNCH_APP2 
3000: 3d 20 30 78 42 37 20 7d 0d 0a 0d 0a 2f 2f 20 23  = 0xB7 }....// #
3010: 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f  endif /* _WIN32_
3020: 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 20  WINNT >= 0x0500 
3030: 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  */....enum : uin
3040: 74 20 7b 20 56 4b 5f 4f 45 4d 5f 31 20 3d 20 30  t { VK_OEM_1 = 0
3050: 78 42 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  xBA }..enum : ui
3060: 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f 50 4c 55 53  nt { VK_OEM_PLUS
3070: 20 3d 20 30 78 42 42 20 7d 0d 0a 65 6e 75 6d 20   = 0xBB }..enum 
3080: 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f  : uint { VK_OEM_
3090: 43 4f 4d 4d 41 20 3d 20 30 78 42 43 20 7d 0d 0a  COMMA = 0xBC }..
30a0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
30b0: 5f 4f 45 4d 5f 4d 49 4e 55 53 20 3d 20 30 78 42  _OEM_MINUS = 0xB
30c0: 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  D }..enum : uint
30d0: 20 7b 20 56 4b 5f 4f 45 4d 5f 50 45 52 49 4f 44   { VK_OEM_PERIOD
30e0: 20 3d 20 30 78 42 45 20 7d 0d 0a 65 6e 75 6d 20   = 0xBE }..enum 
30f0: 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f  : uint { VK_OEM_
3100: 32 20 3d 20 30 78 42 46 20 7d 0d 0a 65 6e 75 6d  2 = 0xBF }..enum
3110: 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d   : uint { VK_OEM
3120: 5f 33 20 3d 20 30 78 43 30 20 7d 0d 0a 0d 0a 65  _3 = 0xC0 }....e
3130: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
3140: 4f 45 4d 5f 34 20 3d 20 30 78 44 42 20 7d 0d 0a  OEM_4 = 0xDB }..
3150: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
3160: 5f 4f 45 4d 5f 35 20 3d 20 30 78 44 43 20 7d 0d  _OEM_5 = 0xDC }.
3170: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
3180: 4b 5f 4f 45 4d 5f 36 20 3d 20 30 78 44 44 20 7d  K_OEM_6 = 0xDD }
3190: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
31a0: 56 4b 5f 4f 45 4d 5f 37 20 3d 20 30 78 44 45 20  VK_OEM_7 = 0xDE 
31b0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
31c0: 20 56 4b 5f 4f 45 4d 5f 38 20 3d 20 30 78 44 46   VK_OEM_8 = 0xDF
31d0: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
31e0: 74 20 7b 20 56 4b 5f 4f 45 4d 5f 41 58 20 3d 20  t { VK_OEM_AX = 
31f0: 30 78 45 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0xE1 }..enum : u
3200: 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f 31 30 32  int { VK_OEM_102
3210: 20 3d 20 30 78 45 32 20 7d 0d 0a 65 6e 75 6d 20   = 0xE2 }..enum 
3220: 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 49 43 4f 5f  : uint { VK_ICO_
3230: 48 45 4c 50 20 3d 20 30 78 45 33 20 7d 0d 0a 65  HELP = 0xE3 }..e
3240: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
3250: 49 43 4f 5f 30 30 20 3d 20 30 78 45 34 20 7d 0d  ICO_00 = 0xE4 }.
3260: 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  ...// #if(WINVER
3270: 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75   >= 0x0400)..enu
3280: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 50 52  m : uint { VK_PR
3290: 4f 43 45 53 53 4b 45 59 20 3d 20 30 78 45 35 20  OCESSKEY = 0xE5 
32a0: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  }..// #endif /* 
32b0: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
32c0: 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   */....enum : ui
32d0: 6e 74 20 7b 20 56 4b 5f 49 43 4f 5f 43 4c 45 41  nt { VK_ICO_CLEA
32e0: 52 20 3d 20 30 78 45 36 20 7d 0d 0a 0d 0a 2f 2f  R = 0xE6 }....//
32f0: 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e   #if(_WIN32_WINN
3300: 54 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e  T >= 0x0500)..en
3310: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 50  um : uint { VK_P
3320: 41 43 4b 45 54 20 3d 20 30 78 45 37 20 7d 0d 0a  ACKET = 0xE7 }..
3330: 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49  // #endif /* _WI
3340: 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30  N32_WINNT >= 0x0
3350: 35 30 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a  500 */....enum :
3360: 20 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f 52   uint { VK_OEM_R
3370: 45 53 45 54 20 3d 20 30 78 45 39 20 7d 0d 0a 65  ESET = 0xE9 }..e
3380: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
3390: 4f 45 4d 5f 4a 55 4d 50 20 3d 20 30 78 45 41 20  OEM_JUMP = 0xEA 
33a0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
33b0: 20 56 4b 5f 4f 45 4d 5f 50 41 31 20 3d 20 30 78   VK_OEM_PA1 = 0x
33c0: 45 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  EB }..enum : uin
33d0: 74 20 7b 20 56 4b 5f 4f 45 4d 5f 50 41 32 20 3d  t { VK_OEM_PA2 =
33e0: 20 30 78 45 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0xEC }..enum : 
33f0: 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f 50 41  uint { VK_OEM_PA
3400: 33 20 3d 20 30 78 45 44 20 7d 0d 0a 65 6e 75 6d  3 = 0xED }..enum
3410: 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d   : uint { VK_OEM
3420: 5f 57 53 43 54 52 4c 20 3d 20 30 78 45 45 20 7d  _WSCTRL = 0xEE }
3430: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3440: 56 4b 5f 4f 45 4d 5f 43 55 53 45 4c 20 3d 20 30  VK_OEM_CUSEL = 0
3450: 78 45 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  xEF }..enum : ui
3460: 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f 41 54 54 4e  nt { VK_OEM_ATTN
3470: 20 3d 20 30 78 46 30 20 7d 0d 0a 65 6e 75 6d 20   = 0xF0 }..enum 
3480: 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f  : uint { VK_OEM_
3490: 46 49 4e 49 53 48 20 3d 20 30 78 46 31 20 7d 0d  FINISH = 0xF1 }.
34a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
34b0: 4b 5f 4f 45 4d 5f 43 4f 50 59 20 3d 20 30 78 46  K_OEM_COPY = 0xF
34c0: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
34d0: 20 7b 20 56 4b 5f 4f 45 4d 5f 41 55 54 4f 20 3d   { VK_OEM_AUTO =
34e0: 20 30 78 46 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0xF3 }..enum : 
34f0: 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f 45 4e  uint { VK_OEM_EN
3500: 4c 57 20 3d 20 30 78 46 34 20 7d 0d 0a 65 6e 75  LW = 0xF4 }..enu
3510: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4f 45  m : uint { VK_OE
3520: 4d 5f 42 41 43 4b 54 41 42 20 3d 20 30 78 46 35  M_BACKTAB = 0xF5
3530: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
3540: 74 20 7b 20 56 4b 5f 41 54 54 4e 20 3d 20 30 78  t { VK_ATTN = 0x
3550: 46 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  F6 }..enum : uin
3560: 74 20 7b 20 56 4b 5f 43 52 53 45 4c 20 3d 20 30  t { VK_CRSEL = 0
3570: 78 46 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  xF7 }..enum : ui
3580: 6e 74 20 7b 20 56 4b 5f 45 58 53 45 4c 20 3d 20  nt { VK_EXSEL = 
3590: 30 78 46 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0xF8 }..enum : u
35a0: 69 6e 74 20 7b 20 56 4b 5f 45 52 45 4f 46 20 3d  int { VK_EREOF =
35b0: 20 30 78 46 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0xF9 }..enum : 
35c0: 75 69 6e 74 20 7b 20 56 4b 5f 50 4c 41 59 20 3d  uint { VK_PLAY =
35d0: 20 30 78 46 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0xFA }..enum : 
35e0: 75 69 6e 74 20 7b 20 56 4b 5f 5a 4f 4f 4d 20 3d  uint { VK_ZOOM =
35f0: 20 30 78 46 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0xFB }..enum : 
3600: 75 69 6e 74 20 7b 20 56 4b 5f 4e 4f 4e 41 4d 45  uint { VK_NONAME
3610: 20 3d 20 30 78 46 43 20 7d 0d 0a 65 6e 75 6d 20   = 0xFC }..enum 
3620: 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 50 41 31 20  : uint { VK_PA1 
3630: 3d 20 30 78 46 44 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0xFD }..enum :
3640: 20 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f 43   uint { VK_OEM_C
3650: 4c 45 41 52 20 3d 20 30 78 46 45 20 7d 0d 0a 0d  LEAR = 0xFE }...
3660: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e  .// #endif /* !N
3670: 4f 56 49 52 54 55 41 4c 4b 45 59 43 4f 44 45 53  OVIRTUALKEYCODES
3680: 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65   */....// #ifnde
3690: 66 20 4e 4f 57 48 0d 0a 0d 0a 65 6e 75 6d 20 7b  f NOWH....enum {
36a0: 20 57 48 5f 4d 49 4e 20 3d 20 2d 31 20 7d 0d 0a   WH_MIN = -1 }..
36b0: 65 6e 75 6d 20 7b 20 57 48 5f 4d 53 47 46 49 4c  enum { WH_MSGFIL
36c0: 54 45 52 20 3d 20 2d 31 20 7d 0d 0a 65 6e 75 6d  TER = -1 }..enum
36d0: 20 3a 20 75 69 6e 74 20 7b 20 57 48 5f 4a 4f 55   : uint { WH_JOU
36e0: 52 4e 41 4c 52 45 43 4f 52 44 20 3d 20 30 20 7d  RNALRECORD = 0 }
36f0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3700: 57 48 5f 4a 4f 55 52 4e 41 4c 50 4c 41 59 42 41  WH_JOURNALPLAYBA
3710: 43 4b 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  CK = 1 }..enum :
3720: 20 75 69 6e 74 20 7b 20 57 48 5f 4b 45 59 42 4f   uint { WH_KEYBO
3730: 41 52 44 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20  ARD = 2 }..enum 
3740: 3a 20 75 69 6e 74 20 7b 20 57 48 5f 47 45 54 4d  : uint { WH_GETM
3750: 45 53 53 41 47 45 20 3d 20 33 20 7d 0d 0a 65 6e  ESSAGE = 3 }..en
3760: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 48 5f 43  um : uint { WH_C
3770: 41 4c 4c 57 4e 44 50 52 4f 43 20 3d 20 34 20 7d  ALLWNDPROC = 4 }
3780: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3790: 57 48 5f 43 42 54 20 3d 20 35 20 7d 0d 0a 65 6e  WH_CBT = 5 }..en
37a0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 48 5f 53  um : uint { WH_S
37b0: 59 53 4d 53 47 46 49 4c 54 45 52 20 3d 20 36 20  YSMSGFILTER = 6 
37c0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
37d0: 20 57 48 5f 4d 4f 55 53 45 20 3d 20 37 20 7d 0d   WH_MOUSE = 7 }.
37e0: 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 64 28  .// #if defined(
37f0: 5f 57 49 4e 33 32 5f 57 49 4e 44 4f 57 53 29 0d  _WIN32_WINDOWS).
3800: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
3810: 64 69 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  dif..enum : uint
3820: 20 7b 20 57 48 5f 44 45 42 55 47 20 3d 20 39 20   { WH_DEBUG = 9 
3830: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3840: 20 57 48 5f 53 48 45 4c 4c 20 3d 20 31 30 20 7d   WH_SHELL = 10 }
3850: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3860: 57 48 5f 46 4f 52 45 47 52 4f 55 4e 44 49 44 4c  WH_FOREGROUNDIDL
3870: 45 20 3d 20 31 31 20 7d 0d 0a 2f 2f 20 23 69 66  E = 11 }..// #if
3880: 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30  (WINVER >= 0x040
3890: 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
38a0: 7b 20 57 48 5f 43 41 4c 4c 57 4e 44 50 52 4f 43  { WH_CALLWNDPROC
38b0: 52 45 54 20 3d 20 31 32 20 7d 0d 0a 2f 2f 20 23  RET = 12 }..// #
38c0: 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
38d0: 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0400 */....
38e0: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57  // #if (_WIN32_W
38f0: 49 4e 4e 54 20 3e 3d 20 30 78 30 34 30 30 29 0d  INNT >= 0x0400).
3900: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
3910: 48 5f 4b 45 59 42 4f 41 52 44 5f 4c 4c 20 3d 20  H_KEYBOARD_LL = 
3920: 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  13 }..enum : uin
3930: 74 20 7b 20 57 48 5f 4d 4f 55 53 45 5f 4c 4c 20  t { WH_MOUSE_LL 
3940: 3d 20 31 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  = 14 }..// #endi
3950: 66 20 2f 2f 20 28 5f 57 49 4e 33 32 5f 57 49 4e  f // (_WIN32_WIN
3960: 4e 54 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d  NT >= 0x0400)...
3970: 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e  .// #if(WINVER >
3980: 3d 20 30 78 30 34 30 30 29 0d 0a 2f 2f 20 23 69  = 0x0400)..// #i
3990: 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  f (_WIN32_WINNT 
39a0: 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d  >= 0x0400)..enum
39b0: 20 3a 20 75 69 6e 74 20 7b 20 57 48 5f 4d 41 58   : uint { WH_MAX
39c0: 20 3d 20 31 34 20 7d 0d 0a 2f 2f 20 23 65 6c 73   = 14 }..// #els
39d0: 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
39e0: 65 6e 64 69 66 20 2f 2f 20 28 5f 57 49 4e 33 32  endif // (_WIN32
39f0: 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 34 30 30  _WINNT >= 0x0400
3a00: 29 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  )..// #else..// 
3a10: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
3a20: 0a 0d 0a 61 6c 69 61 73 20 57 48 5f 4d 49 4e 20  ...alias WH_MIN 
3a30: 57 48 5f 4d 49 4e 48 4f 4f 4b 3b 0d 0a 61 6c 69  WH_MINHOOK;..ali
3a40: 61 73 20 57 48 5f 4d 41 58 20 57 48 5f 4d 41 58  as WH_MAX WH_MAX
3a50: 48 4f 4f 4b 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  HOOK;....enum : 
3a60: 75 69 6e 74 20 7b 20 48 43 5f 41 43 54 49 4f 4e  uint { HC_ACTION
3a70: 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 0 }..enum : u
3a80: 69 6e 74 20 7b 20 48 43 5f 47 45 54 4e 45 58 54  int { HC_GETNEXT
3a90: 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 1 }..enum : u
3aa0: 69 6e 74 20 7b 20 48 43 5f 53 4b 49 50 20 3d 20  int { HC_SKIP = 
3ab0: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
3ac0: 20 7b 20 48 43 5f 4e 4f 52 45 4d 4f 56 45 20 3d   { HC_NOREMOVE =
3ad0: 20 33 20 7d 0d 0a 61 6c 69 61 73 20 48 43 5f 4e   3 }..alias HC_N
3ae0: 4f 52 45 4d 4f 56 45 20 48 43 5f 4e 4f 52 45 4d  OREMOVE HC_NOREM
3af0: 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ;..enum : uint {
3b00: 20 48 43 5f 53 59 53 4d 4f 44 41 4c 4f 4e 20 3d   HC_SYSMODALON =
3b10: 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   4 }..enum : uin
3b20: 74 20 7b 20 48 43 5f 53 59 53 4d 4f 44 41 4c 4f  t { HC_SYSMODALO
3b30: 46 46 20 3d 20 35 20 7d 0d 0a 0d 0a 65 6e 75 6d  FF = 5 }....enum
3b40: 20 3a 20 75 69 6e 74 20 7b 20 48 43 42 54 5f 4d   : uint { HCBT_M
3b50: 4f 56 45 53 49 5a 45 20 3d 20 30 20 7d 0d 0a 65  OVESIZE = 0 }..e
3b60: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 43 42  num : uint { HCB
3b70: 54 5f 4d 49 4e 4d 41 58 20 3d 20 31 20 7d 0d 0a  T_MINMAX = 1 }..
3b80: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 43  enum : uint { HC
3b90: 42 54 5f 51 53 20 3d 20 32 20 7d 0d 0a 65 6e 75  BT_QS = 2 }..enu
3ba0: 6d 20 3a 20 75 69 6e 74 20 7b 20 48 43 42 54 5f  m : uint { HCBT_
3bb0: 43 52 45 41 54 45 57 4e 44 20 3d 20 33 20 7d 0d  CREATEWND = 3 }.
3bc0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
3bd0: 43 42 54 5f 44 45 53 54 52 4f 59 57 4e 44 20 3d  CBT_DESTROYWND =
3be0: 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   4 }..enum : uin
3bf0: 74 20 7b 20 48 43 42 54 5f 41 43 54 49 56 41 54  t { HCBT_ACTIVAT
3c00: 45 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  E = 5 }..enum : 
3c10: 75 69 6e 74 20 7b 20 48 43 42 54 5f 43 4c 49 43  uint { HCBT_CLIC
3c20: 4b 53 4b 49 50 50 45 44 20 3d 20 36 20 7d 0d 0a  KSKIPPED = 6 }..
3c30: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 43  enum : uint { HC
3c40: 42 54 5f 4b 45 59 53 4b 49 50 50 45 44 20 3d 20  BT_KEYSKIPPED = 
3c50: 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
3c60: 20 7b 20 48 43 42 54 5f 53 59 53 43 4f 4d 4d 41   { HCBT_SYSCOMMA
3c70: 4e 44 20 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a  ND = 8 }..enum :
3c80: 20 75 69 6e 74 20 7b 20 48 43 42 54 5f 53 45 54   uint { HCBT_SET
3c90: 46 4f 43 55 53 20 3d 20 39 20 7d 0d 0a 0d 0a 73  FOCUS = 9 }....s
3ca0: 74 72 75 63 74 20 74 61 67 43 42 54 5f 43 52 45  truct tagCBT_CRE
3cb0: 41 54 45 57 4e 44 41 20 7b 0d 0a 20 20 74 61 67  ATEWNDA {..  tag
3cc0: 43 52 45 41 54 45 53 54 52 55 43 54 41 20 2a 6c  CREATESTRUCTA *l
3cd0: 70 63 73 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e  pcs;..  HWND hwn
3ce0: 64 49 6e 73 65 72 74 41 66 74 65 72 3b 0d 0a 7d  dInsertAfter;..}
3cf0: 0d 0a 61 6c 69 61 73 20 74 61 67 43 42 54 5f 43  ..alias tagCBT_C
3d00: 52 45 41 54 45 57 4e 44 41 20 43 42 54 5f 43 52  REATEWNDA CBT_CR
3d10: 45 41 54 45 57 4e 44 41 3b 0d 0a 61 6c 69 61 73  EATEWNDA;..alias
3d20: 20 74 61 67 43 42 54 5f 43 52 45 41 54 45 57 4e   tagCBT_CREATEWN
3d30: 44 41 2a 20 4c 50 43 42 54 5f 43 52 45 41 54 45  DA* LPCBT_CREATE
3d40: 57 4e 44 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  WNDA;....struct 
3d50: 74 61 67 43 42 54 5f 43 52 45 41 54 45 57 4e 44  tagCBT_CREATEWND
3d60: 57 20 7b 0d 0a 20 20 74 61 67 43 52 45 41 54 45  W {..  tagCREATE
3d70: 53 54 52 55 43 54 57 20 2a 6c 70 63 73 3b 0d 0a  STRUCTW *lpcs;..
3d80: 20 20 48 57 4e 44 20 68 77 6e 64 49 6e 73 65 72    HWND hwndInser
3d90: 74 41 66 74 65 72 3b 0d 0a 7d 0d 0a 61 6c 69 61  tAfter;..}..alia
3da0: 73 20 74 61 67 43 42 54 5f 43 52 45 41 54 45 57  s tagCBT_CREATEW
3db0: 4e 44 57 20 43 42 54 5f 43 52 45 41 54 45 57 4e  NDW CBT_CREATEWN
3dc0: 44 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 43 42  DW;..alias tagCB
3dd0: 54 5f 43 52 45 41 54 45 57 4e 44 57 2a 20 4c 50  T_CREATEWNDW* LP
3de0: 43 42 54 5f 43 52 45 41 54 45 57 4e 44 57 3b 0d  CBT_CREATEWNDW;.
3df0: 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
3e00: 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  CODE..// .....//
3e10: 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 43 42   #else..alias CB
3e20: 54 5f 43 52 45 41 54 45 57 4e 44 41 20 43 42 54  T_CREATEWNDA CBT
3e30: 5f 43 52 45 41 54 45 57 4e 44 3b 0d 0a 61 6c 69  _CREATEWND;..ali
3e40: 61 73 20 4c 50 43 42 54 5f 43 52 45 41 54 45 57  as LPCBT_CREATEW
3e50: 4e 44 41 20 4c 50 43 42 54 5f 43 52 45 41 54 45  NDA LPCBT_CREATE
3e60: 57 4e 44 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  WND;..// #endif 
3e70: 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 73 74  // UNICODE....st
3e80: 72 75 63 74 20 74 61 67 43 42 54 41 43 54 49 56  ruct tagCBTACTIV
3e90: 41 54 45 53 54 52 55 43 54 20 7b 0d 0a 20 20 42  ATESTRUCT {..  B
3ea0: 4f 4f 4c 20 66 4d 6f 75 73 65 3b 0d 0a 20 20 48  OOL fMouse;..  H
3eb0: 57 4e 44 20 68 57 6e 64 41 63 74 69 76 65 3b 0d  WND hWndActive;.
3ec0: 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 43 42 54  .}..alias tagCBT
3ed0: 41 43 54 49 56 41 54 45 53 54 52 55 43 54 20 43  ACTIVATESTRUCT C
3ee0: 42 54 41 43 54 49 56 41 54 45 53 54 52 55 43 54  BTACTIVATESTRUCT
3ef0: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 43 42 54 41  ;..alias tagCBTA
3f00: 43 54 49 56 41 54 45 53 54 52 55 43 54 2a 20 4c  CTIVATESTRUCT* L
3f10: 50 43 42 54 41 43 54 49 56 41 54 45 53 54 52 55  PCBTACTIVATESTRU
3f20: 43 54 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28 5f 57  CT;....// #if(_W
3f30: 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
3f40: 30 35 30 31 29 0d 0a 0d 0a 73 74 72 75 63 74 20  0501)....struct 
3f50: 74 61 67 57 54 53 53 45 53 53 49 4f 4e 5f 4e 4f  tagWTSSESSION_NO
3f60: 54 49 46 49 43 41 54 49 4f 4e 20 7b 0d 0a 20 20  TIFICATION {..  
3f70: 44 57 4f 52 44 20 63 62 53 69 7a 65 3b 0d 0a 20  DWORD cbSize;.. 
3f80: 20 44 57 4f 52 44 20 64 77 53 65 73 73 69 6f 6e   DWORD dwSession
3f90: 49 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  Id;..}..alias ta
3fa0: 67 57 54 53 53 45 53 53 49 4f 4e 5f 4e 4f 54 49  gWTSSESSION_NOTI
3fb0: 46 49 43 41 54 49 4f 4e 20 57 54 53 53 45 53 53  FICATION WTSSESS
3fc0: 49 4f 4e 5f 4e 4f 54 49 46 49 43 41 54 49 4f 4e  ION_NOTIFICATION
3fd0: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57 54 53 53  ;..alias tagWTSS
3fe0: 45 53 53 49 4f 4e 5f 4e 4f 54 49 46 49 43 41 54  ESSION_NOTIFICAT
3ff0: 49 4f 4e 2a 20 50 57 54 53 53 45 53 53 49 4f 4e  ION* PWTSSESSION
4000: 5f 4e 4f 54 49 46 49 43 41 54 49 4f 4e 3b 0d 0a  _NOTIFICATION;..
4010: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4020: 57 54 53 5f 43 4f 4e 53 4f 4c 45 5f 43 4f 4e 4e  WTS_CONSOLE_CONN
4030: 45 43 54 20 3d 20 30 78 31 20 7d 0d 0a 65 6e 75  ECT = 0x1 }..enu
4040: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 54 53 5f 43  m : uint { WTS_C
4050: 4f 4e 53 4f 4c 45 5f 44 49 53 43 4f 4e 4e 45 43  ONSOLE_DISCONNEC
4060: 54 20 3d 20 30 78 32 20 7d 0d 0a 65 6e 75 6d 20  T = 0x2 }..enum 
4070: 3a 20 75 69 6e 74 20 7b 20 57 54 53 5f 52 45 4d  : uint { WTS_REM
4080: 4f 54 45 5f 43 4f 4e 4e 45 43 54 20 3d 20 30 78  OTE_CONNECT = 0x
4090: 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
40a0: 20 7b 20 57 54 53 5f 52 45 4d 4f 54 45 5f 44 49   { WTS_REMOTE_DI
40b0: 53 43 4f 4e 4e 45 43 54 20 3d 20 30 78 34 20 7d  SCONNECT = 0x4 }
40c0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
40d0: 57 54 53 5f 53 45 53 53 49 4f 4e 5f 4c 4f 47 4f  WTS_SESSION_LOGO
40e0: 4e 20 3d 20 30 78 35 20 7d 0d 0a 65 6e 75 6d 20  N = 0x5 }..enum 
40f0: 3a 20 75 69 6e 74 20 7b 20 57 54 53 5f 53 45 53  : uint { WTS_SES
4100: 53 49 4f 4e 5f 4c 4f 47 4f 46 46 20 3d 20 30 78  SION_LOGOFF = 0x
4110: 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
4120: 20 7b 20 57 54 53 5f 53 45 53 53 49 4f 4e 5f 4c   { WTS_SESSION_L
4130: 4f 43 4b 20 3d 20 30 78 37 20 7d 0d 0a 65 6e 75  OCK = 0x7 }..enu
4140: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 54 53 5f 53  m : uint { WTS_S
4150: 45 53 53 49 4f 4e 5f 55 4e 4c 4f 43 4b 20 3d 20  ESSION_UNLOCK = 
4160: 30 78 38 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  0x8 }....// #end
4170: 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e  if /* _WIN32_WIN
4180: 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f 0d  NT >= 0x0501 */.
4190: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
41a0: 20 4d 53 47 46 5f 44 49 41 4c 4f 47 42 4f 58 20   MSGF_DIALOGBOX 
41b0: 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 0 }..enum : ui
41c0: 6e 74 20 7b 20 4d 53 47 46 5f 4d 45 53 53 41 47  nt { MSGF_MESSAG
41d0: 45 42 4f 58 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d  EBOX = 1 }..enum
41e0: 20 3a 20 75 69 6e 74 20 7b 20 4d 53 47 46 5f 4d   : uint { MSGF_M
41f0: 45 4e 55 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20  ENU = 2 }..enum 
4200: 3a 20 75 69 6e 74 20 7b 20 4d 53 47 46 5f 53 43  : uint { MSGF_SC
4210: 52 4f 4c 4c 42 41 52 20 3d 20 35 20 7d 0d 0a 65  ROLLBAR = 5 }..e
4220: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 53 47  num : uint { MSG
4230: 46 5f 4e 45 58 54 57 49 4e 44 4f 57 20 3d 20 36  F_NEXTWINDOW = 6
4240: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
4250: 7b 20 4d 53 47 46 5f 4d 41 58 20 3d 20 38 20 7d  { MSGF_MAX = 8 }
4260: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4270: 4d 53 47 46 5f 55 53 45 52 20 3d 20 34 30 39 36  MSGF_USER = 4096
4280: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
4290: 74 20 7b 20 48 53 48 45 4c 4c 5f 57 49 4e 44 4f  t { HSHELL_WINDO
42a0: 57 43 52 45 41 54 45 44 20 3d 20 31 20 7d 0d 0a  WCREATED = 1 }..
42b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 53  enum : uint { HS
42c0: 48 45 4c 4c 5f 57 49 4e 44 4f 57 44 45 53 54 52  HELL_WINDOWDESTR
42d0: 4f 59 45 44 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d  OYED = 2 }..enum
42e0: 20 3a 20 75 69 6e 74 20 7b 20 48 53 48 45 4c 4c   : uint { HSHELL
42f0: 5f 41 43 54 49 56 41 54 45 53 48 45 4c 4c 57 49  _ACTIVATESHELLWI
4300: 4e 44 4f 57 20 3d 20 33 20 7d 0d 0a 0d 0a 2f 2f  NDOW = 3 }....//
4310: 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
4320: 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0400)..enum : u
4330: 69 6e 74 20 7b 20 48 53 48 45 4c 4c 5f 57 49 4e  int { HSHELL_WIN
4340: 44 4f 57 41 43 54 49 56 41 54 45 44 20 3d 20 34  DOWACTIVATED = 4
4350: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
4360: 7b 20 48 53 48 45 4c 4c 5f 47 45 54 4d 49 4e 52  { HSHELL_GETMINR
4370: 45 43 54 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20  ECT = 5 }..enum 
4380: 3a 20 75 69 6e 74 20 7b 20 48 53 48 45 4c 4c 5f  : uint { HSHELL_
4390: 52 45 44 52 41 57 20 3d 20 36 20 7d 0d 0a 65 6e  REDRAW = 6 }..en
43a0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 53 48 45  um : uint { HSHE
43b0: 4c 4c 5f 54 41 53 4b 4d 41 4e 20 3d 20 37 20 7d  LL_TASKMAN = 7 }
43c0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
43d0: 48 53 48 45 4c 4c 5f 4c 41 4e 47 55 41 47 45 20  HSHELL_LANGUAGE 
43e0: 3d 20 38 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  = 8 }..// #endif
43f0: 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
4400: 30 34 30 30 20 2a 2f 0d 0a 2f 2f 20 23 69 66 28  0400 */..// #if(
4410: 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
4420: 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0500)..enum : 
4430: 75 69 6e 74 20 7b 20 48 53 48 45 4c 4c 5f 41 43  uint { HSHELL_AC
4440: 43 45 53 53 49 42 49 4c 49 54 59 53 54 41 54 45  CESSIBILITYSTATE
4450: 20 3d 20 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 11 }..enum : 
4460: 75 69 6e 74 20 7b 20 48 53 48 45 4c 4c 5f 41 50  uint { HSHELL_AP
4470: 50 43 4f 4d 4d 41 4e 44 20 3d 20 31 32 20 7d 0d  PCOMMAND = 12 }.
4480: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57  .// #endif /* _W
4490: 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
44a0: 30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69  0500 */....// #i
44b0: 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e  f(_WIN32_WINNT >
44c0: 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20  = 0x0501)..enum 
44d0: 3a 20 75 69 6e 74 20 7b 20 48 53 48 45 4c 4c 5f  : uint { HSHELL_
44e0: 57 49 4e 44 4f 57 52 45 50 4c 41 43 45 44 20 3d  WINDOWREPLACED =
44f0: 20 31 33 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66   13 }..// #endif
4500: 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54   /* _WIN32_WINNT
4510: 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f 0d 0a 0d   >= 0x0501 */...
4520: 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57  .// #if(_WIN32_W
4530: 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 0d  INNT >= 0x0500).
4540: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
4550: 20 41 43 43 45 53 53 5f 53 54 49 43 4b 59 4b 45   ACCESS_STICKYKE
4560: 59 53 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65  YS = 0x0001 }..e
4570: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 43  num : uint { ACC
4580: 45 53 53 5f 46 49 4c 54 45 52 4b 45 59 53 20 3d  ESS_FILTERKEYS =
4590: 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20   0x0002 }..enum 
45a0: 3a 20 75 69 6e 74 20 7b 20 41 43 43 45 53 53 5f  : uint { ACCESS_
45b0: 4d 4f 55 53 45 4b 45 59 53 20 3d 20 30 78 30 30  MOUSEKEYS = 0x00
45c0: 30 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  03 }....enum : u
45d0: 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44  int { APPCOMMAND
45e0: 5f 42 52 4f 57 53 45 52 5f 42 41 43 4b 57 41 52  _BROWSER_BACKWAR
45f0: 44 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  D = 1 }..enum : 
4600: 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e  uint { APPCOMMAN
4610: 44 5f 42 52 4f 57 53 45 52 5f 46 4f 52 57 41 52  D_BROWSER_FORWAR
4620: 44 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  D = 2 }..enum : 
4630: 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e  uint { APPCOMMAN
4640: 44 5f 42 52 4f 57 53 45 52 5f 52 45 46 52 45 53  D_BROWSER_REFRES
4650: 48 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  H = 3 }..enum : 
4660: 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e  uint { APPCOMMAN
4670: 44 5f 42 52 4f 57 53 45 52 5f 53 54 4f 50 20 3d  D_BROWSER_STOP =
4680: 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   4 }..enum : uin
4690: 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f 42  t { APPCOMMAND_B
46a0: 52 4f 57 53 45 52 5f 53 45 41 52 43 48 20 3d 20  ROWSER_SEARCH = 
46b0: 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
46c0: 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f 42 52   { APPCOMMAND_BR
46d0: 4f 57 53 45 52 5f 46 41 56 4f 52 49 54 45 53 20  OWSER_FAVORITES 
46e0: 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 6 }..enum : ui
46f0: 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f  nt { APPCOMMAND_
4700: 42 52 4f 57 53 45 52 5f 48 4f 4d 45 20 3d 20 37  BROWSER_HOME = 7
4710: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
4720: 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f 56 4f 4c  { APPCOMMAND_VOL
4730: 55 4d 45 5f 4d 55 54 45 20 3d 20 38 20 7d 0d 0a  UME_MUTE = 8 }..
4740: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50  enum : uint { AP
4750: 50 43 4f 4d 4d 41 4e 44 5f 56 4f 4c 55 4d 45 5f  PCOMMAND_VOLUME_
4760: 44 4f 57 4e 20 3d 20 39 20 7d 0d 0a 65 6e 75 6d  DOWN = 9 }..enum
4770: 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d   : uint { APPCOM
4780: 4d 41 4e 44 5f 56 4f 4c 55 4d 45 5f 55 50 20 3d  MAND_VOLUME_UP =
4790: 20 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   10 }..enum : ui
47a0: 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f  nt { APPCOMMAND_
47b0: 4d 45 44 49 41 5f 4e 45 58 54 54 52 41 43 4b 20  MEDIA_NEXTTRACK 
47c0: 3d 20 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 11 }..enum : u
47d0: 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44  int { APPCOMMAND
47e0: 5f 4d 45 44 49 41 5f 50 52 45 56 49 4f 55 53 54  _MEDIA_PREVIOUST
47f0: 52 41 43 4b 20 3d 20 31 32 20 7d 0d 0a 65 6e 75  RACK = 12 }..enu
4800: 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 43 4f  m : uint { APPCO
4810: 4d 4d 41 4e 44 5f 4d 45 44 49 41 5f 53 54 4f 50  MMAND_MEDIA_STOP
4820: 20 3d 20 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 13 }..enum : 
4830: 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e  uint { APPCOMMAN
4840: 44 5f 4d 45 44 49 41 5f 50 4c 41 59 5f 50 41 55  D_MEDIA_PLAY_PAU
4850: 53 45 20 3d 20 31 34 20 7d 0d 0a 65 6e 75 6d 20  SE = 14 }..enum 
4860: 3a 20 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d  : uint { APPCOMM
4870: 41 4e 44 5f 4c 41 55 4e 43 48 5f 4d 41 49 4c 20  AND_LAUNCH_MAIL 
4880: 3d 20 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 15 }..enum : u
4890: 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44  int { APPCOMMAND
48a0: 5f 4c 41 55 4e 43 48 5f 4d 45 44 49 41 5f 53 45  _LAUNCH_MEDIA_SE
48b0: 4c 45 43 54 20 3d 20 31 36 20 7d 0d 0a 65 6e 75  LECT = 16 }..enu
48c0: 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 43 4f  m : uint { APPCO
48d0: 4d 4d 41 4e 44 5f 4c 41 55 4e 43 48 5f 41 50 50  MMAND_LAUNCH_APP
48e0: 31 20 3d 20 31 37 20 7d 0d 0a 65 6e 75 6d 20 3a  1 = 17 }..enum :
48f0: 20 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41   uint { APPCOMMA
4900: 4e 44 5f 4c 41 55 4e 43 48 5f 41 50 50 32 20 3d  ND_LAUNCH_APP2 =
4910: 20 31 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   18 }..enum : ui
4920: 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f  nt { APPCOMMAND_
4930: 42 41 53 53 5f 44 4f 57 4e 20 3d 20 31 39 20 7d  BASS_DOWN = 19 }
4940: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4950: 41 50 50 43 4f 4d 4d 41 4e 44 5f 42 41 53 53 5f  APPCOMMAND_BASS_
4960: 42 4f 4f 53 54 20 3d 20 32 30 20 7d 0d 0a 65 6e  BOOST = 20 }..en
4970: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 43  um : uint { APPC
4980: 4f 4d 4d 41 4e 44 5f 42 41 53 53 5f 55 50 20 3d  OMMAND_BASS_UP =
4990: 20 32 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   21 }..enum : ui
49a0: 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f  nt { APPCOMMAND_
49b0: 54 52 45 42 4c 45 5f 44 4f 57 4e 20 3d 20 32 32  TREBLE_DOWN = 22
49c0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
49d0: 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f 54 52 45  { APPCOMMAND_TRE
49e0: 42 4c 45 5f 55 50 20 3d 20 32 33 20 7d 0d 0a 2f  BLE_UP = 23 }../
49f0: 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e  / #if(_WIN32_WIN
4a00: 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 65  NT >= 0x0501)..e
4a10: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50  num : uint { APP
4a20: 43 4f 4d 4d 41 4e 44 5f 4d 49 43 52 4f 50 48 4f  COMMAND_MICROPHO
4a30: 4e 45 5f 56 4f 4c 55 4d 45 5f 4d 55 54 45 20 3d  NE_VOLUME_MUTE =
4a40: 20 32 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   24 }..enum : ui
4a50: 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f  nt { APPCOMMAND_
4a60: 4d 49 43 52 4f 50 48 4f 4e 45 5f 56 4f 4c 55 4d  MICROPHONE_VOLUM
4a70: 45 5f 44 4f 57 4e 20 3d 20 32 35 20 7d 0d 0a 65  E_DOWN = 25 }..e
4a80: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50  num : uint { APP
4a90: 43 4f 4d 4d 41 4e 44 5f 4d 49 43 52 4f 50 48 4f  COMMAND_MICROPHO
4aa0: 4e 45 5f 56 4f 4c 55 4d 45 5f 55 50 20 3d 20 32  NE_VOLUME_UP = 2
4ab0: 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
4ac0: 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f 48 45   { APPCOMMAND_HE
4ad0: 4c 50 20 3d 20 32 37 20 7d 0d 0a 65 6e 75 6d 20  LP = 27 }..enum 
4ae0: 3a 20 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d  : uint { APPCOMM
4af0: 41 4e 44 5f 46 49 4e 44 20 3d 20 32 38 20 7d 0d  AND_FIND = 28 }.
4b00: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41  .enum : uint { A
4b10: 50 50 43 4f 4d 4d 41 4e 44 5f 4e 45 57 20 3d 20  PPCOMMAND_NEW = 
4b20: 32 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  29 }..enum : uin
4b30: 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f 4f  t { APPCOMMAND_O
4b40: 50 45 4e 20 3d 20 33 30 20 7d 0d 0a 65 6e 75 6d  PEN = 30 }..enum
4b50: 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d   : uint { APPCOM
4b60: 4d 41 4e 44 5f 43 4c 4f 53 45 20 3d 20 33 31 20  MAND_CLOSE = 31 
4b70: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4b80: 20 41 50 50 43 4f 4d 4d 41 4e 44 5f 53 41 56 45   APPCOMMAND_SAVE
4b90: 20 3d 20 33 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 32 }..enum : 
4ba0: 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e  uint { APPCOMMAN
4bb0: 44 5f 50 52 49 4e 54 20 3d 20 33 33 20 7d 0d 0a  D_PRINT = 33 }..
4bc0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50  enum : uint { AP
4bd0: 50 43 4f 4d 4d 41 4e 44 5f 55 4e 44 4f 20 3d 20  PCOMMAND_UNDO = 
4be0: 33 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  34 }..enum : uin
4bf0: 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f 52  t { APPCOMMAND_R
4c00: 45 44 4f 20 3d 20 33 35 20 7d 0d 0a 65 6e 75 6d  EDO = 35 }..enum
4c10: 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d   : uint { APPCOM
4c20: 4d 41 4e 44 5f 43 4f 50 59 20 3d 20 33 36 20 7d  MAND_COPY = 36 }
4c30: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4c40: 41 50 50 43 4f 4d 4d 41 4e 44 5f 43 55 54 20 3d  APPCOMMAND_CUT =
4c50: 20 33 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   37 }..enum : ui
4c60: 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f  nt { APPCOMMAND_
4c70: 50 41 53 54 45 20 3d 20 33 38 20 7d 0d 0a 65 6e  PASTE = 38 }..en
4c80: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 43  um : uint { APPC
4c90: 4f 4d 4d 41 4e 44 5f 52 45 50 4c 59 5f 54 4f 5f  OMMAND_REPLY_TO_
4ca0: 4d 41 49 4c 20 3d 20 33 39 20 7d 0d 0a 65 6e 75  MAIL = 39 }..enu
4cb0: 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 43 4f  m : uint { APPCO
4cc0: 4d 4d 41 4e 44 5f 46 4f 52 57 41 52 44 5f 4d 41  MMAND_FORWARD_MA
4cd0: 49 4c 20 3d 20 34 30 20 7d 0d 0a 65 6e 75 6d 20  IL = 40 }..enum 
4ce0: 3a 20 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d  : uint { APPCOMM
4cf0: 41 4e 44 5f 53 45 4e 44 5f 4d 41 49 4c 20 3d 20  AND_SEND_MAIL = 
4d00: 34 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  41 }..enum : uin
4d10: 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f 53  t { APPCOMMAND_S
4d20: 50 45 4c 4c 5f 43 48 45 43 4b 20 3d 20 34 32 20  PELL_CHECK = 42 
4d30: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4d40: 20 41 50 50 43 4f 4d 4d 41 4e 44 5f 44 49 43 54   APPCOMMAND_DICT
4d50: 41 54 45 5f 4f 52 5f 43 4f 4d 4d 41 4e 44 5f 43  ATE_OR_COMMAND_C
4d60: 4f 4e 54 52 4f 4c 5f 54 4f 47 47 4c 45 20 3d 20  ONTROL_TOGGLE = 
4d70: 34 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  43 }..enum : uin
4d80: 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f 4d  t { APPCOMMAND_M
4d90: 49 43 5f 4f 4e 5f 4f 46 46 5f 54 4f 47 47 4c 45  IC_ON_OFF_TOGGLE
4da0: 20 3d 20 34 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 44 }..enum : 
4db0: 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e  uint { APPCOMMAN
4dc0: 44 5f 43 4f 52 52 45 43 54 49 4f 4e 5f 4c 49 53  D_CORRECTION_LIS
4dd0: 54 20 3d 20 34 35 20 7d 0d 0a 2f 2f 20 23 65 6e  T = 45 }..// #en
4de0: 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49  dif /* _WIN32_WI
4df0: 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f  NNT >= 0x0501 */
4e00: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
4e10: 7b 20 46 41 50 50 43 4f 4d 4d 41 4e 44 5f 4d 4f  { FAPPCOMMAND_MO
4e20: 55 53 45 20 3d 20 30 78 38 30 30 30 20 7d 0d 0a  USE = 0x8000 }..
4e30: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 41  enum : uint { FA
4e40: 50 50 43 4f 4d 4d 41 4e 44 5f 4b 45 59 20 3d 20  PPCOMMAND_KEY = 
4e50: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
4e60: 20 7b 20 46 41 50 50 43 4f 4d 4d 41 4e 44 5f 4f   { FAPPCOMMAND_O
4e70: 45 4d 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 65  EM = 0x1000 }..e
4e80: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 41 50  num : uint { FAP
4e90: 50 43 4f 4d 4d 41 4e 44 5f 4d 41 53 4b 20 3d 20  PCOMMAND_MASK = 
4ea0: 30 78 46 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23  0xF000 }....// #
4eb0: 64 65 66 69 6e 65 20 47 45 54 5f 41 50 50 43 4f  define GET_APPCO
4ec0: 4d 4d 41 4e 44 5f 4c 50 41 52 41 4d 28 6c 50 61  MMAND_LPARAM(lPa
4ed0: 72 61 6d 29 20 28 28 73 68 6f 72 74 29 28 48 49  ram) ((short)(HI
4ee0: 57 4f 52 44 28 6c 50 61 72 61 6d 29 20 26 20 7e  WORD(lParam) & ~
4ef0: 46 41 50 50 43 4f 4d 4d 41 4e 44 5f 4d 41 53 4b  FAPPCOMMAND_MASK
4f00: 29 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 47  ))..// #define G
4f10: 45 54 5f 44 45 56 49 43 45 5f 4c 50 41 52 41 4d  ET_DEVICE_LPARAM
4f20: 28 6c 50 61 72 61 6d 29 20 28 28 57 4f 52 44 29  (lParam) ((WORD)
4f30: 28 48 49 57 4f 52 44 28 6c 50 61 72 61 6d 29 20  (HIWORD(lParam) 
4f40: 26 20 46 41 50 50 43 4f 4d 4d 41 4e 44 5f 4d 41  & FAPPCOMMAND_MA
4f50: 53 4b 29 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  SK))..// #define
4f60: 20 47 45 54 5f 4d 4f 55 53 45 4f 52 4b 45 59 5f   GET_MOUSEORKEY_
4f70: 4c 50 41 52 41 4d 20 47 45 54 5f 44 45 56 49 43  LPARAM GET_DEVIC
4f80: 45 5f 4c 50 41 52 41 4d 0d 0a 2f 2f 20 23 64 65  E_LPARAM..// #de
4f90: 66 69 6e 65 20 47 45 54 5f 46 4c 41 47 53 5f 4c  fine GET_FLAGS_L
4fa0: 50 41 52 41 4d 28 6c 50 61 72 61 6d 29 20 28 4c  PARAM(lParam) (L
4fb0: 4f 57 4f 52 44 28 6c 50 61 72 61 6d 29 29 0d 0a  OWORD(lParam))..
4fc0: 2f 2f 20 23 64 65 66 69 6e 65 20 47 45 54 5f 4b  // #define GET_K
4fd0: 45 59 53 54 41 54 45 5f 4c 50 41 52 41 4d 28 6c  EYSTATE_LPARAM(l
4fe0: 50 61 72 61 6d 29 20 47 45 54 5f 46 4c 41 47 53  Param) GET_FLAGS
4ff0: 5f 4c 50 41 52 41 4d 28 6c 50 61 72 61 6d 29 0d  _LPARAM(lParam).
5000: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57  .// #endif /* _W
5010: 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
5020: 30 35 30 30 20 2a 2f 0d 0a 0d 0a 73 74 72 75 63  0500 */....struc
5030: 74 20 74 61 67 45 56 45 4e 54 4d 53 47 20 7b 0d  t tagEVENTMSG {.
5040: 0a 20 20 55 49 4e 54 20 6d 65 73 73 61 67 65 3b  .  UINT message;
5050: 0d 0a 20 20 55 49 4e 54 20 70 61 72 61 6d 4c 3b  ..  UINT paramL;
5060: 0d 0a 20 20 55 49 4e 54 20 70 61 72 61 6d 48 3b  ..  UINT paramH;
5070: 0d 0a 20 20 44 57 4f 52 44 20 74 69 6d 65 3b 0d  ..  DWORD time;.
5080: 0a 20 20 48 57 4e 44 20 68 77 6e 64 3b 0d 0a 7d  .  HWND hwnd;..}
5090: 0d 0a 61 6c 69 61 73 20 74 61 67 45 56 45 4e 54  ..alias tagEVENT
50a0: 4d 53 47 20 45 56 45 4e 54 4d 53 47 3b 0d 0a 61  MSG EVENTMSG;..a
50b0: 6c 69 61 73 20 74 61 67 45 56 45 4e 54 4d 53 47  lias tagEVENTMSG
50c0: 2a 20 50 45 56 45 4e 54 4d 53 47 4d 53 47 3b 0d  * PEVENTMSGMSG;.
50d0: 0a 61 6c 69 61 73 20 74 61 67 45 56 45 4e 54 4d  .alias tagEVENTM
50e0: 53 47 2a 20 4e 50 45 56 45 4e 54 4d 53 47 4d 53  SG* NPEVENTMSGMS
50f0: 47 3b 0d 0a 61 6c 69 61 73 20 74 61 67 45 56 45  G;..alias tagEVE
5100: 4e 54 4d 53 47 2a 20 4c 50 45 56 45 4e 54 4d 53  NTMSG* LPEVENTMS
5110: 47 4d 53 47 3b 0d 0a 0d 0a 61 6c 69 61 73 20 74  GMSG;....alias t
5120: 61 67 45 56 45 4e 54 4d 53 47 2a 20 50 45 56 45  agEVENTMSG* PEVE
5130: 4e 54 4d 53 47 3b 0d 0a 61 6c 69 61 73 20 74 61  NTMSG;..alias ta
5140: 67 45 56 45 4e 54 4d 53 47 2a 20 4e 50 45 56 45  gEVENTMSG* NPEVE
5150: 4e 54 4d 53 47 3b 0d 0a 61 6c 69 61 73 20 74 61  NTMSG;..alias ta
5160: 67 45 56 45 4e 54 4d 53 47 2a 20 4c 50 45 56 45  gEVENTMSG* LPEVE
5170: 4e 54 4d 53 47 3b 0d 0a 0d 0a 73 74 72 75 63 74  NTMSG;....struct
5180: 20 74 61 67 43 57 50 53 54 52 55 43 54 20 7b 0d   tagCWPSTRUCT {.
5190: 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d  .  LPARAM lParam
51a0: 3b 0d 0a 20 20 57 50 41 52 41 4d 20 77 50 61 72  ;..  WPARAM wPar
51b0: 61 6d 3b 0d 0a 20 20 55 49 4e 54 20 6d 65 73 73  am;..  UINT mess
51c0: 61 67 65 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e  age;..  HWND hwn
51d0: 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  d;..}..alias tag
51e0: 43 57 50 53 54 52 55 43 54 20 43 57 50 53 54 52  CWPSTRUCT CWPSTR
51f0: 55 43 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67 43  UCT;..alias tagC
5200: 57 50 53 54 52 55 43 54 2a 20 50 43 57 50 53 54  WPSTRUCT* PCWPST
5210: 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67  RUCT;..alias tag
5220: 43 57 50 53 54 52 55 43 54 2a 20 4e 50 43 57 50  CWPSTRUCT* NPCWP
5230: 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20 74  STRUCT;..alias t
5240: 61 67 43 57 50 53 54 52 55 43 54 2a 20 4c 50 43  agCWPSTRUCT* LPC
5250: 57 50 53 54 52 55 43 54 3b 0d 0a 0d 0a 2f 2f 20  WPSTRUCT;....// 
5260: 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  #if(WINVER >= 0x
5270: 30 34 30 30 29 0d 0a 0d 0a 73 74 72 75 63 74 20  0400)....struct 
5280: 74 61 67 43 57 50 52 45 54 53 54 52 55 43 54 20  tagCWPRETSTRUCT 
5290: 7b 0d 0a 20 20 4c 52 45 53 55 4c 54 20 6c 52 65  {..  LRESULT lRe
52a0: 73 75 6c 74 3b 0d 0a 20 20 4c 50 41 52 41 4d 20  sult;..  LPARAM 
52b0: 6c 50 61 72 61 6d 3b 0d 0a 20 20 57 50 41 52 41  lParam;..  WPARA
52c0: 4d 20 77 50 61 72 61 6d 3b 0d 0a 20 20 55 49 4e  M wParam;..  UIN
52d0: 54 20 6d 65 73 73 61 67 65 3b 0d 0a 20 20 48 57  T message;..  HW
52e0: 4e 44 20 68 77 6e 64 3b 0d 0a 7d 0d 0a 61 6c 69  ND hwnd;..}..ali
52f0: 61 73 20 74 61 67 43 57 50 52 45 54 53 54 52 55  as tagCWPRETSTRU
5300: 43 54 20 43 57 50 52 45 54 53 54 52 55 43 54 3b  CT CWPRETSTRUCT;
5310: 0d 0a 61 6c 69 61 73 20 74 61 67 43 57 50 52 45  ..alias tagCWPRE
5320: 54 53 54 52 55 43 54 2a 20 50 43 57 50 52 45 54  TSTRUCT* PCWPRET
5330: 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20 74  STRUCT;..alias t
5340: 61 67 43 57 50 52 45 54 53 54 52 55 43 54 2a 20  agCWPRETSTRUCT* 
5350: 4e 50 43 57 50 52 45 54 53 54 52 55 43 54 3b 0d  NPCWPRETSTRUCT;.
5360: 0a 61 6c 69 61 73 20 74 61 67 43 57 50 52 45 54  .alias tagCWPRET
5370: 53 54 52 55 43 54 2a 20 4c 50 43 57 50 52 45 54  STRUCT* LPCWPRET
5380: 53 54 52 55 43 54 3b 0d 0a 0d 0a 2f 2f 20 23 65  STRUCT;....// #e
5390: 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e  ndif /* WINVER >
53a0: 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f  = 0x0400 */..../
53b0: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49  / #if (_WIN32_WI
53c0: 4e 4e 54 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  NNT >= 0x0400)..
53d0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
53e0: 4c 4c 4b 48 46 5f 45 58 54 45 4e 44 45 44 20 3d  LLKHF_EXTENDED =
53f0: 20 4b 46 5f 45 58 54 45 4e 44 45 44 20 3e 3e 20   KF_EXTENDED >> 
5400: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
5410: 20 7b 20 4c 4c 4b 48 46 5f 49 4e 4a 45 43 54 45   { LLKHF_INJECTE
5420: 44 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d  D = 0x00000010 }
5430: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
5440: 4c 4c 4b 48 46 5f 41 4c 54 44 4f 57 4e 20 3d 20  LLKHF_ALTDOWN = 
5450: 4b 46 5f 41 4c 54 44 4f 57 4e 20 3e 3e 20 38 20  KF_ALTDOWN >> 8 
5460: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
5470: 20 4c 4c 4b 48 46 5f 55 50 20 3d 20 4b 46 5f 55   LLKHF_UP = KF_U
5480: 50 20 3e 3e 20 38 20 7d 0d 0a 0d 0a 65 6e 75 6d  P >> 8 }....enum
5490: 20 3a 20 75 69 6e 74 20 7b 20 4c 4c 4d 48 46 5f   : uint { LLMHF_
54a0: 49 4e 4a 45 43 54 45 44 20 3d 20 30 78 30 30 30  INJECTED = 0x000
54b0: 30 30 30 30 31 20 7d 0d 0a 0d 0a 73 74 72 75 63  00001 }....struc
54c0: 74 20 74 61 67 4b 42 44 4c 4c 48 4f 4f 4b 53 54  t tagKBDLLHOOKST
54d0: 52 55 43 54 20 7b 0d 0a 20 20 44 57 4f 52 44 20  RUCT {..  DWORD 
54e0: 76 6b 43 6f 64 65 3b 0d 0a 20 20 44 57 4f 52 44  vkCode;..  DWORD
54f0: 20 73 63 61 6e 43 6f 64 65 3b 0d 0a 20 20 44 57   scanCode;..  DW
5500: 4f 52 44 20 66 6c 61 67 73 3b 0d 0a 20 20 44 57  ORD flags;..  DW
5510: 4f 52 44 20 74 69 6d 65 3b 0d 0a 20 20 55 4c 4f  ORD time;..  ULO
5520: 4e 47 5f 50 54 52 20 64 77 45 78 74 72 61 49 6e  NG_PTR dwExtraIn
5530: 66 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  fo;..}..alias ta
5540: 67 4b 42 44 4c 4c 48 4f 4f 4b 53 54 52 55 43 54  gKBDLLHOOKSTRUCT
5550: 20 4b 42 44 4c 4c 48 4f 4f 4b 53 54 52 55 43 54   KBDLLHOOKSTRUCT
5560: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4b 42 44 4c  ;..alias tagKBDL
5570: 4c 48 4f 4f 4b 53 54 52 55 43 54 2a 20 4c 50 4b  LHOOKSTRUCT* LPK
5580: 42 44 4c 4c 48 4f 4f 4b 53 54 52 55 43 54 3b 0d  BDLLHOOKSTRUCT;.
5590: 0a 61 6c 69 61 73 20 74 61 67 4b 42 44 4c 4c 48  .alias tagKBDLLH
55a0: 4f 4f 4b 53 54 52 55 43 54 2a 20 50 4b 42 44 4c  OOKSTRUCT* PKBDL
55b0: 4c 48 4f 4f 4b 53 54 52 55 43 54 3b 0d 0a 0d 0a  LHOOKSTRUCT;....
55c0: 73 74 72 75 63 74 20 74 61 67 4d 53 4c 4c 48 4f  struct tagMSLLHO
55d0: 4f 4b 53 54 52 55 43 54 20 7b 0d 0a 20 20 50 4f  OKSTRUCT {..  PO
55e0: 49 4e 54 20 70 74 3b 0d 0a 20 20 44 57 4f 52 44  INT pt;..  DWORD
55f0: 20 6d 6f 75 73 65 44 61 74 61 3b 0d 0a 20 20 44   mouseData;..  D
5600: 57 4f 52 44 20 66 6c 61 67 73 3b 0d 0a 20 20 44  WORD flags;..  D
5610: 57 4f 52 44 20 74 69 6d 65 3b 0d 0a 20 20 55 4c  WORD time;..  UL
5620: 4f 4e 47 5f 50 54 52 20 64 77 45 78 74 72 61 49  ONG_PTR dwExtraI
5630: 6e 66 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  nfo;..}..alias t
5640: 61 67 4d 53 4c 4c 48 4f 4f 4b 53 54 52 55 43 54  agMSLLHOOKSTRUCT
5650: 20 4d 53 4c 4c 48 4f 4f 4b 53 54 52 55 43 54 3b   MSLLHOOKSTRUCT;
5660: 0d 0a 61 6c 69 61 73 20 74 61 67 4d 53 4c 4c 48  ..alias tagMSLLH
5670: 4f 4f 4b 53 54 52 55 43 54 2a 20 4c 50 4d 53 4c  OOKSTRUCT* LPMSL
5680: 4c 48 4f 4f 4b 53 54 52 55 43 54 3b 0d 0a 61 6c  LHOOKSTRUCT;..al
5690: 69 61 73 20 74 61 67 4d 53 4c 4c 48 4f 4f 4b 53  ias tagMSLLHOOKS
56a0: 54 52 55 43 54 2a 20 50 4d 53 4c 4c 48 4f 4f 4b  TRUCT* PMSLLHOOK
56b0: 53 54 52 55 43 54 3b 0d 0a 0d 0a 2f 2f 20 23 65  STRUCT;....// #e
56c0: 6e 64 69 66 20 2f 2f 20 28 5f 57 49 4e 33 32 5f  ndif // (_WIN32_
56d0: 57 49 4e 4e 54 20 3e 3d 20 30 78 30 34 30 30 29  WINNT >= 0x0400)
56e0: 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 44 45  ....struct tagDE
56f0: 42 55 47 48 4f 4f 4b 49 4e 46 4f 20 7b 0d 0a 20  BUGHOOKINFO {.. 
5700: 20 44 57 4f 52 44 20 69 64 54 68 72 65 61 64 3b   DWORD idThread;
5710: 0d 0a 20 20 44 57 4f 52 44 20 69 64 54 68 72 65  ..  DWORD idThre
5720: 61 64 49 6e 73 74 61 6c 6c 65 72 3b 0d 0a 20 20  adInstaller;..  
5730: 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a  LPARAM lParam;..
5740: 20 20 57 50 41 52 41 4d 20 77 50 61 72 61 6d 3b    WPARAM wParam;
5750: 0d 0a 20 20 69 6e 74 20 63 6f 64 65 3b 0d 0a 7d  ..  int code;..}
5760: 0d 0a 61 6c 69 61 73 20 74 61 67 44 45 42 55 47  ..alias tagDEBUG
5770: 48 4f 4f 4b 49 4e 46 4f 20 44 45 42 55 47 48 4f  HOOKINFO DEBUGHO
5780: 4f 4b 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74  OKINFO;..alias t
5790: 61 67 44 45 42 55 47 48 4f 4f 4b 49 4e 46 4f 2a  agDEBUGHOOKINFO*
57a0: 20 50 44 45 42 55 47 48 4f 4f 4b 49 4e 46 4f 3b   PDEBUGHOOKINFO;
57b0: 0d 0a 61 6c 69 61 73 20 74 61 67 44 45 42 55 47  ..alias tagDEBUG
57c0: 48 4f 4f 4b 49 4e 46 4f 2a 20 4e 50 44 45 42 55  HOOKINFO* NPDEBU
57d0: 47 48 4f 4f 4b 49 4e 46 4f 3b 0d 0a 61 6c 69 61  GHOOKINFO;..alia
57e0: 73 20 74 61 67 44 45 42 55 47 48 4f 4f 4b 49 4e  s tagDEBUGHOOKIN
57f0: 46 4f 2a 20 4c 50 44 45 42 55 47 48 4f 4f 4b 49  FO* LPDEBUGHOOKI
5800: 4e 46 4f 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74  NFO;....struct t
5810: 61 67 4d 4f 55 53 45 48 4f 4f 4b 53 54 52 55 43  agMOUSEHOOKSTRUC
5820: 54 20 7b 0d 0a 20 20 50 4f 49 4e 54 20 70 74 3b  T {..  POINT pt;
5830: 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 3b 0d 0a  ..  HWND hwnd;..
5840: 20 20 55 49 4e 54 20 77 48 69 74 54 65 73 74 43    UINT wHitTestC
5850: 6f 64 65 3b 0d 0a 20 20 55 4c 4f 4e 47 5f 50 54  ode;..  ULONG_PT
5860: 52 20 64 77 45 78 74 72 61 49 6e 66 6f 3b 0d 0a  R dwExtraInfo;..
5870: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 4f 55 53  }..alias tagMOUS
5880: 45 48 4f 4f 4b 53 54 52 55 43 54 20 4d 4f 55 53  EHOOKSTRUCT MOUS
5890: 45 48 4f 4f 4b 53 54 52 55 43 54 3b 0d 0a 61 6c  EHOOKSTRUCT;..al
58a0: 69 61 73 20 74 61 67 4d 4f 55 53 45 48 4f 4f 4b  ias tagMOUSEHOOK
58b0: 53 54 52 55 43 54 2a 20 4c 50 4d 4f 55 53 45 48  STRUCT* LPMOUSEH
58c0: 4f 4f 4b 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61  OOKSTRUCT;..alia
58d0: 73 20 74 61 67 4d 4f 55 53 45 48 4f 4f 4b 53 54  s tagMOUSEHOOKST
58e0: 52 55 43 54 2a 20 50 4d 4f 55 53 45 48 4f 4f 4b  RUCT* PMOUSEHOOK
58f0: 53 54 52 55 43 54 3b 0d 0a 0d 0a 2f 2f 20 23 69  STRUCT;....// #i
5900: 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e  f(_WIN32_WINNT >
5910: 3d 20 30 78 30 35 30 30 29 0d 0a 2f 2f 20 23 69  = 0x0500)..// #i
5920: 66 64 65 66 20 5f 5f 63 70 6c 75 73 70 6c 75 73  fdef __cplusplus
5930: 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 4f 55 53  ..struct tagMOUS
5940: 45 48 4f 4f 4b 53 54 52 55 43 54 45 58 20 7b 0d  EHOOKSTRUCTEX {.
5950: 0a 20 20 50 4f 49 4e 54 20 70 74 3b 0d 0a 20 20  .  POINT pt;..  
5960: 48 57 4e 44 20 68 77 6e 64 3b 0d 0a 20 20 55 49  HWND hwnd;..  UI
5970: 4e 54 20 77 48 69 74 54 65 73 74 43 6f 64 65 3b  NT wHitTestCode;
5980: 0d 0a 20 20 55 4c 4f 4e 47 5f 50 54 52 20 64 77  ..  ULONG_PTR dw
5990: 45 78 74 72 61 49 6e 66 6f 3b 0d 0a 20 20 44 57  ExtraInfo;..  DW
59a0: 4f 52 44 20 6d 6f 75 73 65 44 61 74 61 3b 0d 0a  ORD mouseData;..
59b0: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 4f 55 53  }..alias tagMOUS
59c0: 45 48 4f 4f 4b 53 54 52 55 43 54 45 58 20 4d 4f  EHOOKSTRUCTEX MO
59d0: 55 53 45 48 4f 4f 4b 53 54 52 55 43 54 45 58 3b  USEHOOKSTRUCTEX;
59e0: 0d 0a 61 6c 69 61 73 20 74 61 67 4d 4f 55 53 45  ..alias tagMOUSE
59f0: 48 4f 4f 4b 53 54 52 55 43 54 45 58 2a 20 4c 50  HOOKSTRUCTEX* LP
5a00: 4d 4f 55 53 45 48 4f 4f 4b 53 54 52 55 43 54 45  MOUSEHOOKSTRUCTE
5a10: 58 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 4f 55  X;..alias tagMOU
5a20: 53 45 48 4f 4f 4b 53 54 52 55 43 54 45 58 2a 20  SEHOOKSTRUCTEX* 
5a30: 50 4d 4f 55 53 45 48 4f 4f 4b 53 54 52 55 43 54  PMOUSEHOOKSTRUCT
5a40: 45 58 3b 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 20  EX;....// #else 
5a50: 2f 2f 20 6e 64 65 66 20 5f 5f 63 70 6c 75 73 70  // ndef __cplusp
5a60: 6c 75 73 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  lus..// .....// 
5a70: 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69  #endif..// #endi
5a80: 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e  f /* _WIN32_WINN
5a90: 54 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a  T >= 0x0500 */..
5aa0: 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20  ..// #if(WINVER 
5ab0: 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a 73 74  >= 0x0400)....st
5ac0: 72 75 63 74 20 74 61 67 48 41 52 44 57 41 52 45  ruct tagHARDWARE
5ad0: 48 4f 4f 4b 53 54 52 55 43 54 20 7b 0d 0a 20 20  HOOKSTRUCT {..  
5ae0: 48 57 4e 44 20 68 77 6e 64 3b 0d 0a 20 20 55 49  HWND hwnd;..  UI
5af0: 4e 54 20 6d 65 73 73 61 67 65 3b 0d 0a 20 20 57  NT message;..  W
5b00: 50 41 52 41 4d 20 77 50 61 72 61 6d 3b 0d 0a 20  PARAM wParam;.. 
5b10: 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d   LPARAM lParam;.
5b20: 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 48 41 52  .}..alias tagHAR
5b30: 44 57 41 52 45 48 4f 4f 4b 53 54 52 55 43 54 20  DWAREHOOKSTRUCT 
5b40: 48 41 52 44 57 41 52 45 48 4f 4f 4b 53 54 52 55  HARDWAREHOOKSTRU
5b50: 43 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67 48 41  CT;..alias tagHA
5b60: 52 44 57 41 52 45 48 4f 4f 4b 53 54 52 55 43 54  RDWAREHOOKSTRUCT
5b70: 2a 20 4c 50 48 41 52 44 57 41 52 45 48 4f 4f 4b  * LPHARDWAREHOOK
5b80: 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20 74  STRUCT;..alias t
5b90: 61 67 48 41 52 44 57 41 52 45 48 4f 4f 4b 53 54  agHARDWAREHOOKST
5ba0: 52 55 43 54 2a 20 50 48 41 52 44 57 41 52 45 48  RUCT* PHARDWAREH
5bb0: 4f 4f 4b 53 54 52 55 43 54 3b 0d 0a 0d 0a 2f 2f  OOKSTRUCT;....//
5bc0: 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45   #endif /* WINVE
5bd0: 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a  R >= 0x0400 */..
5be0: 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f  // #endif /* !NO
5bf0: 57 48 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  WH */....enum : 
5c00: 75 69 6e 74 20 7b 20 48 4b 4c 5f 50 52 45 56 20  uint { HKL_PREV 
5c10: 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 0 }..enum : ui
5c20: 6e 74 20 7b 20 48 4b 4c 5f 4e 45 58 54 20 3d 20  nt { HKL_NEXT = 
5c30: 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  1 }....enum : ui
5c40: 6e 74 20 7b 20 4b 4c 46 5f 41 43 54 49 56 41 54  nt { KLF_ACTIVAT
5c50: 45 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d  E = 0x00000001 }
5c60: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
5c70: 4b 4c 46 5f 53 55 42 53 54 49 54 55 54 45 5f 4f  KLF_SUBSTITUTE_O
5c80: 4b 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d  K = 0x00000002 }
5c90: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
5ca0: 4b 4c 46 5f 52 45 4f 52 44 45 52 20 3d 20 30 78  KLF_REORDER = 0x
5cb0: 30 30 30 30 30 30 30 38 20 7d 0d 0a 2f 2f 20 23  00000008 }..// #
5cc0: 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  if(WINVER >= 0x0
5cd0: 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  400)..enum : uin
5ce0: 74 20 7b 20 4b 4c 46 5f 52 45 50 4c 41 43 45 4c  t { KLF_REPLACEL
5cf0: 41 4e 47 20 3d 20 30 78 30 30 30 30 30 30 31 30  ANG = 0x00000010
5d00: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
5d10: 7b 20 4b 4c 46 5f 4e 4f 54 45 4c 4c 53 48 45 4c  { KLF_NOTELLSHEL
5d20: 4c 20 3d 20 30 78 30 30 30 30 30 30 38 30 20 7d  L = 0x00000080 }
5d30: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
5d40: 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20  INVER >= 0x0400 
5d50: 2a 2f 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  */..enum : uint 
5d60: 7b 20 4b 4c 46 5f 53 45 54 46 4f 52 50 52 4f 43  { KLF_SETFORPROC
5d70: 45 53 53 20 3d 20 30 78 30 30 30 30 30 31 30 30  ESS = 0x00000100
5d80: 20 7d 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33   }..// #if(_WIN3
5d90: 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30  2_WINNT >= 0x050
5da0: 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
5db0: 7b 20 4b 4c 46 5f 53 48 49 46 54 4c 4f 43 4b 20  { KLF_SHIFTLOCK 
5dc0: 3d 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a  = 0x00010000 }..
5dd0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4b 4c  enum : uint { KL
5de0: 46 5f 52 45 53 45 54 20 3d 20 30 78 34 30 30 30  F_RESET = 0x4000
5df0: 30 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0000 }..// #endi
5e00: 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e  f /* _WIN32_WINN
5e10: 54 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a  T >= 0x0500 */..
5e20: 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20  ..// #if(WINVER 
5e30: 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 65 6e  >= 0x0500)....en
5e40: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4e 50 55  um : uint { INPU
5e50: 54 4c 41 4e 47 43 48 41 4e 47 45 5f 53 59 53 43  TLANGCHANGE_SYSC
5e60: 48 41 52 53 45 54 20 3d 20 30 78 30 30 30 31 20  HARSET = 0x0001 
5e70: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
5e80: 20 49 4e 50 55 54 4c 41 4e 47 43 48 41 4e 47 45   INPUTLANGCHANGE
5e90: 5f 46 4f 52 57 41 52 44 20 3d 20 30 78 30 30 30  _FORWARD = 0x000
5ea0: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
5eb0: 20 7b 20 49 4e 50 55 54 4c 41 4e 47 43 48 41 4e   { INPUTLANGCHAN
5ec0: 47 45 5f 42 41 43 4b 57 41 52 44 20 3d 20 30 78  GE_BACKWARD = 0x
5ed0: 30 30 30 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0004 }..// #endi
5ee0: 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
5ef0: 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d  x0500 */....enum
5f00: 20 3a 20 75 69 6e 74 20 7b 20 4b 4c 5f 4e 41 4d   : uint { KL_NAM
5f10: 45 4c 45 4e 47 54 48 20 3d 20 39 20 7d 0d 0a 0d  ELENGTH = 9 }...
5f20: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
5f30: 20 65 78 70 6f 72 74 20 48 4b 4c 20 4c 6f 61 64   export HKL Load
5f40: 4b 65 79 62 6f 61 72 64 4c 61 79 6f 75 74 41 28  KeyboardLayoutA(
5f50: 0d 0a 20 20 4c 50 43 53 54 52 20 70 77 73 7a 4b  ..  LPCSTR pwszK
5f60: 4c 49 44 2c 0d 0a 20 20 55 49 4e 54 20 46 6c 61  LID,..  UINT Fla
5f70: 67 73 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  gs);..extern(Win
5f80: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 4b 4c  dows) export HKL
5f90: 20 4c 6f 61 64 4b 65 79 62 6f 61 72 64 4c 61 79   LoadKeyboardLay
5fa0: 6f 75 74 57 28 0d 0a 20 20 4c 50 43 57 53 54 52  outW(..  LPCWSTR
5fb0: 20 70 77 73 7a 4b 4c 49 44 2c 0d 0a 20 20 55 49   pwszKLID,..  UI
5fc0: 4e 54 20 46 6c 61 67 73 29 3b 0d 0a 2f 2f 20 23  NT Flags);..// #
5fd0: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
5fe0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
5ff0: 0d 0a 61 6c 69 61 73 20 4c 6f 61 64 4b 65 79 62  ..alias LoadKeyb
6000: 6f 61 72 64 4c 61 79 6f 75 74 41 20 4c 6f 61 64  oardLayoutA Load
6010: 4b 65 79 62 6f 61 72 64 4c 61 79 6f 75 74 3b 0d  KeyboardLayout;.
6020: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
6030: 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 69 66  NICODE....// #if
6040: 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30  (WINVER >= 0x040
6050: 30 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  0)..extern(Windo
6060: 77 73 29 20 65 78 70 6f 72 74 20 48 4b 4c 20 41  ws) export HKL A
6070: 63 74 69 76 61 74 65 4b 65 79 62 6f 61 72 64 4c  ctivateKeyboardL
6080: 61 79 6f 75 74 28 0d 0a 20 20 48 4b 4c 20 68 6b  ayout(..  HKL hk
6090: 6c 2c 0d 0a 20 20 55 49 4e 54 20 46 6c 61 67 73  l,..  UINT Flags
60a0: 29 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  );..// #else..//
60b0: 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20   .....// #endif 
60c0: 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
60d0: 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66  400 */....// #if
60e0: 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30  (WINVER >= 0x040
60f0: 30 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  0)..extern(Windo
6100: 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 54  ws) export int T
6110: 6f 55 6e 69 63 6f 64 65 45 78 28 0d 0a 20 20 55  oUnicodeEx(..  U
6120: 49 4e 54 20 77 56 69 72 74 4b 65 79 2c 0d 0a 20  INT wVirtKey,.. 
6130: 20 55 49 4e 54 20 77 53 63 61 6e 43 6f 64 65 2c   UINT wScanCode,
6140: 0d 0a 20 20 42 59 54 45 20 2a 6c 70 4b 65 79 53  ..  BYTE *lpKeyS
6150: 74 61 74 65 2c 0d 0a 20 20 4c 50 57 53 54 52 20  tate,..  LPWSTR 
6160: 70 77 73 7a 42 75 66 66 2c 0d 0a 20 20 69 6e 74  pwszBuff,..  int
6170: 20 63 63 68 42 75 66 66 2c 0d 0a 20 20 55 49 4e   cchBuff,..  UIN
6180: 54 20 77 46 6c 61 67 73 2c 0d 0a 20 20 48 4b 4c  T wFlags,..  HKL
6190: 20 64 77 68 6b 6c 29 3b 0d 0a 2f 2f 20 23 65 6e   dwhkl);..// #en
61a0: 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d  dif /* WINVER >=
61b0: 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65 78   0x0400 */....ex
61c0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
61d0: 70 6f 72 74 20 42 4f 4f 4c 20 55 6e 6c 6f 61 64  port BOOL Unload
61e0: 4b 65 79 62 6f 61 72 64 4c 61 79 6f 75 74 28 0d  KeyboardLayout(.
61f0: 0a 20 20 48 4b 4c 20 68 6b 6c 29 3b 0d 0a 0d 0a  .  HKL hkl);....
6200: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
6210: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 4b  export BOOL GetK
6220: 65 79 62 6f 61 72 64 4c 61 79 6f 75 74 4e 61 6d  eyboardLayoutNam
6230: 65 41 28 0d 0a 20 20 4c 50 53 54 52 20 70 77 73  eA(..  LPSTR pws
6240: 7a 4b 4c 49 44 29 3b 0d 0a 65 78 74 65 72 6e 28  zKLID);..extern(
6250: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
6260: 42 4f 4f 4c 20 47 65 74 4b 65 79 62 6f 61 72 64  BOOL GetKeyboard
6270: 4c 61 79 6f 75 74 4e 61 6d 65 57 28 0d 0a 20 20  LayoutNameW(..  
6280: 4c 50 57 53 54 52 20 70 77 73 7a 4b 4c 49 44 29  LPWSTR pwszKLID)
6290: 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
62a0: 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
62b0: 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 47  / #else..alias G
62c0: 65 74 4b 65 79 62 6f 61 72 64 4c 61 79 6f 75 74  etKeyboardLayout
62d0: 4e 61 6d 65 41 20 47 65 74 4b 65 79 62 6f 61 72  NameA GetKeyboar
62e0: 64 4c 61 79 6f 75 74 4e 61 6d 65 3b 0d 0a 2f 2f  dLayoutName;..//
62f0: 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
6300: 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49  ODE....// #if(WI
6310: 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d  NVER >= 0x0400).
6320: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
6330: 20 65 78 70 6f 72 74 20 69 6e 74 20 47 65 74 4b   export int GetK
6340: 65 79 62 6f 61 72 64 4c 61 79 6f 75 74 4c 69 73  eyboardLayoutLis
6350: 74 28 0d 0a 20 20 69 6e 74 20 6e 42 75 66 66 2c  t(..  int nBuff,
6360: 0d 0a 20 20 48 4b 4c 20 2a 6c 70 4c 69 73 74 29  ..  HKL *lpList)
6370: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
6380: 6f 77 73 29 20 65 78 70 6f 72 74 20 48 4b 4c 20  ows) export HKL 
6390: 47 65 74 4b 65 79 62 6f 61 72 64 4c 61 79 6f 75  GetKeyboardLayou
63a0: 74 28 0d 0a 20 20 44 57 4f 52 44 20 69 64 54 68  t(..  DWORD idTh
63b0: 72 65 61 64 0d 0a 29 3b 0d 0a 2f 2f 20 23 65 6e  read..);..// #en
63c0: 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d  dif /* WINVER >=
63d0: 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f   0x0400 */....//
63e0: 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
63f0: 78 30 35 30 30 29 0d 0a 0d 0a 73 74 72 75 63 74  x0500)....struct
6400: 20 74 61 67 4d 4f 55 53 45 4d 4f 56 45 50 4f 49   tagMOUSEMOVEPOI
6410: 4e 54 20 7b 0d 0a 20 20 69 6e 74 20 78 3b 0d 0a  NT {..  int x;..
6420: 20 20 69 6e 74 20 79 3b 0d 0a 20 20 44 57 4f 52    int y;..  DWOR
6430: 44 20 74 69 6d 65 3b 0d 0a 20 20 55 4c 4f 4e 47  D time;..  ULONG
6440: 5f 50 54 52 20 64 77 45 78 74 72 61 49 6e 66 6f  _PTR dwExtraInfo
6450: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d  ;..}..alias tagM
6460: 4f 55 53 45 4d 4f 56 45 50 4f 49 4e 54 20 4d 4f  OUSEMOVEPOINT MO
6470: 55 53 45 4d 4f 56 45 50 4f 49 4e 54 3b 0d 0a 61  USEMOVEPOINT;..a
6480: 6c 69 61 73 20 74 61 67 4d 4f 55 53 45 4d 4f 56  lias tagMOUSEMOV
6490: 45 50 4f 49 4e 54 2a 20 50 4d 4f 55 53 45 4d 4f  EPOINT* PMOUSEMO
64a0: 56 45 50 4f 49 4e 54 3b 0d 0a 61 6c 69 61 73 20  VEPOINT;..alias 
64b0: 74 61 67 4d 4f 55 53 45 4d 4f 56 45 50 4f 49 4e  tagMOUSEMOVEPOIN
64c0: 54 2a 20 4c 50 4d 4f 55 53 45 4d 4f 56 45 50 4f  T* LPMOUSEMOVEPO
64d0: 49 4e 54 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  INT;....enum : u
64e0: 69 6e 74 20 7b 20 47 4d 4d 50 5f 55 53 45 5f 44  int { GMMP_USE_D
64f0: 49 53 50 4c 41 59 5f 50 4f 49 4e 54 53 20 3d 20  ISPLAY_POINTS = 
6500: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
6510: 20 7b 20 47 4d 4d 50 5f 55 53 45 5f 48 49 47 48   { GMMP_USE_HIGH
6520: 5f 52 45 53 4f 4c 55 54 49 4f 4e 5f 50 4f 49 4e  _RESOLUTION_POIN
6530: 54 53 20 3d 20 32 20 7d 0d 0a 0d 0a 65 78 74 65  TS = 2 }....exte
6540: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
6550: 72 74 20 69 6e 74 20 47 65 74 4d 6f 75 73 65 4d  rt int GetMouseM
6560: 6f 76 65 50 6f 69 6e 74 73 45 78 28 0d 0a 20 20  ovePointsEx(..  
6570: 55 49 4e 54 20 63 62 53 69 7a 65 2c 0d 0a 20 20  UINT cbSize,..  
6580: 4c 50 4d 4f 55 53 45 4d 4f 56 45 50 4f 49 4e 54  LPMOUSEMOVEPOINT
6590: 20 6c 70 70 74 2c 0d 0a 20 20 4c 50 4d 4f 55 53   lppt,..  LPMOUS
65a0: 45 4d 4f 56 45 50 4f 49 4e 54 20 6c 70 70 74 42  EMOVEPOINT lpptB
65b0: 75 66 2c 0d 0a 20 20 69 6e 74 20 6e 42 75 66 50  uf,..  int nBufP
65c0: 6f 69 6e 74 73 2c 0d 0a 20 20 44 57 4f 52 44 20  oints,..  DWORD 
65d0: 72 65 73 6f 6c 75 74 69 6f 6e 0d 0a 29 3b 0d 0a  resolution..);..
65e0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
65f0: 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 20  INVER >= 0x0500 
6600: 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  */....// #ifndef
6610: 20 4e 4f 44 45 53 4b 54 4f 50 0d 0a 0d 0a 65 6e   NODESKTOP....en
6620: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 45 53 4b  um : uint { DESK
6630: 54 4f 50 5f 52 45 41 44 4f 42 4a 45 43 54 53 20  TOP_READOBJECTS 
6640: 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  = 0x0001 }..enum
6650: 20 3a 20 75 69 6e 74 20 7b 20 44 45 53 4b 54 4f   : uint { DESKTO
6660: 50 5f 43 52 45 41 54 45 57 49 4e 44 4f 57 20 3d  P_CREATEWINDOW =
6670: 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20   0x0002 }..enum 
6680: 3a 20 75 69 6e 74 20 7b 20 44 45 53 4b 54 4f 50  : uint { DESKTOP
6690: 5f 43 52 45 41 54 45 4d 45 4e 55 20 3d 20 30 78  _CREATEMENU = 0x
66a0: 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
66b0: 69 6e 74 20 7b 20 44 45 53 4b 54 4f 50 5f 48 4f  int { DESKTOP_HO
66c0: 4f 4b 43 4f 4e 54 52 4f 4c 20 3d 20 30 78 30 30  OKCONTROL = 0x00
66d0: 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
66e0: 74 20 7b 20 44 45 53 4b 54 4f 50 5f 4a 4f 55 52  t { DESKTOP_JOUR
66f0: 4e 41 4c 52 45 43 4f 52 44 20 3d 20 30 78 30 30  NALRECORD = 0x00
6700: 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
6710: 74 20 7b 20 44 45 53 4b 54 4f 50 5f 4a 4f 55 52  t { DESKTOP_JOUR
6720: 4e 41 4c 50 4c 41 59 42 41 43 4b 20 3d 20 30 78  NALPLAYBACK = 0x
6730: 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0020 }..enum : u
6740: 69 6e 74 20 7b 20 44 45 53 4b 54 4f 50 5f 45 4e  int { DESKTOP_EN
6750: 55 4d 45 52 41 54 45 20 3d 20 30 78 30 30 34 30  UMERATE = 0x0040
6760: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
6770: 7b 20 44 45 53 4b 54 4f 50 5f 57 52 49 54 45 4f  { DESKTOP_WRITEO
6780: 42 4a 45 43 54 53 20 3d 20 30 78 30 30 38 30 20  BJECTS = 0x0080 
6790: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
67a0: 20 44 45 53 4b 54 4f 50 5f 53 57 49 54 43 48 44   DESKTOP_SWITCHD
67b0: 45 53 4b 54 4f 50 20 3d 20 30 78 30 31 30 30 20  ESKTOP = 0x0100 
67c0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
67d0: 20 7b 20 44 46 5f 41 4c 4c 4f 57 4f 54 48 45 52   { DF_ALLOWOTHER
67e0: 41 43 43 4f 55 4e 54 48 4f 4f 4b 20 3d 20 30 78  ACCOUNTHOOK = 0x
67f0: 30 30 30 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66  0001 }....// #if
6800: 64 65 66 20 5f 57 49 4e 47 44 49 5f 0d 0a 2f 2f  def _WINGDI_..//
6810: 20 23 69 66 6e 64 65 66 20 4e 4f 47 44 49 0d 0a   #ifndef NOGDI..
6820: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66  ..// .....// #if
6830: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
6840: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
6850: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
6860: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
6870: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 4e  ..// #endif /* N
6880: 4f 47 44 49 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64  OGDI */..// #end
6890: 69 66 20 2f 2a 20 5f 57 49 4e 47 44 49 5f 20 2a  if /* _WINGDI_ *
68a0: 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  /....extern(Wind
68b0: 6f 77 73 29 20 65 78 70 6f 72 74 20 48 44 45 53  ows) export HDES
68c0: 4b 20 4f 70 65 6e 44 65 73 6b 74 6f 70 41 28 0d  K OpenDesktopA(.
68d0: 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 7a 44 65  .  LPCSTR lpszDe
68e0: 73 6b 74 6f 70 2c 0d 0a 20 20 44 57 4f 52 44 20  sktop,..  DWORD 
68f0: 64 77 46 6c 61 67 73 2c 0d 0a 20 20 42 4f 4f 4c  dwFlags,..  BOOL
6900: 20 66 49 6e 68 65 72 69 74 2c 0d 0a 20 20 41 43   fInherit,..  AC
6910: 43 45 53 53 5f 4d 41 53 4b 20 64 77 44 65 73 69  CESS_MASK dwDesi
6920: 72 65 64 41 63 63 65 73 73 29 3b 0d 0a 65 78 74  redAccess);..ext
6930: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
6940: 6f 72 74 20 48 44 45 53 4b 20 4f 70 65 6e 44 65  ort HDESK OpenDe
6950: 73 6b 74 6f 70 57 28 0d 0a 20 20 4c 50 43 57 53  sktopW(..  LPCWS
6960: 54 52 20 6c 70 73 7a 44 65 73 6b 74 6f 70 2c 0d  TR lpszDesktop,.
6970: 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73  .  DWORD dwFlags
6980: 2c 0d 0a 20 20 42 4f 4f 4c 20 66 49 6e 68 65 72  ,..  BOOL fInher
6990: 69 74 2c 0d 0a 20 20 41 43 43 45 53 53 5f 4d 41  it,..  ACCESS_MA
69a0: 53 4b 20 64 77 44 65 73 69 72 65 64 41 63 63 65  SK dwDesiredAcce
69b0: 73 73 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  ss);..// #ifdef 
69c0: 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e  UNICODE..// #...
69d0: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
69e0: 73 20 4f 70 65 6e 44 65 73 6b 74 6f 70 41 20 4f  s OpenDesktopA O
69f0: 70 65 6e 44 65 73 6b 74 6f 70 3b 0d 0a 2f 2f 20  penDesktop;..// 
6a00: 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
6a10: 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
6a20: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 44 45  dows) export HDE
6a30: 53 4b 20 4f 70 65 6e 49 6e 70 75 74 44 65 73 6b  SK OpenInputDesk
6a40: 74 6f 70 28 0d 0a 20 20 44 57 4f 52 44 20 64 77  top(..  DWORD dw
6a50: 46 6c 61 67 73 2c 0d 0a 20 20 42 4f 4f 4c 20 66  Flags,..  BOOL f
6a60: 49 6e 68 65 72 69 74 2c 0d 0a 20 20 41 43 43 45  Inherit,..  ACCE
6a70: 53 53 5f 4d 41 53 4b 20 64 77 44 65 73 69 72 65  SS_MASK dwDesire
6a80: 64 41 63 63 65 73 73 29 3b 0d 0a 0d 0a 65 78 74  dAccess);....ext
6a90: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
6aa0: 6f 72 74 20 42 4f 4f 4c 20 45 6e 75 6d 44 65 73  ort BOOL EnumDes
6ab0: 6b 74 6f 70 73 41 28 0d 0a 20 20 48 57 49 4e 53  ktopsA(..  HWINS
6ac0: 54 41 20 68 77 69 6e 73 74 61 2c 0d 0a 20 20 44  TA hwinsta,..  D
6ad0: 45 53 4b 54 4f 50 45 4e 55 4d 50 52 4f 43 41 20  ESKTOPENUMPROCA 
6ae0: 6c 70 45 6e 75 6d 46 75 6e 63 2c 0d 0a 20 20 4c  lpEnumFunc,..  L
6af0: 50 41 52 41 4d 20 6c 50 61 72 61 6d 29 3b 0d 0a  PARAM lParam);..
6b00: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
6b10: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 45 6e 75 6d  export BOOL Enum
6b20: 44 65 73 6b 74 6f 70 73 57 28 0d 0a 20 20 48 57  DesktopsW(..  HW
6b30: 49 4e 53 54 41 20 68 77 69 6e 73 74 61 2c 0d 0a  INSTA hwinsta,..
6b40: 20 20 44 45 53 4b 54 4f 50 45 4e 55 4d 50 52 4f    DESKTOPENUMPRO
6b50: 43 57 20 6c 70 45 6e 75 6d 46 75 6e 63 2c 0d 0a  CW lpEnumFunc,..
6b60: 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 29    LPARAM lParam)
6b70: 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
6b80: 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
6b90: 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 45  / #else..alias E
6ba0: 6e 75 6d 44 65 73 6b 74 6f 70 73 41 20 45 6e 75  numDesktopsA Enu
6bb0: 6d 44 65 73 6b 74 6f 70 73 3b 0d 0a 2f 2f 20 23  mDesktops;..// #
6bc0: 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
6bd0: 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  E....extern(Wind
6be0: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
6bf0: 20 45 6e 75 6d 44 65 73 6b 74 6f 70 57 69 6e 64   EnumDesktopWind
6c00: 6f 77 73 28 0d 0a 20 20 48 44 45 53 4b 20 68 44  ows(..  HDESK hD
6c10: 65 73 6b 74 6f 70 2c 0d 0a 20 20 57 4e 44 45 4e  esktop,..  WNDEN
6c20: 55 4d 50 52 4f 43 20 6c 70 66 6e 2c 0d 0a 20 20  UMPROC lpfn,..  
6c30: 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 29 3b 0d  LPARAM lParam);.
6c40: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
6c50: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53  s) export BOOL S
6c60: 77 69 74 63 68 44 65 73 6b 74 6f 70 28 0d 0a 20  witchDesktop(.. 
6c70: 20 48 44 45 53 4b 20 68 44 65 73 6b 74 6f 70 29   HDESK hDesktop)
6c80: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
6c90: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
6ca0: 20 53 65 74 54 68 72 65 61 64 44 65 73 6b 74 6f   SetThreadDeskto
6cb0: 70 28 0d 0a 20 20 48 44 45 53 4b 20 68 44 65 73  p(..  HDESK hDes
6cc0: 6b 74 6f 70 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  ktop);....extern
6cd0: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
6ce0: 20 42 4f 4f 4c 20 43 6c 6f 73 65 44 65 73 6b 74   BOOL CloseDeskt
6cf0: 6f 70 28 0d 0a 20 20 48 44 45 53 4b 20 68 44 65  op(..  HDESK hDe
6d00: 73 6b 74 6f 70 29 3b 0d 0a 0d 0a 65 78 74 65 72  sktop);....exter
6d10: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
6d20: 74 20 48 44 45 53 4b 20 47 65 74 54 68 72 65 61  t HDESK GetThrea
6d30: 64 44 65 73 6b 74 6f 70 28 0d 0a 20 20 44 57 4f  dDesktop(..  DWO
6d40: 52 44 20 64 77 54 68 72 65 61 64 49 64 29 3b 0d  RD dwThreadId);.
6d50: 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2a 20 21  .// #endif  /* !
6d60: 4e 4f 44 45 53 4b 54 4f 50 20 2a 2f 0d 0a 0d 0a  NODESKTOP */....
6d70: 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 57 49 4e  // #ifndef NOWIN
6d80: 44 4f 57 53 54 41 54 49 4f 4e 0d 0a 0d 0a 65 6e  DOWSTATION....en
6d90: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 49 4e 53  um : uint { WINS
6da0: 54 41 5f 45 4e 55 4d 44 45 53 4b 54 4f 50 53 20  TA_ENUMDESKTOPS 
6db0: 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  = 0x0001 }..enum
6dc0: 20 3a 20 75 69 6e 74 20 7b 20 57 49 4e 53 54 41   : uint { WINSTA
6dd0: 5f 52 45 41 44 41 54 54 52 49 42 55 54 45 53 20  _READATTRIBUTES 
6de0: 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
6df0: 20 3a 20 75 69 6e 74 20 7b 20 57 49 4e 53 54 41   : uint { WINSTA
6e00: 5f 41 43 43 45 53 53 43 4c 49 50 42 4f 41 52 44  _ACCESSCLIPBOARD
6e10: 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75   = 0x0004 }..enu
6e20: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 49 4e 53 54  m : uint { WINST
6e30: 41 5f 43 52 45 41 54 45 44 45 53 4b 54 4f 50 20  A_CREATEDESKTOP 
6e40: 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d  = 0x0008 }..enum
6e50: 20 3a 20 75 69 6e 74 20 7b 20 57 49 4e 53 54 41   : uint { WINSTA
6e60: 5f 57 52 49 54 45 41 54 54 52 49 42 55 54 45 53  _WRITEATTRIBUTES
6e70: 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75   = 0x0010 }..enu
6e80: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 49 4e 53 54  m : uint { WINST
6e90: 41 5f 41 43 43 45 53 53 47 4c 4f 42 41 4c 41 54  A_ACCESSGLOBALAT
6ea0: 4f 4d 53 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a  OMS = 0x0020 }..
6eb0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 49  enum : uint { WI
6ec0: 4e 53 54 41 5f 45 58 49 54 57 49 4e 44 4f 57 53  NSTA_EXITWINDOWS
6ed0: 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 65 6e 75   = 0x0040 }..enu
6ee0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 49 4e 53 54  m : uint { WINST
6ef0: 41 5f 45 4e 55 4d 45 52 41 54 45 20 3d 20 30 78  A_ENUMERATE = 0x
6f00: 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0100 }..enum : u
6f10: 69 6e 74 20 7b 20 57 49 4e 53 54 41 5f 52 45 41  int { WINSTA_REA
6f20: 44 53 43 52 45 45 4e 20 3d 20 30 78 30 32 30 30  DSCREEN = 0x0200
6f30: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
6f40: 74 20 7b 20 57 53 46 5f 56 49 53 49 42 4c 45 20  t { WSF_VISIBLE 
6f50: 3d 20 30 78 30 30 30 31 20 7d 0d 0a 0d 0a 65 78  = 0x0001 }....ex
6f60: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
6f70: 70 6f 72 74 20 48 57 49 4e 53 54 41 20 43 72 65  port HWINSTA Cre
6f80: 61 74 65 57 69 6e 64 6f 77 53 74 61 74 69 6f 6e  ateWindowStation
6f90: 41 28 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 77  A(..  LPCSTR lpw
6fa0: 69 6e 73 74 61 2c 0d 0a 20 20 44 57 4f 52 44 20  insta,..  DWORD 
6fb0: 64 77 52 65 73 65 72 76 65 64 2c 0d 0a 20 20 41  dwReserved,..  A
6fc0: 43 43 45 53 53 5f 4d 41 53 4b 20 64 77 44 65 73  CCESS_MASK dwDes
6fd0: 69 72 65 64 41 63 63 65 73 73 2c 0d 0a 20 20 4c  iredAccess,..  L
6fe0: 50 53 45 43 55 52 49 54 59 5f 41 54 54 52 49 42  PSECURITY_ATTRIB
6ff0: 55 54 45 53 20 6c 70 73 61 29 3b 0d 0a 65 78 74  UTES lpsa);..ext
7000: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
7010: 6f 72 74 20 48 57 49 4e 53 54 41 20 43 72 65 61  ort HWINSTA Crea
7020: 74 65 57 69 6e 64 6f 77 53 74 61 74 69 6f 6e 57  teWindowStationW
7030: 28 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 77  (..  LPCWSTR lpw
7040: 69 6e 73 74 61 2c 0d 0a 20 20 44 57 4f 52 44 20  insta,..  DWORD 
7050: 64 77 52 65 73 65 72 76 65 64 2c 0d 0a 20 20 41  dwReserved,..  A
7060: 43 43 45 53 53 5f 4d 41 53 4b 20 64 77 44 65 73  CCESS_MASK dwDes
7070: 69 72 65 64 41 63 63 65 73 73 2c 0d 0a 20 20 4c  iredAccess,..  L
7080: 50 53 45 43 55 52 49 54 59 5f 41 54 54 52 49 42  PSECURITY_ATTRIB
7090: 55 54 45 53 20 6c 70 73 61 29 3b 0d 0a 2f 2f 20  UTES lpsa);..// 
70a0: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
70b0: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
70c0: 65 0d 0a 61 6c 69 61 73 20 43 72 65 61 74 65 57  e..alias CreateW
70d0: 69 6e 64 6f 77 53 74 61 74 69 6f 6e 41 20 43 72  indowStationA Cr
70e0: 65 61 74 65 57 69 6e 64 6f 77 53 74 61 74 69 6f  eateWindowStatio
70f0: 6e 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  n;..// #endif //
7100: 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74   !UNICODE....ext
7110: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
7120: 6f 72 74 20 48 57 49 4e 53 54 41 20 4f 70 65 6e  ort HWINSTA Open
7130: 57 69 6e 64 6f 77 53 74 61 74 69 6f 6e 41 28 0d  WindowStationA(.
7140: 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 7a 57 69  .  LPCSTR lpszWi
7150: 6e 53 74 61 2c 0d 0a 20 20 42 4f 4f 4c 20 66 49  nSta,..  BOOL fI
7160: 6e 68 65 72 69 74 2c 0d 0a 20 20 41 43 43 45 53  nherit,..  ACCES
7170: 53 5f 4d 41 53 4b 20 64 77 44 65 73 69 72 65 64  S_MASK dwDesired
7180: 41 63 63 65 73 73 29 3b 0d 0a 65 78 74 65 72 6e  Access);..extern
7190: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
71a0: 20 48 57 49 4e 53 54 41 20 4f 70 65 6e 57 69 6e   HWINSTA OpenWin
71b0: 64 6f 77 53 74 61 74 69 6f 6e 57 28 0d 0a 20 20  dowStationW(..  
71c0: 4c 50 43 57 53 54 52 20 6c 70 73 7a 57 69 6e 53  LPCWSTR lpszWinS
71d0: 74 61 2c 0d 0a 20 20 42 4f 4f 4c 20 66 49 6e 68  ta,..  BOOL fInh
71e0: 65 72 69 74 2c 0d 0a 20 20 41 43 43 45 53 53 5f  erit,..  ACCESS_
71f0: 4d 41 53 4b 20 64 77 44 65 73 69 72 65 64 41 63  MASK dwDesiredAc
7200: 63 65 73 73 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  cess);..// #ifde
7210: 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
7220: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
7230: 69 61 73 20 4f 70 65 6e 57 69 6e 64 6f 77 53 74  ias OpenWindowSt
7240: 61 74 69 6f 6e 41 20 4f 70 65 6e 57 69 6e 64 6f  ationA OpenWindo
7250: 77 53 74 61 74 69 6f 6e 3b 0d 0a 2f 2f 20 23 65  wStation;..// #e
7260: 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
7270: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
7280: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
7290: 45 6e 75 6d 57 69 6e 64 6f 77 53 74 61 74 69 6f  EnumWindowStatio
72a0: 6e 73 41 28 0d 0a 20 20 57 49 4e 53 54 41 45 4e  nsA(..  WINSTAEN
72b0: 55 4d 50 52 4f 43 41 20 6c 70 45 6e 75 6d 46 75  UMPROCA lpEnumFu
72c0: 6e 63 2c 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50  nc,..  LPARAM lP
72d0: 61 72 61 6d 29 3b 0d 0a 65 78 74 65 72 6e 28 57  aram);..extern(W
72e0: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
72f0: 4f 4f 4c 20 45 6e 75 6d 57 69 6e 64 6f 77 53 74  OOL EnumWindowSt
7300: 61 74 69 6f 6e 73 57 28 0d 0a 20 20 57 49 4e 53  ationsW(..  WINS
7310: 54 41 45 4e 55 4d 50 52 4f 43 57 20 6c 70 45 6e  TAENUMPROCW lpEn
7320: 75 6d 46 75 6e 63 2c 0d 0a 20 20 4c 50 41 52 41  umFunc,..  LPARA
7330: 4d 20 6c 50 61 72 61 6d 29 3b 0d 0a 2f 2f 20 23  M lParam);..// #
7340: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
7350: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
7360: 0d 0a 61 6c 69 61 73 20 45 6e 75 6d 57 69 6e 64  ..alias EnumWind
7370: 6f 77 53 74 61 74 69 6f 6e 73 41 20 45 6e 75 6d  owStationsA Enum
7380: 57 69 6e 64 6f 77 53 74 61 74 69 6f 6e 73 3b 0d  WindowStations;.
7390: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
73a0: 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
73b0: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
73c0: 20 42 4f 4f 4c 20 43 6c 6f 73 65 57 69 6e 64 6f   BOOL CloseWindo
73d0: 77 53 74 61 74 69 6f 6e 28 0d 0a 20 20 48 57 49  wStation(..  HWI
73e0: 4e 53 54 41 20 68 57 69 6e 53 74 61 29 3b 0d 0a  NSTA hWinSta);..
73f0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
7400: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65  ) export BOOL Se
7410: 74 50 72 6f 63 65 73 73 57 69 6e 64 6f 77 53 74  tProcessWindowSt
7420: 61 74 69 6f 6e 28 0d 0a 20 20 48 57 49 4e 53 54  ation(..  HWINST
7430: 41 20 68 57 69 6e 53 74 61 29 3b 0d 0a 0d 0a 65  A hWinSta);....e
7440: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
7450: 78 70 6f 72 74 20 48 57 49 4e 53 54 41 20 47 65  xport HWINSTA Ge
7460: 74 50 72 6f 63 65 73 73 57 69 6e 64 6f 77 53 74  tProcessWindowSt
7470: 61 74 69 6f 6e 28 29 3b 0d 0a 2f 2f 20 23 65 6e  ation();..// #en
7480: 64 69 66 20 20 2f 2a 20 21 4e 4f 57 49 4e 44 4f  dif  /* !NOWINDO
7490: 57 53 54 41 54 49 4f 4e 20 2a 2f 0d 0a 0d 0a 2f  WSTATION */..../
74a0: 2f 20 23 69 66 6e 64 65 66 20 4e 4f 53 45 43 55  / #ifndef NOSECU
74b0: 52 49 54 59 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  RITY....extern(W
74c0: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
74d0: 4f 4f 4c 20 53 65 74 55 73 65 72 4f 62 6a 65 63  OOL SetUserObjec
74e0: 74 53 65 63 75 72 69 74 79 28 0d 0a 20 20 48 41  tSecurity(..  HA
74f0: 4e 44 4c 45 20 68 4f 62 6a 2c 0d 0a 20 20 50 53  NDLE hObj,..  PS
7500: 45 43 55 52 49 54 59 5f 49 4e 46 4f 52 4d 41 54  ECURITY_INFORMAT
7510: 49 4f 4e 20 70 53 49 52 65 71 75 65 73 74 65 64  ION pSIRequested
7520: 2c 0d 0a 20 20 50 53 45 43 55 52 49 54 59 5f 44  ,..  PSECURITY_D
7530: 45 53 43 52 49 50 54 4f 52 20 70 53 49 44 29 3b  ESCRIPTOR pSID);
7540: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
7550: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
7560: 47 65 74 55 73 65 72 4f 62 6a 65 63 74 53 65 63  GetUserObjectSec
7570: 75 72 69 74 79 28 0d 0a 20 20 48 41 4e 44 4c 45  urity(..  HANDLE
7580: 20 68 4f 62 6a 2c 0d 0a 20 20 50 53 45 43 55 52   hObj,..  PSECUR
7590: 49 54 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20  ITY_INFORMATION 
75a0: 70 53 49 52 65 71 75 65 73 74 65 64 2c 0d 0a 20  pSIRequested,.. 
75b0: 20 50 53 45 43 55 52 49 54 59 5f 44 45 53 43 52   PSECURITY_DESCR
75c0: 49 50 54 4f 52 20 70 53 49 44 2c 0d 0a 20 20 44  IPTOR pSID,..  D
75d0: 57 4f 52 44 20 6e 4c 65 6e 67 74 68 2c 0d 0a 20  WORD nLength,.. 
75e0: 20 4c 50 44 57 4f 52 44 20 6c 70 6e 4c 65 6e 67   LPDWORD lpnLeng
75f0: 74 68 4e 65 65 64 65 64 29 3b 0d 0a 0d 0a 65 6e  thNeeded);....en
7600: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 4f 49 5f  um : uint { UOI_
7610: 46 4c 41 47 53 20 3d 20 31 20 7d 0d 0a 65 6e 75  FLAGS = 1 }..enu
7620: 6d 20 3a 20 75 69 6e 74 20 7b 20 55 4f 49 5f 4e  m : uint { UOI_N
7630: 41 4d 45 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20  AME = 2 }..enum 
7640: 3a 20 75 69 6e 74 20 7b 20 55 4f 49 5f 54 59 50  : uint { UOI_TYP
7650: 45 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  E = 3 }..enum : 
7660: 75 69 6e 74 20 7b 20 55 4f 49 5f 55 53 45 52 5f  uint { UOI_USER_
7670: 53 49 44 20 3d 20 34 20 7d 0d 0a 0d 0a 73 74 72  SID = 4 }....str
7680: 75 63 74 20 74 61 67 55 53 45 52 4f 42 4a 45 43  uct tagUSEROBJEC
7690: 54 46 4c 41 47 53 20 7b 0d 0a 20 20 42 4f 4f 4c  TFLAGS {..  BOOL
76a0: 20 66 49 6e 68 65 72 69 74 3b 0d 0a 20 20 42 4f   fInherit;..  BO
76b0: 4f 4c 20 66 52 65 73 65 72 76 65 64 3b 0d 0a 20  OL fReserved;.. 
76c0: 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d   DWORD dwFlags;.
76d0: 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 55 53 45  .}..alias tagUSE
76e0: 52 4f 42 4a 45 43 54 46 4c 41 47 53 20 55 53 45  ROBJECTFLAGS USE
76f0: 52 4f 42 4a 45 43 54 46 4c 41 47 53 3b 0d 0a 61  ROBJECTFLAGS;..a
7700: 6c 69 61 73 20 74 61 67 55 53 45 52 4f 42 4a 45  lias tagUSEROBJE
7710: 43 54 46 4c 41 47 53 2a 20 50 55 53 45 52 4f 42  CTFLAGS* PUSEROB
7720: 4a 45 43 54 46 4c 41 47 53 3b 0d 0a 0d 0a 65 78  JECTFLAGS;....ex
7730: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
7740: 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 55 73 65  port BOOL GetUse
7750: 72 4f 62 6a 65 63 74 49 6e 66 6f 72 6d 61 74 69  rObjectInformati
7760: 6f 6e 41 28 0d 0a 20 20 48 41 4e 44 4c 45 20 68  onA(..  HANDLE h
7770: 4f 62 6a 2c 0d 0a 20 20 69 6e 74 20 6e 49 6e 64  Obj,..  int nInd
7780: 65 78 2c 0d 0a 20 20 50 56 4f 49 44 20 70 76 49  ex,..  PVOID pvI
7790: 6e 66 6f 2c 0d 0a 20 20 44 57 4f 52 44 20 6e 4c  nfo,..  DWORD nL
77a0: 65 6e 67 74 68 2c 0d 0a 20 20 4c 50 44 57 4f 52  ength,..  LPDWOR
77b0: 44 20 6c 70 6e 4c 65 6e 67 74 68 4e 65 65 64 65  D lpnLengthNeede
77c0: 64 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  d);..extern(Wind
77d0: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
77e0: 20 47 65 74 55 73 65 72 4f 62 6a 65 63 74 49 6e   GetUserObjectIn
77f0: 66 6f 72 6d 61 74 69 6f 6e 57 28 0d 0a 20 20 48  formationW(..  H
7800: 41 4e 44 4c 45 20 68 4f 62 6a 2c 0d 0a 20 20 69  ANDLE hObj,..  i
7810: 6e 74 20 6e 49 6e 64 65 78 2c 0d 0a 20 20 50 56  nt nIndex,..  PV
7820: 4f 49 44 20 70 76 49 6e 66 6f 2c 0d 0a 20 20 44  OID pvInfo,..  D
7830: 57 4f 52 44 20 6e 4c 65 6e 67 74 68 2c 0d 0a 20  WORD nLength,.. 
7840: 20 4c 50 44 57 4f 52 44 20 6c 70 6e 4c 65 6e 67   LPDWORD lpnLeng
7850: 74 68 4e 65 65 64 65 64 29 3b 0d 0a 2f 2f 20 23  thNeeded);..// #
7860: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
7870: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
7880: 0d 0a 61 6c 69 61 73 20 47 65 74 55 73 65 72 4f  ..alias GetUserO
7890: 62 6a 65 63 74 49 6e 66 6f 72 6d 61 74 69 6f 6e  bjectInformation
78a0: 41 20 47 65 74 55 73 65 72 4f 62 6a 65 63 74 49  A GetUserObjectI
78b0: 6e 66 6f 72 6d 61 74 69 6f 6e 3b 0d 0a 2f 2f 20  nformation;..// 
78c0: 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
78d0: 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
78e0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
78f0: 4c 20 53 65 74 55 73 65 72 4f 62 6a 65 63 74 49  L SetUserObjectI
7900: 6e 66 6f 72 6d 61 74 69 6f 6e 41 28 0d 0a 20 20  nformationA(..  
7910: 48 41 4e 44 4c 45 20 68 4f 62 6a 2c 0d 0a 20 20  HANDLE hObj,..  
7920: 69 6e 74 20 6e 49 6e 64 65 78 2c 0d 0a 20 20 50  int nIndex,..  P
7930: 56 4f 49 44 20 70 76 49 6e 66 6f 2c 0d 0a 20 20  VOID pvInfo,..  
7940: 44 57 4f 52 44 20 6e 4c 65 6e 67 74 68 29 3b 0d  DWORD nLength);.
7950: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
7960: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74   export BOOL Set
7970: 55 73 65 72 4f 62 6a 65 63 74 49 6e 66 6f 72 6d  UserObjectInform
7980: 61 74 69 6f 6e 57 28 0d 0a 20 20 48 41 4e 44 4c  ationW(..  HANDL
7990: 45 20 68 4f 62 6a 2c 0d 0a 20 20 69 6e 74 20 6e  E hObj,..  int n
79a0: 49 6e 64 65 78 2c 0d 0a 20 20 50 56 4f 49 44 20  Index,..  PVOID 
79b0: 70 76 49 6e 66 6f 2c 0d 0a 20 20 44 57 4f 52 44  pvInfo,..  DWORD
79c0: 20 6e 4c 65 6e 67 74 68 29 3b 0d 0a 2f 2f 20 23   nLength);..// #
79d0: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
79e0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
79f0: 0d 0a 61 6c 69 61 73 20 53 65 74 55 73 65 72 4f  ..alias SetUserO
7a00: 62 6a 65 63 74 49 6e 66 6f 72 6d 61 74 69 6f 6e  bjectInformation
7a10: 41 20 53 65 74 55 73 65 72 4f 62 6a 65 63 74 49  A SetUserObjectI
7a20: 6e 66 6f 72 6d 61 74 69 6f 6e 3b 0d 0a 2f 2f 20  nformation;..// 
7a30: 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
7a40: 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  DE....// #endif 
7a50: 20 2f 2a 20 21 4e 4f 53 45 43 55 52 49 54 59 20   /* !NOSECURITY 
7a60: 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e  */....// #if(WIN
7a70: 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  VER >= 0x0400)..
7a80: 73 74 72 75 63 74 20 74 61 67 57 4e 44 43 4c 41  struct tagWNDCLA
7a90: 53 53 45 58 41 20 7b 0d 0a 20 20 55 49 4e 54 20  SSEXA {..  UINT 
7aa0: 63 62 53 69 7a 65 3b 0d 0a 20 20 55 49 4e 54 20  cbSize;..  UINT 
7ab0: 73 74 79 6c 65 3b 0d 0a 20 20 57 4e 44 50 52 4f  style;..  WNDPRO
7ac0: 43 20 6c 70 66 6e 57 6e 64 50 72 6f 63 3b 0d 0a  C lpfnWndProc;..
7ad0: 20 20 69 6e 74 20 63 62 43 6c 73 45 78 74 72 61    int cbClsExtra
7ae0: 3b 0d 0a 20 20 69 6e 74 20 63 62 57 6e 64 45 78  ;..  int cbWndEx
7af0: 74 72 61 3b 0d 0a 20 20 48 49 4e 53 54 41 4e 43  tra;..  HINSTANC
7b00: 45 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a 20 20  E hInstance;..  
7b10: 48 49 43 4f 4e 20 68 49 63 6f 6e 3b 0d 0a 20 20  HICON hIcon;..  
7b20: 48 43 55 52 53 4f 52 20 68 43 75 72 73 6f 72 3b  HCURSOR hCursor;
7b30: 0d 0a 20 20 48 42 52 55 53 48 20 68 62 72 42 61  ..  HBRUSH hbrBa
7b40: 63 6b 67 72 6f 75 6e 64 3b 0d 0a 20 20 4c 50 43  ckground;..  LPC
7b50: 53 54 52 20 6c 70 73 7a 4d 65 6e 75 4e 61 6d 65  STR lpszMenuName
7b60: 3b 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 7a  ;..  LPCSTR lpsz
7b70: 43 6c 61 73 73 4e 61 6d 65 3b 0d 0a 20 20 48 49  ClassName;..  HI
7b80: 43 4f 4e 20 68 49 63 6f 6e 53 6d 3b 0d 0a 7d 0d  CON hIconSm;..}.
7b90: 0a 61 6c 69 61 73 20 74 61 67 57 4e 44 43 4c 41  .alias tagWNDCLA
7ba0: 53 53 45 58 41 20 57 4e 44 43 4c 41 53 53 45 58  SSEXA WNDCLASSEX
7bb0: 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57 4e 44  A;..alias tagWND
7bc0: 43 4c 41 53 53 45 58 41 2a 20 50 57 4e 44 43 4c  CLASSEXA* PWNDCL
7bd0: 41 53 53 45 58 41 3b 0d 0a 61 6c 69 61 73 20 74  ASSEXA;..alias t
7be0: 61 67 57 4e 44 43 4c 41 53 53 45 58 41 2a 20 4e  agWNDCLASSEXA* N
7bf0: 50 57 4e 44 43 4c 41 53 53 45 58 41 3b 0d 0a 61  PWNDCLASSEXA;..a
7c00: 6c 69 61 73 20 74 61 67 57 4e 44 43 4c 41 53 53  lias tagWNDCLASS
7c10: 45 58 41 2a 20 4c 50 57 4e 44 43 4c 41 53 53 45  EXA* LPWNDCLASSE
7c20: 58 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  XA;....struct ta
7c30: 67 57 4e 44 43 4c 41 53 53 45 58 57 20 7b 0d 0a  gWNDCLASSEXW {..
7c40: 20 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a    UINT cbSize;..
7c50: 20 20 55 49 4e 54 20 73 74 79 6c 65 3b 0d 0a 20    UINT style;.. 
7c60: 20 57 4e 44 50 52 4f 43 20 6c 70 66 6e 57 6e 64   WNDPROC lpfnWnd
7c70: 50 72 6f 63 3b 0d 0a 20 20 69 6e 74 20 63 62 43  Proc;..  int cbC
7c80: 6c 73 45 78 74 72 61 3b 0d 0a 20 20 69 6e 74 20  lsExtra;..  int 
7c90: 63 62 57 6e 64 45 78 74 72 61 3b 0d 0a 20 20 48  cbWndExtra;..  H
7ca0: 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e  INSTANCE hInstan
7cb0: 63 65 3b 0d 0a 20 20 48 49 43 4f 4e 20 68 49 63  ce;..  HICON hIc
7cc0: 6f 6e 3b 0d 0a 20 20 48 43 55 52 53 4f 52 20 68  on;..  HCURSOR h
7cd0: 43 75 72 73 6f 72 3b 0d 0a 20 20 48 42 52 55 53  Cursor;..  HBRUS
7ce0: 48 20 68 62 72 42 61 63 6b 67 72 6f 75 6e 64 3b  H hbrBackground;
7cf0: 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 73 7a  ..  LPCWSTR lpsz
7d00: 4d 65 6e 75 4e 61 6d 65 3b 0d 0a 20 20 4c 50 43  MenuName;..  LPC
7d10: 57 53 54 52 20 6c 70 73 7a 43 6c 61 73 73 4e 61  WSTR lpszClassNa
7d20: 6d 65 3b 0d 0a 20 20 48 49 43 4f 4e 20 68 49 63  me;..  HICON hIc
7d30: 6f 6e 53 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  onSm;..}..alias 
7d40: 74 61 67 57 4e 44 43 4c 41 53 53 45 58 57 20 57  tagWNDCLASSEXW W
7d50: 4e 44 43 4c 41 53 53 45 58 57 3b 0d 0a 61 6c 69  NDCLASSEXW;..ali
7d60: 61 73 20 74 61 67 57 4e 44 43 4c 41 53 53 45 58  as tagWNDCLASSEX
7d70: 57 2a 20 50 57 4e 44 43 4c 41 53 53 45 58 57 3b  W* PWNDCLASSEXW;
7d80: 0d 0a 61 6c 69 61 73 20 74 61 67 57 4e 44 43 4c  ..alias tagWNDCL
7d90: 41 53 53 45 58 57 2a 20 4e 50 57 4e 44 43 4c 41  ASSEXW* NPWNDCLA
7da0: 53 53 45 58 57 3b 0d 0a 61 6c 69 61 73 20 74 61  SSEXW;..alias ta
7db0: 67 57 4e 44 43 4c 41 53 53 45 58 57 2a 20 4c 50  gWNDCLASSEXW* LP
7dc0: 57 4e 44 43 4c 41 53 53 45 58 57 3b 0d 0a 0d 0a  WNDCLASSEXW;....
7dd0: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
7de0: 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  E..// .....// #e
7df0: 6c 73 65 0d 0a 61 6c 69 61 73 20 57 4e 44 43 4c  lse..alias WNDCL
7e00: 41 53 53 45 58 41 20 57 4e 44 43 4c 41 53 53 45  ASSEXA WNDCLASSE
7e10: 58 3b 0d 0a 61 6c 69 61 73 20 50 57 4e 44 43 4c  X;..alias PWNDCL
7e20: 41 53 53 45 58 41 20 50 57 4e 44 43 4c 41 53 53  ASSEXA PWNDCLASS
7e30: 45 58 3b 0d 0a 61 6c 69 61 73 20 4e 50 57 4e 44  EX;..alias NPWND
7e40: 43 4c 41 53 53 45 58 41 20 4e 50 57 4e 44 43 4c  CLASSEXA NPWNDCL
7e50: 41 53 53 45 58 3b 0d 0a 61 6c 69 61 73 20 4c 50  ASSEX;..alias LP
7e60: 57 4e 44 43 4c 41 53 53 45 58 41 20 4c 50 57 4e  WNDCLASSEXA LPWN
7e70: 44 43 4c 41 53 53 45 58 3b 0d 0a 2f 2f 20 23 65  DCLASSEX;..// #e
7e80: 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d  ndif // UNICODE.
7e90: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
7ea0: 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a  NVER >= 0x0400 *
7eb0: 2f 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 57  /....struct tagW
7ec0: 4e 44 43 4c 41 53 53 41 20 7b 0d 0a 20 20 55 49  NDCLASSA {..  UI
7ed0: 4e 54 20 73 74 79 6c 65 3b 0d 0a 20 20 57 4e 44  NT style;..  WND
7ee0: 50 52 4f 43 20 6c 70 66 6e 57 6e 64 50 72 6f 63  PROC lpfnWndProc
7ef0: 3b 0d 0a 20 20 69 6e 74 20 63 62 43 6c 73 45 78  ;..  int cbClsEx
7f00: 74 72 61 3b 0d 0a 20 20 69 6e 74 20 63 62 57 6e  tra;..  int cbWn
7f10: 64 45 78 74 72 61 3b 0d 0a 20 20 48 49 4e 53 54  dExtra;..  HINST
7f20: 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 3b 0d  ANCE hInstance;.
7f30: 0a 20 20 48 49 43 4f 4e 20 68 49 63 6f 6e 3b 0d  .  HICON hIcon;.
7f40: 0a 20 20 48 43 55 52 53 4f 52 20 68 43 75 72 73  .  HCURSOR hCurs
7f50: 6f 72 3b 0d 0a 20 20 48 42 52 55 53 48 20 68 62  or;..  HBRUSH hb
7f60: 72 42 61 63 6b 67 72 6f 75 6e 64 3b 0d 0a 20 20  rBackground;..  
7f70: 4c 50 43 53 54 52 20 6c 70 73 7a 4d 65 6e 75 4e  LPCSTR lpszMenuN
7f80: 61 6d 65 3b 0d 0a 20 20 4c 50 43 53 54 52 20 6c  ame;..  LPCSTR l
7f90: 70 73 7a 43 6c 61 73 73 4e 61 6d 65 3b 0d 0a 7d  pszClassName;..}
7fa0: 0d 0a 61 6c 69 61 73 20 74 61 67 57 4e 44 43 4c  ..alias tagWNDCL
7fb0: 41 53 53 41 20 57 4e 44 43 4c 41 53 53 41 3b 0d  ASSA WNDCLASSA;.
7fc0: 0a 61 6c 69 61 73 20 74 61 67 57 4e 44 43 4c 41  .alias tagWNDCLA
7fd0: 53 53 41 2a 20 50 57 4e 44 43 4c 41 53 53 41 3b  SSA* PWNDCLASSA;
7fe0: 0d 0a 61 6c 69 61 73 20 74 61 67 57 4e 44 43 4c  ..alias tagWNDCL
7ff0: 41 53 53 41 2a 20 4e 50 57 4e 44 43 4c 41 53 53  ASSA* NPWNDCLASS
8000: 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57 4e 44  A;..alias tagWND
8010: 43 4c 41 53 53 41 2a 20 4c 50 57 4e 44 43 4c 41  CLASSA* LPWNDCLA
8020: 53 53 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74  SSA;....struct t
8030: 61 67 57 4e 44 43 4c 41 53 53 57 20 7b 0d 0a 20  agWNDCLASSW {.. 
8040: 20 55 49 4e 54 20 73 74 79 6c 65 3b 0d 0a 20 20   UINT style;..  
8050: 57 4e 44 50 52 4f 43 20 6c 70 66 6e 57 6e 64 50  WNDPROC lpfnWndP
8060: 72 6f 63 3b 0d 0a 20 20 69 6e 74 20 63 62 43 6c  roc;..  int cbCl
8070: 73 45 78 74 72 61 3b 0d 0a 20 20 69 6e 74 20 63  sExtra;..  int c
8080: 62 57 6e 64 45 78 74 72 61 3b 0d 0a 20 20 48 49  bWndExtra;..  HI
8090: 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63  NSTANCE hInstanc
80a0: 65 3b 0d 0a 20 20 48 49 43 4f 4e 20 68 49 63 6f  e;..  HICON hIco
80b0: 6e 3b 0d 0a 20 20 48 43 55 52 53 4f 52 20 68 43  n;..  HCURSOR hC
80c0: 75 72 73 6f 72 3b 0d 0a 20 20 48 42 52 55 53 48  ursor;..  HBRUSH
80d0: 20 68 62 72 42 61 63 6b 67 72 6f 75 6e 64 3b 0d   hbrBackground;.
80e0: 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 73 7a 4d  .  LPCWSTR lpszM
80f0: 65 6e 75 4e 61 6d 65 3b 0d 0a 20 20 4c 50 43 57  enuName;..  LPCW
8100: 53 54 52 20 6c 70 73 7a 43 6c 61 73 73 4e 61 6d  STR lpszClassNam
8110: 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  e;..}..alias tag
8120: 57 4e 44 43 4c 41 53 53 57 20 57 4e 44 43 4c 41  WNDCLASSW WNDCLA
8130: 53 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57  SSW;..alias tagW
8140: 4e 44 43 4c 41 53 53 57 2a 20 50 57 4e 44 43 4c  NDCLASSW* PWNDCL
8150: 41 53 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67  ASSW;..alias tag
8160: 57 4e 44 43 4c 41 53 53 57 2a 20 4e 50 57 4e 44  WNDCLASSW* NPWND
8170: 43 4c 41 53 53 57 3b 0d 0a 61 6c 69 61 73 20 74  CLASSW;..alias t
8180: 61 67 57 4e 44 43 4c 41 53 53 57 2a 20 4c 50 57  agWNDCLASSW* LPW
8190: 4e 44 43 4c 41 53 53 57 3b 0d 0a 0d 0a 2f 2f 20  NDCLASSW;....// 
81a0: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
81b0: 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  // .....// #else
81c0: 0d 0a 61 6c 69 61 73 20 57 4e 44 43 4c 41 53 53  ..alias WNDCLASS
81d0: 41 20 57 4e 44 43 4c 41 53 53 3b 0d 0a 61 6c 69  A WNDCLASS;..ali
81e0: 61 73 20 50 57 4e 44 43 4c 41 53 53 41 20 50 57  as PWNDCLASSA PW
81f0: 4e 44 43 4c 41 53 53 3b 0d 0a 61 6c 69 61 73 20  NDCLASS;..alias 
8200: 4e 50 57 4e 44 43 4c 41 53 53 41 20 4e 50 57 4e  NPWNDCLASSA NPWN
8210: 44 43 4c 41 53 53 3b 0d 0a 61 6c 69 61 73 20 4c  DCLASS;..alias L
8220: 50 57 4e 44 43 4c 41 53 53 41 20 4c 50 57 4e 44  PWNDCLASSA LPWND
8230: 43 4c 41 53 53 3b 0d 0a 2f 2f 20 23 65 6e 64 69  CLASS;..// #endi
8240: 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a  f // UNICODE....
8250: 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 4d 53 47  // #ifndef NOMSG
8260: 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 53  ....struct tagMS
8270: 47 20 7b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64  G {..  HWND hwnd
8280: 3b 0d 0a 20 20 55 49 4e 54 20 6d 65 73 73 61 67  ;..  UINT messag
8290: 65 3b 0d 0a 20 20 57 50 41 52 41 4d 20 77 50 61  e;..  WPARAM wPa
82a0: 72 61 6d 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c  ram;..  LPARAM l
82b0: 50 61 72 61 6d 3b 0d 0a 20 20 44 57 4f 52 44 20  Param;..  DWORD 
82c0: 74 69 6d 65 3b 0d 0a 20 20 50 4f 49 4e 54 20 70  time;..  POINT p
82d0: 74 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 4d  t;..// #ifdef _M
82e0: 41 43 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  AC..// .....// #
82f0: 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20  endif..}..alias 
8300: 74 61 67 4d 53 47 20 4d 53 47 3b 0d 0a 61 6c 69  tagMSG MSG;..ali
8310: 61 73 20 74 61 67 4d 53 47 2a 20 50 4d 53 47 3b  as tagMSG* PMSG;
8320: 0d 0a 61 6c 69 61 73 20 74 61 67 4d 53 47 2a 20  ..alias tagMSG* 
8330: 4e 50 4d 53 47 3b 0d 0a 61 6c 69 61 73 20 74 61  NPMSG;..alias ta
8340: 67 4d 53 47 2a 20 4c 50 4d 53 47 3b 0d 0a 0d 0a  gMSG* LPMSG;....
8350: 2f 2f 20 23 64 65 66 69 6e 65 20 50 4f 49 4e 54  // #define POINT
8360: 53 54 4f 50 4f 49 4e 54 28 70 74 2c 20 70 74 73  STOPOINT(pt, pts
8370: 29 20 7b 20 28 70 74 29 2e 78 20 3d 20 28 4c 4f  ) { (pt).x = (LO
8380: 4e 47 29 28 53 48 4f 52 54 29 4c 4f 57 4f 52 44  NG)(SHORT)LOWORD
8390: 28 2a 28 4c 4f 4e 47 2a 29 26 70 74 73 29 3b 20  (*(LONG*)&pts); 
83a0: 28 70 74 29 2e 79 20 3d 20 28 4c 4f 4e 47 29 28  (pt).y = (LONG)(
83b0: 53 48 4f 52 54 29 48 49 57 4f 52 44 28 2a 28 4c  SHORT)HIWORD(*(L
83c0: 4f 4e 47 2a 29 26 70 74 73 29 3b 20 7d 0d 0a 0d  ONG*)&pts); }...
83d0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 4f 49 4e  .// #define POIN
83e0: 54 54 4f 50 4f 49 4e 54 53 28 70 74 29 20 28 4d  TTOPOINTS(pt) (M
83f0: 41 4b 45 4c 4f 4e 47 28 28 73 68 6f 72 74 29 28  AKELONG((short)(
8400: 28 70 74 29 2e 78 29 2c 20 28 73 68 6f 72 74 29  (pt).x), (short)
8410: 28 28 70 74 29 2e 79 29 29 29 0d 0a 61 6c 69 61  ((pt).y)))..alia
8420: 73 20 4d 41 4b 45 4c 4f 4e 47 20 4d 41 4b 45 57  s MAKELONG MAKEW
8430: 50 41 52 41 4d 3b 0d 0a 61 6c 69 61 73 20 4d 41  PARAM;..alias MA
8440: 4b 45 4c 4f 4e 47 20 4d 41 4b 45 4c 50 41 52 41  KELONG MAKELPARA
8450: 4d 3b 0d 0a 61 6c 69 61 73 20 4d 41 4b 45 4c 4f  M;..alias MAKELO
8460: 4e 47 20 4d 41 4b 45 4c 52 45 53 55 4c 54 3b 0d  NG MAKELRESULT;.
8470: 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
8480: 21 4e 4f 4d 53 47 20 2a 2f 0d 0a 0d 0a 2f 2f 20  !NOMSG */....// 
8490: 23 69 66 6e 64 65 66 20 4e 4f 57 49 4e 4f 46 46  #ifndef NOWINOFF
84a0: 53 45 54 53 0d 0a 0d 0a 65 6e 75 6d 20 7b 20 47  SETS....enum { G
84b0: 57 4c 5f 57 4e 44 50 52 4f 43 20 3d 20 2d 34 20  WL_WNDPROC = -4 
84c0: 7d 0d 0a 65 6e 75 6d 20 7b 20 47 57 4c 5f 48 49  }..enum { GWL_HI
84d0: 4e 53 54 41 4e 43 45 20 3d 20 2d 36 20 7d 0d 0a  NSTANCE = -6 }..
84e0: 65 6e 75 6d 20 7b 20 47 57 4c 5f 48 57 4e 44 50  enum { GWL_HWNDP
84f0: 41 52 45 4e 54 20 3d 20 2d 38 20 7d 0d 0a 65 6e  ARENT = -8 }..en
8500: 75 6d 20 7b 20 47 57 4c 5f 53 54 59 4c 45 20 3d  um { GWL_STYLE =
8510: 20 2d 31 36 20 7d 0d 0a 65 6e 75 6d 20 7b 20 47   -16 }..enum { G
8520: 57 4c 5f 45 58 53 54 59 4c 45 20 3d 20 2d 32 30  WL_EXSTYLE = -20
8530: 20 7d 0d 0a 65 6e 75 6d 20 7b 20 47 57 4c 5f 55   }..enum { GWL_U
8540: 53 45 52 44 41 54 41 20 3d 20 2d 32 31 20 7d 0d  SERDATA = -21 }.
8550: 0a 65 6e 75 6d 20 7b 20 47 57 4c 5f 49 44 20 3d  .enum { GWL_ID =
8560: 20 2d 31 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66   -12 }....// #if
8570: 64 65 66 20 5f 57 49 4e 36 34 0d 0a 0d 0a 2f 2f  def _WIN64....//
8580: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
8590: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
85a0: 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  ....// #endif /*
85b0: 20 5f 57 49 4e 36 34 20 2a 2f 0d 0a 0d 0a 65 6e   _WIN64 */....en
85c0: 75 6d 20 7b 20 47 57 4c 50 5f 57 4e 44 50 52 4f  um { GWLP_WNDPRO
85d0: 43 20 3d 20 2d 34 20 7d 0d 0a 65 6e 75 6d 20 7b  C = -4 }..enum {
85e0: 20 47 57 4c 50 5f 48 49 4e 53 54 41 4e 43 45 20   GWLP_HINSTANCE 
85f0: 3d 20 2d 36 20 7d 0d 0a 65 6e 75 6d 20 7b 20 47  = -6 }..enum { G
8600: 57 4c 50 5f 48 57 4e 44 50 41 52 45 4e 54 20 3d  WLP_HWNDPARENT =
8610: 20 2d 38 20 7d 0d 0a 65 6e 75 6d 20 7b 20 47 57   -8 }..enum { GW
8620: 4c 50 5f 55 53 45 52 44 41 54 41 20 3d 20 2d 32  LP_USERDATA = -2
8630: 31 20 7d 0d 0a 65 6e 75 6d 20 7b 20 47 57 4c 50  1 }..enum { GWLP
8640: 5f 49 44 20 3d 20 2d 31 32 20 7d 0d 0a 0d 0a 65  _ID = -12 }....e
8650: 6e 75 6d 20 7b 20 47 43 4c 5f 4d 45 4e 55 4e 41  num { GCL_MENUNA
8660: 4d 45 20 3d 20 2d 38 20 7d 0d 0a 65 6e 75 6d 20  ME = -8 }..enum 
8670: 7b 20 47 43 4c 5f 48 42 52 42 41 43 4b 47 52 4f  { GCL_HBRBACKGRO
8680: 55 4e 44 20 3d 20 2d 31 30 20 7d 0d 0a 65 6e 75  UND = -10 }..enu
8690: 6d 20 7b 20 47 43 4c 5f 48 43 55 52 53 4f 52 20  m { GCL_HCURSOR 
86a0: 3d 20 2d 31 32 20 7d 0d 0a 65 6e 75 6d 20 7b 20  = -12 }..enum { 
86b0: 47 43 4c 5f 48 49 43 4f 4e 20 3d 20 2d 31 34 20  GCL_HICON = -14 
86c0: 7d 0d 0a 65 6e 75 6d 20 7b 20 47 43 4c 5f 48 4d  }..enum { GCL_HM
86d0: 4f 44 55 4c 45 20 3d 20 2d 31 36 20 7d 0d 0a 65  ODULE = -16 }..e
86e0: 6e 75 6d 20 7b 20 47 43 4c 5f 43 42 57 4e 44 45  num { GCL_CBWNDE
86f0: 58 54 52 41 20 3d 20 2d 31 38 20 7d 0d 0a 65 6e  XTRA = -18 }..en
8700: 75 6d 20 7b 20 47 43 4c 5f 43 42 43 4c 53 45 58  um { GCL_CBCLSEX
8710: 54 52 41 20 3d 20 2d 32 30 20 7d 0d 0a 65 6e 75  TRA = -20 }..enu
8720: 6d 20 7b 20 47 43 4c 5f 57 4e 44 50 52 4f 43 20  m { GCL_WNDPROC 
8730: 3d 20 2d 32 34 20 7d 0d 0a 65 6e 75 6d 20 7b 20  = -24 }..enum { 
8740: 47 43 4c 5f 53 54 59 4c 45 20 3d 20 2d 32 36 20  GCL_STYLE = -26 
8750: 7d 0d 0a 65 6e 75 6d 20 7b 20 47 43 57 5f 41 54  }..enum { GCW_AT
8760: 4f 4d 20 3d 20 2d 33 32 20 7d 0d 0a 0d 0a 2f 2f  OM = -32 }....//
8770: 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
8780: 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 7b 20 47  x0400)..enum { G
8790: 43 4c 5f 48 49 43 4f 4e 53 4d 20 3d 20 2d 33 34  CL_HICONSM = -34
87a0: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
87b0: 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30   WINVER >= 0x040
87c0: 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  0 */....// #ifde
87d0: 66 20 5f 57 49 4e 36 34 0d 0a 0d 0a 2f 2f 20 23  f _WIN64....// #
87e0: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
87f0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
8800: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
8810: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ..// #.......// 
8820: 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 36 34  #endif /* _WIN64
8830: 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 7b 20 47 43   */....enum { GC
8840: 4c 50 5f 4d 45 4e 55 4e 41 4d 45 20 3d 20 2d 38  LP_MENUNAME = -8
8850: 20 7d 0d 0a 65 6e 75 6d 20 7b 20 47 43 4c 50 5f   }..enum { GCLP_
8860: 48 42 52 42 41 43 4b 47 52 4f 55 4e 44 20 3d 20  HBRBACKGROUND = 
8870: 2d 31 30 20 7d 0d 0a 65 6e 75 6d 20 7b 20 47 43  -10 }..enum { GC
8880: 4c 50 5f 48 43 55 52 53 4f 52 20 3d 20 2d 31 32  LP_HCURSOR = -12
8890: 20 7d 0d 0a 65 6e 75 6d 20 7b 20 47 43 4c 50 5f   }..enum { GCLP_
88a0: 48 49 43 4f 4e 20 3d 20 2d 31 34 20 7d 0d 0a 65  HICON = -14 }..e
88b0: 6e 75 6d 20 7b 20 47 43 4c 50 5f 48 4d 4f 44 55  num { GCLP_HMODU
88c0: 4c 45 20 3d 20 2d 31 36 20 7d 0d 0a 65 6e 75 6d  LE = -16 }..enum
88d0: 20 7b 20 47 43 4c 50 5f 57 4e 44 50 52 4f 43 20   { GCLP_WNDPROC 
88e0: 3d 20 2d 32 34 20 7d 0d 0a 65 6e 75 6d 20 7b 20  = -24 }..enum { 
88f0: 47 43 4c 50 5f 48 49 43 4f 4e 53 4d 20 3d 20 2d  GCLP_HICONSM = -
8900: 33 34 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  34 }....// #endi
8910: 66 20 2f 2a 20 21 4e 4f 57 49 4e 4f 46 46 53 45  f /* !NOWINOFFSE
8920: 54 53 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  TS */....// #ifn
8930: 64 65 66 20 4e 4f 57 49 4e 4d 45 53 53 41 47 45  def NOWINMESSAGE
8940: 53 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  S....enum : uint
8950: 20 7b 20 57 4d 5f 4e 55 4c 4c 20 3d 20 30 78 30   { WM_NULL = 0x0
8960: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
8970: 6e 74 20 7b 20 57 4d 5f 43 52 45 41 54 45 20 3d  nt { WM_CREATE =
8980: 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
8990: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 44 45 53 54  : uint { WM_DEST
89a0: 52 4f 59 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a  ROY = 0x0002 }..
89b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
89c0: 5f 4d 4f 56 45 20 3d 20 30 78 30 30 30 33 20 7d  _MOVE = 0x0003 }
89d0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
89e0: 57 4d 5f 53 49 5a 45 20 3d 20 30 78 30 30 30 35  WM_SIZE = 0x0005
89f0: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
8a00: 74 20 7b 20 57 4d 5f 41 43 54 49 56 41 54 45 20  t { WM_ACTIVATE 
8a10: 3d 20 30 78 30 30 30 36 20 7d 0d 0a 0d 0a 65 6e  = 0x0006 }....en
8a20: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41 5f 49  um : uint { WA_I
8a30: 4e 41 43 54 49 56 45 20 3d 20 30 20 7d 0d 0a 65  NACTIVE = 0 }..e
8a40: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41 5f  num : uint { WA_
8a50: 41 43 54 49 56 45 20 3d 20 31 20 7d 0d 0a 65 6e  ACTIVE = 1 }..en
8a60: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41 5f 43  um : uint { WA_C
8a70: 4c 49 43 4b 41 43 54 49 56 45 20 3d 20 32 20 7d  LICKACTIVE = 2 }
8a80: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
8a90: 7b 20 57 4d 5f 53 45 54 46 4f 43 55 53 20 3d 20  { WM_SETFOCUS = 
8aa0: 30 78 30 30 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0007 }..enum :
8ab0: 20 75 69 6e 74 20 7b 20 57 4d 5f 4b 49 4c 4c 46   uint { WM_KILLF
8ac0: 4f 43 55 53 20 3d 20 30 78 30 30 30 38 20 7d 0d  OCUS = 0x0008 }.
8ad0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
8ae0: 4d 5f 45 4e 41 42 4c 45 20 3d 20 30 78 30 30 30  M_ENABLE = 0x000
8af0: 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  A }..enum : uint
8b00: 20 7b 20 57 4d 5f 53 45 54 52 45 44 52 41 57 20   { WM_SETREDRAW 
8b10: 3d 20 30 78 30 30 30 42 20 7d 0d 0a 65 6e 75 6d  = 0x000B }..enum
8b20: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 53 45 54   : uint { WM_SET
8b30: 54 45 58 54 20 3d 20 30 78 30 30 30 43 20 7d 0d  TEXT = 0x000C }.
8b40: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
8b50: 4d 5f 47 45 54 54 45 58 54 20 3d 20 30 78 30 30  M_GETTEXT = 0x00
8b60: 30 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0D }..enum : uin
8b70: 74 20 7b 20 57 4d 5f 47 45 54 54 45 58 54 4c 45  t { WM_GETTEXTLE
8b80: 4e 47 54 48 20 3d 20 30 78 30 30 30 45 20 7d 0d  NGTH = 0x000E }.
8b90: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
8ba0: 4d 5f 50 41 49 4e 54 20 3d 20 30 78 30 30 30 46  M_PAINT = 0x000F
8bb0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
8bc0: 7b 20 57 4d 5f 43 4c 4f 53 45 20 3d 20 30 78 30  { WM_CLOSE = 0x0
8bd0: 30 31 30 20 7d 0d 0a 2f 2f 20 23 69 66 6e 64 65  010 }..// #ifnde
8be0: 66 20 5f 57 49 4e 33 32 5f 57 43 45 0d 0a 65 6e  f _WIN32_WCE..en
8bf0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 51  um : uint { WM_Q
8c00: 55 45 52 59 45 4e 44 53 45 53 53 49 4f 4e 20 3d  UERYENDSESSION =
8c10: 20 30 78 30 30 31 31 20 7d 0d 0a 65 6e 75 6d 20   0x0011 }..enum 
8c20: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 51 55 45 52  : uint { WM_QUER
8c30: 59 4f 50 45 4e 20 3d 20 30 78 30 30 31 33 20 7d  YOPEN = 0x0013 }
8c40: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
8c50: 57 4d 5f 45 4e 44 53 45 53 53 49 4f 4e 20 3d 20  WM_ENDSESSION = 
8c60: 30 78 30 30 31 36 20 7d 0d 0a 2f 2f 20 23 65 6e  0x0016 }..// #en
8c70: 64 69 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  dif..enum : uint
8c80: 20 7b 20 57 4d 5f 51 55 49 54 20 3d 20 30 78 30   { WM_QUIT = 0x0
8c90: 30 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  012 }..enum : ui
8ca0: 6e 74 20 7b 20 57 4d 5f 45 52 41 53 45 42 4b 47  nt { WM_ERASEBKG
8cb0: 4e 44 20 3d 20 30 78 30 30 31 34 20 7d 0d 0a 65  ND = 0x0014 }..e
8cc0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
8cd0: 53 59 53 43 4f 4c 4f 52 43 48 41 4e 47 45 20 3d  SYSCOLORCHANGE =
8ce0: 20 30 78 30 30 31 35 20 7d 0d 0a 65 6e 75 6d 20   0x0015 }..enum 
8cf0: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 53 48 4f 57  : uint { WM_SHOW
8d00: 57 49 4e 44 4f 57 20 3d 20 30 78 30 30 31 38 20  WINDOW = 0x0018 
8d10: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
8d20: 20 57 4d 5f 57 49 4e 49 4e 49 43 48 41 4e 47 45   WM_WININICHANGE
8d30: 20 3d 20 30 78 30 30 31 41 20 7d 0d 0a 2f 2f 20   = 0x001A }..// 
8d40: 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  #if(WINVER >= 0x
8d50: 30 34 30 30 29 0d 0a 61 6c 69 61 73 20 57 4d 5f  0400)..alias WM_
8d60: 57 49 4e 49 4e 49 43 48 41 4e 47 45 20 57 4d 5f  WININICHANGE WM_
8d70: 53 45 54 54 49 4e 47 43 48 41 4e 47 45 3b 0d 0a  SETTINGCHANGE;..
8d80: 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
8d90: 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f  VER >= 0x0400 */
8da0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
8db0: 7b 20 57 4d 5f 44 45 56 4d 4f 44 45 43 48 41 4e  { WM_DEVMODECHAN
8dc0: 47 45 20 3d 20 30 78 30 30 31 42 20 7d 0d 0a 65  GE = 0x001B }..e
8dd0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
8de0: 41 43 54 49 56 41 54 45 41 50 50 20 3d 20 30 78  ACTIVATEAPP = 0x
8df0: 30 30 31 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  001C }..enum : u
8e00: 69 6e 74 20 7b 20 57 4d 5f 46 4f 4e 54 43 48 41  int { WM_FONTCHA
8e10: 4e 47 45 20 3d 20 30 78 30 30 31 44 20 7d 0d 0a  NGE = 0x001D }..
8e20: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
8e30: 5f 54 49 4d 45 43 48 41 4e 47 45 20 3d 20 30 78  _TIMECHANGE = 0x
8e40: 30 30 31 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  001E }..enum : u
8e50: 69 6e 74 20 7b 20 57 4d 5f 43 41 4e 43 45 4c 4d  int { WM_CANCELM
8e60: 4f 44 45 20 3d 20 30 78 30 30 31 46 20 7d 0d 0a  ODE = 0x001F }..
8e70: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
8e80: 5f 53 45 54 43 55 52 53 4f 52 20 3d 20 30 78 30  _SETCURSOR = 0x0
8e90: 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  020 }..enum : ui
8ea0: 6e 74 20 7b 20 57 4d 5f 4d 4f 55 53 45 41 43 54  nt { WM_MOUSEACT
8eb0: 49 56 41 54 45 20 3d 20 30 78 30 30 32 31 20 7d  IVATE = 0x0021 }
8ec0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
8ed0: 57 4d 5f 43 48 49 4c 44 41 43 54 49 56 41 54 45  WM_CHILDACTIVATE
8ee0: 20 3d 20 30 78 30 30 32 32 20 7d 0d 0a 65 6e 75   = 0x0022 }..enu
8ef0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 51 55  m : uint { WM_QU
8f00: 45 55 45 53 59 4e 43 20 3d 20 30 78 30 30 32 33  EUESYNC = 0x0023
8f10: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
8f20: 74 20 7b 20 57 4d 5f 47 45 54 4d 49 4e 4d 41 58  t { WM_GETMINMAX
8f30: 49 4e 46 4f 20 3d 20 30 78 30 30 32 34 20 7d 0d  INFO = 0x0024 }.
8f40: 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 49 4e  ...struct tagMIN
8f50: 4d 41 58 49 4e 46 4f 20 7b 0d 0a 20 20 50 4f 49  MAXINFO {..  POI
8f60: 4e 54 20 70 74 52 65 73 65 72 76 65 64 3b 0d 0a  NT ptReserved;..
8f70: 20 20 50 4f 49 4e 54 20 70 74 4d 61 78 53 69 7a    POINT ptMaxSiz
8f80: 65 3b 0d 0a 20 20 50 4f 49 4e 54 20 70 74 4d 61  e;..  POINT ptMa
8f90: 78 50 6f 73 69 74 69 6f 6e 3b 0d 0a 20 20 50 4f  xPosition;..  PO
8fa0: 49 4e 54 20 70 74 4d 69 6e 54 72 61 63 6b 53 69  INT ptMinTrackSi
8fb0: 7a 65 3b 0d 0a 20 20 50 4f 49 4e 54 20 70 74 4d  ze;..  POINT ptM
8fc0: 61 78 54 72 61 63 6b 53 69 7a 65 3b 0d 0a 7d 0d  axTrackSize;..}.
8fd0: 0a 61 6c 69 61 73 20 74 61 67 4d 49 4e 4d 41 58  .alias tagMINMAX
8fe0: 49 4e 46 4f 20 4d 49 4e 4d 41 58 49 4e 46 4f 3b  INFO MINMAXINFO;
8ff0: 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 4e 4d 41  ..alias tagMINMA
9000: 58 49 4e 46 4f 2a 20 50 4d 49 4e 4d 41 58 49 4e  XINFO* PMINMAXIN
9010: 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49  FO;..alias tagMI
9020: 4e 4d 41 58 49 4e 46 4f 2a 20 4c 50 4d 49 4e 4d  NMAXINFO* LPMINM
9030: 41 58 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d 20  AXINFO;....enum 
9040: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 50 41 49 4e  : uint { WM_PAIN
9050: 54 49 43 4f 4e 20 3d 20 30 78 30 30 32 36 20 7d  TICON = 0x0026 }
9060: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
9070: 57 4d 5f 49 43 4f 4e 45 52 41 53 45 42 4b 47 4e  WM_ICONERASEBKGN
9080: 44 20 3d 20 30 78 30 30 32 37 20 7d 0d 0a 65 6e  D = 0x0027 }..en
9090: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4e  um : uint { WM_N
90a0: 45 58 54 44 4c 47 43 54 4c 20 3d 20 30 78 30 30  EXTDLGCTL = 0x00
90b0: 32 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  28 }..enum : uin
90c0: 74 20 7b 20 57 4d 5f 53 50 4f 4f 4c 45 52 53 54  t { WM_SPOOLERST
90d0: 41 54 55 53 20 3d 20 30 78 30 30 32 41 20 7d 0d  ATUS = 0x002A }.
90e0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
90f0: 4d 5f 44 52 41 57 49 54 45 4d 20 3d 20 30 78 30  M_DRAWITEM = 0x0
9100: 30 32 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  02B }..enum : ui
9110: 6e 74 20 7b 20 57 4d 5f 4d 45 41 53 55 52 45 49  nt { WM_MEASUREI
9120: 54 45 4d 20 3d 20 30 78 30 30 32 43 20 7d 0d 0a  TEM = 0x002C }..
9130: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
9140: 5f 44 45 4c 45 54 45 49 54 45 4d 20 3d 20 30 78  _DELETEITEM = 0x
9150: 30 30 32 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  002D }..enum : u
9160: 69 6e 74 20 7b 20 57 4d 5f 56 4b 45 59 54 4f 49  int { WM_VKEYTOI
9170: 54 45 4d 20 3d 20 30 78 30 30 32 45 20 7d 0d 0a  TEM = 0x002E }..
9180: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
9190: 5f 43 48 41 52 54 4f 49 54 45 4d 20 3d 20 30 78  _CHARTOITEM = 0x
91a0: 30 30 32 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  002F }..enum : u
91b0: 69 6e 74 20 7b 20 57 4d 5f 53 45 54 46 4f 4e 54  int { WM_SETFONT
91c0: 20 3d 20 30 78 30 30 33 30 20 7d 0d 0a 65 6e 75   = 0x0030 }..enu
91d0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 47 45  m : uint { WM_GE
91e0: 54 46 4f 4e 54 20 3d 20 30 78 30 30 33 31 20 7d  TFONT = 0x0031 }
91f0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
9200: 57 4d 5f 53 45 54 48 4f 54 4b 45 59 20 3d 20 30  WM_SETHOTKEY = 0
9210: 78 30 30 33 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0032 }..enum : 
9220: 75 69 6e 74 20 7b 20 57 4d 5f 47 45 54 48 4f 54  uint { WM_GETHOT
9230: 4b 45 59 20 3d 20 30 78 30 30 33 33 20 7d 0d 0a  KEY = 0x0033 }..
9240: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
9250: 5f 51 55 45 52 59 44 52 41 47 49 43 4f 4e 20 3d  _QUERYDRAGICON =
9260: 20 30 78 30 30 33 37 20 7d 0d 0a 65 6e 75 6d 20   0x0037 }..enum 
9270: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 43 4f 4d 50  : uint { WM_COMP
9280: 41 52 45 49 54 45 4d 20 3d 20 30 78 30 30 33 39  AREITEM = 0x0039
9290: 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45   }..// #if(WINVE
92a0: 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 2f 2f  R >= 0x0500)..//
92b0: 20 23 69 66 6e 64 65 66 20 5f 57 49 4e 33 32 5f   #ifndef _WIN32_
92c0: 57 43 45 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  WCE..enum : uint
92d0: 20 7b 20 57 4d 5f 47 45 54 4f 42 4a 45 43 54 20   { WM_GETOBJECT 
92e0: 3d 20 30 78 30 30 33 44 20 7d 0d 0a 2f 2f 20 23  = 0x003D }..// #
92f0: 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66  endif..// #endif
9300: 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
9310: 30 35 30 30 20 2a 2f 0d 0a 65 6e 75 6d 20 3a 20  0500 */..enum : 
9320: 75 69 6e 74 20 7b 20 57 4d 5f 43 4f 4d 50 41 43  uint { WM_COMPAC
9330: 54 49 4e 47 20 3d 20 30 78 30 30 34 31 20 7d 0d  TING = 0x0041 }.
9340: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
9350: 4d 5f 43 4f 4d 4d 4e 4f 54 49 46 59 20 3d 20 30  M_COMMNOTIFY = 0
9360: 78 30 30 34 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0044 }..enum : 
9370: 75 69 6e 74 20 7b 20 57 4d 5f 57 49 4e 44 4f 57  uint { WM_WINDOW
9380: 50 4f 53 43 48 41 4e 47 49 4e 47 20 3d 20 30 78  POSCHANGING = 0x
9390: 30 30 34 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0046 }..enum : u
93a0: 69 6e 74 20 7b 20 57 4d 5f 57 49 4e 44 4f 57 50  int { WM_WINDOWP
93b0: 4f 53 43 48 41 4e 47 45 44 20 3d 20 30 78 30 30  OSCHANGED = 0x00
93c0: 34 37 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  47 }....enum : u
93d0: 69 6e 74 20 7b 20 57 4d 5f 50 4f 57 45 52 20 3d  int { WM_POWER =
93e0: 20 30 78 30 30 34 38 20 7d 0d 0a 0d 0a 65 6e 75   0x0048 }....enu
93f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 57 52 5f 4f  m : uint { PWR_O
9400: 4b 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 7b 20  K = 1 }..enum { 
9410: 50 57 52 5f 46 41 49 4c 20 3d 20 2d 31 20 7d 0d  PWR_FAIL = -1 }.
9420: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
9430: 57 52 5f 53 55 53 50 45 4e 44 52 45 51 55 45 53  WR_SUSPENDREQUES
9440: 54 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  T = 1 }..enum : 
9450: 75 69 6e 74 20 7b 20 50 57 52 5f 53 55 53 50 45  uint { PWR_SUSPE
9460: 4e 44 52 45 53 55 4d 45 20 3d 20 32 20 7d 0d 0a  NDRESUME = 2 }..
9470: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 57  enum : uint { PW
9480: 52 5f 43 52 49 54 49 43 41 4c 52 45 53 55 4d 45  R_CRITICALRESUME
9490: 20 3d 20 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a   = 3 }....enum :
94a0: 20 75 69 6e 74 20 7b 20 57 4d 5f 43 4f 50 59 44   uint { WM_COPYD
94b0: 41 54 41 20 3d 20 30 78 30 30 34 41 20 7d 0d 0a  ATA = 0x004A }..
94c0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
94d0: 5f 43 41 4e 43 45 4c 4a 4f 55 52 4e 41 4c 20 3d  _CANCELJOURNAL =
94e0: 20 30 78 30 30 34 42 20 7d 0d 0a 0d 0a 73 74 72   0x004B }....str
94f0: 75 63 74 20 74 61 67 43 4f 50 59 44 41 54 41 53  uct tagCOPYDATAS
9500: 54 52 55 43 54 20 7b 0d 0a 20 20 55 4c 4f 4e 47  TRUCT {..  ULONG
9510: 5f 50 54 52 20 64 77 44 61 74 61 3b 0d 0a 20 20  _PTR dwData;..  
9520: 44 57 4f 52 44 20 63 62 44 61 74 61 3b 0d 0a 20  DWORD cbData;.. 
9530: 20 50 56 4f 49 44 20 6c 70 44 61 74 61 3b 0d 0a   PVOID lpData;..
9540: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 43 4f 50 59  }..alias tagCOPY
9550: 44 41 54 41 53 54 52 55 43 54 20 43 4f 50 59 44  DATASTRUCT COPYD
9560: 41 54 41 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61  ATASTRUCT;..alia
9570: 73 20 74 61 67 43 4f 50 59 44 41 54 41 53 54 52  s tagCOPYDATASTR
9580: 55 43 54 2a 20 50 43 4f 50 59 44 41 54 41 53 54  UCT* PCOPYDATAST
9590: 52 55 43 54 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28  RUCT;....// #if(
95a0: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
95b0: 29 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 44 49  )..struct tagMDI
95c0: 4e 45 58 54 4d 45 4e 55 20 7b 0d 0a 20 20 48 4d  NEXTMENU {..  HM
95d0: 45 4e 55 20 68 6d 65 6e 75 49 6e 3b 0d 0a 20 20  ENU hmenuIn;..  
95e0: 48 4d 45 4e 55 20 68 6d 65 6e 75 4e 65 78 74 3b  HMENU hmenuNext;
95f0: 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 4e 65 78  ..  HWND hwndNex
9600: 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  t;..}..alias tag
9610: 4d 44 49 4e 45 58 54 4d 45 4e 55 20 4d 44 49 4e  MDINEXTMENU MDIN
9620: 45 58 54 4d 45 4e 55 3b 0d 0a 61 6c 69 61 73 20  EXTMENU;..alias 
9630: 74 61 67 4d 44 49 4e 45 58 54 4d 45 4e 55 2a 20  tagMDINEXTMENU* 
9640: 50 4d 44 49 4e 45 58 54 4d 45 4e 55 3b 0d 0a 61  PMDINEXTMENU;..a
9650: 6c 69 61 73 20 74 61 67 4d 44 49 4e 45 58 54 4d  lias tagMDINEXTM
9660: 45 4e 55 2a 20 4c 50 4d 44 49 4e 45 58 54 4d 45  ENU* LPMDINEXTME
9670: 4e 55 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  NU;....// #endif
9680: 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
9690: 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69  0400 */....// #i
96a0: 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
96b0: 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
96c0: 20 7b 20 57 4d 5f 4e 4f 54 49 46 59 20 3d 20 30   { WM_NOTIFY = 0
96d0: 78 30 30 34 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x004E }..enum : 
96e0: 75 69 6e 74 20 7b 20 57 4d 5f 49 4e 50 55 54 4c  uint { WM_INPUTL
96f0: 41 4e 47 43 48 41 4e 47 45 52 45 51 55 45 53 54  ANGCHANGEREQUEST
9700: 20 3d 20 30 78 30 30 35 30 20 7d 0d 0a 65 6e 75   = 0x0050 }..enu
9710: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 49 4e  m : uint { WM_IN
9720: 50 55 54 4c 41 4e 47 43 48 41 4e 47 45 20 3d 20  PUTLANGCHANGE = 
9730: 30 78 30 30 35 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0051 }..enum :
9740: 20 75 69 6e 74 20 7b 20 57 4d 5f 54 43 41 52 44   uint { WM_TCARD
9750: 20 3d 20 30 78 30 30 35 32 20 7d 0d 0a 65 6e 75   = 0x0052 }..enu
9760: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 48 45  m : uint { WM_HE
9770: 4c 50 20 3d 20 30 78 30 30 35 33 20 7d 0d 0a 65  LP = 0x0053 }..e
9780: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
9790: 55 53 45 52 43 48 41 4e 47 45 44 20 3d 20 30 78  USERCHANGED = 0x
97a0: 30 30 35 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0054 }..enum : u
97b0: 69 6e 74 20 7b 20 57 4d 5f 4e 4f 54 49 46 59 46  int { WM_NOTIFYF
97c0: 4f 52 4d 41 54 20 3d 20 30 78 30 30 35 35 20 7d  ORMAT = 0x0055 }
97d0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
97e0: 7b 20 4e 46 52 5f 41 4e 53 49 20 3d 20 31 20 7d  { NFR_ANSI = 1 }
97f0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
9800: 4e 46 52 5f 55 4e 49 43 4f 44 45 20 3d 20 32 20  NFR_UNICODE = 2 
9810: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
9820: 20 4e 46 5f 51 55 45 52 59 20 3d 20 33 20 7d 0d   NF_QUERY = 3 }.
9830: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e  .enum : uint { N
9840: 46 5f 52 45 51 55 45 52 59 20 3d 20 34 20 7d 0d  F_REQUERY = 4 }.
9850: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
9860: 20 57 4d 5f 43 4f 4e 54 45 58 54 4d 45 4e 55 20   WM_CONTEXTMENU 
9870: 3d 20 30 78 30 30 37 42 20 7d 0d 0a 65 6e 75 6d  = 0x007B }..enum
9880: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 53 54 59   : uint { WM_STY
9890: 4c 45 43 48 41 4e 47 49 4e 47 20 3d 20 30 78 30  LECHANGING = 0x0
98a0: 30 37 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  07C }..enum : ui
98b0: 6e 74 20 7b 20 57 4d 5f 53 54 59 4c 45 43 48 41  nt { WM_STYLECHA
98c0: 4e 47 45 44 20 3d 20 30 78 30 30 37 44 20 7d 0d  NGED = 0x007D }.
98d0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
98e0: 4d 5f 44 49 53 50 4c 41 59 43 48 41 4e 47 45 20  M_DISPLAYCHANGE 
98f0: 3d 20 30 78 30 30 37 45 20 7d 0d 0a 65 6e 75 6d  = 0x007E }..enum
9900: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 47 45 54   : uint { WM_GET
9910: 49 43 4f 4e 20 3d 20 30 78 30 30 37 46 20 7d 0d  ICON = 0x007F }.
9920: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
9930: 4d 5f 53 45 54 49 43 4f 4e 20 3d 20 30 78 30 30  M_SETICON = 0x00
9940: 38 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  80 }..// #endif 
9950: 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
9960: 34 30 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a  400 */....enum :
9970: 20 75 69 6e 74 20 7b 20 57 4d 5f 4e 43 43 52 45   uint { WM_NCCRE
9980: 41 54 45 20 3d 20 30 78 30 30 38 31 20 7d 0d 0a  ATE = 0x0081 }..
9990: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
99a0: 5f 4e 43 44 45 53 54 52 4f 59 20 3d 20 30 78 30  _NCDESTROY = 0x0
99b0: 30 38 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  082 }..enum : ui
99c0: 6e 74 20 7b 20 57 4d 5f 4e 43 43 41 4c 43 53 49  nt { WM_NCCALCSI
99d0: 5a 45 20 3d 20 30 78 30 30 38 33 20 7d 0d 0a 65  ZE = 0x0083 }..e
99e0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
99f0: 4e 43 48 49 54 54 45 53 54 20 3d 20 30 78 30 30  NCHITTEST = 0x00
9a00: 38 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  84 }..enum : uin
9a10: 74 20 7b 20 57 4d 5f 4e 43 50 41 49 4e 54 20 3d  t { WM_NCPAINT =
9a20: 20 30 78 30 30 38 35 20 7d 0d 0a 65 6e 75 6d 20   0x0085 }..enum 
9a30: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4e 43 41 43  : uint { WM_NCAC
9a40: 54 49 56 41 54 45 20 3d 20 30 78 30 30 38 36 20  TIVATE = 0x0086 
9a50: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
9a60: 20 57 4d 5f 47 45 54 44 4c 47 43 4f 44 45 20 3d   WM_GETDLGCODE =
9a70: 20 30 78 30 30 38 37 20 7d 0d 0a 2f 2f 20 23 69   0x0087 }..// #i
9a80: 66 6e 64 65 66 20 5f 57 49 4e 33 32 5f 57 43 45  fndef _WIN32_WCE
9a90: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
9aa0: 57 4d 5f 53 59 4e 43 50 41 49 4e 54 20 3d 20 30  WM_SYNCPAINT = 0
9ab0: 78 30 30 38 38 20 7d 0d 0a 2f 2f 20 23 65 6e 64  x0088 }..// #end
9ac0: 69 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  if..enum : uint 
9ad0: 7b 20 57 4d 5f 4e 43 4d 4f 55 53 45 4d 4f 56 45  { WM_NCMOUSEMOVE
9ae0: 20 3d 20 30 78 30 30 41 30 20 7d 0d 0a 65 6e 75   = 0x00A0 }..enu
9af0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4e 43  m : uint { WM_NC
9b00: 4c 42 55 54 54 4f 4e 44 4f 57 4e 20 3d 20 30 78  LBUTTONDOWN = 0x
9b10: 30 30 41 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  00A1 }..enum : u
9b20: 69 6e 74 20 7b 20 57 4d 5f 4e 43 4c 42 55 54 54  int { WM_NCLBUTT
9b30: 4f 4e 55 50 20 3d 20 30 78 30 30 41 32 20 7d 0d  ONUP = 0x00A2 }.
9b40: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
9b50: 4d 5f 4e 43 4c 42 55 54 54 4f 4e 44 42 4c 43 4c  M_NCLBUTTONDBLCL
9b60: 4b 20 3d 20 30 78 30 30 41 33 20 7d 0d 0a 65 6e  K = 0x00A3 }..en
9b70: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4e  um : uint { WM_N
9b80: 43 52 42 55 54 54 4f 4e 44 4f 57 4e 20 3d 20 30  CRBUTTONDOWN = 0
9b90: 78 30 30 41 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x00A4 }..enum : 
9ba0: 75 69 6e 74 20 7b 20 57 4d 5f 4e 43 52 42 55 54  uint { WM_NCRBUT
9bb0: 54 4f 4e 55 50 20 3d 20 30 78 30 30 41 35 20 7d  TONUP = 0x00A5 }
9bc0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
9bd0: 57 4d 5f 4e 43 52 42 55 54 54 4f 4e 44 42 4c 43  WM_NCRBUTTONDBLC
9be0: 4c 4b 20 3d 20 30 78 30 30 41 36 20 7d 0d 0a 65  LK = 0x00A6 }..e
9bf0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
9c00: 4e 43 4d 42 55 54 54 4f 4e 44 4f 57 4e 20 3d 20  NCMBUTTONDOWN = 
9c10: 30 78 30 30 41 37 20 7d 0d 0a 65 6e 75 6d 20 3a  0x00A7 }..enum :
9c20: 20 75 69 6e 74 20 7b 20 57 4d 5f 4e 43 4d 42 55   uint { WM_NCMBU
9c30: 54 54 4f 4e 55 50 20 3d 20 30 78 30 30 41 38 20  TTONUP = 0x00A8 
9c40: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
9c50: 20 57 4d 5f 4e 43 4d 42 55 54 54 4f 4e 44 42 4c   WM_NCMBUTTONDBL
9c60: 43 4c 4b 20 3d 20 30 78 30 30 41 39 20 7d 0d 0a  CLK = 0x00A9 }..
9c70: 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f  ..// #if(_WIN32_
9c80: 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29  WINNT >= 0x0500)
9c90: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
9ca0: 57 4d 5f 4e 43 58 42 55 54 54 4f 4e 44 4f 57 4e  WM_NCXBUTTONDOWN
9cb0: 20 3d 20 30 78 30 30 41 42 20 7d 0d 0a 65 6e 75   = 0x00AB }..enu
9cc0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4e 43  m : uint { WM_NC
9cd0: 58 42 55 54 54 4f 4e 55 50 20 3d 20 30 78 30 30  XBUTTONUP = 0x00
9ce0: 41 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  AC }..enum : uin
9cf0: 74 20 7b 20 57 4d 5f 4e 43 58 42 55 54 54 4f 4e  t { WM_NCXBUTTON
9d00: 44 42 4c 43 4c 4b 20 3d 20 30 78 30 30 41 44 20  DBLCLK = 0x00AD 
9d10: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  }..// #endif /* 
9d20: 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
9d30: 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20  0x0500 */....// 
9d40: 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  #if(_WIN32_WINNT
9d50: 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75   >= 0x0501)..enu
9d60: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 49 4e  m : uint { WM_IN
9d70: 50 55 54 20 3d 20 30 78 30 30 46 46 20 7d 0d 0a  PUT = 0x00FF }..
9d80: 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49  // #endif /* _WI
9d90: 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30  N32_WINNT >= 0x0
9da0: 35 30 31 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a  501 */....enum :
9db0: 20 75 69 6e 74 20 7b 20 57 4d 5f 4b 45 59 46 49   uint { WM_KEYFI
9dc0: 52 53 54 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a  RST = 0x0100 }..
9dd0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
9de0: 5f 4b 45 59 44 4f 57 4e 20 3d 20 30 78 30 31 30  _KEYDOWN = 0x010
9df0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
9e00: 20 7b 20 57 4d 5f 4b 45 59 55 50 20 3d 20 30 78   { WM_KEYUP = 0x
9e10: 30 31 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0101 }..enum : u
9e20: 69 6e 74 20 7b 20 57 4d 5f 43 48 41 52 20 3d 20  int { WM_CHAR = 
9e30: 30 78 30 31 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0102 }..enum :
9e40: 20 75 69 6e 74 20 7b 20 57 4d 5f 44 45 41 44 43   uint { WM_DEADC
9e50: 48 41 52 20 3d 20 30 78 30 31 30 33 20 7d 0d 0a  HAR = 0x0103 }..
9e60: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
9e70: 5f 53 59 53 4b 45 59 44 4f 57 4e 20 3d 20 30 78  _SYSKEYDOWN = 0x
9e80: 30 31 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0104 }..enum : u
9e90: 69 6e 74 20 7b 20 57 4d 5f 53 59 53 4b 45 59 55  int { WM_SYSKEYU
9ea0: 50 20 3d 20 30 78 30 31 30 35 20 7d 0d 0a 65 6e  P = 0x0105 }..en
9eb0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 53  um : uint { WM_S
9ec0: 59 53 43 48 41 52 20 3d 20 30 78 30 31 30 36 20  YSCHAR = 0x0106 
9ed0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
9ee0: 20 57 4d 5f 53 59 53 44 45 41 44 43 48 41 52 20   WM_SYSDEADCHAR 
9ef0: 3d 20 30 78 30 31 30 37 20 7d 0d 0a 2f 2f 20 23  = 0x0107 }..// #
9f00: 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  if(_WIN32_WINNT 
9f10: 3e 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d  >= 0x0501)..enum
9f20: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 55 4e 49   : uint { WM_UNI
9f30: 43 48 41 52 20 3d 20 30 78 30 31 30 39 20 7d 0d  CHAR = 0x0109 }.
9f40: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
9f50: 4d 5f 4b 45 59 4c 41 53 54 20 3d 20 30 78 30 31  M_KEYLAST = 0x01
9f60: 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  09 }..enum : uin
9f70: 74 20 7b 20 55 4e 49 43 4f 44 45 5f 4e 4f 43 48  t { UNICODE_NOCH
9f80: 41 52 20 3d 20 30 78 46 46 46 46 20 7d 0d 0a 2f  AR = 0xFFFF }../
9f90: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
9fa0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f  ..// #endif /* _
9fb0: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
9fc0: 78 30 35 30 31 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23  x0501 */....// #
9fd0: 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  if(WINVER >= 0x0
9fe0: 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  400)..enum : uin
9ff0: 74 20 7b 20 57 4d 5f 49 4d 45 5f 53 54 41 52 54  t { WM_IME_START
a000: 43 4f 4d 50 4f 53 49 54 49 4f 4e 20 3d 20 30 78  COMPOSITION = 0x
a010: 30 31 30 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  010D }..enum : u
a020: 69 6e 74 20 7b 20 57 4d 5f 49 4d 45 5f 45 4e 44  int { WM_IME_END
a030: 43 4f 4d 50 4f 53 49 54 49 4f 4e 20 3d 20 30 78  COMPOSITION = 0x
a040: 30 31 30 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  010E }..enum : u
a050: 69 6e 74 20 7b 20 57 4d 5f 49 4d 45 5f 43 4f 4d  int { WM_IME_COM
a060: 50 4f 53 49 54 49 4f 4e 20 3d 20 30 78 30 31 30  POSITION = 0x010
a070: 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  F }..enum : uint
a080: 20 7b 20 57 4d 5f 49 4d 45 5f 4b 45 59 4c 41 53   { WM_IME_KEYLAS
a090: 54 20 3d 20 30 78 30 31 30 46 20 7d 0d 0a 2f 2f  T = 0x010F }..//
a0a0: 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45   #endif /* WINVE
a0b0: 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a  R >= 0x0400 */..
a0c0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
a0d0: 57 4d 5f 49 4e 49 54 44 49 41 4c 4f 47 20 3d 20  WM_INITDIALOG = 
a0e0: 30 78 30 31 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0110 }..enum :
a0f0: 20 75 69 6e 74 20 7b 20 57 4d 5f 43 4f 4d 4d 41   uint { WM_COMMA
a100: 4e 44 20 3d 20 30 78 30 31 31 31 20 7d 0d 0a 65  ND = 0x0111 }..e
a110: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
a120: 53 59 53 43 4f 4d 4d 41 4e 44 20 3d 20 30 78 30  SYSCOMMAND = 0x0
a130: 31 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  112 }..enum : ui
a140: 6e 74 20 7b 20 57 4d 5f 54 49 4d 45 52 20 3d 20  nt { WM_TIMER = 
a150: 30 78 30 31 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0113 }..enum :
a160: 20 75 69 6e 74 20 7b 20 57 4d 5f 48 53 43 52 4f   uint { WM_HSCRO
a170: 4c 4c 20 3d 20 30 78 30 31 31 34 20 7d 0d 0a 65  LL = 0x0114 }..e
a180: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
a190: 56 53 43 52 4f 4c 4c 20 3d 20 30 78 30 31 31 35  VSCROLL = 0x0115
a1a0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
a1b0: 7b 20 57 4d 5f 49 4e 49 54 4d 45 4e 55 20 3d 20  { WM_INITMENU = 
a1c0: 30 78 30 31 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0116 }..enum :
a1d0: 20 75 69 6e 74 20 7b 20 57 4d 5f 49 4e 49 54 4d   uint { WM_INITM
a1e0: 45 4e 55 50 4f 50 55 50 20 3d 20 30 78 30 31 31  ENUPOPUP = 0x011
a1f0: 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
a200: 20 7b 20 57 4d 5f 4d 45 4e 55 53 45 4c 45 43 54   { WM_MENUSELECT
a210: 20 3d 20 30 78 30 31 31 46 20 7d 0d 0a 65 6e 75   = 0x011F }..enu
a220: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4d 45  m : uint { WM_ME
a230: 4e 55 43 48 41 52 20 3d 20 30 78 30 31 32 30 20  NUCHAR = 0x0120 
a240: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
a250: 20 57 4d 5f 45 4e 54 45 52 49 44 4c 45 20 3d 20   WM_ENTERIDLE = 
a260: 30 78 30 31 32 31 20 7d 0d 0a 2f 2f 20 23 69 66  0x0121 }..// #if
a270: 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30  (WINVER >= 0x050
a280: 30 29 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f  0)..// #ifndef _
a290: 57 49 4e 33 32 5f 57 43 45 0d 0a 65 6e 75 6d 20  WIN32_WCE..enum 
a2a0: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4d 45 4e 55  : uint { WM_MENU
a2b0: 52 42 55 54 54 4f 4e 55 50 20 3d 20 30 78 30 31  RBUTTONUP = 0x01
a2c0: 32 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  22 }..enum : uin
a2d0: 74 20 7b 20 57 4d 5f 4d 45 4e 55 44 52 41 47 20  t { WM_MENUDRAG 
a2e0: 3d 20 30 78 30 31 32 33 20 7d 0d 0a 65 6e 75 6d  = 0x0123 }..enum
a2f0: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4d 45 4e   : uint { WM_MEN
a300: 55 47 45 54 4f 42 4a 45 43 54 20 3d 20 30 78 30  UGETOBJECT = 0x0
a310: 31 32 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  124 }..enum : ui
a320: 6e 74 20 7b 20 57 4d 5f 55 4e 49 4e 49 54 4d 45  nt { WM_UNINITME
a330: 4e 55 50 4f 50 55 50 20 3d 20 30 78 30 31 32 35  NUPOPUP = 0x0125
a340: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
a350: 7b 20 57 4d 5f 4d 45 4e 55 43 4f 4d 4d 41 4e 44  { WM_MENUCOMMAND
a360: 20 3d 20 30 78 30 31 32 36 20 7d 0d 0a 0d 0a 2f   = 0x0126 }..../
a370: 2f 20 23 69 66 6e 64 65 66 20 5f 57 49 4e 33 32  / #ifndef _WIN32
a380: 5f 57 43 45 0d 0a 2f 2f 20 23 69 66 28 5f 57 49  _WCE..// #if(_WI
a390: 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30  N32_WINNT >= 0x0
a3a0: 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  500)..enum : uin
a3b0: 74 20 7b 20 57 4d 5f 43 48 41 4e 47 45 55 49 53  t { WM_CHANGEUIS
a3c0: 54 41 54 45 20 3d 20 30 78 30 31 32 37 20 7d 0d  TATE = 0x0127 }.
a3d0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
a3e0: 4d 5f 55 50 44 41 54 45 55 49 53 54 41 54 45 20  M_UPDATEUISTATE 
a3f0: 3d 20 30 78 30 31 32 38 20 7d 0d 0a 65 6e 75 6d  = 0x0128 }..enum
a400: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 51 55 45   : uint { WM_QUE
a410: 52 59 55 49 53 54 41 54 45 20 3d 20 30 78 30 31  RYUISTATE = 0x01
a420: 32 39 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  29 }....enum : u
a430: 69 6e 74 20 7b 20 55 49 53 5f 53 45 54 20 3d 20  int { UIS_SET = 
a440: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
a450: 20 7b 20 55 49 53 5f 43 4c 45 41 52 20 3d 20 32   { UIS_CLEAR = 2
a460: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
a470: 7b 20 55 49 53 5f 49 4e 49 54 49 41 4c 49 5a 45  { UIS_INITIALIZE
a480: 20 3d 20 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a   = 3 }....enum :
a490: 20 75 69 6e 74 20 7b 20 55 49 53 46 5f 48 49 44   uint { UISF_HID
a4a0: 45 46 4f 43 55 53 20 3d 20 30 78 31 20 7d 0d 0a  EFOCUS = 0x1 }..
a4b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 49  enum : uint { UI
a4c0: 53 46 5f 48 49 44 45 41 43 43 45 4c 20 3d 20 30  SF_HIDEACCEL = 0
a4d0: 78 32 20 7d 0d 0a 2f 2f 20 23 69 66 28 5f 57 49  x2 }..// #if(_WI
a4e0: 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30  N32_WINNT >= 0x0
a4f0: 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  501)..enum : uin
a500: 74 20 7b 20 55 49 53 46 5f 41 43 54 49 56 45 20  t { UISF_ACTIVE 
a510: 3d 20 30 78 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64  = 0x4 }..// #end
a520: 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e  if /* _WIN32_WIN
a530: 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f 0d  NT >= 0x0501 */.
a540: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57  .// #endif /* _W
a550: 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
a560: 30 35 30 30 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64  0500 */..// #end
a570: 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  if....// #endif.
a580: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
a590: 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 20 2a  NVER >= 0x0500 *
a5a0: 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  /....enum : uint
a5b0: 20 7b 20 57 4d 5f 43 54 4c 43 4f 4c 4f 52 4d 53   { WM_CTLCOLORMS
a5c0: 47 42 4f 58 20 3d 20 30 78 30 31 33 32 20 7d 0d  GBOX = 0x0132 }.
a5d0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
a5e0: 4d 5f 43 54 4c 43 4f 4c 4f 52 45 44 49 54 20 3d  M_CTLCOLOREDIT =
a5f0: 20 30 78 30 31 33 33 20 7d 0d 0a 65 6e 75 6d 20   0x0133 }..enum 
a600: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 43 54 4c 43  : uint { WM_CTLC
a610: 4f 4c 4f 52 4c 49 53 54 42 4f 58 20 3d 20 30 78  OLORLISTBOX = 0x
a620: 30 31 33 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0134 }..enum : u
a630: 69 6e 74 20 7b 20 57 4d 5f 43 54 4c 43 4f 4c 4f  int { WM_CTLCOLO
a640: 52 42 54 4e 20 3d 20 30 78 30 31 33 35 20 7d 0d  RBTN = 0x0135 }.
a650: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
a660: 4d 5f 43 54 4c 43 4f 4c 4f 52 44 4c 47 20 3d 20  M_CTLCOLORDLG = 
a670: 30 78 30 31 33 36 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0136 }..enum :
a680: 20 75 69 6e 74 20 7b 20 57 4d 5f 43 54 4c 43 4f   uint { WM_CTLCO
a690: 4c 4f 52 53 43 52 4f 4c 4c 42 41 52 20 3d 20 30  LORSCROLLBAR = 0
a6a0: 78 30 31 33 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0137 }..enum : 
a6b0: 75 69 6e 74 20 7b 20 57 4d 5f 43 54 4c 43 4f 4c  uint { WM_CTLCOL
a6c0: 4f 52 53 54 41 54 49 43 20 3d 20 30 78 30 31 33  ORSTATIC = 0x013
a6d0: 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  8 }....enum : ui
a6e0: 6e 74 20 7b 20 57 4d 5f 4d 4f 55 53 45 46 49 52  nt { WM_MOUSEFIR
a6f0: 53 54 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a 65  ST = 0x0200 }..e
a700: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
a710: 4d 4f 55 53 45 4d 4f 56 45 20 3d 20 30 78 30 32  MOUSEMOVE = 0x02
a720: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
a730: 74 20 7b 20 57 4d 5f 4c 42 55 54 54 4f 4e 44 4f  t { WM_LBUTTONDO
a740: 57 4e 20 3d 20 30 78 30 32 30 31 20 7d 0d 0a 65  WN = 0x0201 }..e
a750: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
a760: 4c 42 55 54 54 4f 4e 55 50 20 3d 20 30 78 30 32  LBUTTONUP = 0x02
a770: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
a780: 74 20 7b 20 57 4d 5f 4c 42 55 54 54 4f 4e 44 42  t { WM_LBUTTONDB
a790: 4c 43 4c 4b 20 3d 20 30 78 30 32 30 33 20 7d 0d  LCLK = 0x0203 }.
a7a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
a7b0: 4d 5f 52 42 55 54 54 4f 4e 44 4f 57 4e 20 3d 20  M_RBUTTONDOWN = 
a7c0: 30 78 30 32 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0204 }..enum :
a7d0: 20 75 69 6e 74 20 7b 20 57 4d 5f 52 42 55 54 54   uint { WM_RBUTT
a7e0: 4f 4e 55 50 20 3d 20 30 78 30 32 30 35 20 7d 0d  ONUP = 0x0205 }.
a7f0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
a800: 4d 5f 52 42 55 54 54 4f 4e 44 42 4c 43 4c 4b 20  M_RBUTTONDBLCLK 
a810: 3d 20 30 78 30 32 30 36 20 7d 0d 0a 65 6e 75 6d  = 0x0206 }..enum
a820: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4d 42 55   : uint { WM_MBU
a830: 54 54 4f 4e 44 4f 57 4e 20 3d 20 30 78 30 32 30  TTONDOWN = 0x020
a840: 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
a850: 20 7b 20 57 4d 5f 4d 42 55 54 54 4f 4e 55 50 20   { WM_MBUTTONUP 
a860: 3d 20 30 78 30 32 30 38 20 7d 0d 0a 65 6e 75 6d  = 0x0208 }..enum
a870: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4d 42 55   : uint { WM_MBU
a880: 54 54 4f 4e 44 42 4c 43 4c 4b 20 3d 20 30 78 30  TTONDBLCLK = 0x0
a890: 32 30 39 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f  209 }..// #if (_
a8a0: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
a8b0: 78 30 34 30 30 29 20 7c 7c 20 28 5f 57 49 4e 33  x0400) || (_WIN3
a8c0: 32 5f 57 49 4e 44 4f 57 53 20 3e 20 30 78 30 34  2_WINDOWS > 0x04
a8d0: 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
a8e0: 20 7b 20 57 4d 5f 4d 4f 55 53 45 57 48 45 45 4c   { WM_MOUSEWHEEL
a8f0: 20 3d 20 30 78 30 32 30 41 20 7d 0d 0a 2f 2f 20   = 0x020A }..// 
a900: 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28  #endif..// #if (
a910: 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
a920: 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0500)..enum : 
a930: 75 69 6e 74 20 7b 20 57 4d 5f 58 42 55 54 54 4f  uint { WM_XBUTTO
a940: 4e 44 4f 57 4e 20 3d 20 30 78 30 32 30 42 20 7d  NDOWN = 0x020B }
a950: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
a960: 57 4d 5f 58 42 55 54 54 4f 4e 55 50 20 3d 20 30  WM_XBUTTONUP = 0
a970: 78 30 32 30 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x020C }..enum : 
a980: 75 69 6e 74 20 7b 20 57 4d 5f 58 42 55 54 54 4f  uint { WM_XBUTTO
a990: 4e 44 42 4c 43 4c 4b 20 3d 20 30 78 30 32 30 44  NDBLCLK = 0x020D
a9a0: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f   }..// #endif../
a9b0: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49  / #if (_WIN32_WI
a9c0: 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a  NNT >= 0x0500)..
a9d0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
a9e0: 5f 4d 4f 55 53 45 4c 41 53 54 20 3d 20 30 78 30  _MOUSELAST = 0x0
a9f0: 32 30 44 20 7d 0d 0a 2f 2f 20 23 65 6c 69 66 20  20D }..// #elif 
aa00: 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
aa10: 20 30 78 30 34 30 30 29 20 7c 7c 20 28 5f 57 49   0x0400) || (_WI
aa20: 4e 33 32 5f 57 49 4e 44 4f 57 53 20 3e 20 30 78  N32_WINDOWS > 0x
aa30: 30 34 30 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  0400)..// #.....
aa40: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
aa50: 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
aa60: 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
aa70: 20 30 78 30 35 30 30 29 20 2a 2f 0d 0a 0d 0a 2f   0x0500) */..../
aa80: 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e  / #if(_WIN32_WIN
aa90: 4e 54 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d  NT >= 0x0400)...
aaa0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
aab0: 48 45 45 4c 5f 44 45 4c 54 41 20 3d 20 31 32 30  HEEL_DELTA = 120
aac0: 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 47   }..// #define G
aad0: 45 54 5f 57 48 45 45 4c 5f 44 45 4c 54 41 5f 57  ET_WHEEL_DELTA_W
aae0: 50 41 52 41 4d 28 77 50 61 72 61 6d 29 20 28 28  PARAM(wParam) ((
aaf0: 73 68 6f 72 74 29 48 49 57 4f 52 44 28 77 50 61  short)HIWORD(wPa
ab00: 72 61 6d 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  ram))....enum : 
ab10: 75 69 6e 74 20 7b 20 57 48 45 45 4c 5f 50 41 47  uint { WHEEL_PAG
ab20: 45 53 43 52 4f 4c 4c 20 3d 20 55 49 4e 54 5f 4d  ESCROLL = UINT_M
ab30: 41 58 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  AX }..// #endif 
ab40: 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  /* _WIN32_WINNT 
ab50: 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0400 */....
ab60: 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49  // #if(_WIN32_WI
ab70: 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a  NNT >= 0x0500)..
ab80: 2f 2f 20 23 64 65 66 69 6e 65 20 47 45 54 5f 4b  // #define GET_K
ab90: 45 59 53 54 41 54 45 5f 57 50 41 52 41 4d 28 77  EYSTATE_WPARAM(w
aba0: 50 61 72 61 6d 29 20 28 4c 4f 57 4f 52 44 28 77  Param) (LOWORD(w
abb0: 50 61 72 61 6d 29 29 0d 0a 2f 2f 20 23 64 65 66  Param))..// #def
abc0: 69 6e 65 20 47 45 54 5f 4e 43 48 49 54 54 45 53  ine GET_NCHITTES
abd0: 54 5f 57 50 41 52 41 4d 28 77 50 61 72 61 6d 29  T_WPARAM(wParam)
abe0: 20 28 28 73 68 6f 72 74 29 4c 4f 57 4f 52 44 28   ((short)LOWORD(
abf0: 77 50 61 72 61 6d 29 29 0d 0a 2f 2f 20 23 64 65  wParam))..// #de
ac00: 66 69 6e 65 20 47 45 54 5f 58 42 55 54 54 4f 4e  fine GET_XBUTTON
ac10: 5f 57 50 41 52 41 4d 28 77 50 61 72 61 6d 29 20  _WPARAM(wParam) 
ac20: 28 48 49 57 4f 52 44 28 77 50 61 72 61 6d 29 29  (HIWORD(wParam))
ac30: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
ac40: 7b 20 58 42 55 54 54 4f 4e 31 20 3d 20 30 78 30  { XBUTTON1 = 0x0
ac50: 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
ac60: 6e 74 20 7b 20 58 42 55 54 54 4f 4e 32 20 3d 20  nt { XBUTTON2 = 
ac70: 30 78 30 30 30 32 20 7d 0d 0a 0d 0a 2f 2f 20 23  0x0002 }....// #
ac80: 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f  endif /* _WIN32_
ac90: 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 20  WINNT >= 0x0500 
aca0: 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  */....enum : uin
acb0: 74 20 7b 20 57 4d 5f 50 41 52 45 4e 54 4e 4f 54  t { WM_PARENTNOT
acc0: 49 46 59 20 3d 20 30 78 30 32 31 30 20 7d 0d 0a  IFY = 0x0210 }..
acd0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
ace0: 5f 45 4e 54 45 52 4d 45 4e 55 4c 4f 4f 50 20 3d  _ENTERMENULOOP =
acf0: 20 30 78 30 32 31 31 20 7d 0d 0a 65 6e 75 6d 20   0x0211 }..enum 
ad00: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 45 58 49 54  : uint { WM_EXIT
ad10: 4d 45 4e 55 4c 4f 4f 50 20 3d 20 30 78 30 32 31  MENULOOP = 0x021
ad20: 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49  2 }....// #if(WI
ad30: 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d  NVER >= 0x0400).
ad40: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
ad50: 4d 5f 4e 45 58 54 4d 45 4e 55 20 3d 20 30 78 30  M_NEXTMENU = 0x0
ad60: 32 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  213 }..enum : ui
ad70: 6e 74 20 7b 20 57 4d 5f 53 49 5a 49 4e 47 20 3d  nt { WM_SIZING =
ad80: 20 30 78 30 32 31 34 20 7d 0d 0a 65 6e 75 6d 20   0x0214 }..enum 
ad90: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 43 41 50 54  : uint { WM_CAPT
ada0: 55 52 45 43 48 41 4e 47 45 44 20 3d 20 30 78 30  URECHANGED = 0x0
adb0: 32 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  215 }..enum : ui
adc0: 6e 74 20 7b 20 57 4d 5f 4d 4f 56 49 4e 47 20 3d  nt { WM_MOVING =
add0: 20 30 78 30 32 31 36 20 7d 0d 0a 2f 2f 20 23 65   0x0216 }..// #e
ade0: 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e  ndif /* WINVER >
adf0: 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f  = 0x0400 */..../
ae00: 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
ae10: 30 78 30 34 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20  0x0400)....enum 
ae20: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 50 4f 57 45  : uint { WM_POWE
ae30: 52 42 52 4f 41 44 43 41 53 54 20 3d 20 30 78 30  RBROADCAST = 0x0
ae40: 32 31 38 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  218 }....// #ifn
ae50: 64 65 66 20 5f 57 49 4e 33 32 5f 57 43 45 0d 0a  def _WIN32_WCE..
ae60: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 42  enum : uint { PB
ae70: 54 5f 41 50 4d 51 55 45 52 59 53 55 53 50 45 4e  T_APMQUERYSUSPEN
ae80: 44 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e  D = 0x0000 }..en
ae90: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 42 54 5f  um : uint { PBT_
aea0: 41 50 4d 51 55 45 52 59 53 54 41 4e 44 42 59 20  APMQUERYSTANDBY 
aeb0: 3d 20 30 78 30 30 30 31 20 7d 0d 0a 0d 0a 65 6e  = 0x0001 }....en
aec0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 42 54 5f  um : uint { PBT_
aed0: 41 50 4d 51 55 45 52 59 53 55 53 50 45 4e 44 46  APMQUERYSUSPENDF
aee0: 41 49 4c 45 44 20 3d 20 30 78 30 30 30 32 20 7d  AILED = 0x0002 }
aef0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
af00: 50 42 54 5f 41 50 4d 51 55 45 52 59 53 54 41 4e  PBT_APMQUERYSTAN
af10: 44 42 59 46 41 49 4c 45 44 20 3d 20 30 78 30 30  DBYFAILED = 0x00
af20: 30 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  03 }....enum : u
af30: 69 6e 74 20 7b 20 50 42 54 5f 41 50 4d 53 55 53  int { PBT_APMSUS
af40: 50 45 4e 44 20 3d 20 30 78 30 30 30 34 20 7d 0d  PEND = 0x0004 }.
af50: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
af60: 42 54 5f 41 50 4d 53 54 41 4e 44 42 59 20 3d 20  BT_APMSTANDBY = 
af70: 30 78 30 30 30 35 20 7d 0d 0a 0d 0a 65 6e 75 6d  0x0005 }....enum
af80: 20 3a 20 75 69 6e 74 20 7b 20 50 42 54 5f 41 50   : uint { PBT_AP
af90: 4d 52 45 53 55 4d 45 43 52 49 54 49 43 41 4c 20  MRESUMECRITICAL 
afa0: 3d 20 30 78 30 30 30 36 20 7d 0d 0a 65 6e 75 6d  = 0x0006 }..enum
afb0: 20 3a 20 75 69 6e 74 20 7b 20 50 42 54 5f 41 50   : uint { PBT_AP
afc0: 4d 52 45 53 55 4d 45 53 55 53 50 45 4e 44 20 3d  MRESUMESUSPEND =
afd0: 20 30 78 30 30 30 37 20 7d 0d 0a 65 6e 75 6d 20   0x0007 }..enum 
afe0: 3a 20 75 69 6e 74 20 7b 20 50 42 54 5f 41 50 4d  : uint { PBT_APM
aff0: 52 45 53 55 4d 45 53 54 41 4e 44 42 59 20 3d 20  RESUMESTANDBY = 
b000: 30 78 30 30 30 38 20 7d 0d 0a 0d 0a 65 6e 75 6d  0x0008 }....enum
b010: 20 3a 20 75 69 6e 74 20 7b 20 50 42 54 46 5f 41   : uint { PBTF_A
b020: 50 4d 52 45 53 55 4d 45 46 52 4f 4d 46 41 49 4c  PMRESUMEFROMFAIL
b030: 55 52 45 20 3d 20 30 78 30 30 30 30 30 30 30 31  URE = 0x00000001
b040: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
b050: 74 20 7b 20 50 42 54 5f 41 50 4d 42 41 54 54 45  t { PBT_APMBATTE
b060: 52 59 4c 4f 57 20 3d 20 30 78 30 30 30 39 20 7d  RYLOW = 0x0009 }
b070: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
b080: 50 42 54 5f 41 50 4d 50 4f 57 45 52 53 54 41 54  PBT_APMPOWERSTAT
b090: 55 53 43 48 41 4e 47 45 20 3d 20 30 78 30 30 30  USCHANGE = 0x000
b0a0: 41 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  A }....enum : ui
b0b0: 6e 74 20 7b 20 50 42 54 5f 41 50 4d 4f 45 4d 45  nt { PBT_APMOEME
b0c0: 56 45 4e 54 20 3d 20 30 78 30 30 30 42 20 7d 0d  VENT = 0x000B }.
b0d0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
b0e0: 42 54 5f 41 50 4d 52 45 53 55 4d 45 41 55 54 4f  BT_APMRESUMEAUTO
b0f0: 4d 41 54 49 43 20 3d 20 30 78 30 30 31 32 20 7d  MATIC = 0x0012 }
b100: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
b110: 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
b120: 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  ER >= 0x0400 */.
b130: 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  ...// #if(WINVER
b140: 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75   >= 0x0400)..enu
b150: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 44 45  m : uint { WM_DE
b160: 56 49 43 45 43 48 41 4e 47 45 20 3d 20 30 78 30  VICECHANGE = 0x0
b170: 32 31 39 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  219 }..// #endif
b180: 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
b190: 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20  0400 */....enum 
b1a0: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4d 44 49 43  : uint { WM_MDIC
b1b0: 52 45 41 54 45 20 3d 20 30 78 30 32 32 30 20 7d  REATE = 0x0220 }
b1c0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
b1d0: 57 4d 5f 4d 44 49 44 45 53 54 52 4f 59 20 3d 20  WM_MDIDESTROY = 
b1e0: 30 78 30 32 32 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0221 }..enum :
b1f0: 20 75 69 6e 74 20 7b 20 57 4d 5f 4d 44 49 41 43   uint { WM_MDIAC
b200: 54 49 56 41 54 45 20 3d 20 30 78 30 32 32 32 20  TIVATE = 0x0222 
b210: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
b220: 20 57 4d 5f 4d 44 49 52 45 53 54 4f 52 45 20 3d   WM_MDIRESTORE =
b230: 20 30 78 30 32 32 33 20 7d 0d 0a 65 6e 75 6d 20   0x0223 }..enum 
b240: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4d 44 49 4e  : uint { WM_MDIN
b250: 45 58 54 20 3d 20 30 78 30 32 32 34 20 7d 0d 0a  EXT = 0x0224 }..
b260: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
b270: 5f 4d 44 49 4d 41 58 49 4d 49 5a 45 20 3d 20 30  _MDIMAXIMIZE = 0
b280: 78 30 32 32 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0225 }..enum : 
b290: 75 69 6e 74 20 7b 20 57 4d 5f 4d 44 49 54 49 4c  uint { WM_MDITIL
b2a0: 45 20 3d 20 30 78 30 32 32 36 20 7d 0d 0a 65 6e  E = 0x0226 }..en
b2b0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4d  um : uint { WM_M
b2c0: 44 49 43 41 53 43 41 44 45 20 3d 20 30 78 30 32  DICASCADE = 0x02
b2d0: 32 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  27 }..enum : uin
b2e0: 74 20 7b 20 57 4d 5f 4d 44 49 49 43 4f 4e 41 52  t { WM_MDIICONAR
b2f0: 52 41 4e 47 45 20 3d 20 30 78 30 32 32 38 20 7d  RANGE = 0x0228 }
b300: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
b310: 57 4d 5f 4d 44 49 47 45 54 41 43 54 49 56 45 20  WM_MDIGETACTIVE 
b320: 3d 20 30 78 30 32 32 39 20 7d 0d 0a 0d 0a 65 6e  = 0x0229 }....en
b330: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4d  um : uint { WM_M
b340: 44 49 53 45 54 4d 45 4e 55 20 3d 20 30 78 30 32  DISETMENU = 0x02
b350: 33 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  30 }..enum : uin
b360: 74 20 7b 20 57 4d 5f 45 4e 54 45 52 53 49 5a 45  t { WM_ENTERSIZE
b370: 4d 4f 56 45 20 3d 20 30 78 30 32 33 31 20 7d 0d  MOVE = 0x0231 }.
b380: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
b390: 4d 5f 45 58 49 54 53 49 5a 45 4d 4f 56 45 20 3d  M_EXITSIZEMOVE =
b3a0: 20 30 78 30 32 33 32 20 7d 0d 0a 65 6e 75 6d 20   0x0232 }..enum 
b3b0: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 44 52 4f 50  : uint { WM_DROP
b3c0: 46 49 4c 45 53 20 3d 20 30 78 30 32 33 33 20 7d  FILES = 0x0233 }
b3d0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
b3e0: 57 4d 5f 4d 44 49 52 45 46 52 45 53 48 4d 45 4e  WM_MDIREFRESHMEN
b3f0: 55 20 3d 20 30 78 30 32 33 34 20 7d 0d 0a 0d 0a  U = 0x0234 }....
b400: 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d  // #if(WINVER >=
b410: 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0400)..enum :
b420: 20 75 69 6e 74 20 7b 20 57 4d 5f 49 4d 45 5f 53   uint { WM_IME_S
b430: 45 54 43 4f 4e 54 45 58 54 20 3d 20 30 78 30 32  ETCONTEXT = 0x02
b440: 38 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  81 }..enum : uin
b450: 74 20 7b 20 57 4d 5f 49 4d 45 5f 4e 4f 54 49 46  t { WM_IME_NOTIF
b460: 59 20 3d 20 30 78 30 32 38 32 20 7d 0d 0a 65 6e  Y = 0x0282 }..en
b470: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 49  um : uint { WM_I
b480: 4d 45 5f 43 4f 4e 54 52 4f 4c 20 3d 20 30 78 30  ME_CONTROL = 0x0
b490: 32 38 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  283 }..enum : ui
b4a0: 6e 74 20 7b 20 57 4d 5f 49 4d 45 5f 43 4f 4d 50  nt { WM_IME_COMP
b4b0: 4f 53 49 54 49 4f 4e 46 55 4c 4c 20 3d 20 30 78  OSITIONFULL = 0x
b4c0: 30 32 38 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0284 }..enum : u
b4d0: 69 6e 74 20 7b 20 57 4d 5f 49 4d 45 5f 53 45 4c  int { WM_IME_SEL
b4e0: 45 43 54 20 3d 20 30 78 30 32 38 35 20 7d 0d 0a  ECT = 0x0285 }..
b4f0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
b500: 5f 49 4d 45 5f 43 48 41 52 20 3d 20 30 78 30 32  _IME_CHAR = 0x02
b510: 38 36 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  86 }..// #endif 
b520: 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
b530: 34 30 30 20 2a 2f 0d 0a 2f 2f 20 23 69 66 28 57  400 */..// #if(W
b540: 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29  INVER >= 0x0500)
b550: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
b560: 57 4d 5f 49 4d 45 5f 52 45 51 55 45 53 54 20 3d  WM_IME_REQUEST =
b570: 20 30 78 30 32 38 38 20 7d 0d 0a 2f 2f 20 23 65   0x0288 }..// #e
b580: 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e  ndif /* WINVER >
b590: 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 2f 2f 20  = 0x0500 */..// 
b5a0: 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  #if(WINVER >= 0x
b5b0: 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0400)..enum : ui
b5c0: 6e 74 20 7b 20 57 4d 5f 49 4d 45 5f 4b 45 59 44  nt { WM_IME_KEYD
b5d0: 4f 57 4e 20 3d 20 30 78 30 32 39 30 20 7d 0d 0a  OWN = 0x0290 }..
b5e0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
b5f0: 5f 49 4d 45 5f 4b 45 59 55 50 20 3d 20 30 78 30  _IME_KEYUP = 0x0
b600: 32 39 31 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  291 }..// #endif
b610: 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
b620: 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69  0400 */....// #i
b630: 66 28 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  f((_WIN32_WINNT 
b640: 3e 3d 20 30 78 30 34 30 30 29 20 7c 7c 20 28 57  >= 0x0400) || (W
b650: 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29  INVER >= 0x0500)
b660: 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
b670: 20 57 4d 5f 4d 4f 55 53 45 48 4f 56 45 52 20 3d   WM_MOUSEHOVER =
b680: 20 30 78 30 32 41 31 20 7d 0d 0a 65 6e 75 6d 20   0x02A1 }..enum 
b690: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4d 4f 55 53  : uint { WM_MOUS
b6a0: 45 4c 45 41 56 45 20 3d 20 30 78 30 32 41 33 20  ELEAVE = 0x02A3 
b6b0: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f  }..// #endif..//
b6c0: 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
b6d0: 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0500)..enum : u
b6e0: 69 6e 74 20 7b 20 57 4d 5f 4e 43 4d 4f 55 53 45  int { WM_NCMOUSE
b6f0: 48 4f 56 45 52 20 3d 20 30 78 30 32 41 30 20 7d  HOVER = 0x02A0 }
b700: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
b710: 57 4d 5f 4e 43 4d 4f 55 53 45 4c 45 41 56 45 20  WM_NCMOUSELEAVE 
b720: 3d 20 30 78 30 32 41 32 20 7d 0d 0a 2f 2f 20 23  = 0x02A2 }..// #
b730: 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
b740: 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0500 */....
b750: 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49  // #if(_WIN32_WI
b760: 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a  NNT >= 0x0501)..
b770: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
b780: 5f 57 54 53 53 45 53 53 49 4f 4e 5f 43 48 41 4e  _WTSSESSION_CHAN
b790: 47 45 20 3d 20 30 78 30 32 42 31 20 7d 0d 0a 0d  GE = 0x02B1 }...
b7a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
b7b0: 4d 5f 54 41 42 4c 45 54 5f 46 49 52 53 54 20 3d  M_TABLET_FIRST =
b7c0: 20 30 78 30 32 63 30 20 7d 0d 0a 65 6e 75 6d 20   0x02c0 }..enum 
b7d0: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 54 41 42 4c  : uint { WM_TABL
b7e0: 45 54 5f 4c 41 53 54 20 3d 20 30 78 30 32 64 66  ET_LAST = 0x02df
b7f0: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
b800: 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d   _WIN32_WINNT >=
b810: 20 30 78 30 35 30 31 20 2a 2f 0d 0a 0d 0a 65 6e   0x0501 */....en
b820: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 43  um : uint { WM_C
b830: 55 54 20 3d 20 30 78 30 33 30 30 20 7d 0d 0a 65  UT = 0x0300 }..e
b840: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
b850: 43 4f 50 59 20 3d 20 30 78 30 33 30 31 20 7d 0d  COPY = 0x0301 }.
b860: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
b870: 4d 5f 50 41 53 54 45 20 3d 20 30 78 30 33 30 32  M_PASTE = 0x0302
b880: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
b890: 7b 20 57 4d 5f 43 4c 45 41 52 20 3d 20 30 78 30  { WM_CLEAR = 0x0
b8a0: 33 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  303 }..enum : ui
b8b0: 6e 74 20 7b 20 57 4d 5f 55 4e 44 4f 20 3d 20 30  nt { WM_UNDO = 0
b8c0: 78 30 33 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0304 }..enum : 
b8d0: 75 69 6e 74 20 7b 20 57 4d 5f 52 45 4e 44 45 52  uint { WM_RENDER
b8e0: 46 4f 52 4d 41 54 20 3d 20 30 78 30 33 30 35 20  FORMAT = 0x0305 
b8f0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
b900: 20 57 4d 5f 52 45 4e 44 45 52 41 4c 4c 46 4f 52   WM_RENDERALLFOR
b910: 4d 41 54 53 20 3d 20 30 78 30 33 30 36 20 7d 0d  MATS = 0x0306 }.
b920: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
b930: 4d 5f 44 45 53 54 52 4f 59 43 4c 49 50 42 4f 41  M_DESTROYCLIPBOA
b940: 52 44 20 3d 20 30 78 30 33 30 37 20 7d 0d 0a 65  RD = 0x0307 }..e
b950: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
b960: 44 52 41 57 43 4c 49 50 42 4f 41 52 44 20 3d 20  DRAWCLIPBOARD = 
b970: 30 78 30 33 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0308 }..enum :
b980: 20 75 69 6e 74 20 7b 20 57 4d 5f 50 41 49 4e 54   uint { WM_PAINT
b990: 43 4c 49 50 42 4f 41 52 44 20 3d 20 30 78 30 33  CLIPBOARD = 0x03
b9a0: 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  09 }..enum : uin
b9b0: 74 20 7b 20 57 4d 5f 56 53 43 52 4f 4c 4c 43 4c  t { WM_VSCROLLCL
b9c0: 49 50 42 4f 41 52 44 20 3d 20 30 78 30 33 30 41  IPBOARD = 0x030A
b9d0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
b9e0: 7b 20 57 4d 5f 53 49 5a 45 43 4c 49 50 42 4f 41  { WM_SIZECLIPBOA
b9f0: 52 44 20 3d 20 30 78 30 33 30 42 20 7d 0d 0a 65  RD = 0x030B }..e
ba00: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
ba10: 41 53 4b 43 42 46 4f 52 4d 41 54 4e 41 4d 45 20  ASKCBFORMATNAME 
ba20: 3d 20 30 78 30 33 30 43 20 7d 0d 0a 65 6e 75 6d  = 0x030C }..enum
ba30: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 43 48 41   : uint { WM_CHA
ba40: 4e 47 45 43 42 43 48 41 49 4e 20 3d 20 30 78 30  NGECBCHAIN = 0x0
ba50: 33 30 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  30D }..enum : ui
ba60: 6e 74 20 7b 20 57 4d 5f 48 53 43 52 4f 4c 4c 43  nt { WM_HSCROLLC
ba70: 4c 49 50 42 4f 41 52 44 20 3d 20 30 78 30 33 30  LIPBOARD = 0x030
ba80: 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  E }..enum : uint
ba90: 20 7b 20 57 4d 5f 51 55 45 52 59 4e 45 57 50 41   { WM_QUERYNEWPA
baa0: 4c 45 54 54 45 20 3d 20 30 78 30 33 30 46 20 7d  LETTE = 0x030F }
bab0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
bac0: 57 4d 5f 50 41 4c 45 54 54 45 49 53 43 48 41 4e  WM_PALETTEISCHAN
bad0: 47 49 4e 47 20 3d 20 30 78 30 33 31 30 20 7d 0d  GING = 0x0310 }.
bae0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
baf0: 4d 5f 50 41 4c 45 54 54 45 43 48 41 4e 47 45 44  M_PALETTECHANGED
bb00: 20 3d 20 30 78 30 33 31 31 20 7d 0d 0a 65 6e 75   = 0x0311 }..enu
bb10: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 48 4f  m : uint { WM_HO
bb20: 54 4b 45 59 20 3d 20 30 78 30 33 31 32 20 7d 0d  TKEY = 0x0312 }.
bb30: 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  ...// #if(WINVER
bb40: 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75   >= 0x0400)..enu
bb50: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 50 52  m : uint { WM_PR
bb60: 49 4e 54 20 3d 20 30 78 30 33 31 37 20 7d 0d 0a  INT = 0x0317 }..
bb70: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
bb80: 5f 50 52 49 4e 54 43 4c 49 45 4e 54 20 3d 20 30  _PRINTCLIENT = 0
bb90: 78 30 33 31 38 20 7d 0d 0a 2f 2f 20 23 65 6e 64  x0318 }..// #end
bba0: 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20  if /* WINVER >= 
bbb0: 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20  0x0400 */....// 
bbc0: 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  #if(_WIN32_WINNT
bbd0: 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75   >= 0x0500)..enu
bbe0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 41 50  m : uint { WM_AP
bbf0: 50 43 4f 4d 4d 41 4e 44 20 3d 20 30 78 30 33 31  PCOMMAND = 0x031
bc00: 39 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  9 }..// #endif /
bc10: 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e  * _WIN32_WINNT >
bc20: 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f  = 0x0500 */..../
bc30: 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e  / #if(_WIN32_WIN
bc40: 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 65  NT >= 0x0501)..e
bc50: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
bc60: 54 48 45 4d 45 43 48 41 4e 47 45 44 20 3d 20 30  THEMECHANGED = 0
bc70: 78 30 33 31 41 20 7d 0d 0a 2f 2f 20 23 65 6e 64  x031A }..// #end
bc80: 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e  if /* _WIN32_WIN
bc90: 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f 0d  NT >= 0x0501 */.
bca0: 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  ...// #if(WINVER
bcb0: 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a 65   >= 0x0400)....e
bcc0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
bcd0: 48 41 4e 44 48 45 4c 44 46 49 52 53 54 20 3d 20  HANDHELDFIRST = 
bce0: 30 78 30 33 35 38 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0358 }..enum :
bcf0: 20 75 69 6e 74 20 7b 20 57 4d 5f 48 41 4e 44 48   uint { WM_HANDH
bd00: 45 4c 44 4c 41 53 54 20 3d 20 30 78 30 33 35 46  ELDLAST = 0x035F
bd10: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
bd20: 74 20 7b 20 57 4d 5f 41 46 58 46 49 52 53 54 20  t { WM_AFXFIRST 
bd30: 3d 20 30 78 30 33 36 30 20 7d 0d 0a 65 6e 75 6d  = 0x0360 }..enum
bd40: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 41 46 58   : uint { WM_AFX
bd50: 4c 41 53 54 20 3d 20 30 78 30 33 37 46 20 7d 0d  LAST = 0x037F }.
bd60: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
bd70: 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a  NVER >= 0x0400 *
bd80: 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  /....enum : uint
bd90: 20 7b 20 57 4d 5f 50 45 4e 57 49 4e 46 49 52 53   { WM_PENWINFIRS
bda0: 54 20 3d 20 30 78 30 33 38 30 20 7d 0d 0a 65 6e  T = 0x0380 }..en
bdb0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 50  um : uint { WM_P
bdc0: 45 4e 57 49 4e 4c 41 53 54 20 3d 20 30 78 30 33  ENWINLAST = 0x03
bdd0: 38 46 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57  8F }....// #if(W
bde0: 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
bdf0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
be00: 57 4d 5f 41 50 50 20 3d 20 30 78 38 30 30 30 20  WM_APP = 0x8000 
be10: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  }..// #endif /* 
be20: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
be30: 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   */....enum : ui
be40: 6e 74 20 7b 20 57 4d 5f 55 53 45 52 20 3d 20 30  nt { WM_USER = 0
be50: 78 30 34 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69  x0400 }....// #i
be60: 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
be70: 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  00)....enum : ui
be80: 6e 74 20 7b 20 57 4d 53 5a 5f 4c 45 46 54 20 3d  nt { WMSZ_LEFT =
be90: 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
bea0: 74 20 7b 20 57 4d 53 5a 5f 52 49 47 48 54 20 3d  t { WMSZ_RIGHT =
beb0: 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   2 }..enum : uin
bec0: 74 20 7b 20 57 4d 53 5a 5f 54 4f 50 20 3d 20 33  t { WMSZ_TOP = 3
bed0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
bee0: 7b 20 57 4d 53 5a 5f 54 4f 50 4c 45 46 54 20 3d  { WMSZ_TOPLEFT =
bef0: 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   4 }..enum : uin
bf00: 74 20 7b 20 57 4d 53 5a 5f 54 4f 50 52 49 47 48  t { WMSZ_TOPRIGH
bf10: 54 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  T = 5 }..enum : 
bf20: 75 69 6e 74 20 7b 20 57 4d 53 5a 5f 42 4f 54 54  uint { WMSZ_BOTT
bf30: 4f 4d 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a  OM = 6 }..enum :
bf40: 20 75 69 6e 74 20 7b 20 57 4d 53 5a 5f 42 4f 54   uint { WMSZ_BOT
bf50: 54 4f 4d 4c 45 46 54 20 3d 20 37 20 7d 0d 0a 65  TOMLEFT = 7 }..e
bf60: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 53  num : uint { WMS
bf70: 5a 5f 42 4f 54 54 4f 4d 52 49 47 48 54 20 3d 20  Z_BOTTOMRIGHT = 
bf80: 38 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  8 }..// #endif /
bf90: 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  * WINVER >= 0x04
bfa0: 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  00 */....// #ifn
bfb0: 64 65 66 20 4e 4f 4e 43 4d 45 53 53 41 47 45 53  def NONCMESSAGES
bfc0: 0d 0a 0d 0a 65 6e 75 6d 20 7b 20 48 54 45 52 52  ....enum { HTERR
bfd0: 4f 52 20 3d 20 2d 32 20 7d 0d 0a 65 6e 75 6d 20  OR = -2 }..enum 
bfe0: 7b 20 48 54 54 52 41 4e 53 50 41 52 45 4e 54 20  { HTTRANSPARENT 
bff0: 3d 20 2d 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = -1 }..enum : u
c000: 69 6e 74 20 7b 20 48 54 4e 4f 57 48 45 52 45 20  int { HTNOWHERE 
c010: 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 0 }..enum : ui
c020: 6e 74 20 7b 20 48 54 43 4c 49 45 4e 54 20 3d 20  nt { HTCLIENT = 
c030: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
c040: 20 7b 20 48 54 43 41 50 54 49 4f 4e 20 3d 20 32   { HTCAPTION = 2
c050: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
c060: 7b 20 48 54 53 59 53 4d 45 4e 55 20 3d 20 33 20  { HTSYSMENU = 3 
c070: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
c080: 20 48 54 47 52 4f 57 42 4f 58 20 3d 20 34 20 7d   HTGROWBOX = 4 }
c090: 0d 0a 61 6c 69 61 73 20 48 54 47 52 4f 57 42 4f  ..alias HTGROWBO
c0a0: 58 20 48 54 53 49 5a 45 3b 0d 0a 65 6e 75 6d 20  X HTSIZE;..enum 
c0b0: 3a 20 75 69 6e 74 20 7b 20 48 54 4d 45 4e 55 20  : uint { HTMENU 
c0c0: 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 5 }..enum : ui
c0d0: 6e 74 20 7b 20 48 54 48 53 43 52 4f 4c 4c 20 3d  nt { HTHSCROLL =
c0e0: 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   6 }..enum : uin
c0f0: 74 20 7b 20 48 54 56 53 43 52 4f 4c 4c 20 3d 20  t { HTVSCROLL = 
c100: 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
c110: 20 7b 20 48 54 4d 49 4e 42 55 54 54 4f 4e 20 3d   { HTMINBUTTON =
c120: 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   8 }..enum : uin
c130: 74 20 7b 20 48 54 4d 41 58 42 55 54 54 4f 4e 20  t { HTMAXBUTTON 
c140: 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 9 }..enum : ui
c150: 6e 74 20 7b 20 48 54 4c 45 46 54 20 3d 20 31 30  nt { HTLEFT = 10
c160: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
c170: 7b 20 48 54 52 49 47 48 54 20 3d 20 31 31 20 7d  { HTRIGHT = 11 }
c180: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
c190: 48 54 54 4f 50 20 3d 20 31 32 20 7d 0d 0a 65 6e  HTTOP = 12 }..en
c1a0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 54 54 4f  um : uint { HTTO
c1b0: 50 4c 45 46 54 20 3d 20 31 33 20 7d 0d 0a 65 6e  PLEFT = 13 }..en
c1c0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 54 54 4f  um : uint { HTTO
c1d0: 50 52 49 47 48 54 20 3d 20 31 34 20 7d 0d 0a 65  PRIGHT = 14 }..e
c1e0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 54 42  num : uint { HTB
c1f0: 4f 54 54 4f 4d 20 3d 20 31 35 20 7d 0d 0a 65 6e  OTTOM = 15 }..en
c200: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 54 42 4f  um : uint { HTBO
c210: 54 54 4f 4d 4c 45 46 54 20 3d 20 31 36 20 7d 0d  TTOMLEFT = 16 }.
c220: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
c230: 54 42 4f 54 54 4f 4d 52 49 47 48 54 20 3d 20 31  TBOTTOMRIGHT = 1
c240: 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
c250: 20 7b 20 48 54 42 4f 52 44 45 52 20 3d 20 31 38   { HTBORDER = 18
c260: 20 7d 0d 0a 61 6c 69 61 73 20 48 54 4d 49 4e 42   }..alias HTMINB
c270: 55 54 54 4f 4e 20 48 54 52 45 44 55 43 45 3b 0d  UTTON HTREDUCE;.
c280: 0a 61 6c 69 61 73 20 48 54 4d 41 58 42 55 54 54  .alias HTMAXBUTT
c290: 4f 4e 20 48 54 5a 4f 4f 4d 3b 0d 0a 61 6c 69 61  ON HTZOOM;..alia
c2a0: 73 20 48 54 4c 45 46 54 20 48 54 53 49 5a 45 46  s HTLEFT HTSIZEF
c2b0: 49 52 53 54 3b 0d 0a 61 6c 69 61 73 20 48 54 42  IRST;..alias HTB
c2c0: 4f 54 54 4f 4d 52 49 47 48 54 20 48 54 53 49 5a  OTTOMRIGHT HTSIZ
c2d0: 45 4c 41 53 54 3b 0d 0a 2f 2f 20 23 69 66 28 57  ELAST;..// #if(W
c2e0: 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
c2f0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
c300: 48 54 4f 42 4a 45 43 54 20 3d 20 31 39 20 7d 0d  HTOBJECT = 19 }.
c310: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
c320: 54 43 4c 4f 53 45 20 3d 20 32 30 20 7d 0d 0a 65  TCLOSE = 20 }..e
c330: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 54 48  num : uint { HTH
c340: 45 4c 50 20 3d 20 32 31 20 7d 0d 0a 2f 2f 20 23  ELP = 21 }..// #
c350: 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
c360: 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0400 */....
c370: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d  enum : uint { SM
c380: 54 4f 5f 4e 4f 52 4d 41 4c 20 3d 20 30 78 30 30  TO_NORMAL = 0x00
c390: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
c3a0: 74 20 7b 20 53 4d 54 4f 5f 42 4c 4f 43 4b 20 3d  t { SMTO_BLOCK =
c3b0: 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
c3c0: 3a 20 75 69 6e 74 20 7b 20 53 4d 54 4f 5f 41 42  : uint { SMTO_AB
c3d0: 4f 52 54 49 46 48 55 4e 47 20 3d 20 30 78 30 30  ORTIFHUNG = 0x00
c3e0: 30 32 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e  02 }..// #if(WIN
c3f0: 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a  VER >= 0x0500)..
c400: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d  enum : uint { SM
c410: 54 4f 5f 4e 4f 54 49 4d 45 4f 55 54 49 46 4e 4f  TO_NOTIMEOUTIFNO
c420: 54 48 55 4e 47 20 3d 20 30 78 30 30 30 38 20 7d  THUNG = 0x0008 }
c430: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
c440: 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 20  INVER >= 0x0500 
c450: 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  */..// #endif /*
c460: 20 21 4e 4f 4e 43 4d 45 53 53 41 47 45 53 20 2a   !NONCMESSAGES *
c470: 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  /....enum : uint
c480: 20 7b 20 4d 41 5f 41 43 54 49 56 41 54 45 20 3d   { MA_ACTIVATE =
c490: 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
c4a0: 74 20 7b 20 4d 41 5f 41 43 54 49 56 41 54 45 41  t { MA_ACTIVATEA
c4b0: 4e 44 45 41 54 20 3d 20 32 20 7d 0d 0a 65 6e 75  NDEAT = 2 }..enu
c4c0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 41 5f 4e 4f  m : uint { MA_NO
c4d0: 41 43 54 49 56 41 54 45 20 3d 20 33 20 7d 0d 0a  ACTIVATE = 3 }..
c4e0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 41  enum : uint { MA
c4f0: 5f 4e 4f 41 43 54 49 56 41 54 45 41 4e 44 45 41  _NOACTIVATEANDEA
c500: 54 20 3d 20 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  T = 4 }....enum 
c510: 3a 20 75 69 6e 74 20 7b 20 49 43 4f 4e 5f 53 4d  : uint { ICON_SM
c520: 41 4c 4c 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20  ALL = 0 }..enum 
c530: 3a 20 75 69 6e 74 20 7b 20 49 43 4f 4e 5f 42 49  : uint { ICON_BI
c540: 47 20 3d 20 31 20 7d 0d 0a 2f 2f 20 23 69 66 28  G = 1 }..// #if(
c550: 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
c560: 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20  0x0501)..enum : 
c570: 75 69 6e 74 20 7b 20 49 43 4f 4e 5f 53 4d 41 4c  uint { ICON_SMAL
c580: 4c 32 20 3d 20 32 20 7d 0d 0a 2f 2f 20 23 65 6e  L2 = 2 }..// #en
c590: 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49  dif /* _WIN32_WI
c5a0: 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f  NNT >= 0x0501 */
c5b0: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
c5c0: 77 73 29 20 65 78 70 6f 72 74 20 55 49 4e 54 20  ws) export UINT 
c5d0: 52 65 67 69 73 74 65 72 57 69 6e 64 6f 77 4d 65  RegisterWindowMe
c5e0: 73 73 61 67 65 41 28 0d 0a 20 20 4c 50 43 53 54  ssageA(..  LPCST
c5f0: 52 20 6c 70 53 74 72 69 6e 67 29 3b 0d 0a 65 78  R lpString);..ex
c600: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
c610: 70 6f 72 74 20 55 49 4e 54 20 52 65 67 69 73 74  port UINT Regist
c620: 65 72 57 69 6e 64 6f 77 4d 65 73 73 61 67 65 57  erWindowMessageW
c630: 28 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 53  (..  LPCWSTR lpS
c640: 74 72 69 6e 67 29 3b 0d 0a 2f 2f 20 23 69 66 64  tring);..// #ifd
c650: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  ef UNICODE..// #
c660: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
c670: 6c 69 61 73 20 52 65 67 69 73 74 65 72 57 69 6e  lias RegisterWin
c680: 64 6f 77 4d 65 73 73 61 67 65 41 20 52 65 67 69  dowMessageA Regi
c690: 73 74 65 72 57 69 6e 64 6f 77 4d 65 73 73 61 67  sterWindowMessag
c6a0: 65 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  e;..// #endif //
c6b0: 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75   !UNICODE....enu
c6c0: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 49 5a 45 5f  m : uint { SIZE_
c6d0: 52 45 53 54 4f 52 45 44 20 3d 20 30 20 7d 0d 0a  RESTORED = 0 }..
c6e0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 49  enum : uint { SI
c6f0: 5a 45 5f 4d 49 4e 49 4d 49 5a 45 44 20 3d 20 31  ZE_MINIMIZED = 1
c700: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
c710: 7b 20 53 49 5a 45 5f 4d 41 58 49 4d 49 5a 45 44  { SIZE_MAXIMIZED
c720: 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 2 }..enum : u
c730: 69 6e 74 20 7b 20 53 49 5a 45 5f 4d 41 58 53 48  int { SIZE_MAXSH
c740: 4f 57 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a  OW = 3 }..enum :
c750: 20 75 69 6e 74 20 7b 20 53 49 5a 45 5f 4d 41 58   uint { SIZE_MAX
c760: 48 49 44 45 20 3d 20 34 20 7d 0d 0a 0d 0a 61 6c  HIDE = 4 }....al
c770: 69 61 73 20 53 49 5a 45 5f 52 45 53 54 4f 52 45  ias SIZE_RESTORE
c780: 44 20 53 49 5a 45 4e 4f 52 4d 41 4c 3b 0d 0a 61  D SIZENORMAL;..a
c790: 6c 69 61 73 20 53 49 5a 45 5f 4d 49 4e 49 4d 49  lias SIZE_MINIMI
c7a0: 5a 45 44 20 53 49 5a 45 49 43 4f 4e 49 43 3b 0d  ZED SIZEICONIC;.
c7b0: 0a 61 6c 69 61 73 20 53 49 5a 45 5f 4d 41 58 49  .alias SIZE_MAXI
c7c0: 4d 49 5a 45 44 20 53 49 5a 45 46 55 4c 4c 53 43  MIZED SIZEFULLSC
c7d0: 52 45 45 4e 3b 0d 0a 61 6c 69 61 73 20 53 49 5a  REEN;..alias SIZ
c7e0: 45 5f 4d 41 58 53 48 4f 57 20 53 49 5a 45 5a 4f  E_MAXSHOW SIZEZO
c7f0: 4f 4d 53 48 4f 57 3b 0d 0a 61 6c 69 61 73 20 53  OMSHOW;..alias S
c800: 49 5a 45 5f 4d 41 58 48 49 44 45 20 53 49 5a 45  IZE_MAXHIDE SIZE
c810: 5a 4f 4f 4d 48 49 44 45 3b 0d 0a 0d 0a 73 74 72  ZOOMHIDE;....str
c820: 75 63 74 20 74 61 67 57 49 4e 44 4f 57 50 4f 53  uct tagWINDOWPOS
c830: 20 7b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 3b   {..  HWND hwnd;
c840: 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 49 6e 73  ..  HWND hwndIns
c850: 65 72 74 41 66 74 65 72 3b 0d 0a 20 20 69 6e 74  ertAfter;..  int
c860: 20 78 3b 0d 0a 20 20 69 6e 74 20 79 3b 0d 0a 20   x;..  int y;.. 
c870: 20 69 6e 74 20 63 78 3b 0d 0a 20 20 69 6e 74 20   int cx;..  int 
c880: 63 79 3b 0d 0a 20 20 55 49 4e 54 20 66 6c 61 67  cy;..  UINT flag
c890: 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  s;..}..alias tag
c8a0: 57 49 4e 44 4f 57 50 4f 53 20 57 49 4e 44 4f 57  WINDOWPOS WINDOW
c8b0: 50 4f 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57  POS;..alias tagW
c8c0: 49 4e 44 4f 57 50 4f 53 2a 20 4c 50 57 49 4e 44  INDOWPOS* LPWIND
c8d0: 4f 57 50 4f 53 3b 0d 0a 61 6c 69 61 73 20 74 61  OWPOS;..alias ta
c8e0: 67 57 49 4e 44 4f 57 50 4f 53 2a 20 50 57 49 4e  gWINDOWPOS* PWIN
c8f0: 44 4f 57 50 4f 53 3b 0d 0a 0d 0a 73 74 72 75 63  DOWPOS;....struc
c900: 74 20 74 61 67 4e 43 43 41 4c 43 53 49 5a 45 5f  t tagNCCALCSIZE_
c910: 50 41 52 41 4d 53 20 7b 0d 0a 20 20 52 45 43 54  PARAMS {..  RECT
c920: 20 72 67 72 63 5b 33 5d 3b 0d 0a 20 20 50 57 49   rgrc[3];..  PWI
c930: 4e 44 4f 57 50 4f 53 20 6c 70 70 6f 73 3b 0d 0a  NDOWPOS lppos;..
c940: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 43 43 41  }..alias tagNCCA
c950: 4c 43 53 49 5a 45 5f 50 41 52 41 4d 53 20 4e 43  LCSIZE_PARAMS NC
c960: 43 41 4c 43 53 49 5a 45 5f 50 41 52 41 4d 53 3b  CALCSIZE_PARAMS;
c970: 0d 0a 61 6c 69 61 73 20 74 61 67 4e 43 43 41 4c  ..alias tagNCCAL
c980: 43 53 49 5a 45 5f 50 41 52 41 4d 53 2a 20 4c 50  CSIZE_PARAMS* LP
c990: 4e 43 43 41 4c 43 53 49 5a 45 5f 50 41 52 41 4d  NCCALCSIZE_PARAM
c9a0: 53 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  S;....enum : uin
c9b0: 74 20 7b 20 57 56 52 5f 41 4c 49 47 4e 54 4f 50  t { WVR_ALIGNTOP
c9c0: 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75   = 0x0010 }..enu
c9d0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 56 52 5f 41  m : uint { WVR_A
c9e0: 4c 49 47 4e 4c 45 46 54 20 3d 20 30 78 30 30 32  LIGNLEFT = 0x002
c9f0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
ca00: 20 7b 20 57 56 52 5f 41 4c 49 47 4e 42 4f 54 54   { WVR_ALIGNBOTT
ca10: 4f 4d 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 65  OM = 0x0040 }..e
ca20: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 56 52  num : uint { WVR
ca30: 5f 41 4c 49 47 4e 52 49 47 48 54 20 3d 20 30 78  _ALIGNRIGHT = 0x
ca40: 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0080 }..enum : u
ca50: 69 6e 74 20 7b 20 57 56 52 5f 48 52 45 44 52 41  int { WVR_HREDRA
ca60: 57 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 65 6e  W = 0x0100 }..en
ca70: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 56 52 5f  um : uint { WVR_
ca80: 56 52 45 44 52 41 57 20 3d 20 30 78 30 32 30 30  VREDRAW = 0x0200
ca90: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
caa0: 7b 20 57 56 52 5f 52 45 44 52 41 57 20 3d 20 57  { WVR_REDRAW = W
cab0: 56 52 5f 48 52 45 44 52 41 57 20 7c 20 57 56 52  VR_HREDRAW | WVR
cac0: 5f 56 52 45 44 52 41 57 20 7d 0d 0a 65 6e 75 6d  _VREDRAW }..enum
cad0: 20 3a 20 75 69 6e 74 20 7b 20 57 56 52 5f 56 41   : uint { WVR_VA
cae0: 4c 49 44 52 45 43 54 53 20 3d 20 30 78 30 34 30  LIDRECTS = 0x040
caf0: 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65  0 }....// #ifnde
cb00: 66 20 4e 4f 4b 45 59 53 54 41 54 45 53 0d 0a 0d  f NOKEYSTATES...
cb10: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
cb20: 4b 5f 4c 42 55 54 54 4f 4e 20 3d 20 30 78 30 30  K_LBUTTON = 0x00
cb30: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
cb40: 74 20 7b 20 4d 4b 5f 52 42 55 54 54 4f 4e 20 3d  t { MK_RBUTTON =
cb50: 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20   0x0002 }..enum 
cb60: 3a 20 75 69 6e 74 20 7b 20 4d 4b 5f 53 48 49 46  : uint { MK_SHIF
cb70: 54 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e  T = 0x0004 }..en
cb80: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4b 5f 43  um : uint { MK_C
cb90: 4f 4e 54 52 4f 4c 20 3d 20 30 78 30 30 30 38 20  ONTROL = 0x0008 
cba0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
cbb0: 20 4d 4b 5f 4d 42 55 54 54 4f 4e 20 3d 20 30 78   MK_MBUTTON = 0x
cbc0: 30 30 31 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 5f  0010 }..// #if(_
cbd0: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
cbe0: 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0500)..enum : u
cbf0: 69 6e 74 20 7b 20 4d 4b 5f 58 42 55 54 54 4f 4e  int { MK_XBUTTON
cc00: 31 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e  1 = 0x0020 }..en
cc10: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4b 5f 58  um : uint { MK_X
cc20: 42 55 54 54 4f 4e 32 20 3d 20 30 78 30 30 34 30  BUTTON2 = 0x0040
cc30: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
cc40: 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d   _WIN32_WINNT >=
cc50: 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f   0x0500 */....//
cc60: 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 4b 45   #endif /* !NOKE
cc70: 59 53 54 41 54 45 53 20 2a 2f 0d 0a 0d 0a 2f 2f  YSTATES */....//
cc80: 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e   #if(_WIN32_WINN
cc90: 54 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 2f 2f  T >= 0x0400)..//
cca0: 20 23 69 66 6e 64 65 66 20 4e 4f 54 52 41 43 4b   #ifndef NOTRACK
ccb0: 4d 4f 55 53 45 45 56 45 4e 54 0d 0a 0d 0a 65 6e  MOUSEEVENT....en
ccc0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4d 45 5f  um : uint { TME_
ccd0: 48 4f 56 45 52 20 3d 20 30 78 30 30 30 30 30 30  HOVER = 0x000000
cce0: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
ccf0: 74 20 7b 20 54 4d 45 5f 4c 45 41 56 45 20 3d 20  t { TME_LEAVE = 
cd00: 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 2f 2f  0x00000002 }..//
cd10: 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
cd20: 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0500)..enum : u
cd30: 69 6e 74 20 7b 20 54 4d 45 5f 4e 4f 4e 43 4c 49  int { TME_NONCLI
cd40: 45 4e 54 20 3d 20 30 78 30 30 30 30 30 30 31 30  ENT = 0x00000010
cd50: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
cd60: 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30   WINVER >= 0x050
cd70: 30 20 2a 2f 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0 */..enum : uin
cd80: 74 20 7b 20 54 4d 45 5f 51 55 45 52 59 20 3d 20  t { TME_QUERY = 
cd90: 30 78 34 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0x40000000 }..en
cda0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4d 45 5f  um : uint { TME_
cdb0: 43 41 4e 43 45 4c 20 3d 20 30 78 38 30 30 30 30  CANCEL = 0x80000
cdc0: 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  000 }....enum : 
cdd0: 75 69 6e 74 20 7b 20 48 4f 56 45 52 5f 44 45 46  uint { HOVER_DEF
cde0: 41 55 4c 54 20 3d 20 30 78 46 46 46 46 46 46 46  AULT = 0xFFFFFFF
cdf0: 46 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  F }..// #endif /
ce00: 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e  * _WIN32_WINNT >
ce10: 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f  = 0x0400 */..../
ce20: 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e  / #if(_WIN32_WIN
ce30: 4e 54 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 73  NT >= 0x0400)..s
ce40: 74 72 75 63 74 20 74 61 67 54 52 41 43 4b 4d 4f  truct tagTRACKMO
ce50: 55 53 45 45 56 45 4e 54 20 7b 0d 0a 20 20 44 57  USEEVENT {..  DW
ce60: 4f 52 44 20 63 62 53 69 7a 65 3b 0d 0a 20 20 44  ORD cbSize;..  D
ce70: 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a 20  WORD dwFlags;.. 
ce80: 20 48 57 4e 44 20 68 77 6e 64 54 72 61 63 6b 3b   HWND hwndTrack;
ce90: 0d 0a 20 20 44 57 4f 52 44 20 64 77 48 6f 76 65  ..  DWORD dwHove
cea0: 72 54 69 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  rTime;..}..alias
ceb0: 20 74 61 67 54 52 41 43 4b 4d 4f 55 53 45 45 56   tagTRACKMOUSEEV
cec0: 45 4e 54 20 54 52 41 43 4b 4d 4f 55 53 45 45 56  ENT TRACKMOUSEEV
ced0: 45 4e 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67 54  ENT;..alias tagT
cee0: 52 41 43 4b 4d 4f 55 53 45 45 56 45 4e 54 2a 20  RACKMOUSEEVENT* 
cef0: 4c 50 54 52 41 43 4b 4d 4f 55 53 45 45 56 45 4e  LPTRACKMOUSEEVEN
cf00: 54 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  T;....extern(Win
cf10: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
cf20: 4c 20 54 72 61 63 6b 4d 6f 75 73 65 45 76 65 6e  L TrackMouseEven
cf30: 74 28 0d 0a 20 20 4c 50 54 52 41 43 4b 4d 4f 55  t(..  LPTRACKMOU
cf40: 53 45 45 56 45 4e 54 20 6c 70 45 76 65 6e 74 54  SEEVENT lpEventT
cf50: 72 61 63 6b 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69  rack);..// #endi
cf60: 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e  f /* _WIN32_WINN
cf70: 54 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a  T >= 0x0400 */..
cf80: 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f  ..// #if(_WIN32_
cf90: 57 49 4e 4e 54 20 3e 3d 20 30 78 30 34 30 30 29  WINNT >= 0x0400)
cfa0: 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  ....// #endif /*
cfb0: 20 21 4e 4f 54 52 41 43 4b 4d 4f 55 53 45 45 56   !NOTRACKMOUSEEV
cfc0: 45 4e 54 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69  ENT */..// #endi
cfd0: 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e  f /* _WIN32_WINN
cfe0: 54 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a  T >= 0x0400 */..
cff0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21  ..// #endif /* !
d000: 4e 4f 57 49 4e 4d 45 53 53 41 47 45 53 20 2a 2f  NOWINMESSAGES */
d010: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e  ....// #ifndef N
d020: 4f 57 49 4e 53 54 59 4c 45 53 0d 0a 0d 0a 65 6e  OWINSTYLES....en
d030: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 4f  um : uint { WS_O
d040: 56 45 52 4c 41 50 50 45 44 20 3d 20 30 78 30 30  VERLAPPED = 0x00
d050: 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
d060: 20 75 69 6e 74 20 7b 20 57 53 5f 50 4f 50 55 50   uint { WS_POPUP
d070: 20 3d 20 30 78 38 30 30 30 30 30 30 30 20 7d 0d   = 0x80000000 }.
d080: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
d090: 53 5f 43 48 49 4c 44 20 3d 20 30 78 34 30 30 30  S_CHILD = 0x4000
d0a0: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
d0b0: 69 6e 74 20 7b 20 57 53 5f 4d 49 4e 49 4d 49 5a  int { WS_MINIMIZ
d0c0: 45 20 3d 20 30 78 32 30 30 30 30 30 30 30 20 7d  E = 0x20000000 }
d0d0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
d0e0: 57 53 5f 56 49 53 49 42 4c 45 20 3d 20 30 78 31  WS_VISIBLE = 0x1
d0f0: 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000000 }..enum 
d100: 3a 20 75 69 6e 74 20 7b 20 57 53 5f 44 49 53 41  : uint { WS_DISA
d110: 42 4c 45 44 20 3d 20 30 78 30 38 30 30 30 30 30  BLED = 0x0800000
d120: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
d130: 20 7b 20 57 53 5f 43 4c 49 50 53 49 42 4c 49 4e   { WS_CLIPSIBLIN
d140: 47 53 20 3d 20 30 78 30 34 30 30 30 30 30 30 20  GS = 0x04000000 
d150: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
d160: 20 57 53 5f 43 4c 49 50 43 48 49 4c 44 52 45 4e   WS_CLIPCHILDREN
d170: 20 3d 20 30 78 30 32 30 30 30 30 30 30 20 7d 0d   = 0x02000000 }.
d180: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
d190: 53 5f 4d 41 58 49 4d 49 5a 45 20 3d 20 30 78 30  S_MAXIMIZE = 0x0
d1a0: 31 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  1000000 }..enum 
d1b0: 3a 20 75 69 6e 74 20 7b 20 57 53 5f 43 41 50 54  : uint { WS_CAPT
d1c0: 49 4f 4e 20 3d 20 30 78 30 30 43 30 30 30 30 30  ION = 0x00C00000
d1d0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
d1e0: 7b 20 57 53 5f 42 4f 52 44 45 52 20 3d 20 30 78  { WS_BORDER = 0x
d1f0: 30 30 38 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00800000 }..enum
d200: 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 44 4c 47   : uint { WS_DLG
d210: 46 52 41 4d 45 20 3d 20 30 78 30 30 34 30 30 30  FRAME = 0x004000
d220: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
d230: 74 20 7b 20 57 53 5f 56 53 43 52 4f 4c 4c 20 3d  t { WS_VSCROLL =
d240: 20 30 78 30 30 32 30 30 30 30 30 20 7d 0d 0a 65   0x00200000 }..e
d250: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f  num : uint { WS_
d260: 48 53 43 52 4f 4c 4c 20 3d 20 30 78 30 30 31 30  HSCROLL = 0x0010
d270: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
d280: 69 6e 74 20 7b 20 57 53 5f 53 59 53 4d 45 4e 55  int { WS_SYSMENU
d290: 20 3d 20 30 78 30 30 30 38 30 30 30 30 20 7d 0d   = 0x00080000 }.
d2a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
d2b0: 53 5f 54 48 49 43 4b 46 52 41 4d 45 20 3d 20 30  S_THICKFRAME = 0
d2c0: 78 30 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75  x00040000 }..enu
d2d0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 47 52  m : uint { WS_GR
d2e0: 4f 55 50 20 3d 20 30 78 30 30 30 32 30 30 30 30  OUP = 0x00020000
d2f0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
d300: 7b 20 57 53 5f 54 41 42 53 54 4f 50 20 3d 20 30  { WS_TABSTOP = 0
d310: 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 0d 0a 65  x00010000 }....e
d320: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f  num : uint { WS_
d330: 4d 49 4e 49 4d 49 5a 45 42 4f 58 20 3d 20 30 78  MINIMIZEBOX = 0x
d340: 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00020000 }..enum
d350: 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 4d 41 58   : uint { WS_MAX
d360: 49 4d 49 5a 45 42 4f 58 20 3d 20 30 78 30 30 30  IMIZEBOX = 0x000
d370: 31 30 30 30 30 20 7d 0d 0a 0d 0a 61 6c 69 61 73  10000 }....alias
d380: 20 57 53 5f 4f 56 45 52 4c 41 50 50 45 44 20 57   WS_OVERLAPPED W
d390: 53 5f 54 49 4c 45 44 3b 0d 0a 61 6c 69 61 73 20  S_TILED;..alias 
d3a0: 57 53 5f 4d 49 4e 49 4d 49 5a 45 20 57 53 5f 49  WS_MINIMIZE WS_I
d3b0: 43 4f 4e 49 43 3b 0d 0a 61 6c 69 61 73 20 57 53  CONIC;..alias WS
d3c0: 5f 54 48 49 43 4b 46 52 41 4d 45 20 57 53 5f 53  _THICKFRAME WS_S
d3d0: 49 5a 45 42 4f 58 3b 0d 0a 2f 2f 20 23 64 65 66  IZEBOX;..// #def
d3e0: 69 6e 65 20 57 53 5f 54 49 4c 45 44 57 49 4e 44  ine WS_TILEDWIND
d3f0: 4f 57 20 57 53 5f 4f 56 45 52 4c 41 50 50 45 44  OW WS_OVERLAPPED
d400: 57 49 4e 44 4f 57 0d 0a 0d 0a 65 6e 75 6d 20 3a  WINDOW....enum :
d410: 20 75 69 6e 74 20 7b 20 57 53 5f 4f 56 45 52 4c   uint { WS_OVERL
d420: 41 50 50 45 44 57 49 4e 44 4f 57 20 3d 20 57 53  APPEDWINDOW = WS
d430: 5f 4f 56 45 52 4c 41 50 50 45 44 20 7c 20 57 53  _OVERLAPPED | WS
d440: 5f 43 41 50 54 49 4f 4e 20 7c 20 57 53 5f 53 59  _CAPTION | WS_SY
d450: 53 4d 45 4e 55 20 7c 20 57 53 5f 54 48 49 43 4b  SMENU | WS_THICK
d460: 46 52 41 4d 45 20 7c 20 57 53 5f 4d 49 4e 49 4d  FRAME | WS_MINIM
d470: 49 5a 45 42 4f 58 20 7c 20 57 53 5f 4d 41 58 49  IZEBOX | WS_MAXI
d480: 4d 49 5a 45 42 4f 58 20 7d 0d 0a 0d 0a 65 6e 75  MIZEBOX }....enu
d490: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 50 4f  m : uint { WS_PO
d4a0: 50 55 50 57 49 4e 44 4f 57 20 3d 20 57 53 5f 50  PUPWINDOW = WS_P
d4b0: 4f 50 55 50 20 7c 20 57 53 5f 42 4f 52 44 45 52  OPUP | WS_BORDER
d4c0: 20 7c 20 57 53 5f 53 59 53 4d 45 4e 55 20 7d 0d   | WS_SYSMENU }.
d4d0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
d4e0: 20 57 53 5f 43 48 49 4c 44 57 49 4e 44 4f 57 20   WS_CHILDWINDOW 
d4f0: 3d 20 57 53 5f 43 48 49 4c 44 20 7d 0d 0a 0d 0a  = WS_CHILD }....
d500: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53  enum : uint { WS
d510: 5f 45 58 5f 44 4c 47 4d 4f 44 41 4c 46 52 41 4d  _EX_DLGMODALFRAM
d520: 45 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d  E = 0x00000001 }
d530: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
d540: 57 53 5f 45 58 5f 4e 4f 50 41 52 45 4e 54 4e 4f  WS_EX_NOPARENTNO
d550: 54 49 46 59 20 3d 20 30 78 30 30 30 30 30 30 30  TIFY = 0x0000000
d560: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
d570: 20 7b 20 57 53 5f 45 58 5f 54 4f 50 4d 4f 53 54   { WS_EX_TOPMOST
d580: 20 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d   = 0x00000008 }.
d590: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
d5a0: 53 5f 45 58 5f 41 43 43 45 50 54 46 49 4c 45 53  S_EX_ACCEPTFILES
d5b0: 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d   = 0x00000010 }.
d5c0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
d5d0: 53 5f 45 58 5f 54 52 41 4e 53 50 41 52 45 4e 54  S_EX_TRANSPARENT
d5e0: 20 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d   = 0x00000020 }.
d5f0: 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e  .// #if(WINVER >
d600: 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0400)..enum 
d610: 3a 20 75 69 6e 74 20 7b 20 57 53 5f 45 58 5f 4d  : uint { WS_EX_M
d620: 44 49 43 48 49 4c 44 20 3d 20 30 78 30 30 30 30  DICHILD = 0x0000
d630: 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0040 }..enum : u
d640: 69 6e 74 20 7b 20 57 53 5f 45 58 5f 54 4f 4f 4c  int { WS_EX_TOOL
d650: 57 49 4e 44 4f 57 20 3d 20 30 78 30 30 30 30 30  WINDOW = 0x00000
d660: 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  080 }..enum : ui
d670: 6e 74 20 7b 20 57 53 5f 45 58 5f 57 49 4e 44 4f  nt { WS_EX_WINDO
d680: 57 45 44 47 45 20 3d 20 30 78 30 30 30 30 30 31  WEDGE = 0x000001
d690: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
d6a0: 74 20 7b 20 57 53 5f 45 58 5f 43 4c 49 45 4e 54  t { WS_EX_CLIENT
d6b0: 45 44 47 45 20 3d 20 30 78 30 30 30 30 30 32 30  EDGE = 0x0000020
d6c0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
d6d0: 20 7b 20 57 53 5f 45 58 5f 43 4f 4e 54 45 58 54   { WS_EX_CONTEXT
d6e0: 48 45 4c 50 20 3d 20 30 78 30 30 30 30 30 34 30  HELP = 0x0000040
d6f0: 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  0 }....// #endif
d700: 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
d710: 30 34 30 30 20 2a 2f 0d 0a 2f 2f 20 23 69 66 28  0400 */..// #if(
d720: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
d730: 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
d740: 20 7b 20 57 53 5f 45 58 5f 52 49 47 48 54 20 3d   { WS_EX_RIGHT =
d750: 20 30 78 30 30 30 30 31 30 30 30 20 7d 0d 0a 65   0x00001000 }..e
d760: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f  num : uint { WS_
d770: 45 58 5f 4c 45 46 54 20 3d 20 30 78 30 30 30 30  EX_LEFT = 0x0000
d780: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
d790: 69 6e 74 20 7b 20 57 53 5f 45 58 5f 52 54 4c 52  int { WS_EX_RTLR
d7a0: 45 41 44 49 4e 47 20 3d 20 30 78 30 30 30 30 32  EADING = 0x00002
d7b0: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
d7c0: 6e 74 20 7b 20 57 53 5f 45 58 5f 4c 54 52 52 45  nt { WS_EX_LTRRE
d7d0: 41 44 49 4e 47 20 3d 20 30 78 30 30 30 30 30 30  ADING = 0x000000
d7e0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
d7f0: 74 20 7b 20 57 53 5f 45 58 5f 4c 45 46 54 53 43  t { WS_EX_LEFTSC
d800: 52 4f 4c 4c 42 41 52 20 3d 20 30 78 30 30 30 30  ROLLBAR = 0x0000
d810: 34 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  4000 }..enum : u
d820: 69 6e 74 20 7b 20 57 53 5f 45 58 5f 52 49 47 48  int { WS_EX_RIGH
d830: 54 53 43 52 4f 4c 4c 42 41 52 20 3d 20 30 78 30  TSCROLLBAR = 0x0
d840: 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75  0000000 }....enu
d850: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 45 58  m : uint { WS_EX
d860: 5f 43 4f 4e 54 52 4f 4c 50 41 52 45 4e 54 20 3d  _CONTROLPARENT =
d870: 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65   0x00010000 }..e
d880: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f  num : uint { WS_
d890: 45 58 5f 53 54 41 54 49 43 45 44 47 45 20 3d 20  EX_STATICEDGE = 
d8a0: 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e  0x00020000 }..en
d8b0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 45  um : uint { WS_E
d8c0: 58 5f 41 50 50 57 49 4e 44 4f 57 20 3d 20 30 78  X_APPWINDOW = 0x
d8d0: 30 30 30 34 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e  00040000 }....en
d8e0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 45  um : uint { WS_E
d8f0: 58 5f 4f 56 45 52 4c 41 50 50 45 44 57 49 4e 44  X_OVERLAPPEDWIND
d900: 4f 57 20 3d 20 57 53 5f 45 58 5f 57 49 4e 44 4f  OW = WS_EX_WINDO
d910: 57 45 44 47 45 20 7c 20 57 53 5f 45 58 5f 43 4c  WEDGE | WS_EX_CL
d920: 49 45 4e 54 45 44 47 45 20 7d 0d 0a 65 6e 75 6d  IENTEDGE }..enum
d930: 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 45 58 5f   : uint { WS_EX_
d940: 50 41 4c 45 54 54 45 57 49 4e 44 4f 57 20 3d 20  PALETTEWINDOW = 
d950: 57 53 5f 45 58 5f 57 49 4e 44 4f 57 45 44 47 45  WS_EX_WINDOWEDGE
d960: 20 7c 20 57 53 5f 45 58 5f 54 4f 4f 4c 57 49 4e   | WS_EX_TOOLWIN
d970: 44 4f 57 20 7c 20 57 53 5f 45 58 5f 54 4f 50 4d  DOW | WS_EX_TOPM
d980: 4f 53 54 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  OST }....// #end
d990: 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20  if /* WINVER >= 
d9a0: 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20  0x0400 */....// 
d9b0: 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  #if(_WIN32_WINNT
d9c0: 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75   >= 0x0500)..enu
d9d0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 45 58  m : uint { WS_EX
d9e0: 5f 4c 41 59 45 52 45 44 20 3d 20 30 78 30 30 30  _LAYERED = 0x000
d9f0: 38 30 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 65  80000 }....// #e
da00: 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57  ndif /* _WIN32_W
da10: 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 20 2a  INNT >= 0x0500 *
da20: 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56  /....// #if(WINV
da30: 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65  ER >= 0x0500)..e
da40: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f  num : uint { WS_
da50: 45 58 5f 4e 4f 49 4e 48 45 52 49 54 4c 41 59 4f  EX_NOINHERITLAYO
da60: 55 54 20 3d 20 30 78 30 30 31 30 30 30 30 30 20  UT = 0x00100000 
da70: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
da80: 20 57 53 5f 45 58 5f 4c 41 59 4f 55 54 52 54 4c   WS_EX_LAYOUTRTL
da90: 20 3d 20 30 78 30 30 34 30 30 30 30 30 20 7d 0d   = 0x00400000 }.
daa0: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
dab0: 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 20 2a  NVER >= 0x0500 *
dac0: 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e  /....// #if(_WIN
dad0: 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35  32_WINNT >= 0x05
dae0: 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  01)..enum : uint
daf0: 20 7b 20 57 53 5f 45 58 5f 43 4f 4d 50 4f 53 49   { WS_EX_COMPOSI
db00: 54 45 44 20 3d 20 30 78 30 32 30 30 30 30 30 30  TED = 0x02000000
db10: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
db20: 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d   _WIN32_WINNT >=
db30: 20 30 78 30 35 30 31 20 2a 2f 0d 0a 2f 2f 20 23   0x0501 */..// #
db40: 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  if(_WIN32_WINNT 
db50: 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d  >= 0x0500)..enum
db60: 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 45 58 5f   : uint { WS_EX_
db70: 4e 4f 41 43 54 49 56 41 54 45 20 3d 20 30 78 30  NOACTIVATE = 0x0
db80: 38 30 30 30 30 30 30 20 7d 0d 0a 2f 2f 20 23 65  8000000 }..// #e
db90: 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57  ndif /* _WIN32_W
dba0: 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 20 2a  INNT >= 0x0500 *
dbb0: 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  /....enum : uint
dbc0: 20 7b 20 43 53 5f 56 52 45 44 52 41 57 20 3d 20   { CS_VREDRAW = 
dbd0: 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0001 }..enum :
dbe0: 20 75 69 6e 74 20 7b 20 43 53 5f 48 52 45 44 52   uint { CS_HREDR
dbf0: 41 57 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65  AW = 0x0002 }..e
dc00: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 53 5f  num : uint { CS_
dc10: 44 42 4c 43 4c 4b 53 20 3d 20 30 78 30 30 30 38  DBLCLKS = 0x0008
dc20: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
dc30: 7b 20 43 53 5f 4f 57 4e 44 43 20 3d 20 30 78 30  { CS_OWNDC = 0x0
dc40: 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  020 }..enum : ui
dc50: 6e 74 20 7b 20 43 53 5f 43 4c 41 53 53 44 43 20  nt { CS_CLASSDC 
dc60: 3d 20 30 78 30 30 34 30 20 7d 0d 0a 65 6e 75 6d  = 0x0040 }..enum
dc70: 20 3a 20 75 69 6e 74 20 7b 20 43 53 5f 50 41 52   : uint { CS_PAR
dc80: 45 4e 54 44 43 20 3d 20 30 78 30 30 38 30 20 7d  ENTDC = 0x0080 }
dc90: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
dca0: 43 53 5f 4e 4f 43 4c 4f 53 45 20 3d 20 30 78 30  CS_NOCLOSE = 0x0
dcb0: 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  200 }..enum : ui
dcc0: 6e 74 20 7b 20 43 53 5f 53 41 56 45 42 49 54 53  nt { CS_SAVEBITS
dcd0: 20 3d 20 30 78 30 38 30 30 20 7d 0d 0a 65 6e 75   = 0x0800 }..enu
dce0: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 53 5f 42 59  m : uint { CS_BY
dcf0: 54 45 41 4c 49 47 4e 43 4c 49 45 4e 54 20 3d 20  TEALIGNCLIENT = 
dd00: 30 78 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x1000 }..enum :
dd10: 20 75 69 6e 74 20 7b 20 43 53 5f 42 59 54 45 41   uint { CS_BYTEA
dd20: 4c 49 47 4e 57 49 4e 44 4f 57 20 3d 20 30 78 32  LIGNWINDOW = 0x2
dd30: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
dd40: 6e 74 20 7b 20 43 53 5f 47 4c 4f 42 41 4c 43 4c  nt { CS_GLOBALCL
dd50: 41 53 53 20 3d 20 30 78 34 30 30 30 20 7d 0d 0a  ASS = 0x4000 }..
dd60: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
dd70: 43 53 5f 49 4d 45 20 3d 20 30 78 30 30 30 31 30  CS_IME = 0x00010
dd80: 30 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 5f 57  000 }..// #if(_W
dd90: 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
dda0: 30 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0501)..enum : ui
ddb0: 6e 74 20 7b 20 43 53 5f 44 52 4f 50 53 48 41 44  nt { CS_DROPSHAD
ddc0: 4f 57 20 3d 20 30 78 30 30 30 32 30 30 30 30 20  OW = 0x00020000 
ddd0: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  }..// #endif /* 
dde0: 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
ddf0: 30 78 30 35 30 31 20 2a 2f 0d 0a 0d 0a 2f 2f 20  0x0501 */....// 
de00: 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 57 49 4e  #endif /* !NOWIN
de10: 53 54 59 4c 45 53 20 2a 2f 0d 0a 2f 2f 20 23 69  STYLES */..// #i
de20: 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
de30: 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  00)....enum : ui
de40: 6e 74 20 7b 20 50 52 46 5f 43 48 45 43 4b 56 49  nt { PRF_CHECKVI
de50: 53 49 42 4c 45 20 3d 20 30 78 30 30 30 30 30 30  SIBLE = 0x000000
de60: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
de70: 74 20 7b 20 50 52 46 5f 4e 4f 4e 43 4c 49 45 4e  t { PRF_NONCLIEN
de80: 54 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d  T = 0x00000002 }
de90: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
dea0: 50 52 46 5f 43 4c 49 45 4e 54 20 3d 20 30 78 30  PRF_CLIENT = 0x0
deb0: 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20  0000004 }..enum 
dec0: 3a 20 75 69 6e 74 20 7b 20 50 52 46 5f 45 52 41  : uint { PRF_ERA
ded0: 53 45 42 4b 47 4e 44 20 3d 20 30 78 30 30 30 30  SEBKGND = 0x0000
dee0: 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
def0: 69 6e 74 20 7b 20 50 52 46 5f 43 48 49 4c 44 52  int { PRF_CHILDR
df00: 45 4e 20 3d 20 30 78 30 30 30 30 30 30 31 30 20  EN = 0x00000010 
df10: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
df20: 20 50 52 46 5f 4f 57 4e 45 44 20 3d 20 30 78 30   PRF_OWNED = 0x0
df30: 30 30 30 30 30 32 30 20 7d 0d 0a 0d 0a 65 6e 75  0000020 }....enu
df40: 6d 20 3a 20 75 69 6e 74 20 7b 20 42 44 52 5f 52  m : uint { BDR_R
df50: 41 49 53 45 44 4f 55 54 45 52 20 3d 20 30 78 30  AISEDOUTER = 0x0
df60: 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
df70: 6e 74 20 7b 20 42 44 52 5f 53 55 4e 4b 45 4e 4f  nt { BDR_SUNKENO
df80: 55 54 45 52 20 3d 20 30 78 30 30 30 32 20 7d 0d  UTER = 0x0002 }.
df90: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42  .enum : uint { B
dfa0: 44 52 5f 52 41 49 53 45 44 49 4e 4e 45 52 20 3d  DR_RAISEDINNER =
dfb0: 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20   0x0004 }..enum 
dfc0: 3a 20 75 69 6e 74 20 7b 20 42 44 52 5f 53 55 4e  : uint { BDR_SUN
dfd0: 4b 45 4e 49 4e 4e 45 52 20 3d 20 30 78 30 30 30  KENINNER = 0x000
dfe0: 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  8 }....enum : ui
dff0: 6e 74 20 7b 20 42 44 52 5f 4f 55 54 45 52 20 3d  nt { BDR_OUTER =
e000: 20 42 44 52 5f 52 41 49 53 45 44 4f 55 54 45 52   BDR_RAISEDOUTER
e010: 20 7c 20 42 44 52 5f 53 55 4e 4b 45 4e 4f 55 54   | BDR_SUNKENOUT
e020: 45 52 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ER }..enum : uin
e030: 74 20 7b 20 42 44 52 5f 49 4e 4e 45 52 20 3d 20  t { BDR_INNER = 
e040: 42 44 52 5f 52 41 49 53 45 44 49 4e 4e 45 52 20  BDR_RAISEDINNER 
e050: 7c 20 42 44 52 5f 53 55 4e 4b 45 4e 49 4e 4e 45  | BDR_SUNKENINNE
e060: 52 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  R }..enum : uint
e070: 20 7b 20 42 44 52 5f 52 41 49 53 45 44 20 3d 20   { BDR_RAISED = 
e080: 42 44 52 5f 52 41 49 53 45 44 4f 55 54 45 52 20  BDR_RAISEDOUTER 
e090: 7c 20 42 44 52 5f 52 41 49 53 45 44 49 4e 4e 45  | BDR_RAISEDINNE
e0a0: 52 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  R }..enum : uint
e0b0: 20 7b 20 42 44 52 5f 53 55 4e 4b 45 4e 20 3d 20   { BDR_SUNKEN = 
e0c0: 42 44 52 5f 53 55 4e 4b 45 4e 4f 55 54 45 52 20  BDR_SUNKENOUTER 
e0d0: 7c 20 42 44 52 5f 53 55 4e 4b 45 4e 49 4e 4e 45  | BDR_SUNKENINNE
e0e0: 52 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  R }....enum : ui
e0f0: 6e 74 20 7b 20 45 44 47 45 5f 52 41 49 53 45 44  nt { EDGE_RAISED
e100: 20 3d 20 42 44 52 5f 52 41 49 53 45 44 4f 55 54   = BDR_RAISEDOUT
e110: 45 52 20 7c 20 42 44 52 5f 52 41 49 53 45 44 49  ER | BDR_RAISEDI
e120: 4e 4e 45 52 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  NNER }..enum : u
e130: 69 6e 74 20 7b 20 45 44 47 45 5f 53 55 4e 4b 45  int { EDGE_SUNKE
e140: 4e 20 3d 20 42 44 52 5f 53 55 4e 4b 45 4e 4f 55  N = BDR_SUNKENOU
e150: 54 45 52 20 7c 20 42 44 52 5f 53 55 4e 4b 45 4e  TER | BDR_SUNKEN
e160: 49 4e 4e 45 52 20 7d 0d 0a 65 6e 75 6d 20 3a 20  INNER }..enum : 
e170: 75 69 6e 74 20 7b 20 45 44 47 45 5f 45 54 43 48  uint { EDGE_ETCH
e180: 45 44 20 3d 20 42 44 52 5f 53 55 4e 4b 45 4e 4f  ED = BDR_SUNKENO
e190: 55 54 45 52 20 7c 20 42 44 52 5f 52 41 49 53 45  UTER | BDR_RAISE
e1a0: 44 49 4e 4e 45 52 20 7d 0d 0a 65 6e 75 6d 20 3a  DINNER }..enum :
e1b0: 20 75 69 6e 74 20 7b 20 45 44 47 45 5f 42 55 4d   uint { EDGE_BUM
e1c0: 50 20 3d 20 42 44 52 5f 52 41 49 53 45 44 4f 55  P = BDR_RAISEDOU
e1d0: 54 45 52 20 7c 20 42 44 52 5f 53 55 4e 4b 45 4e  TER | BDR_SUNKEN
e1e0: 49 4e 4e 45 52 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  INNER }....enum 
e1f0: 3a 20 75 69 6e 74 20 7b 20 42 46 5f 4c 45 46 54  : uint { BF_LEFT
e200: 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75   = 0x0001 }..enu
e210: 6d 20 3a 20 75 69 6e 74 20 7b 20 42 46 5f 54 4f  m : uint { BF_TO
e220: 50 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e  P = 0x0002 }..en
e230: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 46 5f 52  um : uint { BF_R
e240: 49 47 48 54 20 3d 20 30 78 30 30 30 34 20 7d 0d  IGHT = 0x0004 }.
e250: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42  .enum : uint { B
e260: 46 5f 42 4f 54 54 4f 4d 20 3d 20 30 78 30 30 30  F_BOTTOM = 0x000
e270: 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  8 }....enum : ui
e280: 6e 74 20 7b 20 42 46 5f 54 4f 50 4c 45 46 54 20  nt { BF_TOPLEFT 
e290: 3d 20 42 46 5f 54 4f 50 20 7c 20 42 46 5f 4c 45  = BF_TOP | BF_LE
e2a0: 46 54 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  FT }..enum : uin
e2b0: 74 20 7b 20 42 46 5f 54 4f 50 52 49 47 48 54 20  t { BF_TOPRIGHT 
e2c0: 3d 20 42 46 5f 54 4f 50 20 7c 20 42 46 5f 52 49  = BF_TOP | BF_RI
e2d0: 47 48 54 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  GHT }..enum : ui
e2e0: 6e 74 20 7b 20 42 46 5f 42 4f 54 54 4f 4d 4c 45  nt { BF_BOTTOMLE
e2f0: 46 54 20 3d 20 42 46 5f 42 4f 54 54 4f 4d 20 7c  FT = BF_BOTTOM |
e300: 20 42 46 5f 4c 45 46 54 20 7d 0d 0a 65 6e 75 6d   BF_LEFT }..enum
e310: 20 3a 20 75 69 6e 74 20 7b 20 42 46 5f 42 4f 54   : uint { BF_BOT
e320: 54 4f 4d 52 49 47 48 54 20 3d 20 42 46 5f 42 4f  TOMRIGHT = BF_BO
e330: 54 54 4f 4d 20 7c 20 42 46 5f 52 49 47 48 54 20  TTOM | BF_RIGHT 
e340: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
e350: 20 42 46 5f 52 45 43 54 20 3d 20 42 46 5f 4c 45   BF_RECT = BF_LE
e360: 46 54 20 7c 20 42 46 5f 54 4f 50 20 7c 20 42 46  FT | BF_TOP | BF
e370: 5f 52 49 47 48 54 20 7c 20 42 46 5f 42 4f 54 54  _RIGHT | BF_BOTT
e380: 4f 4d 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  OM }....enum : u
e390: 69 6e 74 20 7b 20 42 46 5f 44 49 41 47 4f 4e 41  int { BF_DIAGONA
e3a0: 4c 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 0d 0a  L = 0x0010 }....
e3b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 46  enum : uint { BF
e3c0: 5f 44 49 41 47 4f 4e 41 4c 5f 45 4e 44 54 4f 50  _DIAGONAL_ENDTOP
e3d0: 52 49 47 48 54 20 3d 20 42 46 5f 44 49 41 47 4f  RIGHT = BF_DIAGO
e3e0: 4e 41 4c 20 7c 20 42 46 5f 54 4f 50 20 7c 20 42  NAL | BF_TOP | B
e3f0: 46 5f 52 49 47 48 54 20 7d 0d 0a 65 6e 75 6d 20  F_RIGHT }..enum 
e400: 3a 20 75 69 6e 74 20 7b 20 42 46 5f 44 49 41 47  : uint { BF_DIAG
e410: 4f 4e 41 4c 5f 45 4e 44 54 4f 50 4c 45 46 54 20  ONAL_ENDTOPLEFT 
e420: 3d 20 42 46 5f 44 49 41 47 4f 4e 41 4c 20 7c 20  = BF_DIAGONAL | 
e430: 42 46 5f 54 4f 50 20 7c 20 42 46 5f 4c 45 46 54  BF_TOP | BF_LEFT
e440: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
e450: 7b 20 42 46 5f 44 49 41 47 4f 4e 41 4c 5f 45 4e  { BF_DIAGONAL_EN
e460: 44 42 4f 54 54 4f 4d 4c 45 46 54 20 3d 20 42 46  DBOTTOMLEFT = BF
e470: 5f 44 49 41 47 4f 4e 41 4c 20 7c 20 42 46 5f 42  _DIAGONAL | BF_B
e480: 4f 54 54 4f 4d 20 7c 20 42 46 5f 4c 45 46 54 20  OTTOM | BF_LEFT 
e490: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
e4a0: 20 42 46 5f 44 49 41 47 4f 4e 41 4c 5f 45 4e 44   BF_DIAGONAL_END
e4b0: 42 4f 54 54 4f 4d 52 49 47 48 54 20 3d 20 42 46  BOTTOMRIGHT = BF
e4c0: 5f 44 49 41 47 4f 4e 41 4c 20 7c 20 42 46 5f 42  _DIAGONAL | BF_B
e4d0: 4f 54 54 4f 4d 20 7c 20 42 46 5f 52 49 47 48 54  OTTOM | BF_RIGHT
e4e0: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
e4f0: 74 20 7b 20 42 46 5f 4d 49 44 44 4c 45 20 3d 20  t { BF_MIDDLE = 
e500: 30 78 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0800 }..enum :
e510: 20 75 69 6e 74 20 7b 20 42 46 5f 53 4f 46 54 20   uint { BF_SOFT 
e520: 3d 20 30 78 31 30 30 30 20 7d 0d 0a 65 6e 75 6d  = 0x1000 }..enum
e530: 20 3a 20 75 69 6e 74 20 7b 20 42 46 5f 41 44 4a   : uint { BF_ADJ
e540: 55 53 54 20 3d 20 30 78 32 30 30 30 20 7d 0d 0a  UST = 0x2000 }..
e550: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 46  enum : uint { BF
e560: 5f 46 4c 41 54 20 3d 20 30 78 34 30 30 30 20 7d  _FLAT = 0x4000 }
e570: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
e580: 42 46 5f 4d 4f 4e 4f 20 3d 20 30 78 38 30 30 30  BF_MONO = 0x8000
e590: 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e   }....extern(Win
e5a0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
e5b0: 4c 20 44 72 61 77 45 64 67 65 28 0d 0a 20 20 48  L DrawEdge(..  H
e5c0: 44 43 20 68 64 63 2c 0d 0a 20 20 4c 50 52 45 43  DC hdc,..  LPREC
e5d0: 54 20 71 72 63 2c 0d 0a 20 20 55 49 4e 54 20 65  T qrc,..  UINT e
e5e0: 64 67 65 2c 0d 0a 20 20 55 49 4e 54 20 67 72 66  dge,..  UINT grf
e5f0: 46 6c 61 67 73 29 3b 0d 0a 0d 0a 65 6e 75 6d 20  Flags);....enum 
e600: 3a 20 75 69 6e 74 20 7b 20 44 46 43 5f 43 41 50  : uint { DFC_CAP
e610: 54 49 4f 4e 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d  TION = 1 }..enum
e620: 20 3a 20 75 69 6e 74 20 7b 20 44 46 43 5f 4d 45   : uint { DFC_ME
e630: 4e 55 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a  NU = 2 }..enum :
e640: 20 75 69 6e 74 20 7b 20 44 46 43 5f 53 43 52 4f   uint { DFC_SCRO
e650: 4c 4c 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a  LL = 3 }..enum :
e660: 20 75 69 6e 74 20 7b 20 44 46 43 5f 42 55 54 54   uint { DFC_BUTT
e670: 4f 4e 20 3d 20 34 20 7d 0d 0a 2f 2f 20 23 69 66  ON = 4 }..// #if
e680: 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30  (WINVER >= 0x050
e690: 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
e6a0: 7b 20 44 46 43 5f 50 4f 50 55 50 4d 45 4e 55 20  { DFC_POPUPMENU 
e6b0: 3d 20 35 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  = 5 }..// #endif
e6c0: 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
e6d0: 30 35 30 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20  0500 */....enum 
e6e0: 3a 20 75 69 6e 74 20 7b 20 44 46 43 53 5f 43 41  : uint { DFCS_CA
e6f0: 50 54 49 4f 4e 43 4c 4f 53 45 20 3d 20 30 78 30  PTIONCLOSE = 0x0
e700: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
e710: 6e 74 20 7b 20 44 46 43 53 5f 43 41 50 54 49 4f  nt { DFCS_CAPTIO
e720: 4e 4d 49 4e 20 3d 20 30 78 30 30 30 31 20 7d 0d  NMIN = 0x0001 }.
e730: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
e740: 46 43 53 5f 43 41 50 54 49 4f 4e 4d 41 58 20 3d  FCS_CAPTIONMAX =
e750: 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20   0x0002 }..enum 
e760: 3a 20 75 69 6e 74 20 7b 20 44 46 43 53 5f 43 41  : uint { DFCS_CA
e770: 50 54 49 4f 4e 52 45 53 54 4f 52 45 20 3d 20 30  PTIONRESTORE = 0
e780: 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0003 }..enum : 
e790: 75 69 6e 74 20 7b 20 44 46 43 53 5f 43 41 50 54  uint { DFCS_CAPT
e7a0: 49 4f 4e 48 45 4c 50 20 3d 20 30 78 30 30 30 34  IONHELP = 0x0004
e7b0: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
e7c0: 74 20 7b 20 44 46 43 53 5f 4d 45 4e 55 41 52 52  t { DFCS_MENUARR
e7d0: 4f 57 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65  OW = 0x0000 }..e
e7e0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 46 43  num : uint { DFC
e7f0: 53 5f 4d 45 4e 55 43 48 45 43 4b 20 3d 20 30 78  S_MENUCHECK = 0x
e800: 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
e810: 69 6e 74 20 7b 20 44 46 43 53 5f 4d 45 4e 55 42  int { DFCS_MENUB
e820: 55 4c 4c 45 54 20 3d 20 30 78 30 30 30 32 20 7d  ULLET = 0x0002 }
e830: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
e840: 44 46 43 53 5f 4d 45 4e 55 41 52 52 4f 57 52 49  DFCS_MENUARROWRI
e850: 47 48 54 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a  GHT = 0x0004 }..
e860: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 46  enum : uint { DF
e870: 43 53 5f 53 43 52 4f 4c 4c 55 50 20 3d 20 30 78  CS_SCROLLUP = 0x
e880: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
e890: 69 6e 74 20 7b 20 44 46 43 53 5f 53 43 52 4f 4c  int { DFCS_SCROL
e8a0: 4c 44 4f 57 4e 20 3d 20 30 78 30 30 30 31 20 7d  LDOWN = 0x0001 }
e8b0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
e8c0: 44 46 43 53 5f 53 43 52 4f 4c 4c 4c 45 46 54 20  DFCS_SCROLLLEFT 
e8d0: 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
e8e0: 20 3a 20 75 69 6e 74 20 7b 20 44 46 43 53 5f 53   : uint { DFCS_S
e8f0: 43 52 4f 4c 4c 52 49 47 48 54 20 3d 20 30 78 30  CROLLRIGHT = 0x0
e900: 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  003 }..enum : ui
e910: 6e 74 20 7b 20 44 46 43 53 5f 53 43 52 4f 4c 4c  nt { DFCS_SCROLL
e920: 43 4f 4d 42 4f 42 4f 58 20 3d 20 30 78 30 30 30  COMBOBOX = 0x000
e930: 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
e940: 20 7b 20 44 46 43 53 5f 53 43 52 4f 4c 4c 53 49   { DFCS_SCROLLSI
e950: 5a 45 47 52 49 50 20 3d 20 30 78 30 30 30 38 20  ZEGRIP = 0x0008 
e960: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
e970: 20 44 46 43 53 5f 53 43 52 4f 4c 4c 53 49 5a 45   DFCS_SCROLLSIZE
e980: 47 52 49 50 52 49 47 48 54 20 3d 20 30 78 30 30  GRIPRIGHT = 0x00
e990: 31 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  10 }....enum : u
e9a0: 69 6e 74 20 7b 20 44 46 43 53 5f 42 55 54 54 4f  int { DFCS_BUTTO
e9b0: 4e 43 48 45 43 4b 20 3d 20 30 78 30 30 30 30 20  NCHECK = 0x0000 
e9c0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
e9d0: 20 44 46 43 53 5f 42 55 54 54 4f 4e 52 41 44 49   DFCS_BUTTONRADI
e9e0: 4f 49 4d 41 47 45 20 3d 20 30 78 30 30 30 31 20  OIMAGE = 0x0001 
e9f0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
ea00: 20 44 46 43 53 5f 42 55 54 54 4f 4e 52 41 44 49   DFCS_BUTTONRADI
ea10: 4f 4d 41 53 4b 20 3d 20 30 78 30 30 30 32 20 7d  OMASK = 0x0002 }
ea20: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
ea30: 44 46 43 53 5f 42 55 54 54 4f 4e 52 41 44 49 4f  DFCS_BUTTONRADIO
ea40: 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75   = 0x0004 }..enu
ea50: 6d 20 3a 20 75 69 6e 74 20 7b 20 44 46 43 53 5f  m : uint { DFCS_
ea60: 42 55 54 54 4f 4e 33 53 54 41 54 45 20 3d 20 30  BUTTON3STATE = 0
ea70: 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0008 }..enum : 
ea80: 75 69 6e 74 20 7b 20 44 46 43 53 5f 42 55 54 54  uint { DFCS_BUTT
ea90: 4f 4e 50 55 53 48 20 3d 20 30 78 30 30 31 30 20  ONPUSH = 0x0010 
eaa0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
eab0: 20 7b 20 44 46 43 53 5f 49 4e 41 43 54 49 56 45   { DFCS_INACTIVE
eac0: 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 65 6e 75   = 0x0100 }..enu
ead0: 6d 20 3a 20 75 69 6e 74 20 7b 20 44 46 43 53 5f  m : uint { DFCS_
eae0: 50 55 53 48 45 44 20 3d 20 30 78 30 32 30 30 20  PUSHED = 0x0200 
eaf0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
eb00: 20 44 46 43 53 5f 43 48 45 43 4b 45 44 20 3d 20   DFCS_CHECKED = 
eb10: 30 78 30 34 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23  0x0400 }....// #
eb20: 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  if(WINVER >= 0x0
eb30: 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  500)..enum : uin
eb40: 74 20 7b 20 44 46 43 53 5f 54 52 41 4e 53 50 41  t { DFCS_TRANSPA
eb50: 52 45 4e 54 20 3d 20 30 78 30 38 30 30 20 7d 0d  RENT = 0x0800 }.
eb60: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
eb70: 46 43 53 5f 48 4f 54 20 3d 20 30 78 31 30 30 30  FCS_HOT = 0x1000
eb80: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
eb90: 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30   WINVER >= 0x050
eba0: 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  0 */....enum : u
ebb0: 69 6e 74 20 7b 20 44 46 43 53 5f 41 44 4a 55 53  int { DFCS_ADJUS
ebc0: 54 52 45 43 54 20 3d 20 30 78 32 30 30 30 20 7d  TRECT = 0x2000 }
ebd0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
ebe0: 44 46 43 53 5f 46 4c 41 54 20 3d 20 30 78 34 30  DFCS_FLAT = 0x40
ebf0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
ec00: 74 20 7b 20 44 46 43 53 5f 4d 4f 4e 4f 20 3d 20  t { DFCS_MONO = 
ec10: 30 78 38 30 30 30 20 7d 0d 0a 0d 0a 65 78 74 65  0x8000 }....exte
ec20: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
ec30: 72 74 20 42 4f 4f 4c 20 44 72 61 77 46 72 61 6d  rt BOOL DrawFram
ec40: 65 43 6f 6e 74 72 6f 6c 28 0d 0a 20 20 48 44 43  eControl(..  HDC
ec50: 2c 0d 0a 20 20 4c 50 52 45 43 54 2c 0d 0a 20 20  ,..  LPRECT,..  
ec60: 55 49 4e 54 2c 0d 0a 20 20 55 49 4e 54 29 3b 0d  UINT,..  UINT);.
ec70: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
ec80: 20 44 43 5f 41 43 54 49 56 45 20 3d 20 30 78 30   DC_ACTIVE = 0x0
ec90: 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
eca0: 6e 74 20 7b 20 44 43 5f 53 4d 41 4c 4c 43 41 50  nt { DC_SMALLCAP
ecb0: 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75   = 0x0002 }..enu
ecc0: 6d 20 3a 20 75 69 6e 74 20 7b 20 44 43 5f 49 43  m : uint { DC_IC
ecd0: 4f 4e 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65  ON = 0x0004 }..e
ece0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 43 5f  num : uint { DC_
ecf0: 54 45 58 54 20 3d 20 30 78 30 30 30 38 20 7d 0d  TEXT = 0x0008 }.
ed00: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
ed10: 43 5f 49 4e 42 55 54 54 4f 4e 20 3d 20 30 78 30  C_INBUTTON = 0x0
ed20: 30 31 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49  010 }..// #if(WI
ed30: 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d  NVER >= 0x0500).
ed40: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
ed50: 43 5f 47 52 41 44 49 45 4e 54 20 3d 20 30 78 30  C_GRADIENT = 0x0
ed60: 30 32 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  020 }..// #endif
ed70: 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
ed80: 30 35 30 30 20 2a 2f 0d 0a 2f 2f 20 23 69 66 28  0500 */..// #if(
ed90: 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
eda0: 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20  0x0501)..enum : 
edb0: 75 69 6e 74 20 7b 20 44 43 5f 42 55 54 54 4f 4e  uint { DC_BUTTON
edc0: 53 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 2f 2f  S = 0x1000 }..//
edd0: 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33   #endif /* _WIN3
ede0: 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30  2_WINNT >= 0x050
edf0: 31 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  1 */....extern(W
ee00: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
ee10: 4f 4f 4c 20 44 72 61 77 43 61 70 74 69 6f 6e 28  OOL DrawCaption(
ee20: 48 57 4e 44 2c 20 48 44 43 2c 20 52 45 43 54 20  HWND, HDC, RECT 
ee30: 2a 2c 20 55 49 4e 54 29 3b 0d 0a 0d 0a 65 6e 75  *, UINT);....enu
ee40: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44 41 4e 49  m : uint { IDANI
ee50: 5f 4f 50 45 4e 20 3d 20 31 20 7d 0d 0a 65 6e 75  _OPEN = 1 }..enu
ee60: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44 41 4e 49  m : uint { IDANI
ee70: 5f 43 41 50 54 49 4f 4e 20 3d 20 33 20 7d 0d 0a  _CAPTION = 3 }..
ee80: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
ee90: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44 72  ) export BOOL Dr
eea0: 61 77 41 6e 69 6d 61 74 65 64 52 65 63 74 73 28  awAnimatedRects(
eeb0: 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 2c 0d 0a  ..  HWND hwnd,..
eec0: 20 20 69 6e 74 20 69 64 41 6e 69 2c 0d 0a 20 20    int idAni,..  
eed0: 52 45 43 54 20 2a 20 6c 70 72 63 46 72 6f 6d 2c  RECT * lprcFrom,
eee0: 0d 0a 20 20 52 45 43 54 20 2a 20 6c 70 72 63 54  ..  RECT * lprcT
eef0: 6f 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  o);....// #endif
ef00: 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
ef10: 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69  0400 */....// #i
ef20: 66 6e 64 65 66 20 4e 4f 43 4c 49 50 42 4f 41 52  fndef NOCLIPBOAR
ef30: 44 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  D....enum : uint
ef40: 20 7b 20 43 46 5f 54 45 58 54 20 3d 20 31 20 7d   { CF_TEXT = 1 }
ef50: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
ef60: 43 46 5f 42 49 54 4d 41 50 20 3d 20 32 20 7d 0d  CF_BITMAP = 2 }.
ef70: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
ef80: 46 5f 4d 45 54 41 46 49 4c 45 50 49 43 54 20 3d  F_METAFILEPICT =
ef90: 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   3 }..enum : uin
efa0: 74 20 7b 20 43 46 5f 53 59 4c 4b 20 3d 20 34 20  t { CF_SYLK = 4 
efb0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
efc0: 20 43 46 5f 44 49 46 20 3d 20 35 20 7d 0d 0a 65   CF_DIF = 5 }..e
efd0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 46 5f  num : uint { CF_
efe0: 54 49 46 46 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d  TIFF = 6 }..enum
eff0: 20 3a 20 75 69 6e 74 20 7b 20 43 46 5f 4f 45 4d   : uint { CF_OEM
f000: 54 45 58 54 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d  TEXT = 7 }..enum
f010: 20 3a 20 75 69 6e 74 20 7b 20 43 46 5f 44 49 42   : uint { CF_DIB
f020: 20 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 8 }..enum : u
f030: 69 6e 74 20 7b 20 43 46 5f 50 41 4c 45 54 54 45  int { CF_PALETTE
f040: 20 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 9 }..enum : u
f050: 69 6e 74 20 7b 20 43 46 5f 50 45 4e 44 41 54 41  int { CF_PENDATA
f060: 20 3d 20 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 10 }..enum : 
f070: 75 69 6e 74 20 7b 20 43 46 5f 52 49 46 46 20 3d  uint { CF_RIFF =
f080: 20 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   11 }..enum : ui
f090: 6e 74 20 7b 20 43 46 5f 57 41 56 45 20 3d 20 31  nt { CF_WAVE = 1
f0a0: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
f0b0: 20 7b 20 43 46 5f 55 4e 49 43 4f 44 45 54 45 58   { CF_UNICODETEX
f0c0: 54 20 3d 20 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a  T = 13 }..enum :
f0d0: 20 75 69 6e 74 20 7b 20 43 46 5f 45 4e 48 4d 45   uint { CF_ENHME
f0e0: 54 41 46 49 4c 45 20 3d 20 31 34 20 7d 0d 0a 2f  TAFILE = 14 }../
f0f0: 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
f100: 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0400)..enum : 
f110: 75 69 6e 74 20 7b 20 43 46 5f 48 44 52 4f 50 20  uint { CF_HDROP 
f120: 3d 20 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 15 }..enum : u
f130: 69 6e 74 20 7b 20 43 46 5f 4c 4f 43 41 4c 45 20  int { CF_LOCALE 
f140: 3d 20 31 36 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  = 16 }..// #endi
f150: 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
f160: 78 30 34 30 30 20 2a 2f 0d 0a 2f 2f 20 23 69 66  x0400 */..// #if
f170: 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30  (WINVER >= 0x050
f180: 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
f190: 7b 20 43 46 5f 44 49 42 56 35 20 3d 20 31 37 20  { CF_DIBV5 = 17 
f1a0: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  }..// #endif /* 
f1b0: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30  WINVER >= 0x0500
f1c0: 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49   */....// #if(WI
f1d0: 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d  NVER >= 0x0500).
f1e0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
f1f0: 46 5f 4d 41 58 20 3d 20 31 38 20 7d 0d 0a 2f 2f  F_MAX = 18 }..//
f200: 20 23 65 6c 69 66 28 57 49 4e 56 45 52 20 3e 3d   #elif(WINVER >=
f210: 20 30 78 30 34 30 30 29 0d 0a 2f 2f 20 23 2e 2e   0x0400)..// #..
f220: 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ...// #else..// 
f230: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
f240: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
f250: 20 43 46 5f 4f 57 4e 45 52 44 49 53 50 4c 41 59   CF_OWNERDISPLAY
f260: 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e 75   = 0x0080 }..enu
f270: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 46 5f 44 53  m : uint { CF_DS
f280: 50 54 45 58 54 20 3d 20 30 78 30 30 38 31 20 7d  PTEXT = 0x0081 }
f290: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
f2a0: 43 46 5f 44 53 50 42 49 54 4d 41 50 20 3d 20 30  CF_DSPBITMAP = 0
f2b0: 78 30 30 38 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0082 }..enum : 
f2c0: 75 69 6e 74 20 7b 20 43 46 5f 44 53 50 4d 45 54  uint { CF_DSPMET
f2d0: 41 46 49 4c 45 50 49 43 54 20 3d 20 30 78 30 30  AFILEPICT = 0x00
f2e0: 38 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  83 }..enum : uin
f2f0: 74 20 7b 20 43 46 5f 44 53 50 45 4e 48 4d 45 54  t { CF_DSPENHMET
f300: 41 46 49 4c 45 20 3d 20 30 78 30 30 38 45 20 7d  AFILE = 0x008E }
f310: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
f320: 7b 20 43 46 5f 50 52 49 56 41 54 45 46 49 52 53  { CF_PRIVATEFIRS
f330: 54 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a 65 6e  T = 0x0200 }..en
f340: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 46 5f 50  um : uint { CF_P
f350: 52 49 56 41 54 45 4c 41 53 54 20 3d 20 30 78 30  RIVATELAST = 0x0
f360: 32 46 46 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  2FF }....enum : 
f370: 75 69 6e 74 20 7b 20 43 46 5f 47 44 49 4f 42 4a  uint { CF_GDIOBJ
f380: 46 49 52 53 54 20 3d 20 30 78 30 33 30 30 20 7d  FIRST = 0x0300 }
f390: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
f3a0: 43 46 5f 47 44 49 4f 42 4a 4c 41 53 54 20 3d 20  CF_GDIOBJLAST = 
f3b0: 30 78 30 33 46 46 20 7d 0d 0a 0d 0a 2f 2f 20 23  0x03FF }....// #
f3c0: 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 43 4c 49 50  endif /* !NOCLIP
f3d0: 42 4f 41 52 44 20 2a 2f 0d 0a 0d 0a 61 6c 69 61  BOARD */....alia
f3e0: 73 20 54 52 55 45 20 46 56 49 52 54 4b 45 59 3b  s TRUE FVIRTKEY;
f3f0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
f400: 46 4e 4f 49 4e 56 45 52 54 20 3d 20 30 78 30 32  FNOINVERT = 0x02
f410: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
f420: 7b 20 46 53 48 49 46 54 20 3d 20 30 78 30 34 20  { FSHIFT = 0x04 
f430: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
f440: 20 46 43 4f 4e 54 52 4f 4c 20 3d 20 30 78 30 38   FCONTROL = 0x08
f450: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
f460: 7b 20 46 41 4c 54 20 3d 20 30 78 31 30 20 7d 0d  { FALT = 0x10 }.
f470: 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 41 43 43  ...struct tagACC
f480: 45 4c 20 7b 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  EL {..// #ifndef
f490: 20 5f 4d 41 43 0d 0a 20 20 42 59 54 45 20 66 56   _MAC..  BYTE fV
f4a0: 69 72 74 3b 0d 0a 20 20 57 4f 52 44 20 6b 65 79  irt;..  WORD key
f4b0: 3b 0d 0a 20 20 57 4f 52 44 20 63 6d 64 3b 0d 0a  ;..  WORD cmd;..
f4c0: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e  // #else..// ...
f4d0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a  ..// #endif..}..
f4e0: 61 6c 69 61 73 20 74 61 67 41 43 43 45 4c 20 41  alias tagACCEL A
f4f0: 43 43 45 4c 3b 0d 0a 61 6c 69 61 73 20 74 61 67  CCEL;..alias tag
f500: 41 43 43 45 4c 2a 20 4c 50 41 43 43 45 4c 3b 0d  ACCEL* LPACCEL;.
f510: 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 50 41 49  ...struct tagPAI
f520: 4e 54 53 54 52 55 43 54 20 7b 0d 0a 20 20 48 44  NTSTRUCT {..  HD
f530: 43 20 68 64 63 3b 0d 0a 20 20 42 4f 4f 4c 20 66  C hdc;..  BOOL f
f540: 45 72 61 73 65 3b 0d 0a 20 20 52 45 43 54 20 72  Erase;..  RECT r
f550: 63 50 61 69 6e 74 3b 0d 0a 20 20 42 4f 4f 4c 20  cPaint;..  BOOL 
f560: 66 52 65 73 74 6f 72 65 3b 0d 0a 20 20 42 4f 4f  fRestore;..  BOO
f570: 4c 20 66 49 6e 63 55 70 64 61 74 65 3b 0d 0a 20  L fIncUpdate;.. 
f580: 20 42 59 54 45 20 72 67 62 52 65 73 65 72 76 65   BYTE rgbReserve
f590: 64 5b 33 32 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  d[32];..}..alias
f5a0: 20 74 61 67 50 41 49 4e 54 53 54 52 55 43 54 20   tagPAINTSTRUCT 
f5b0: 50 41 49 4e 54 53 54 52 55 43 54 3b 0d 0a 61 6c  PAINTSTRUCT;..al
f5c0: 69 61 73 20 74 61 67 50 41 49 4e 54 53 54 52 55  ias tagPAINTSTRU
f5d0: 43 54 2a 20 50 50 41 49 4e 54 53 54 52 55 43 54  CT* PPAINTSTRUCT
f5e0: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 50 41 49 4e  ;..alias tagPAIN
f5f0: 54 53 54 52 55 43 54 2a 20 4e 50 50 41 49 4e 54  TSTRUCT* NPPAINT
f600: 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20 74  STRUCT;..alias t
f610: 61 67 50 41 49 4e 54 53 54 52 55 43 54 2a 20 4c  agPAINTSTRUCT* L
f620: 50 50 41 49 4e 54 53 54 52 55 43 54 3b 0d 0a 0d  PPAINTSTRUCT;...
f630: 0a 73 74 72 75 63 74 20 74 61 67 43 52 45 41 54  .struct tagCREAT
f640: 45 53 54 52 55 43 54 41 20 7b 0d 0a 20 20 4c 50  ESTRUCTA {..  LP
f650: 56 4f 49 44 20 6c 70 43 72 65 61 74 65 50 61 72  VOID lpCreatePar
f660: 61 6d 73 3b 0d 0a 20 20 48 49 4e 53 54 41 4e 43  ams;..  HINSTANC
f670: 45 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a 20 20  E hInstance;..  
f680: 48 4d 45 4e 55 20 68 4d 65 6e 75 3b 0d 0a 20 20  HMENU hMenu;..  
f690: 48 57 4e 44 20 68 77 6e 64 50 61 72 65 6e 74 3b  HWND hwndParent;
f6a0: 0d 0a 20 20 69 6e 74 20 63 79 3b 0d 0a 20 20 69  ..  int cy;..  i
f6b0: 6e 74 20 63 78 3b 0d 0a 20 20 69 6e 74 20 79 3b  nt cx;..  int y;
f6c0: 0d 0a 20 20 69 6e 74 20 78 3b 0d 0a 20 20 4c 4f  ..  int x;..  LO
f6d0: 4e 47 20 73 74 79 6c 65 3b 0d 0a 20 20 4c 50 43  NG style;..  LPC
f6e0: 53 54 52 20 6c 70 73 7a 4e 61 6d 65 3b 0d 0a 20  STR lpszName;.. 
f6f0: 20 4c 50 43 53 54 52 20 6c 70 73 7a 43 6c 61 73   LPCSTR lpszClas
f700: 73 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 45 78  s;..  DWORD dwEx
f710: 53 74 79 6c 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  Style;..}..alias
f720: 20 74 61 67 43 52 45 41 54 45 53 54 52 55 43 54   tagCREATESTRUCT
f730: 41 20 43 52 45 41 54 45 53 54 52 55 43 54 41 3b  A CREATESTRUCTA;
f740: 0d 0a 61 6c 69 61 73 20 74 61 67 43 52 45 41 54  ..alias tagCREAT
f750: 45 53 54 52 55 43 54 41 2a 20 4c 50 43 52 45 41  ESTRUCTA* LPCREA
f760: 54 45 53 54 52 55 43 54 41 3b 0d 0a 0d 0a 73 74  TESTRUCTA;....st
f770: 72 75 63 74 20 74 61 67 43 52 45 41 54 45 53 54  ruct tagCREATEST
f780: 52 55 43 54 57 20 7b 0d 0a 20 20 4c 50 56 4f 49  RUCTW {..  LPVOI
f790: 44 20 6c 70 43 72 65 61 74 65 50 61 72 61 6d 73  D lpCreateParams
f7a0: 3b 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68  ;..  HINSTANCE h
f7b0: 49 6e 73 74 61 6e 63 65 3b 0d 0a 20 20 48 4d 45  Instance;..  HME
f7c0: 4e 55 20 68 4d 65 6e 75 3b 0d 0a 20 20 48 57 4e  NU hMenu;..  HWN
f7d0: 44 20 68 77 6e 64 50 61 72 65 6e 74 3b 0d 0a 20  D hwndParent;.. 
f7e0: 20 69 6e 74 20 63 79 3b 0d 0a 20 20 69 6e 74 20   int cy;..  int 
f7f0: 63 78 3b 0d 0a 20 20 69 6e 74 20 79 3b 0d 0a 20  cx;..  int y;.. 
f800: 20 69 6e 74 20 78 3b 0d 0a 20 20 4c 4f 4e 47 20   int x;..  LONG 
f810: 73 74 79 6c 65 3b 0d 0a 20 20 4c 50 43 57 53 54  style;..  LPCWST
f820: 52 20 6c 70 73 7a 4e 61 6d 65 3b 0d 0a 20 20 4c  R lpszName;..  L
f830: 50 43 57 53 54 52 20 6c 70 73 7a 43 6c 61 73 73  PCWSTR lpszClass
f840: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 45 78 53  ;..  DWORD dwExS
f850: 74 79 6c 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  tyle;..}..alias 
f860: 74 61 67 43 52 45 41 54 45 53 54 52 55 43 54 57  tagCREATESTRUCTW
f870: 20 43 52 45 41 54 45 53 54 52 55 43 54 57 3b 0d   CREATESTRUCTW;.
f880: 0a 61 6c 69 61 73 20 74 61 67 43 52 45 41 54 45  .alias tagCREATE
f890: 53 54 52 55 43 54 57 2a 20 4c 50 43 52 45 41 54  STRUCTW* LPCREAT
f8a0: 45 53 54 52 55 43 54 57 3b 0d 0a 0d 0a 2f 2f 20  ESTRUCTW;....// 
f8b0: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
f8c0: 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  // .....// #else
f8d0: 0d 0a 61 6c 69 61 73 20 43 52 45 41 54 45 53 54  ..alias CREATEST
f8e0: 52 55 43 54 41 20 43 52 45 41 54 45 53 54 52 55  RUCTA CREATESTRU
f8f0: 43 54 3b 0d 0a 61 6c 69 61 73 20 4c 50 43 52 45  CT;..alias LPCRE
f900: 41 54 45 53 54 52 55 43 54 41 20 4c 50 43 52 45  ATESTRUCTA LPCRE
f910: 41 54 45 53 54 52 55 43 54 3b 0d 0a 2f 2f 20 23  ATESTRUCT;..// #
f920: 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45  endif // UNICODE
f930: 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 57 49  ....struct tagWI
f940: 4e 44 4f 57 50 4c 41 43 45 4d 45 4e 54 20 7b 0d  NDOWPLACEMENT {.
f950: 0a 20 20 55 49 4e 54 20 6c 65 6e 67 74 68 3b 0d  .  UINT length;.
f960: 0a 20 20 55 49 4e 54 20 66 6c 61 67 73 3b 0d 0a  .  UINT flags;..
f970: 20 20 55 49 4e 54 20 73 68 6f 77 43 6d 64 3b 0d    UINT showCmd;.
f980: 0a 20 20 50 4f 49 4e 54 20 70 74 4d 69 6e 50 6f  .  POINT ptMinPo
f990: 73 69 74 69 6f 6e 3b 0d 0a 20 20 50 4f 49 4e 54  sition;..  POINT
f9a0: 20 70 74 4d 61 78 50 6f 73 69 74 69 6f 6e 3b 0d   ptMaxPosition;.
f9b0: 0a 20 20 52 45 43 54 20 72 63 4e 6f 72 6d 61 6c  .  RECT rcNormal
f9c0: 50 6f 73 69 74 69 6f 6e 3b 0d 0a 2f 2f 20 23 69  Position;..// #i
f9d0: 66 64 65 66 20 5f 4d 41 43 0d 0a 2f 2f 20 2e 2e  fdef _MAC..// ..
f9e0: 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d  ...// #endif..}.
f9f0: 0a 61 6c 69 61 73 20 74 61 67 57 49 4e 44 4f 57  .alias tagWINDOW
fa00: 50 4c 41 43 45 4d 45 4e 54 20 57 49 4e 44 4f 57  PLACEMENT WINDOW
fa10: 50 4c 41 43 45 4d 45 4e 54 3b 0d 0a 0d 0a 61 6c  PLACEMENT;....al
fa20: 69 61 73 20 57 49 4e 44 4f 57 50 4c 41 43 45 4d  ias WINDOWPLACEM
fa30: 45 4e 54 2a 20 50 57 49 4e 44 4f 57 50 4c 41 43  ENT* PWINDOWPLAC
fa40: 45 4d 45 4e 54 3b 0d 0a 61 6c 69 61 73 20 57 49  EMENT;..alias WI
fa50: 4e 44 4f 57 50 4c 41 43 45 4d 45 4e 54 2a 20 4c  NDOWPLACEMENT* L
fa60: 50 57 49 4e 44 4f 57 50 4c 41 43 45 4d 45 4e 54  PWINDOWPLACEMENT
fa70: 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  ;....enum : uint
fa80: 20 7b 20 57 50 46 5f 53 45 54 4d 49 4e 50 4f 53   { WPF_SETMINPOS
fa90: 49 54 49 4f 4e 20 3d 20 30 78 30 30 30 31 20 7d  ITION = 0x0001 }
faa0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
fab0: 57 50 46 5f 52 45 53 54 4f 52 45 54 4f 4d 41 58  WPF_RESTORETOMAX
fac0: 49 4d 49 5a 45 44 20 3d 20 30 78 30 30 30 32 20  IMIZED = 0x0002 
fad0: 7d 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32  }..// #if(_WIN32
fae0: 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30  _WINNT >= 0x0500
faf0: 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
fb00: 20 57 50 46 5f 41 53 59 4e 43 57 49 4e 44 4f 57   WPF_ASYNCWINDOW
fb10: 50 4c 41 43 45 4d 45 4e 54 20 3d 20 30 78 30 30  PLACEMENT = 0x00
fb20: 30 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  04 }..// #endif 
fb30: 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  /* _WIN32_WINNT 
fb40: 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0500 */....
fb50: 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d  // #if(WINVER >=
fb60: 20 30 78 30 34 30 30 29 0d 0a 73 74 72 75 63 74   0x0400)..struct
fb70: 20 74 61 67 4e 4d 48 44 52 20 7b 0d 0a 20 20 48   tagNMHDR {..  H
fb80: 57 4e 44 20 68 77 6e 64 46 72 6f 6d 3b 0d 0a 20  WND hwndFrom;.. 
fb90: 20 55 49 4e 54 5f 50 54 52 20 69 64 46 72 6f 6d   UINT_PTR idFrom
fba0: 3b 0d 0a 20 20 55 49 4e 54 20 63 6f 64 65 3b 0d  ;..  UINT code;.
fbb0: 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 48  .}..alias tagNMH
fbc0: 44 52 20 4e 4d 48 44 52 3b 0d 0a 0d 0a 61 6c 69  DR NMHDR;....ali
fbd0: 61 73 20 4e 4d 48 44 52 2a 20 4c 50 4e 4d 48 44  as NMHDR* LPNMHD
fbe0: 52 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  R;....struct tag
fbf0: 53 54 59 4c 45 53 54 52 55 43 54 20 7b 0d 0a 20  STYLESTRUCT {.. 
fc00: 20 44 57 4f 52 44 20 73 74 79 6c 65 4f 6c 64 3b   DWORD styleOld;
fc10: 0d 0a 20 20 44 57 4f 52 44 20 73 74 79 6c 65 4e  ..  DWORD styleN
fc20: 65 77 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  ew;..}..alias ta
fc30: 67 53 54 59 4c 45 53 54 52 55 43 54 20 53 54 59  gSTYLESTRUCT STY
fc40: 4c 45 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73  LESTRUCT;..alias
fc50: 20 74 61 67 53 54 59 4c 45 53 54 52 55 43 54 2a   tagSTYLESTRUCT*
fc60: 20 4c 50 53 54 59 4c 45 53 54 52 55 43 54 3b 0d   LPSTYLESTRUCT;.
fc70: 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
fc80: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
fc90: 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   */....enum : ui
fca0: 6e 74 20 7b 20 4f 44 54 5f 4d 45 4e 55 20 3d 20  nt { ODT_MENU = 
fcb0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
fcc0: 20 7b 20 4f 44 54 5f 4c 49 53 54 42 4f 58 20 3d   { ODT_LISTBOX =
fcd0: 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   2 }..enum : uin
fce0: 74 20 7b 20 4f 44 54 5f 43 4f 4d 42 4f 42 4f 58  t { ODT_COMBOBOX
fcf0: 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 3 }..enum : u
fd00: 69 6e 74 20 7b 20 4f 44 54 5f 42 55 54 54 4f 4e  int { ODT_BUTTON
fd10: 20 3d 20 34 20 7d 0d 0a 2f 2f 20 23 69 66 28 57   = 4 }..// #if(W
fd20: 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
fd30: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
fd40: 4f 44 54 5f 53 54 41 54 49 43 20 3d 20 35 20 7d  ODT_STATIC = 5 }
fd50: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
fd60: 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20  INVER >= 0x0400 
fd70: 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  */....enum : uin
fd80: 74 20 7b 20 4f 44 41 5f 44 52 41 57 45 4e 54 49  t { ODA_DRAWENTI
fd90: 52 45 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65  RE = 0x0001 }..e
fda0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 44 41  num : uint { ODA
fdb0: 5f 53 45 4c 45 43 54 20 3d 20 30 78 30 30 30 32  _SELECT = 0x0002
fdc0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
fdd0: 7b 20 4f 44 41 5f 46 4f 43 55 53 20 3d 20 30 78  { ODA_FOCUS = 0x
fde0: 30 30 30 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0004 }....enum :
fdf0: 20 75 69 6e 74 20 7b 20 4f 44 53 5f 53 45 4c 45   uint { ODS_SELE
fe00: 43 54 45 44 20 3d 20 30 78 30 30 30 31 20 7d 0d  CTED = 0x0001 }.
fe10: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f  .enum : uint { O
fe20: 44 53 5f 47 52 41 59 45 44 20 3d 20 30 78 30 30  DS_GRAYED = 0x00
fe30: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
fe40: 74 20 7b 20 4f 44 53 5f 44 49 53 41 42 4c 45 44  t { ODS_DISABLED
fe50: 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75   = 0x0004 }..enu
fe60: 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 44 53 5f 43  m : uint { ODS_C
fe70: 48 45 43 4b 45 44 20 3d 20 30 78 30 30 30 38 20  HECKED = 0x0008 
fe80: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
fe90: 20 4f 44 53 5f 46 4f 43 55 53 20 3d 20 30 78 30   ODS_FOCUS = 0x0
fea0: 30 31 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49  010 }..// #if(WI
feb0: 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d  NVER >= 0x0400).
fec0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f  .enum : uint { O
fed0: 44 53 5f 44 45 46 41 55 4c 54 20 3d 20 30 78 30  DS_DEFAULT = 0x0
fee0: 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  020 }..enum : ui
fef0: 6e 74 20 7b 20 4f 44 53 5f 43 4f 4d 42 4f 42 4f  nt { ODS_COMBOBO
ff00: 58 45 44 49 54 20 3d 20 30 78 31 30 30 30 20 7d  XEDIT = 0x1000 }
ff10: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
ff20: 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20  INVER >= 0x0400 
ff30: 2a 2f 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45  */..// #if(WINVE
ff40: 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e  R >= 0x0500)..en
ff50: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 44 53 5f  um : uint { ODS_
ff60: 48 4f 54 4c 49 47 48 54 20 3d 20 30 78 30 30 34  HOTLIGHT = 0x004
ff70: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
ff80: 20 7b 20 4f 44 53 5f 49 4e 41 43 54 49 56 45 20   { ODS_INACTIVE 
ff90: 3d 20 30 78 30 30 38 30 20 7d 0d 0a 2f 2f 20 23  = 0x0080 }..// #
ffa0: 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  if(_WIN32_WINNT 
ffb0: 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d  >= 0x0500)..enum
ffc0: 20 3a 20 75 69 6e 74 20 7b 20 4f 44 53 5f 4e 4f   : uint { ODS_NO
ffd0: 41 43 43 45 4c 20 3d 20 30 78 30 31 30 30 20 7d  ACCEL = 0x0100 }
ffe0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
fff0: 4f 44 53 5f 4e 4f 46 4f 43 55 53 52 45 43 54 20  ODS_NOFOCUSRECT 
10000 3d 20 30 78 30 32 30 30 20 7d 0d 0a 2f 2f 20 23  = 0x0200 }..// #
10010 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f  endif /* _WIN32_
10020 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 20  WINNT >= 0x0500 
10030 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  */..// #endif /*
10040 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30   WINVER >= 0x050
10050 30 20 2a 2f 0d 0a 0d 0a 73 74 72 75 63 74 20 74  0 */....struct t
10060 61 67 4d 45 41 53 55 52 45 49 54 45 4d 53 54 52  agMEASUREITEMSTR
10070 55 43 54 20 7b 0d 0a 20 20 55 49 4e 54 20 43 74  UCT {..  UINT Ct
10080 6c 54 79 70 65 3b 0d 0a 20 20 55 49 4e 54 20 43  lType;..  UINT C
10090 74 6c 49 44 3b 0d 0a 20 20 55 49 4e 54 20 69 74  tlID;..  UINT it
100a0 65 6d 49 44 3b 0d 0a 20 20 55 49 4e 54 20 69 74  emID;..  UINT it
100b0 65 6d 57 69 64 74 68 3b 0d 0a 20 20 55 49 4e 54  emWidth;..  UINT
100c0 20 69 74 65 6d 48 65 69 67 68 74 3b 0d 0a 20 20   itemHeight;..  
100d0 55 4c 4f 4e 47 5f 50 54 52 20 69 74 65 6d 44 61  ULONG_PTR itemDa
100e0 74 61 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  ta;..}..alias ta
100f0 67 4d 45 41 53 55 52 45 49 54 45 4d 53 54 52 55  gMEASUREITEMSTRU
10100 43 54 20 4d 45 41 53 55 52 45 49 54 45 4d 53 54  CT MEASUREITEMST
10110 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67  RUCT;..alias tag
10120 4d 45 41 53 55 52 45 49 54 45 4d 53 54 52 55 43  MEASUREITEMSTRUC
10130 54 2a 20 50 4d 45 41 53 55 52 45 49 54 45 4d 53  T* PMEASUREITEMS
10140 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20 74 61  TRUCT;..alias ta
10150 67 4d 45 41 53 55 52 45 49 54 45 4d 53 54 52 55  gMEASUREITEMSTRU
10160 43 54 2a 20 4c 50 4d 45 41 53 55 52 45 49 54 45  CT* LPMEASUREITE
10170 4d 53 54 52 55 43 54 3b 0d 0a 0d 0a 73 74 72 75  MSTRUCT;....stru
10180 63 74 20 74 61 67 44 52 41 57 49 54 45 4d 53 54  ct tagDRAWITEMST
10190 52 55 43 54 20 7b 0d 0a 20 20 55 49 4e 54 20 43  RUCT {..  UINT C
101a0 74 6c 54 79 70 65 3b 0d 0a 20 20 55 49 4e 54 20  tlType;..  UINT 
101b0 43 74 6c 49 44 3b 0d 0a 20 20 55 49 4e 54 20 69  CtlID;..  UINT i
101c0 74 65 6d 49 44 3b 0d 0a 20 20 55 49 4e 54 20 69  temID;..  UINT i
101d0 74 65 6d 41 63 74 69 6f 6e 3b 0d 0a 20 20 55 49  temAction;..  UI
101e0 4e 54 20 69 74 65 6d 53 74 61 74 65 3b 0d 0a 20  NT itemState;.. 
101f0 20 48 57 4e 44 20 68 77 6e 64 49 74 65 6d 3b 0d   HWND hwndItem;.
10200 0a 20 20 48 44 43 20 68 44 43 3b 0d 0a 20 20 52  .  HDC hDC;..  R
10210 45 43 54 20 72 63 49 74 65 6d 3b 0d 0a 20 20 55  ECT rcItem;..  U
10220 4c 4f 4e 47 5f 50 54 52 20 69 74 65 6d 44 61 74  LONG_PTR itemDat
10230 61 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  a;..}..alias tag
10240 44 52 41 57 49 54 45 4d 53 54 52 55 43 54 20 44  DRAWITEMSTRUCT D
10250 52 41 57 49 54 45 4d 53 54 52 55 43 54 3b 0d 0a  RAWITEMSTRUCT;..
10260 61 6c 69 61 73 20 74 61 67 44 52 41 57 49 54 45  alias tagDRAWITE
10270 4d 53 54 52 55 43 54 2a 20 50 44 52 41 57 49 54  MSTRUCT* PDRAWIT
10280 45 4d 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73  EMSTRUCT;..alias
10290 20 74 61 67 44 52 41 57 49 54 45 4d 53 54 52 55   tagDRAWITEMSTRU
102a0 43 54 2a 20 4c 50 44 52 41 57 49 54 45 4d 53 54  CT* LPDRAWITEMST
102b0 52 55 43 54 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  RUCT;....struct 
102c0 74 61 67 44 45 4c 45 54 45 49 54 45 4d 53 54 52  tagDELETEITEMSTR
102d0 55 43 54 20 7b 0d 0a 20 20 55 49 4e 54 20 43 74  UCT {..  UINT Ct
102e0 6c 54 79 70 65 3b 0d 0a 20 20 55 49 4e 54 20 43  lType;..  UINT C
102f0 74 6c 49 44 3b 0d 0a 20 20 55 49 4e 54 20 69 74  tlID;..  UINT it
10300 65 6d 49 44 3b 0d 0a 20 20 48 57 4e 44 20 68 77  emID;..  HWND hw
10310 6e 64 49 74 65 6d 3b 0d 0a 20 20 55 4c 4f 4e 47  ndItem;..  ULONG
10320 5f 50 54 52 20 69 74 65 6d 44 61 74 61 3b 0d 0a  _PTR itemData;..
10330 7d 0d 0a 61 6c 69 61 73 20 74 61 67 44 45 4c 45  }..alias tagDELE
10340 54 45 49 54 45 4d 53 54 52 55 43 54 20 44 45 4c  TEITEMSTRUCT DEL
10350 45 54 45 49 54 45 4d 53 54 52 55 43 54 3b 0d 0a  ETEITEMSTRUCT;..
10360 61 6c 69 61 73 20 74 61 67 44 45 4c 45 54 45 49  alias tagDELETEI
10370 54 45 4d 53 54 52 55 43 54 2a 20 50 44 45 4c 45  TEMSTRUCT* PDELE
10380 54 45 49 54 45 4d 53 54 52 55 43 54 3b 0d 0a 61  TEITEMSTRUCT;..a
10390 6c 69 61 73 20 74 61 67 44 45 4c 45 54 45 49 54  lias tagDELETEIT
103a0 45 4d 53 54 52 55 43 54 2a 20 4c 50 44 45 4c 45  EMSTRUCT* LPDELE
103b0 54 45 49 54 45 4d 53 54 52 55 43 54 3b 0d 0a 0d  TEITEMSTRUCT;...
103c0 0a 73 74 72 75 63 74 20 74 61 67 43 4f 4d 50 41  .struct tagCOMPA
103d0 52 45 49 54 45 4d 53 54 52 55 43 54 20 7b 0d 0a  REITEMSTRUCT {..
103e0 20 20 55 49 4e 54 20 43 74 6c 54 79 70 65 3b 0d    UINT CtlType;.
103f0 0a 20 20 55 49 4e 54 20 43 74 6c 49 44 3b 0d 0a  .  UINT CtlID;..
10400 20 20 48 57 4e 44 20 68 77 6e 64 49 74 65 6d 3b    HWND hwndItem;
10410 0d 0a 20 20 55 49 4e 54 20 69 74 65 6d 49 44 31  ..  UINT itemID1
10420 3b 0d 0a 20 20 55 4c 4f 4e 47 5f 50 54 52 20 69  ;..  ULONG_PTR i
10430 74 65 6d 44 61 74 61 31 3b 0d 0a 20 20 55 49 4e  temData1;..  UIN
10440 54 20 69 74 65 6d 49 44 32 3b 0d 0a 20 20 55 4c  T itemID2;..  UL
10450 4f 4e 47 5f 50 54 52 20 69 74 65 6d 44 61 74 61  ONG_PTR itemData
10460 32 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4c 6f  2;..  DWORD dwLo
10470 63 61 6c 65 49 64 3b 0d 0a 7d 0d 0a 61 6c 69 61  caleId;..}..alia
10480 73 20 74 61 67 43 4f 4d 50 41 52 45 49 54 45 4d  s tagCOMPAREITEM
10490 53 54 52 55 43 54 20 43 4f 4d 50 41 52 45 49 54  STRUCT COMPAREIT
104a0 45 4d 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73  EMSTRUCT;..alias
104b0 20 74 61 67 43 4f 4d 50 41 52 45 49 54 45 4d 53   tagCOMPAREITEMS
104c0 54 52 55 43 54 2a 20 50 43 4f 4d 50 41 52 45 49  TRUCT* PCOMPAREI
104d0 54 45 4d 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61  TEMSTRUCT;..alia
104e0 73 20 74 61 67 43 4f 4d 50 41 52 45 49 54 45 4d  s tagCOMPAREITEM
104f0 53 54 52 55 43 54 2a 20 4c 50 43 4f 4d 50 41 52  STRUCT* LPCOMPAR
10500 45 49 54 45 4d 53 54 52 55 43 54 3b 0d 0a 0d 0a  EITEMSTRUCT;....
10510 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 4d 53 47  // #ifndef NOMSG
10520 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
10530 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
10540 47 65 74 4d 65 73 73 61 67 65 41 28 0d 0a 20 20  GetMessageA(..  
10550 4c 50 4d 53 47 20 6c 70 4d 73 67 2c 0d 0a 20 20  LPMSG lpMsg,..  
10560 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 55 49  HWND hWnd,..  UI
10570 4e 54 20 77 4d 73 67 46 69 6c 74 65 72 4d 69 6e  NT wMsgFilterMin
10580 2c 0d 0a 20 20 55 49 4e 54 20 77 4d 73 67 46 69  ,..  UINT wMsgFi
10590 6c 74 65 72 4d 61 78 29 3b 0d 0a 65 78 74 65 72  lterMax);..exter
105a0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
105b0 74 20 42 4f 4f 4c 20 47 65 74 4d 65 73 73 61 67  t BOOL GetMessag
105c0 65 57 28 0d 0a 20 20 4c 50 4d 53 47 20 6c 70 4d  eW(..  LPMSG lpM
105d0 73 67 2c 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  sg,..  HWND hWnd
105e0 2c 0d 0a 20 20 55 49 4e 54 20 77 4d 73 67 46 69  ,..  UINT wMsgFi
105f0 6c 74 65 72 4d 69 6e 2c 0d 0a 20 20 55 49 4e 54  lterMin,..  UINT
10600 20 77 4d 73 67 46 69 6c 74 65 72 4d 61 78 29 3b   wMsgFilterMax);
10610 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
10620 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
10630 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 47 65   #else..alias Ge
10640 74 4d 65 73 73 61 67 65 41 20 47 65 74 4d 65 73  tMessageA GetMes
10650 73 61 67 65 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  sage;..// #endif
10660 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
10670 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
10680 65 78 70 6f 72 74 20 42 4f 4f 4c 20 54 72 61 6e  export BOOL Tran
10690 73 6c 61 74 65 4d 65 73 73 61 67 65 28 0d 0a 20  slateMessage(.. 
106a0 20 4d 53 47 20 2a 6c 70 4d 73 67 29 3b 0d 0a 0d   MSG *lpMsg);...
106b0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
106c0 20 65 78 70 6f 72 74 20 4c 52 45 53 55 4c 54 20   export LRESULT 
106d0 44 69 73 70 61 74 63 68 4d 65 73 73 61 67 65 41  DispatchMessageA
106e0 28 0d 0a 20 20 4d 53 47 20 2a 6c 70 4d 73 67 29  (..  MSG *lpMsg)
106f0 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
10700 73 29 20 65 78 70 6f 72 74 20 4c 52 45 53 55 4c  s) export LRESUL
10710 54 20 44 69 73 70 61 74 63 68 4d 65 73 73 61 67  T DispatchMessag
10720 65 57 28 0d 0a 20 20 4d 53 47 20 2a 6c 70 4d 73  eW(..  MSG *lpMs
10730 67 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  g);..// #ifdef U
10740 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
10750 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
10760 20 44 69 73 70 61 74 63 68 4d 65 73 73 61 67 65   DispatchMessage
10770 41 20 44 69 73 70 61 74 63 68 4d 65 73 73 61 67  A DispatchMessag
10780 65 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  e;..// #endif //
10790 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74   !UNICODE....ext
107a0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
107b0 6f 72 74 20 42 4f 4f 4c 20 53 65 74 4d 65 73 73  ort BOOL SetMess
107c0 61 67 65 51 75 65 75 65 28 0d 0a 20 20 69 6e 74  ageQueue(..  int
107d0 20 63 4d 65 73 73 61 67 65 73 4d 61 78 29 3b 0d   cMessagesMax);.
107e0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
107f0 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 50  s) export BOOL P
10800 65 65 6b 4d 65 73 73 61 67 65 41 28 0d 0a 20 20  eekMessageA(..  
10810 4c 50 4d 53 47 20 6c 70 4d 73 67 2c 0d 0a 20 20  LPMSG lpMsg,..  
10820 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 55 49  HWND hWnd,..  UI
10830 4e 54 20 77 4d 73 67 46 69 6c 74 65 72 4d 69 6e  NT wMsgFilterMin
10840 2c 0d 0a 20 20 55 49 4e 54 20 77 4d 73 67 46 69  ,..  UINT wMsgFi
10850 6c 74 65 72 4d 61 78 2c 0d 0a 20 20 55 49 4e 54  lterMax,..  UINT
10860 20 77 52 65 6d 6f 76 65 4d 73 67 29 3b 0d 0a 65   wRemoveMsg);..e
10870 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
10880 78 70 6f 72 74 20 42 4f 4f 4c 20 50 65 65 6b 4d  xport BOOL PeekM
10890 65 73 73 61 67 65 57 28 0d 0a 20 20 4c 50 4d 53  essageW(..  LPMS
108a0 47 20 6c 70 4d 73 67 2c 0d 0a 20 20 48 57 4e 44  G lpMsg,..  HWND
108b0 20 68 57 6e 64 2c 0d 0a 20 20 55 49 4e 54 20 77   hWnd,..  UINT w
108c0 4d 73 67 46 69 6c 74 65 72 4d 69 6e 2c 0d 0a 20  MsgFilterMin,.. 
108d0 20 55 49 4e 54 20 77 4d 73 67 46 69 6c 74 65 72   UINT wMsgFilter
108e0 4d 61 78 2c 0d 0a 20 20 55 49 4e 54 20 77 52 65  Max,..  UINT wRe
108f0 6d 6f 76 65 4d 73 67 29 3b 0d 0a 2f 2f 20 23 69  moveMsg);..// #i
10900 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
10910 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
10920 0a 61 6c 69 61 73 20 50 65 65 6b 4d 65 73 73 61  .alias PeekMessa
10930 67 65 41 20 50 65 65 6b 4d 65 73 73 61 67 65 3b  geA PeekMessage;
10940 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
10950 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20  UNICODE....enum 
10960 3a 20 75 69 6e 74 20 7b 20 50 4d 5f 4e 4f 52 45  : uint { PM_NORE
10970 4d 4f 56 45 20 3d 20 30 78 30 30 30 30 20 7d 0d  MOVE = 0x0000 }.
10980 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
10990 4d 5f 52 45 4d 4f 56 45 20 3d 20 30 78 30 30 30  M_REMOVE = 0x000
109a0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
109b0 20 7b 20 50 4d 5f 4e 4f 59 49 45 4c 44 20 3d 20   { PM_NOYIELD = 
109c0 30 78 30 30 30 32 20 7d 0d 0a 2f 2f 20 23 69 66  0x0002 }..// #if
109d0 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30  (WINVER >= 0x050
109e0 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
109f0 7b 20 50 4d 5f 51 53 5f 49 4e 50 55 54 20 3d 20  { PM_QS_INPUT = 
10a00 51 53 5f 49 4e 50 55 54 20 3c 3c 20 31 36 20 7d  QS_INPUT << 16 }
10a10 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
10a20 50 4d 5f 51 53 5f 50 4f 53 54 4d 45 53 53 41 47  PM_QS_POSTMESSAG
10a30 45 20 3d 20 28 51 53 5f 50 4f 53 54 4d 45 53 53  E = (QS_POSTMESS
10a40 41 47 45 20 7c 20 51 53 5f 48 4f 54 4b 45 59 20  AGE | QS_HOTKEY 
10a50 7c 20 51 53 5f 54 49 4d 45 52 29 20 3c 3c 20 31  | QS_TIMER) << 1
10a60 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
10a70 20 7b 20 50 4d 5f 51 53 5f 50 41 49 4e 54 20 3d   { PM_QS_PAINT =
10a80 20 51 53 5f 50 41 49 4e 54 20 3c 3c 20 31 36 20   QS_PAINT << 16 
10a90 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
10aa0 20 50 4d 5f 51 53 5f 53 45 4e 44 4d 45 53 53 41   PM_QS_SENDMESSA
10ab0 47 45 20 3d 20 51 53 5f 53 45 4e 44 4d 45 53 53  GE = QS_SENDMESS
10ac0 41 47 45 20 3c 3c 20 31 36 20 7d 0d 0a 2f 2f 20  AGE << 16 }..// 
10ad0 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52  #endif /* WINVER
10ae0 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d   >= 0x0500 */...
10af0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e  .// #endif /* !N
10b00 4f 4d 53 47 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72  OMSG */....exter
10b10 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
10b20 74 20 42 4f 4f 4c 20 52 65 67 69 73 74 65 72 48  t BOOL RegisterH
10b30 6f 74 4b 65 79 28 0d 0a 20 20 48 57 4e 44 20 68  otKey(..  HWND h
10b40 57 6e 64 2c 0d 0a 20 20 69 6e 74 20 69 64 2c 0d  Wnd,..  int id,.
10b50 0a 20 20 55 49 4e 54 20 66 73 4d 6f 64 69 66 69  .  UINT fsModifi
10b60 65 72 73 2c 0d 0a 20 20 55 49 4e 54 20 76 6b 29  ers,..  UINT vk)
10b70 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
10b80 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
10b90 20 55 6e 72 65 67 69 73 74 65 72 48 6f 74 4b 65   UnregisterHotKe
10ba0 79 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c  y(..  HWND hWnd,
10bb0 0d 0a 20 20 69 6e 74 20 69 64 29 3b 0d 0a 0d 0a  ..  int id);....
10bc0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4f  enum : uint { MO
10bd0 44 5f 41 4c 54 20 3d 20 30 78 30 30 30 31 20 7d  D_ALT = 0x0001 }
10be0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
10bf0 4d 4f 44 5f 43 4f 4e 54 52 4f 4c 20 3d 20 30 78  MOD_CONTROL = 0x
10c00 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
10c10 69 6e 74 20 7b 20 4d 4f 44 5f 53 48 49 46 54 20  int { MOD_SHIFT 
10c20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d  = 0x0004 }..enum
10c30 20 3a 20 75 69 6e 74 20 7b 20 4d 4f 44 5f 57 49   : uint { MOD_WI
10c40 4e 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 0d 0a  N = 0x0008 }....
10c50 65 6e 75 6d 20 7b 20 49 44 48 4f 54 5f 53 4e 41  enum { IDHOT_SNA
10c60 50 57 49 4e 44 4f 57 20 3d 20 2d 31 20 7d 0d 0a  PWINDOW = -1 }..
10c70 65 6e 75 6d 20 7b 20 49 44 48 4f 54 5f 53 4e 41  enum { IDHOT_SNA
10c80 50 44 45 53 4b 54 4f 50 20 3d 20 2d 32 20 7d 0d  PDESKTOP = -2 }.
10c90 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 57 49 4e  ...// #ifdef WIN
10ca0 5f 49 4e 54 45 52 4e 41 4c 0d 0a 2f 2f 20 20 20  _INTERNAL..//   
10cb0 20 20 23 69 66 6e 64 65 66 20 4c 53 54 52 49 4e    #ifndef LSTRIN
10cc0 47 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 20  G..// #.....//  
10cd0 20 20 20 23 65 6e 64 69 66 20 2f 2a 20 4c 53 54     #endif /* LST
10ce0 52 49 4e 47 20 2a 2f 0d 0a 2f 2f 20 20 20 20 20  RING */..//     
10cf0 23 69 66 6e 64 65 66 20 4c 46 49 4c 45 49 4f 0d  #ifndef LFILEIO.
10d00 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 20 20 20  .// #.....//    
10d10 20 23 65 6e 64 69 66 20 2f 2a 20 4c 46 49 4c 45   #endif /* LFILE
10d20 49 4f 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69 66  IO */..// #endif
10d30 20 2f 2a 20 57 49 4e 5f 49 4e 54 45 52 4e 41 4c   /* WIN_INTERNAL
10d40 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49   */....// #if(WI
10d50 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d  NVER >= 0x0400).
10d60 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
10d70 20 45 4e 44 53 45 53 53 49 4f 4e 5f 4c 4f 47 4f   ENDSESSION_LOGO
10d80 46 46 20 3d 20 30 78 38 30 30 30 30 30 30 30 20  FF = 0x80000000 
10d90 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  }..// #endif /* 
10da0 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
10db0 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   */....enum : ui
10dc0 6e 74 20 7b 20 45 57 58 5f 4c 4f 47 4f 46 46 20  nt { EWX_LOGOFF 
10dd0 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 0 }..enum : ui
10de0 6e 74 20 7b 20 45 57 58 5f 53 48 55 54 44 4f 57  nt { EWX_SHUTDOW
10df0 4e 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d  N = 0x00000001 }
10e00 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
10e10 45 57 58 5f 52 45 42 4f 4f 54 20 3d 20 30 78 30  EWX_REBOOT = 0x0
10e20 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20  0000002 }..enum 
10e30 3a 20 75 69 6e 74 20 7b 20 45 57 58 5f 46 4f 52  : uint { EWX_FOR
10e40 43 45 20 3d 20 30 78 30 30 30 30 30 30 30 34 20  CE = 0x00000004 
10e50 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
10e60 20 45 57 58 5f 50 4f 57 45 52 4f 46 46 20 3d 20   EWX_POWEROFF = 
10e70 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 2f 2f  0x00000008 }..//
10e80 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e   #if(_WIN32_WINN
10e90 54 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e  T >= 0x0500)..en
10ea0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 57 58 5f  um : uint { EWX_
10eb0 46 4f 52 43 45 49 46 48 55 4e 47 20 3d 20 30 78  FORCEIFHUNG = 0x
10ec0 30 30 30 30 30 30 31 30 20 7d 0d 0a 2f 2f 20 23  00000010 }..// #
10ed0 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f  endif /* _WIN32_
10ee0 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 20  WINNT >= 0x0500 
10ef0 2a 2f 0d 0a 0d 0a 42 4f 4f 4c 20 45 78 69 74 57  */....BOOL ExitW
10f00 69 6e 64 6f 77 73 28 44 57 4f 52 44 20 64 77 52  indows(DWORD dwR
10f10 65 73 65 72 76 65 64 2c 20 55 49 4e 54 20 43 6f  eserved, UINT Co
10f20 64 65 29 7b 20 72 65 74 75 72 6e 20 45 78 69 74  de){ return Exit
10f30 57 69 6e 64 6f 77 73 45 78 28 45 57 58 5f 4c 4f  WindowsEx(EWX_LO
10f40 47 4f 46 46 2c 20 30 78 46 46 46 46 46 46 46 46  GOFF, 0xFFFFFFFF
10f50 29 3b 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  ); }....extern(W
10f60 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
10f70 4f 4f 4c 20 45 78 69 74 57 69 6e 64 6f 77 73 45  OOL ExitWindowsE
10f80 78 28 0d 0a 20 20 55 49 4e 54 20 75 46 6c 61 67  x(..  UINT uFlag
10f90 73 2c 0d 0a 20 20 44 57 4f 52 44 20 64 77 52 65  s,..  DWORD dwRe
10fa0 73 65 72 76 65 64 29 3b 0d 0a 0d 0a 65 78 74 65  served);....exte
10fb0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
10fc0 72 74 20 42 4f 4f 4c 20 53 77 61 70 4d 6f 75 73  rt BOOL SwapMous
10fd0 65 42 75 74 74 6f 6e 28 0d 0a 20 20 42 4f 4f 4c  eButton(..  BOOL
10fe0 20 66 53 77 61 70 29 3b 0d 0a 0d 0a 65 78 74 65   fSwap);....exte
10ff0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
11000 72 74 20 44 57 4f 52 44 20 47 65 74 4d 65 73 73  rt DWORD GetMess
11010 61 67 65 50 6f 73 28 29 3b 0d 0a 0d 0a 65 78 74  agePos();....ext
11020 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
11030 6f 72 74 20 4c 4f 4e 47 20 47 65 74 4d 65 73 73  ort LONG GetMess
11040 61 67 65 54 69 6d 65 28 29 3b 0d 0a 0d 0a 65 78  ageTime();....ex
11050 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
11060 70 6f 72 74 20 4c 50 41 52 41 4d 20 47 65 74 4d  port LPARAM GetM
11070 65 73 73 61 67 65 45 78 74 72 61 49 6e 66 6f 28  essageExtraInfo(
11080 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e  );....// #if(WIN
11090 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  VER >= 0x0400)..
110a0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
110b0 65 78 70 6f 72 74 20 4c 50 41 52 41 4d 20 53 65  export LPARAM Se
110c0 74 4d 65 73 73 61 67 65 45 78 74 72 61 49 6e 66  tMessageExtraInf
110d0 6f 28 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61  o(..  LPARAM lPa
110e0 72 61 6d 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  ram);..// #endif
110f0 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
11100 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72  0400 */....exter
11110 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
11120 74 20 4c 52 45 53 55 4c 54 20 53 65 6e 64 4d 65  t LRESULT SendMe
11130 73 73 61 67 65 41 28 0d 0a 20 20 48 57 4e 44 20  ssageA(..  HWND 
11140 68 57 6e 64 2c 0d 0a 20 20 55 49 4e 54 20 4d 73  hWnd,..  UINT Ms
11150 67 2c 0d 0a 20 20 57 50 41 52 41 4d 20 77 50 61  g,..  WPARAM wPa
11160 72 61 6d 2c 0d 0a 20 20 4c 50 41 52 41 4d 20 6c  ram,..  LPARAM l
11170 50 61 72 61 6d 29 3b 0d 0a 65 78 74 65 72 6e 28  Param);..extern(
11180 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
11190 4c 52 45 53 55 4c 54 20 53 65 6e 64 4d 65 73 73  LRESULT SendMess
111a0 61 67 65 57 28 0d 0a 20 20 48 57 4e 44 20 68 57  ageW(..  HWND hW
111b0 6e 64 2c 0d 0a 20 20 55 49 4e 54 20 4d 73 67 2c  nd,..  UINT Msg,
111c0 0d 0a 20 20 57 50 41 52 41 4d 20 77 50 61 72 61  ..  WPARAM wPara
111d0 6d 2c 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61  m,..  LPARAM lPa
111e0 72 61 6d 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  ram);..// #ifdef
111f0 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e   UNICODE..// #..
11200 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
11210 61 73 20 53 65 6e 64 4d 65 73 73 61 67 65 41 20  as SendMessageA 
11220 53 65 6e 64 4d 65 73 73 61 67 65 3b 0d 0a 2f 2f  SendMessage;..//
11230 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
11240 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ODE....extern(Wi
11250 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4c 52  ndows) export LR
11260 45 53 55 4c 54 20 53 65 6e 64 4d 65 73 73 61 67  ESULT SendMessag
11270 65 54 69 6d 65 6f 75 74 41 28 0d 0a 20 20 48 57  eTimeoutA(..  HW
11280 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 55 49 4e 54  ND hWnd,..  UINT
11290 20 4d 73 67 2c 0d 0a 20 20 57 50 41 52 41 4d 20   Msg,..  WPARAM 
112a0 77 50 61 72 61 6d 2c 0d 0a 20 20 4c 50 41 52 41  wParam,..  LPARA
112b0 4d 20 6c 50 61 72 61 6d 2c 0d 0a 20 20 55 49 4e  M lParam,..  UIN
112c0 54 20 66 75 46 6c 61 67 73 2c 0d 0a 20 20 55 49  T fuFlags,..  UI
112d0 4e 54 20 75 54 69 6d 65 6f 75 74 2c 0d 0a 20 20  NT uTimeout,..  
112e0 50 44 57 4f 52 44 5f 50 54 52 20 6c 70 64 77 52  PDWORD_PTR lpdwR
112f0 65 73 75 6c 74 29 3b 0d 0a 65 78 74 65 72 6e 28  esult);..extern(
11300 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
11310 4c 52 45 53 55 4c 54 20 53 65 6e 64 4d 65 73 73  LRESULT SendMess
11320 61 67 65 54 69 6d 65 6f 75 74 57 28 0d 0a 20 20  ageTimeoutW(..  
11330 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 55 49  HWND hWnd,..  UI
11340 4e 54 20 4d 73 67 2c 0d 0a 20 20 57 50 41 52 41  NT Msg,..  WPARA
11350 4d 20 77 50 61 72 61 6d 2c 0d 0a 20 20 4c 50 41  M wParam,..  LPA
11360 52 41 4d 20 6c 50 61 72 61 6d 2c 0d 0a 20 20 55  RAM lParam,..  U
11370 49 4e 54 20 66 75 46 6c 61 67 73 2c 0d 0a 20 20  INT fuFlags,..  
11380 55 49 4e 54 20 75 54 69 6d 65 6f 75 74 2c 0d 0a  UINT uTimeout,..
11390 20 20 50 44 57 4f 52 44 5f 50 54 52 20 6c 70 64    PDWORD_PTR lpd
113a0 77 52 65 73 75 6c 74 29 3b 0d 0a 2f 2f 20 23 69  wResult);..// #i
113b0 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
113c0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
113d0 0a 61 6c 69 61 73 20 53 65 6e 64 4d 65 73 73 61  .alias SendMessa
113e0 67 65 54 69 6d 65 6f 75 74 41 20 53 65 6e 64 4d  geTimeoutA SendM
113f0 65 73 73 61 67 65 54 69 6d 65 6f 75 74 3b 0d 0a  essageTimeout;..
11400 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
11410 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
11420 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
11430 42 4f 4f 4c 20 53 65 6e 64 4e 6f 74 69 66 79 4d  BOOL SendNotifyM
11440 65 73 73 61 67 65 41 28 0d 0a 20 20 48 57 4e 44  essageA(..  HWND
11450 20 68 57 6e 64 2c 0d 0a 20 20 55 49 4e 54 20 4d   hWnd,..  UINT M
11460 73 67 2c 0d 0a 20 20 57 50 41 52 41 4d 20 77 50  sg,..  WPARAM wP
11470 61 72 61 6d 2c 0d 0a 20 20 4c 50 41 52 41 4d 20  aram,..  LPARAM 
11480 6c 50 61 72 61 6d 29 3b 0d 0a 65 78 74 65 72 6e  lParam);..extern
11490 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
114a0 20 42 4f 4f 4c 20 53 65 6e 64 4e 6f 74 69 66 79   BOOL SendNotify
114b0 4d 65 73 73 61 67 65 57 28 0d 0a 20 20 48 57 4e  MessageW(..  HWN
114c0 44 20 68 57 6e 64 2c 0d 0a 20 20 55 49 4e 54 20  D hWnd,..  UINT 
114d0 4d 73 67 2c 0d 0a 20 20 57 50 41 52 41 4d 20 77  Msg,..  WPARAM w
114e0 50 61 72 61 6d 2c 0d 0a 20 20 4c 50 41 52 41 4d  Param,..  LPARAM
114f0 20 6c 50 61 72 61 6d 29 3b 0d 0a 2f 2f 20 23 69   lParam);..// #i
11500 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
11510 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
11520 0a 61 6c 69 61 73 20 53 65 6e 64 4e 6f 74 69 66  .alias SendNotif
11530 79 4d 65 73 73 61 67 65 41 20 53 65 6e 64 4e 6f  yMessageA SendNo
11540 74 69 66 79 4d 65 73 73 61 67 65 3b 0d 0a 2f 2f  tifyMessage;..//
11550 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
11560 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ODE....extern(Wi
11570 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
11580 4f 4c 20 53 65 6e 64 4d 65 73 73 61 67 65 43 61  OL SendMessageCa
11590 6c 6c 62 61 63 6b 41 28 0d 0a 20 20 48 57 4e 44  llbackA(..  HWND
115a0 20 68 57 6e 64 2c 0d 0a 20 20 55 49 4e 54 20 4d   hWnd,..  UINT M
115b0 73 67 2c 0d 0a 20 20 57 50 41 52 41 4d 20 77 50  sg,..  WPARAM wP
115c0 61 72 61 6d 2c 0d 0a 20 20 4c 50 41 52 41 4d 20  aram,..  LPARAM 
115d0 6c 50 61 72 61 6d 2c 0d 0a 20 20 53 45 4e 44 41  lParam,..  SENDA
115e0 53 59 4e 43 50 52 4f 43 20 6c 70 52 65 73 75 6c  SYNCPROC lpResul
115f0 74 43 61 6c 6c 42 61 63 6b 2c 0d 0a 20 20 55 4c  tCallBack,..  UL
11600 4f 4e 47 5f 50 54 52 20 64 77 44 61 74 61 29 3b  ONG_PTR dwData);
11610 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
11620 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65  ) export BOOL Se
11630 6e 64 4d 65 73 73 61 67 65 43 61 6c 6c 62 61 63  ndMessageCallbac
11640 6b 57 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  kW(..  HWND hWnd
11650 2c 0d 0a 20 20 55 49 4e 54 20 4d 73 67 2c 0d 0a  ,..  UINT Msg,..
11660 20 20 57 50 41 52 41 4d 20 77 50 61 72 61 6d 2c    WPARAM wParam,
11670 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61  ..  LPARAM lPara
11680 6d 2c 0d 0a 20 20 53 45 4e 44 41 53 59 4e 43 50  m,..  SENDASYNCP
11690 52 4f 43 20 6c 70 52 65 73 75 6c 74 43 61 6c 6c  ROC lpResultCall
116a0 42 61 63 6b 2c 0d 0a 20 20 55 4c 4f 4e 47 5f 50  Back,..  ULONG_P
116b0 54 52 20 64 77 44 61 74 61 29 3b 0d 0a 2f 2f 20  TR dwData);..// 
116c0 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
116d0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
116e0 65 0d 0a 61 6c 69 61 73 20 53 65 6e 64 4d 65 73  e..alias SendMes
116f0 73 61 67 65 43 61 6c 6c 62 61 63 6b 41 20 53 65  sageCallbackA Se
11700 6e 64 4d 65 73 73 61 67 65 43 61 6c 6c 62 61 63  ndMessageCallbac
11710 6b 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  k;..// #endif //
11720 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20   !UNICODE....// 
11730 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  #if(_WIN32_WINNT
11740 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 73 74 72   >= 0x0501)..str
11750 75 63 74 20 5f 30 20 7b 0d 0a 20 20 55 49 4e 54  uct _0 {..  UINT
11760 20 63 62 53 69 7a 65 3b 0d 0a 20 20 48 44 45 53   cbSize;..  HDES
11770 4b 20 68 64 65 73 6b 3b 0d 0a 20 20 48 57 4e 44  K hdesk;..  HWND
11780 20 68 77 6e 64 3b 0d 0a 20 20 4c 55 49 44 20 6c   hwnd;..  LUID l
11790 75 69 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  uid;..}..alias _
117a0 30 20 42 53 4d 49 4e 46 4f 3b 0d 0a 61 6c 69 61  0 BSMINFO;..alia
117b0 73 20 5f 30 2a 20 50 42 53 4d 49 4e 46 4f 3b 0d  s _0* PBSMINFO;.
117c0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
117d0 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 42 72  s) export int Br
117e0 6f 61 64 63 61 73 74 53 79 73 74 65 6d 4d 65 73  oadcastSystemMes
117f0 73 61 67 65 45 78 41 28 0d 0a 20 20 44 57 4f 52  sageExA(..  DWOR
11800 44 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 2c 0d 0a  D,..  LPDWORD,..
11810 20 20 55 49 4e 54 2c 0d 0a 20 20 57 50 41 52 41    UINT,..  WPARA
11820 4d 2c 0d 0a 20 20 4c 50 41 52 41 4d 2c 0d 0a 20  M,..  LPARAM,.. 
11830 20 50 42 53 4d 49 4e 46 4f 29 3b 0d 0a 65 78 74   PBSMINFO);..ext
11840 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
11850 6f 72 74 20 69 6e 74 20 42 72 6f 61 64 63 61 73  ort int Broadcas
11860 74 53 79 73 74 65 6d 4d 65 73 73 61 67 65 45 78  tSystemMessageEx
11870 57 28 0d 0a 20 20 44 57 4f 52 44 2c 0d 0a 20 20  W(..  DWORD,..  
11880 4c 50 44 57 4f 52 44 2c 0d 0a 20 20 55 49 4e 54  LPDWORD,..  UINT
11890 2c 0d 0a 20 20 57 50 41 52 41 4d 2c 0d 0a 20 20  ,..  WPARAM,..  
118a0 4c 50 41 52 41 4d 2c 0d 0a 20 20 50 42 53 4d 49  LPARAM,..  PBSMI
118b0 4e 46 4f 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  NFO);..// #ifdef
118c0 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e   UNICODE..// #..
118d0 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
118e0 61 73 20 42 72 6f 61 64 63 61 73 74 53 79 73 74  as BroadcastSyst
118f0 65 6d 4d 65 73 73 61 67 65 45 78 41 20 42 72 6f  emMessageExA Bro
11900 61 64 63 61 73 74 53 79 73 74 65 6d 4d 65 73 73  adcastSystemMess
11910 61 67 65 45 78 3b 0d 0a 2f 2f 20 23 65 6e 64 69  ageEx;..// #endi
11920 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 2f  f // !UNICODE../
11930 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e  / #endif /* _WIN
11940 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35  32_WINNT >= 0x05
11950 30 31 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28  01 */....// #if(
11960 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
11970 29 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69  )....// #if defi
11980 6e 65 64 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  ned(_WIN32_WINNT
11990 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  )..extern(Window
119a0 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 42 72  s) export int Br
119b0 6f 61 64 63 61 73 74 53 79 73 74 65 6d 4d 65 73  oadcastSystemMes
119c0 73 61 67 65 41 28 0d 0a 20 20 44 57 4f 52 44 2c  sageA(..  DWORD,
119d0 0d 0a 20 20 4c 50 44 57 4f 52 44 2c 0d 0a 20 20  ..  LPDWORD,..  
119e0 55 49 4e 54 2c 0d 0a 20 20 57 50 41 52 41 4d 2c  UINT,..  WPARAM,
119f0 0d 0a 20 20 4c 50 41 52 41 4d 29 3b 0d 0a 65 78  ..  LPARAM);..ex
11a00 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
11a10 70 6f 72 74 20 69 6e 74 20 42 72 6f 61 64 63 61  port int Broadca
11a20 73 74 53 79 73 74 65 6d 4d 65 73 73 61 67 65 57  stSystemMessageW
11a30 28 0d 0a 20 20 44 57 4f 52 44 2c 0d 0a 20 20 4c  (..  DWORD,..  L
11a40 50 44 57 4f 52 44 2c 0d 0a 20 20 55 49 4e 54 2c  PDWORD,..  UINT,
11a50 0d 0a 20 20 57 50 41 52 41 4d 2c 0d 0a 20 20 4c  ..  WPARAM,..  L
11a60 50 41 52 41 4d 29 3b 0d 0a 2f 2f 20 23 69 66 64  PARAM);..// #ifd
11a70 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  ef UNICODE..// #
11a80 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
11a90 6c 69 61 73 20 42 72 6f 61 64 63 61 73 74 53 79  lias BroadcastSy
11aa0 73 74 65 6d 4d 65 73 73 61 67 65 41 20 42 72 6f  stemMessageA Bro
11ab0 61 64 63 61 73 74 53 79 73 74 65 6d 4d 65 73 73  adcastSystemMess
11ac0 61 67 65 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  age;..// #endif 
11ad0 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  // !UNICODE..// 
11ae0 23 65 6c 69 66 20 64 65 66 69 6e 65 64 28 5f 57  #elif defined(_W
11af0 49 4e 33 32 5f 57 49 4e 44 4f 57 53 29 0d 0a 0d  IN32_WINDOWS)...
11b00 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65  .// .......// #e
11b10 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ndif....enum : u
11b20 69 6e 74 20 7b 20 42 53 4d 5f 41 4c 4c 43 4f 4d  int { BSM_ALLCOM
11b30 50 4f 4e 45 4e 54 53 20 3d 20 30 78 30 30 30 30  PONENTS = 0x0000
11b40 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
11b50 69 6e 74 20 7b 20 42 53 4d 5f 56 58 44 53 20 3d  int { BSM_VXDS =
11b60 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65   0x00000001 }..e
11b70 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 4d  num : uint { BSM
11b80 5f 4e 45 54 44 52 49 56 45 52 20 3d 20 30 78 30  _NETDRIVER = 0x0
11b90 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20  0000002 }..enum 
11ba0 3a 20 75 69 6e 74 20 7b 20 42 53 4d 5f 49 4e 53  : uint { BSM_INS
11bb0 54 41 4c 4c 41 42 4c 45 44 52 49 56 45 52 53 20  TALLABLEDRIVERS 
11bc0 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a  = 0x00000004 }..
11bd0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53  enum : uint { BS
11be0 4d 5f 41 50 50 4c 49 43 41 54 49 4f 4e 53 20 3d  M_APPLICATIONS =
11bf0 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65   0x00000008 }..e
11c00 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 4d  num : uint { BSM
11c10 5f 41 4c 4c 44 45 53 4b 54 4f 50 53 20 3d 20 30  _ALLDESKTOPS = 0
11c20 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 0d 0a 65  x00000010 }....e
11c30 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 46  num : uint { BSF
11c40 5f 51 55 45 52 59 20 3d 20 30 78 30 30 30 30 30  _QUERY = 0x00000
11c50 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
11c60 6e 74 20 7b 20 42 53 46 5f 49 47 4e 4f 52 45 43  nt { BSF_IGNOREC
11c70 55 52 52 45 4e 54 54 41 53 4b 20 3d 20 30 78 30  URRENTTASK = 0x0
11c80 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20  0000002 }..enum 
11c90 3a 20 75 69 6e 74 20 7b 20 42 53 46 5f 46 4c 55  : uint { BSF_FLU
11ca0 53 48 44 49 53 4b 20 3d 20 30 78 30 30 30 30 30  SHDISK = 0x00000
11cb0 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
11cc0 6e 74 20 7b 20 42 53 46 5f 4e 4f 48 41 4e 47 20  nt { BSF_NOHANG 
11cd0 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a  = 0x00000008 }..
11ce0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53  enum : uint { BS
11cf0 46 5f 50 4f 53 54 4d 45 53 53 41 47 45 20 3d 20  F_POSTMESSAGE = 
11d00 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e  0x00000010 }..en
11d10 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 46 5f  um : uint { BSF_
11d20 46 4f 52 43 45 49 46 48 55 4e 47 20 3d 20 30 78  FORCEIFHUNG = 0x
11d30 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d  00000020 }..enum
11d40 20 3a 20 75 69 6e 74 20 7b 20 42 53 46 5f 4e 4f   : uint { BSF_NO
11d50 54 49 4d 45 4f 55 54 49 46 4e 4f 54 48 55 4e 47  TIMEOUTIFNOTHUNG
11d60 20 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d 0d   = 0x00000040 }.
11d70 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57  .// #if(_WIN32_W
11d80 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 0d  INNT >= 0x0500).
11d90 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42  .enum : uint { B
11da0 53 46 5f 41 4c 4c 4f 57 53 46 57 20 3d 20 30 78  SF_ALLOWSFW = 0x
11db0 30 30 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75 6d  00000080 }..enum
11dc0 20 3a 20 75 69 6e 74 20 7b 20 42 53 46 5f 53 45   : uint { BSF_SE
11dd0 4e 44 4e 4f 54 49 46 59 4d 45 53 53 41 47 45 20  NDNOTIFYMESSAGE 
11de0 3d 20 30 78 30 30 30 30 30 31 30 30 20 7d 0d 0a  = 0x00000100 }..
11df0 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49  // #endif /* _WI
11e00 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30  N32_WINNT >= 0x0
11e10 35 30 30 20 2a 2f 0d 0a 2f 2f 20 23 69 66 28 5f  500 */..// #if(_
11e20 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
11e30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0501)..enum : u
11e40 69 6e 74 20 7b 20 42 53 46 5f 52 45 54 55 52 4e  int { BSF_RETURN
11e50 48 44 45 53 4b 20 3d 20 30 78 30 30 30 30 30 32  HDESK = 0x000002
11e60 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
11e70 74 20 7b 20 42 53 46 5f 4c 55 49 44 20 3d 20 30  t { BSF_LUID = 0
11e80 78 30 30 30 30 30 34 30 30 20 7d 0d 0a 2f 2f 20  x00000400 }..// 
11e90 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32  #endif /* _WIN32
11ea0 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31  _WINNT >= 0x0501
11eb0 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   */....enum : ui
11ec0 6e 74 20 7b 20 42 52 4f 41 44 43 41 53 54 5f 51  nt { BROADCAST_Q
11ed0 55 45 52 59 5f 44 45 4e 59 20 3d 20 30 78 34 32  UERY_DENY = 0x42
11ee0 34 44 35 31 34 34 20 7d 0d 0a 2f 2f 20 23 65 6e  4D5144 }..// #en
11ef0 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d  dif /* WINVER >=
11f00 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f   0x0400 */....//
11f10 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
11f20 78 30 35 30 30 29 0d 0a 61 6c 69 61 73 20 50 56  x0500)..alias PV
11f30 4f 49 44 20 48 44 45 56 4e 4f 54 49 46 59 3b 0d  OID HDEVNOTIFY;.
11f40 0a 61 6c 69 61 73 20 48 44 45 56 4e 4f 54 49 46  .alias HDEVNOTIF
11f50 59 2a 20 50 48 44 45 56 4e 4f 54 49 46 59 3b 0d  Y* PHDEVNOTIFY;.
11f60 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
11f70 20 44 45 56 49 43 45 5f 4e 4f 54 49 46 59 5f 57   DEVICE_NOTIFY_W
11f80 49 4e 44 4f 57 5f 48 41 4e 44 4c 45 20 3d 20 30  INDOW_HANDLE = 0
11f90 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x00000000 }..enu
11fa0 6d 20 3a 20 75 69 6e 74 20 7b 20 44 45 56 49 43  m : uint { DEVIC
11fb0 45 5f 4e 4f 54 49 46 59 5f 53 45 52 56 49 43 45  E_NOTIFY_SERVICE
11fc0 5f 48 41 4e 44 4c 45 20 3d 20 30 78 30 30 30 30  _HANDLE = 0x0000
11fd0 30 30 30 31 20 7d 0d 0a 2f 2f 20 23 69 66 28 5f  0001 }..// #if(_
11fe0 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
11ff0 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0501)..enum : u
12000 69 6e 74 20 7b 20 44 45 56 49 43 45 5f 4e 4f 54  int { DEVICE_NOT
12010 49 46 59 5f 41 4c 4c 5f 49 4e 54 45 52 46 41 43  IFY_ALL_INTERFAC
12020 45 5f 43 4c 41 53 53 45 53 20 3d 20 30 78 30 30  E_CLASSES = 0x00
12030 30 30 30 30 30 34 20 7d 0d 0a 2f 2f 20 23 65 6e  000004 }..// #en
12040 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49  dif /* _WIN32_WI
12050 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f  NNT >= 0x0501 */
12060 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
12070 77 73 29 20 65 78 70 6f 72 74 20 48 44 45 56 4e  ws) export HDEVN
12080 4f 54 49 46 59 20 52 65 67 69 73 74 65 72 44 65  OTIFY RegisterDe
12090 76 69 63 65 4e 6f 74 69 66 69 63 61 74 69 6f 6e  viceNotification
120a0 41 28 0d 0a 20 20 48 41 4e 44 4c 45 20 68 52 65  A(..  HANDLE hRe
120b0 63 69 70 69 65 6e 74 2c 0d 0a 20 20 4c 50 56 4f  cipient,..  LPVO
120c0 49 44 20 4e 6f 74 69 66 69 63 61 74 69 6f 6e 46  ID NotificationF
120d0 69 6c 74 65 72 2c 0d 0a 20 20 44 57 4f 52 44 20  ilter,..  DWORD 
120e0 46 6c 61 67 73 29 3b 0d 0a 65 78 74 65 72 6e 28  Flags);..extern(
120f0 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
12100 48 44 45 56 4e 4f 54 49 46 59 20 52 65 67 69 73  HDEVNOTIFY Regis
12110 74 65 72 44 65 76 69 63 65 4e 6f 74 69 66 69 63  terDeviceNotific
12120 61 74 69 6f 6e 57 28 0d 0a 20 20 48 41 4e 44 4c  ationW(..  HANDL
12130 45 20 68 52 65 63 69 70 69 65 6e 74 2c 0d 0a 20  E hRecipient,.. 
12140 20 4c 50 56 4f 49 44 20 4e 6f 74 69 66 69 63 61   LPVOID Notifica
12150 74 69 6f 6e 46 69 6c 74 65 72 2c 0d 0a 20 20 44  tionFilter,..  D
12160 57 4f 52 44 20 46 6c 61 67 73 29 3b 0d 0a 2f 2f  WORD Flags);..//
12170 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
12180 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
12190 73 65 0d 0a 61 6c 69 61 73 20 52 65 67 69 73 74  se..alias Regist
121a0 65 72 44 65 76 69 63 65 4e 6f 74 69 66 69 63 61  erDeviceNotifica
121b0 74 69 6f 6e 41 20 52 65 67 69 73 74 65 72 44 65  tionA RegisterDe
121c0 76 69 63 65 4e 6f 74 69 66 69 63 61 74 69 6f 6e  viceNotification
121d0 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
121e0 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
121f0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
12200 72 74 20 42 4f 4f 4c 20 55 6e 72 65 67 69 73 74  rt BOOL Unregist
12210 65 72 44 65 76 69 63 65 4e 6f 74 69 66 69 63 61  erDeviceNotifica
12220 74 69 6f 6e 28 0d 0a 20 20 48 44 45 56 4e 4f 54  tion(..  HDEVNOT
12230 49 46 59 20 48 61 6e 64 6c 65 29 3b 0d 0a 2f 2f  IFY Handle);..//
12240 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45   #endif /* WINVE
12250 52 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a  R >= 0x0500 */..
12260 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
12270 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 50 6f  ) export BOOL Po
12280 73 74 4d 65 73 73 61 67 65 41 28 0d 0a 20 20 48  stMessageA(..  H
12290 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 55 49 4e  WND hWnd,..  UIN
122a0 54 20 4d 73 67 2c 0d 0a 20 20 57 50 41 52 41 4d  T Msg,..  WPARAM
122b0 20 77 50 61 72 61 6d 2c 0d 0a 20 20 4c 50 41 52   wParam,..  LPAR
122c0 41 4d 20 6c 50 61 72 61 6d 29 3b 0d 0a 65 78 74  AM lParam);..ext
122d0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
122e0 6f 72 74 20 42 4f 4f 4c 20 50 6f 73 74 4d 65 73  ort BOOL PostMes
122f0 73 61 67 65 57 28 0d 0a 20 20 48 57 4e 44 20 68  sageW(..  HWND h
12300 57 6e 64 2c 0d 0a 20 20 55 49 4e 54 20 4d 73 67  Wnd,..  UINT Msg
12310 2c 0d 0a 20 20 57 50 41 52 41 4d 20 77 50 61 72  ,..  WPARAM wPar
12320 61 6d 2c 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50  am,..  LPARAM lP
12330 61 72 61 6d 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  aram);..// #ifde
12340 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
12350 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
12360 69 61 73 20 50 6f 73 74 4d 65 73 73 61 67 65 41  ias PostMessageA
12370 20 50 6f 73 74 4d 65 73 73 61 67 65 3b 0d 0a 2f   PostMessage;../
12380 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
12390 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  CODE....extern(W
123a0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
123b0 4f 4f 4c 20 50 6f 73 74 54 68 72 65 61 64 4d 65  OOL PostThreadMe
123c0 73 73 61 67 65 41 28 0d 0a 20 20 44 57 4f 52 44  ssageA(..  DWORD
123d0 20 69 64 54 68 72 65 61 64 2c 0d 0a 20 20 55 49   idThread,..  UI
123e0 4e 54 20 4d 73 67 2c 0d 0a 20 20 57 50 41 52 41  NT Msg,..  WPARA
123f0 4d 20 77 50 61 72 61 6d 2c 0d 0a 20 20 4c 50 41  M wParam,..  LPA
12400 52 41 4d 20 6c 50 61 72 61 6d 29 3b 0d 0a 65 78  RAM lParam);..ex
12410 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
12420 70 6f 72 74 20 42 4f 4f 4c 20 50 6f 73 74 54 68  port BOOL PostTh
12430 72 65 61 64 4d 65 73 73 61 67 65 57 28 0d 0a 20  readMessageW(.. 
12440 20 44 57 4f 52 44 20 69 64 54 68 72 65 61 64 2c   DWORD idThread,
12450 0d 0a 20 20 55 49 4e 54 20 4d 73 67 2c 0d 0a 20  ..  UINT Msg,.. 
12460 20 57 50 41 52 41 4d 20 77 50 61 72 61 6d 2c 0d   WPARAM wParam,.
12470 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d  .  LPARAM lParam
12480 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
12490 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ICODE..// #.....
124a0 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
124b0 50 6f 73 74 54 68 72 65 61 64 4d 65 73 73 61 67  PostThreadMessag
124c0 65 41 20 50 6f 73 74 54 68 72 65 61 64 4d 65 73  eA PostThreadMes
124d0 73 61 67 65 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  sage;..// #endif
124e0 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
124f0 61 6c 69 61 73 20 50 6f 73 74 54 68 72 65 61 64  alias PostThread
12500 4d 65 73 73 61 67 65 41 20 50 6f 73 74 41 70 70  MessageA PostApp
12510 4d 65 73 73 61 67 65 41 3b 0d 0a 61 6c 69 61 73  MessageA;..alias
12520 20 50 6f 73 74 54 68 72 65 61 64 4d 65 73 73 61   PostThreadMessa
12530 67 65 57 20 50 6f 73 74 41 70 70 4d 65 73 73 61  geW PostAppMessa
12540 67 65 57 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  geW;..// #ifdef 
12550 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e  UNICODE..// #...
12560 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
12570 73 20 50 6f 73 74 41 70 70 4d 65 73 73 61 67 65  s PostAppMessage
12580 41 20 50 6f 73 74 41 70 70 4d 65 73 73 61 67 65  A PostAppMessage
12590 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
125a0 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 63 6f 6e 73  !UNICODE....cons
125b0 74 20 48 57 4e 44 20 48 57 4e 44 5f 42 52 4f 41  t HWND HWND_BROA
125c0 44 43 41 53 54 20 3d 20 63 61 73 74 28 48 57 4e  DCAST = cast(HWN
125d0 44 29 30 78 66 66 66 66 3b 0d 0a 0d 0a 2f 2f 20  D)0xffff;....// 
125e0 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  #if(WINVER >= 0x
125f0 30 35 30 30 29 0d 0a 63 6f 6e 73 74 20 48 57 4e  0500)..const HWN
12600 44 20 48 57 4e 44 5f 4d 45 53 53 41 47 45 20 3d  D HWND_MESSAGE =
12610 20 63 61 73 74 28 48 57 4e 44 29 2d 33 3b 0d 0a   cast(HWND)-3;..
12620 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
12630 56 45 52 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f  VER >= 0x0500 */
12640 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
12650 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
12660 41 74 74 61 63 68 54 68 72 65 61 64 49 6e 70 75  AttachThreadInpu
12670 74 28 0d 0a 20 20 44 57 4f 52 44 20 69 64 41 74  t(..  DWORD idAt
12680 74 61 63 68 2c 0d 0a 20 20 44 57 4f 52 44 20 69  tach,..  DWORD i
12690 64 41 74 74 61 63 68 54 6f 2c 0d 0a 20 20 42 4f  dAttachTo,..  BO
126a0 4f 4c 20 66 41 74 74 61 63 68 29 3b 0d 0a 0d 0a  OL fAttach);....
126b0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
126c0 65 78 70 6f 72 74 20 42 4f 4f 4c 20 52 65 70 6c  export BOOL Repl
126d0 79 4d 65 73 73 61 67 65 28 0d 0a 20 20 4c 52 45  yMessage(..  LRE
126e0 53 55 4c 54 20 6c 52 65 73 75 6c 74 29 3b 0d 0a  SULT lResult);..
126f0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
12700 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 57 61  ) export BOOL Wa
12710 69 74 4d 65 73 73 61 67 65 28 29 3b 0d 0a 0d 0a  itMessage();....
12720 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
12730 65 78 70 6f 72 74 20 44 57 4f 52 44 20 57 61 69  export DWORD Wai
12740 74 46 6f 72 49 6e 70 75 74 49 64 6c 65 28 0d 0a  tForInputIdle(..
12750 20 20 48 41 4e 44 4c 45 20 68 50 72 6f 63 65 73    HANDLE hProces
12760 73 2c 0d 0a 20 20 44 57 4f 52 44 20 64 77 4d 69  s,..  DWORD dwMi
12770 6c 6c 69 73 65 63 6f 6e 64 73 29 3b 0d 0a 0d 0a  lliseconds);....
12780 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
12790 65 78 70 6f 72 74 20 4c 52 45 53 55 4c 54 20 44  export LRESULT D
127a0 65 66 57 69 6e 64 6f 77 50 72 6f 63 41 28 48 57  efWindowProcA(HW
127b0 4e 44 20 68 57 6e 64 2c 20 55 49 4e 54 20 4d 73  ND hWnd, UINT Ms
127c0 67 2c 20 57 50 41 52 41 4d 20 77 50 61 72 61 6d  g, WPARAM wParam
127d0 2c 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 29  , LPARAM lParam)
127e0 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
127f0 73 29 20 65 78 70 6f 72 74 20 4c 52 45 53 55 4c  s) export LRESUL
12800 54 20 44 65 66 57 69 6e 64 6f 77 50 72 6f 63 57  T DefWindowProcW
12810 28 48 57 4e 44 20 68 57 6e 64 2c 20 55 49 4e 54  (HWND hWnd, UINT
12820 20 4d 73 67 2c 20 57 50 41 52 41 4d 20 77 50 61   Msg, WPARAM wPa
12830 72 61 6d 2c 20 4c 50 41 52 41 4d 20 6c 50 61 72  ram, LPARAM lPar
12840 61 6d 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  am);..// #ifdef 
12850 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e  UNICODE..// #...
12860 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
12870 73 20 44 65 66 57 69 6e 64 6f 77 50 72 6f 63 41  s DefWindowProcA
12880 20 44 65 66 57 69 6e 64 6f 77 50 72 6f 63 3b 0d   DefWindowProc;.
12890 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
128a0 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
128b0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
128c0 20 56 4f 49 44 20 50 6f 73 74 51 75 69 74 4d 65   VOID PostQuitMe
128d0 73 73 61 67 65 28 0d 0a 20 20 69 6e 74 20 6e 45  ssage(..  int nE
128e0 78 69 74 43 6f 64 65 29 3b 0d 0a 0d 0a 2f 2f 20  xitCode);....// 
128f0 23 69 66 64 65 66 20 53 54 52 49 43 54 0d 0a 0d  #ifdef STRICT...
12900 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
12910 20 65 78 70 6f 72 74 20 4c 52 45 53 55 4c 54 20   export LRESULT 
12920 43 61 6c 6c 57 69 6e 64 6f 77 50 72 6f 63 41 28  CallWindowProcA(
12930 0d 0a 20 20 57 4e 44 50 52 4f 43 20 6c 70 50 72  ..  WNDPROC lpPr
12940 65 76 57 6e 64 46 75 6e 63 2c 0d 0a 20 20 48 57  evWndFunc,..  HW
12950 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 55 49 4e 54  ND hWnd,..  UINT
12960 20 4d 73 67 2c 0d 0a 20 20 57 50 41 52 41 4d 20   Msg,..  WPARAM 
12970 77 50 61 72 61 6d 2c 0d 0a 20 20 4c 50 41 52 41  wParam,..  LPARA
12980 4d 20 6c 50 61 72 61 6d 29 3b 0d 0a 65 78 74 65  M lParam);..exte
12990 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
129a0 72 74 20 4c 52 45 53 55 4c 54 20 43 61 6c 6c 57  rt LRESULT CallW
129b0 69 6e 64 6f 77 50 72 6f 63 57 28 0d 0a 20 20 57  indowProcW(..  W
129c0 4e 44 50 52 4f 43 20 6c 70 50 72 65 76 57 6e 64  NDPROC lpPrevWnd
129d0 46 75 6e 63 2c 0d 0a 20 20 48 57 4e 44 20 68 57  Func,..  HWND hW
129e0 6e 64 2c 0d 0a 20 20 55 49 4e 54 20 4d 73 67 2c  nd,..  UINT Msg,
129f0 0d 0a 20 20 57 50 41 52 41 4d 20 77 50 61 72 61  ..  WPARAM wPara
12a00 6d 2c 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61  m,..  LPARAM lPa
12a10 72 61 6d 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  ram);..// #ifdef
12a20 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e   UNICODE..// #..
12a30 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
12a40 61 73 20 43 61 6c 6c 57 69 6e 64 6f 77 50 72 6f  as CallWindowPro
12a50 63 41 20 43 61 6c 6c 57 69 6e 64 6f 77 50 72 6f  cA CallWindowPro
12a60 63 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  c;..// #endif //
12a70 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20   !UNICODE....// 
12a80 23 65 6c 73 65 20 2f 2a 20 21 53 54 52 49 43 54  #else /* !STRICT
12a90 20 2a 2f 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f   */....// ...../
12aa0 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
12ab0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
12ac0 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
12ad0 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
12ae0 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  ODE....// #endif
12af0 20 2f 2a 20 21 53 54 52 49 43 54 20 2a 2f 0d 0a   /* !STRICT */..
12b00 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
12b10 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6e  ) export BOOL In
12b20 53 65 6e 64 4d 65 73 73 61 67 65 28 29 3b 0d 0a  SendMessage();..
12b30 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20  ..// #if(WINVER 
12b40 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 78 74 65  >= 0x0500)..exte
12b50 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
12b60 72 74 20 44 57 4f 52 44 20 49 6e 53 65 6e 64 4d  rt DWORD InSendM
12b70 65 73 73 61 67 65 45 78 28 0d 0a 20 20 4c 50 56  essageEx(..  LPV
12b80 4f 49 44 20 6c 70 52 65 73 65 72 76 65 64 29 3b  OID lpReserved);
12b90 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
12ba0 7b 20 49 53 4d 45 58 5f 4e 4f 53 45 4e 44 20 3d  { ISMEX_NOSEND =
12bb0 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65   0x00000000 }..e
12bc0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 53 4d  num : uint { ISM
12bd0 45 58 5f 53 45 4e 44 20 3d 20 30 78 30 30 30 30  EX_SEND = 0x0000
12be0 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
12bf0 69 6e 74 20 7b 20 49 53 4d 45 58 5f 4e 4f 54 49  int { ISMEX_NOTI
12c00 46 59 20 3d 20 30 78 30 30 30 30 30 30 30 32 20  FY = 0x00000002 
12c10 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
12c20 20 49 53 4d 45 58 5f 43 41 4c 4c 42 41 43 4b 20   ISMEX_CALLBACK 
12c30 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a  = 0x00000004 }..
12c40 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 53  enum : uint { IS
12c50 4d 45 58 5f 52 45 50 4c 49 45 44 20 3d 20 30 78  MEX_REPLIED = 0x
12c60 30 30 30 30 30 30 30 38 20 7d 0d 0a 2f 2f 20 23  00000008 }..// #
12c70 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
12c80 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0500 */....
12c90 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
12ca0 65 78 70 6f 72 74 20 55 49 4e 54 20 47 65 74 44  export UINT GetD
12cb0 6f 75 62 6c 65 43 6c 69 63 6b 54 69 6d 65 28 29  oubleClickTime()
12cc0 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
12cd0 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
12ce0 20 53 65 74 44 6f 75 62 6c 65 43 6c 69 63 6b 54   SetDoubleClickT
12cf0 69 6d 65 28 0d 0a 20 20 55 49 4e 54 29 3b 0d 0a  ime(..  UINT);..
12d00 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
12d10 29 20 65 78 70 6f 72 74 20 41 54 4f 4d 20 52 65  ) export ATOM Re
12d20 67 69 73 74 65 72 43 6c 61 73 73 41 28 0d 0a 20  gisterClassA(.. 
12d30 20 57 4e 44 43 4c 41 53 53 41 20 2a 6c 70 57 6e   WNDCLASSA *lpWn
12d40 64 43 6c 61 73 73 29 3b 0d 0a 65 78 74 65 72 6e  dClass);..extern
12d50 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
12d60 20 41 54 4f 4d 20 52 65 67 69 73 74 65 72 43 6c   ATOM RegisterCl
12d70 61 73 73 57 28 0d 0a 20 20 57 4e 44 43 4c 41 53  assW(..  WNDCLAS
12d80 53 57 20 2a 6c 70 57 6e 64 43 6c 61 73 73 29 3b  SW *lpWndClass);
12d90 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
12da0 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
12db0 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 52 65   #else..alias Re
12dc0 67 69 73 74 65 72 43 6c 61 73 73 41 20 52 65 67  gisterClassA Reg
12dd0 69 73 74 65 72 43 6c 61 73 73 3b 0d 0a 2f 2f 20  isterClass;..// 
12de0 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
12df0 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
12e00 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
12e10 4c 20 55 6e 72 65 67 69 73 74 65 72 43 6c 61 73  L UnregisterClas
12e20 73 41 28 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70  sA(..  LPCSTR lp
12e30 43 6c 61 73 73 4e 61 6d 65 2c 0d 0a 20 20 48 49  ClassName,..  HI
12e40 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63  NSTANCE hInstanc
12e50 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  e);..extern(Wind
12e60 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
12e70 20 55 6e 72 65 67 69 73 74 65 72 43 6c 61 73 73   UnregisterClass
12e80 57 28 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70  W(..  LPCWSTR lp
12e90 43 6c 61 73 73 4e 61 6d 65 2c 0d 0a 20 20 48 49  ClassName,..  HI
12ea0 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63  NSTANCE hInstanc
12eb0 65 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  e);..// #ifdef U
12ec0 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
12ed0 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
12ee0 20 55 6e 72 65 67 69 73 74 65 72 43 6c 61 73 73   UnregisterClass
12ef0 41 20 55 6e 72 65 67 69 73 74 65 72 43 6c 61 73  A UnregisterClas
12f00 73 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  s;..// #endif //
12f10 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74   !UNICODE....ext
12f20 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
12f30 6f 72 74 20 42 4f 4f 4c 20 47 65 74 43 6c 61 73  ort BOOL GetClas
12f40 73 49 6e 66 6f 41 28 0d 0a 20 20 48 49 4e 53 54  sInfoA(..  HINST
12f50 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 2c 0d  ANCE hInstance,.
12f60 0a 20 20 4c 50 43 53 54 52 20 6c 70 43 6c 61 73  .  LPCSTR lpClas
12f70 73 4e 61 6d 65 2c 0d 0a 20 20 4c 50 57 4e 44 43  sName,..  LPWNDC
12f80 4c 41 53 53 41 20 6c 70 57 6e 64 43 6c 61 73 73  LASSA lpWndClass
12f90 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
12fa0 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
12fb0 47 65 74 43 6c 61 73 73 49 6e 66 6f 57 28 0d 0a  GetClassInfoW(..
12fc0 20 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73    HINSTANCE hIns
12fd0 74 61 6e 63 65 2c 0d 0a 20 20 4c 50 43 57 53 54  tance,..  LPCWST
12fe0 52 20 6c 70 43 6c 61 73 73 4e 61 6d 65 2c 0d 0a  R lpClassName,..
12ff0 20 20 4c 50 57 4e 44 43 4c 41 53 53 57 20 6c 70    LPWNDCLASSW lp
13000 57 6e 64 43 6c 61 73 73 29 3b 0d 0a 2f 2f 20 23  WndClass);..// #
13010 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
13020 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
13030 0d 0a 61 6c 69 61 73 20 47 65 74 43 6c 61 73 73  ..alias GetClass
13040 49 6e 66 6f 41 20 47 65 74 43 6c 61 73 73 49 6e  InfoA GetClassIn
13050 66 6f 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  fo;..// #endif /
13060 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f  / !UNICODE....//
13070 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
13080 78 30 34 30 30 29 0d 0a 65 78 74 65 72 6e 28 57  x0400)..extern(W
13090 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 41  indows) export A
130a0 54 4f 4d 20 52 65 67 69 73 74 65 72 43 6c 61 73  TOM RegisterClas
130b0 73 45 78 41 28 0d 0a 20 20 57 4e 44 43 4c 41 53  sExA(..  WNDCLAS
130c0 53 45 58 41 20 2a 29 3b 0d 0a 65 78 74 65 72 6e  SEXA *);..extern
130d0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
130e0 20 41 54 4f 4d 20 52 65 67 69 73 74 65 72 43 6c   ATOM RegisterCl
130f0 61 73 73 45 78 57 28 0d 0a 20 20 57 4e 44 43 4c  assExW(..  WNDCL
13100 41 53 53 45 58 57 20 2a 29 3b 0d 0a 2f 2f 20 23  ASSEXW *);..// #
13110 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
13120 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
13130 0d 0a 61 6c 69 61 73 20 52 65 67 69 73 74 65 72  ..alias Register
13140 43 6c 61 73 73 45 78 41 20 52 65 67 69 73 74 65  ClassExA Registe
13150 72 43 6c 61 73 73 45 78 3b 0d 0a 2f 2f 20 23 65  rClassEx;..// #e
13160 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
13170 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
13180 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
13190 47 65 74 43 6c 61 73 73 49 6e 66 6f 45 78 41 28  GetClassInfoExA(
131a0 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 2c 0d 0a  ..  HINSTANCE,..
131b0 20 20 4c 50 43 53 54 52 2c 0d 0a 20 20 4c 50 57    LPCSTR,..  LPW
131c0 4e 44 43 4c 41 53 53 45 58 41 29 3b 0d 0a 65 78  NDCLASSEXA);..ex
131d0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
131e0 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 43 6c 61  port BOOL GetCla
131f0 73 73 49 6e 66 6f 45 78 57 28 0d 0a 20 20 48 49  ssInfoExW(..  HI
13200 4e 53 54 41 4e 43 45 2c 0d 0a 20 20 4c 50 43 57  NSTANCE,..  LPCW
13210 53 54 52 2c 0d 0a 20 20 4c 50 57 4e 44 43 4c 41  STR,..  LPWNDCLA
13220 53 53 45 58 57 29 3b 0d 0a 2f 2f 20 23 69 66 64  SSEXW);..// #ifd
13230 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  ef UNICODE..// #
13240 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
13250 6c 69 61 73 20 47 65 74 43 6c 61 73 73 49 6e 66  lias GetClassInf
13260 6f 45 78 41 20 47 65 74 43 6c 61 73 73 49 6e 66  oExA GetClassInf
13270 6f 45 78 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  oEx;..// #endif 
13280 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f  // !UNICODE..../
13290 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
132a0 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  ER >= 0x0400 */.
132b0 0a 0d 0a 65 6e 75 6d 20 7b 20 43 57 5f 55 53 45  ...enum { CW_USE
132c0 44 45 46 41 55 4c 54 20 3d 20 69 6e 74 2e 6d 69  DEFAULT = int.mi
132d0 6e 20 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 48 57 4e  n }....const HWN
132e0 44 20 48 57 4e 44 5f 44 45 53 4b 54 4f 50 20 3d  D HWND_DESKTOP =
132f0 20 63 61 73 74 28 48 57 4e 44 29 30 3b 0d 0a 0d   cast(HWND)0;...
13300 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57  .// #if(_WIN32_W
13310 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d  INNT >= 0x0501).
13320 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
13330 20 61 6c 69 61 73 20 42 4f 4f 4c 45 41 4e 20 66   alias BOOLEAN f
13340 75 6e 63 74 69 6f 6e 28 4c 50 43 57 53 54 52 29  unction(LPCWSTR)
13350 20 50 52 45 47 49 53 54 45 52 43 4c 41 53 53 4e   PREGISTERCLASSN
13360 41 4d 45 57 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  AMEW;..// #endif
13370 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54   /* _WIN32_WINNT
13380 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f 0d 0a 0d   >= 0x0501 */...
13390 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
133a0 20 65 78 70 6f 72 74 20 48 57 4e 44 20 43 72 65   export HWND Cre
133b0 61 74 65 57 69 6e 64 6f 77 45 78 41 28 0d 0a 20  ateWindowExA(.. 
133c0 20 44 57 4f 52 44 20 64 77 45 78 53 74 79 6c 65   DWORD dwExStyle
133d0 2c 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 43 6c  ,..  LPCSTR lpCl
133e0 61 73 73 4e 61 6d 65 2c 0d 0a 20 20 4c 50 43 53  assName,..  LPCS
133f0 54 52 20 6c 70 57 69 6e 64 6f 77 4e 61 6d 65 2c  TR lpWindowName,
13400 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 74 79 6c  ..  DWORD dwStyl
13410 65 2c 0d 0a 20 20 69 6e 74 20 58 2c 0d 0a 20 20  e,..  int X,..  
13420 69 6e 74 20 59 2c 0d 0a 20 20 69 6e 74 20 6e 57  int Y,..  int nW
13430 69 64 74 68 2c 0d 0a 20 20 69 6e 74 20 6e 48 65  idth,..  int nHe
13440 69 67 68 74 2c 0d 0a 20 20 48 57 4e 44 20 68 57  ight,..  HWND hW
13450 6e 64 50 61 72 65 6e 74 2c 0d 0a 20 20 48 4d 45  ndParent,..  HME
13460 4e 55 20 68 4d 65 6e 75 2c 0d 0a 20 20 48 49 4e  NU hMenu,..  HIN
13470 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65  STANCE hInstance
13480 2c 0d 0a 20 20 4c 50 56 4f 49 44 20 6c 70 50 61  ,..  LPVOID lpPa
13490 72 61 6d 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  ram);..extern(Wi
134a0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57  ndows) export HW
134b0 4e 44 20 43 72 65 61 74 65 57 69 6e 64 6f 77 45  ND CreateWindowE
134c0 78 57 28 0d 0a 20 20 44 57 4f 52 44 20 64 77 45  xW(..  DWORD dwE
134d0 78 53 74 79 6c 65 2c 0d 0a 20 20 4c 50 43 57 53  xStyle,..  LPCWS
134e0 54 52 20 6c 70 43 6c 61 73 73 4e 61 6d 65 2c 0d  TR lpClassName,.
134f0 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 57 69 6e  .  LPCWSTR lpWin
13500 64 6f 77 4e 61 6d 65 2c 0d 0a 20 20 44 57 4f 52  dowName,..  DWOR
13510 44 20 64 77 53 74 79 6c 65 2c 0d 0a 20 20 69 6e  D dwStyle,..  in
13520 74 20 58 2c 0d 0a 20 20 69 6e 74 20 59 2c 0d 0a  t X,..  int Y,..
13530 20 20 69 6e 74 20 6e 57 69 64 74 68 2c 0d 0a 20    int nWidth,.. 
13540 20 69 6e 74 20 6e 48 65 69 67 68 74 2c 0d 0a 20   int nHeight,.. 
13550 20 48 57 4e 44 20 68 57 6e 64 50 61 72 65 6e 74   HWND hWndParent
13560 2c 0d 0a 20 20 48 4d 45 4e 55 20 68 4d 65 6e 75  ,..  HMENU hMenu
13570 2c 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68  ,..  HINSTANCE h
13580 49 6e 73 74 61 6e 63 65 2c 0d 0a 20 20 4c 50 56  Instance,..  LPV
13590 4f 49 44 20 6c 70 50 61 72 61 6d 29 3b 0d 0a 2f  OID lpParam);../
135a0 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
135b0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
135c0 6c 73 65 0d 0a 61 6c 69 61 73 20 43 72 65 61 74  lse..alias Creat
135d0 65 57 69 6e 64 6f 77 45 78 41 20 43 72 65 61 74  eWindowExA Creat
135e0 65 57 69 6e 64 6f 77 45 78 3b 0d 0a 2f 2f 20 23  eWindowEx;..// #
135f0 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
13600 45 0d 0a 0d 0a 48 57 4e 44 20 43 72 65 61 74 65  E....HWND Create
13610 57 69 6e 64 6f 77 41 28 4c 50 43 53 54 52 20 6c  WindowA(LPCSTR l
13620 70 43 6c 61 73 73 4e 61 6d 65 2c 20 4c 50 43 53  pClassName, LPCS
13630 54 52 20 6c 70 57 69 6e 64 6f 77 4e 61 6d 65 2c  TR lpWindowName,
13640 20 44 57 4f 52 44 20 64 77 53 74 79 6c 65 2c 20   DWORD dwStyle, 
13650 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e  int x, int y, in
13660 74 20 6e 57 69 64 74 68 2c 20 69 6e 74 20 6e 48  t nWidth, int nH
13670 65 69 67 68 74 2c 20 48 57 4e 44 20 68 57 6e 64  eight, HWND hWnd
13680 50 61 72 65 6e 74 2c 20 48 4d 45 4e 55 20 68 4d  Parent, HMENU hM
13690 65 6e 75 2c 20 48 49 4e 53 54 41 4e 43 45 20 68  enu, HINSTANCE h
136a0 49 6e 73 74 61 6e 63 65 2c 20 4c 50 56 4f 49 44  Instance, LPVOID
136b0 20 6c 70 50 61 72 61 6d 29 7b 20 72 65 74 75 72   lpParam){ retur
136c0 6e 20 43 72 65 61 74 65 57 69 6e 64 6f 77 45 78  n CreateWindowEx
136d0 41 28 30 4c 2c 20 6c 70 43 6c 61 73 73 4e 61 6d  A(0L, lpClassNam
136e0 65 2c 20 6c 70 57 69 6e 64 6f 77 4e 61 6d 65 2c  e, lpWindowName,
136f0 20 64 77 53 74 79 6c 65 2c 20 78 2c 20 79 2c 20   dwStyle, x, y, 
13700 6e 57 69 64 74 68 2c 20 6e 48 65 69 67 68 74 2c  nWidth, nHeight,
13710 20 68 57 6e 64 50 61 72 65 6e 74 2c 20 68 4d 65   hWndParent, hMe
13720 6e 75 2c 20 68 49 6e 73 74 61 6e 63 65 2c 20 6c  nu, hInstance, l
13730 70 50 61 72 61 6d 29 3b 20 7d 0d 0a 48 57 4e 44  pParam); }..HWND
13740 20 43 72 65 61 74 65 57 69 6e 64 6f 77 57 28 4c   CreateWindowW(L
13750 50 43 57 53 54 52 20 6c 70 43 6c 61 73 73 4e 61  PCWSTR lpClassNa
13760 6d 65 2c 20 4c 50 43 57 53 54 52 20 6c 70 57 69  me, LPCWSTR lpWi
13770 6e 64 6f 77 4e 61 6d 65 2c 20 44 57 4f 52 44 20  ndowName, DWORD 
13780 64 77 53 74 79 6c 65 2c 20 69 6e 74 20 78 2c 20  dwStyle, int x, 
13790 69 6e 74 20 79 2c 20 69 6e 74 20 6e 57 69 64 74  int y, int nWidt
137a0 68 2c 20 69 6e 74 20 6e 48 65 69 67 68 74 2c 20  h, int nHeight, 
137b0 48 57 4e 44 20 68 57 6e 64 50 61 72 65 6e 74 2c  HWND hWndParent,
137c0 20 48 4d 45 4e 55 20 68 4d 65 6e 75 2c 20 48 49   HMENU hMenu, HI
137d0 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63  NSTANCE hInstanc
137e0 65 2c 20 4c 50 56 4f 49 44 20 6c 70 50 61 72 61  e, LPVOID lpPara
137f0 6d 29 7b 20 72 65 74 75 72 6e 20 43 72 65 61 74  m){ return Creat
13800 65 57 69 6e 64 6f 77 45 78 57 28 30 4c 2c 20 6c  eWindowExW(0L, l
13810 70 43 6c 61 73 73 4e 61 6d 65 2c 20 6c 70 57 69  pClassName, lpWi
13820 6e 64 6f 77 4e 61 6d 65 2c 20 64 77 53 74 79 6c  ndowName, dwStyl
13830 65 2c 20 78 2c 20 79 2c 20 6e 57 69 64 74 68 2c  e, x, y, nWidth,
13840 20 6e 48 65 69 67 68 74 2c 20 68 57 6e 64 50 61   nHeight, hWndPa
13850 72 65 6e 74 2c 20 68 4d 65 6e 75 2c 20 68 49 6e  rent, hMenu, hIn
13860 73 74 61 6e 63 65 2c 20 6c 70 50 61 72 61 6d 29  stance, lpParam)
13870 3b 20 7d 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  ; }..// #ifdef U
13880 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
13890 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
138a0 20 43 72 65 61 74 65 57 69 6e 64 6f 77 41 20 43   CreateWindowA C
138b0 72 65 61 74 65 57 69 6e 64 6f 77 3b 0d 0a 2f 2f  reateWindow;..//
138c0 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
138d0 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ODE....extern(Wi
138e0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
138f0 4f 4c 20 49 73 57 69 6e 64 6f 77 28 0d 0a 20 20  OL IsWindow(..  
13900 48 57 4e 44 20 68 57 6e 64 29 3b 0d 0a 0d 0a 65  HWND hWnd);....e
13910 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
13920 78 70 6f 72 74 20 42 4f 4f 4c 20 49 73 4d 65 6e  xport BOOL IsMen
13930 75 28 0d 0a 20 20 48 4d 45 4e 55 20 68 4d 65 6e  u(..  HMENU hMen
13940 75 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  u);....extern(Wi
13950 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
13960 4f 4c 20 49 73 43 68 69 6c 64 28 0d 0a 20 20 48  OL IsChild(..  H
13970 57 4e 44 20 68 57 6e 64 50 61 72 65 6e 74 2c 0d  WND hWndParent,.
13980 0a 20 20 48 57 4e 44 20 68 57 6e 64 29 3b 0d 0a  .  HWND hWnd);..
13990 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
139a0 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44 65  ) export BOOL De
139b0 73 74 72 6f 79 57 69 6e 64 6f 77 28 0d 0a 20 20  stroyWindow(..  
139c0 48 57 4e 44 20 68 57 6e 64 29 3b 0d 0a 0d 0a 65  HWND hWnd);....e
139d0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
139e0 78 70 6f 72 74 20 42 4f 4f 4c 20 53 68 6f 77 57  xport BOOL ShowW
139f0 69 6e 64 6f 77 28 0d 0a 20 20 48 57 4e 44 20 68  indow(..  HWND h
13a00 57 6e 64 2c 0d 0a 20 20 69 6e 74 20 6e 43 6d 64  Wnd,..  int nCmd
13a10 53 68 6f 77 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  Show);....// #if
13a20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30  (WINVER >= 0x050
13a30 30 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  0)..extern(Windo
13a40 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
13a50 41 6e 69 6d 61 74 65 57 69 6e 64 6f 77 28 0d 0a  AnimateWindow(..
13a60 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20    HWND hWnd,..  
13a70 44 57 4f 52 44 20 64 77 54 69 6d 65 2c 0d 0a 20  DWORD dwTime,.. 
13a80 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 29 3b   DWORD dwFlags);
13a90 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
13aa0 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 20  INVER >= 0x0500 
13ab0 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 5f 57 49  */....// #if(_WI
13ac0 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30  N32_WINNT >= 0x0
13ad0 35 30 30 29 0d 0a 2f 2f 20 23 69 66 20 64 65 66  500)..// #if def
13ae0 69 6e 65 64 28 5f 57 49 4e 47 44 49 5f 29 20 26  ined(_WINGDI_) &
13af0 26 20 21 64 65 66 69 6e 65 64 20 28 4e 4f 47 44  & !defined (NOGD
13b00 49 29 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  I)....// .....//
13b10 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69   #endif....// #i
13b20 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e  f(_WIN32_WINNT >
13b30 3d 20 30 78 30 35 30 31 29 0d 0a 65 78 74 65 72  = 0x0501)..exter
13b40 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
13b50 74 20 42 4f 4f 4c 20 47 65 74 4c 61 79 65 72 65  t BOOL GetLayere
13b60 64 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74 65  dWindowAttribute
13b70 73 28 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 2c  s(..  HWND hwnd,
13b80 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 2a 70 63  ..  COLORREF *pc
13b90 72 4b 65 79 2c 0d 0a 20 20 42 59 54 45 20 2a 70  rKey,..  BYTE *p
13ba0 62 41 6c 70 68 61 2c 0d 0a 20 20 44 57 4f 52 44  bAlpha,..  DWORD
13bb0 20 2a 70 64 77 46 6c 61 67 73 29 3b 0d 0a 0d 0a   *pdwFlags);....
13bc0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 57  enum : uint { PW
13bd0 5f 43 4c 49 45 4e 54 4f 4e 4c 59 20 3d 20 30 78  _CLIENTONLY = 0x
13be0 30 30 30 30 30 30 30 31 20 7d 0d 0a 0d 0a 65 78  00000001 }....ex
13bf0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
13c00 70 6f 72 74 20 42 4f 4f 4c 20 50 72 69 6e 74 57  port BOOL PrintW
13c10 69 6e 64 6f 77 28 0d 0a 20 20 48 57 4e 44 20 68  indow(..  HWND h
13c20 77 6e 64 2c 0d 0a 20 20 48 44 43 20 68 64 63 42  wnd,..  HDC hdcB
13c30 6c 74 2c 0d 0a 20 20 55 49 4e 54 20 6e 46 6c 61  lt,..  UINT nFla
13c40 67 73 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  gs);....// #endi
13c50 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e  f /* _WIN32_WINN
13c60 54 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f 0d 0a  T >= 0x0501 */..
13c70 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
13c80 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65  ) export BOOL Se
13c90 74 4c 61 79 65 72 65 64 57 69 6e 64 6f 77 41 74  tLayeredWindowAt
13ca0 74 72 69 62 75 74 65 73 28 0d 0a 20 20 48 57 4e  tributes(..  HWN
13cb0 44 20 68 77 6e 64 2c 0d 0a 20 20 43 4f 4c 4f 52  D hwnd,..  COLOR
13cc0 52 45 46 20 63 72 4b 65 79 2c 0d 0a 20 20 42 59  REF crKey,..  BY
13cd0 54 45 20 62 41 6c 70 68 61 2c 0d 0a 20 20 44 57  TE bAlpha,..  DW
13ce0 4f 52 44 20 64 77 46 6c 61 67 73 29 3b 0d 0a 0d  ORD dwFlags);...
13cf0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
13d00 57 41 5f 43 4f 4c 4f 52 4b 45 59 20 3d 20 30 78  WA_COLORKEY = 0x
13d10 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  00000001 }..enum
13d20 20 3a 20 75 69 6e 74 20 7b 20 4c 57 41 5f 41 4c   : uint { LWA_AL
13d30 50 48 41 20 3d 20 30 78 30 30 30 30 30 30 30 32  PHA = 0x00000002
13d40 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
13d50 74 20 7b 20 55 4c 57 5f 43 4f 4c 4f 52 4b 45 59  t { ULW_COLORKEY
13d60 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d   = 0x00000001 }.
13d70 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55  .enum : uint { U
13d80 4c 57 5f 41 4c 50 48 41 20 3d 20 30 78 30 30 30  LW_ALPHA = 0x000
13d90 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00002 }..enum : 
13da0 75 69 6e 74 20 7b 20 55 4c 57 5f 4f 50 41 51 55  uint { ULW_OPAQU
13db0 45 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d  E = 0x00000004 }
13dc0 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  ....// #endif /*
13dd0 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d   _WIN32_WINNT >=
13de0 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f   0x0500 */....//
13df0 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
13e00 78 30 34 30 30 29 0d 0a 65 78 74 65 72 6e 28 57  x0400)..extern(W
13e10 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
13e20 4f 4f 4c 20 53 68 6f 77 57 69 6e 64 6f 77 41 73  OOL ShowWindowAs
13e30 79 6e 63 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  ync(..  HWND hWn
13e40 64 2c 0d 0a 20 20 69 6e 74 20 6e 43 6d 64 53 68  d,..  int nCmdSh
13e50 6f 77 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  ow);..// #endif 
13e60 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
13e70 34 30 30 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e  400 */....extern
13e80 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
13e90 20 42 4f 4f 4c 20 46 6c 61 73 68 57 69 6e 64 6f   BOOL FlashWindo
13ea0 77 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c  w(..  HWND hWnd,
13eb0 0d 0a 20 20 42 4f 4f 4c 20 62 49 6e 76 65 72 74  ..  BOOL bInvert
13ec0 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e  );....// #if(WIN
13ed0 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a  VER >= 0x0500)..
13ee0 73 74 72 75 63 74 20 5f 31 20 7b 0d 0a 20 20 55  struct _1 {..  U
13ef0 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 48  INT cbSize;..  H
13f00 57 4e 44 20 68 77 6e 64 3b 0d 0a 20 20 44 57 4f  WND hwnd;..  DWO
13f10 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a 20 20 55  RD dwFlags;..  U
13f20 49 4e 54 20 75 43 6f 75 6e 74 3b 0d 0a 20 20 44  INT uCount;..  D
13f30 57 4f 52 44 20 64 77 54 69 6d 65 6f 75 74 3b 0d  WORD dwTimeout;.
13f40 0a 7d 0d 0a 61 6c 69 61 73 20 5f 31 20 46 4c 41  .}..alias _1 FLA
13f50 53 48 57 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20  SHWINFO;..alias 
13f60 5f 31 2a 20 50 46 4c 41 53 48 57 49 4e 46 4f 3b  _1* PFLASHWINFO;
13f70 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
13f80 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
13f90 46 6c 61 73 68 57 69 6e 64 6f 77 45 78 28 0d 0a  FlashWindowEx(..
13fa0 20 20 50 46 4c 41 53 48 57 49 4e 46 4f 20 70 66    PFLASHWINFO pf
13fb0 77 69 29 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  wi);....enum : u
13fc0 69 6e 74 20 7b 20 46 4c 41 53 48 57 5f 53 54 4f  int { FLASHW_STO
13fd0 50 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  P = 0 }..enum : 
13fe0 75 69 6e 74 20 7b 20 46 4c 41 53 48 57 5f 43 41  uint { FLASHW_CA
13ff0 50 54 49 4f 4e 20 3d 20 30 78 30 30 30 30 30 30  PTION = 0x000000
14000 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
14010 74 20 7b 20 46 4c 41 53 48 57 5f 54 52 41 59 20  t { FLASHW_TRAY 
14020 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a  = 0x00000002 }..
14030 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 4c  enum : uint { FL
14040 41 53 48 57 5f 41 4c 4c 20 3d 20 46 4c 41 53 48  ASHW_ALL = FLASH
14050 57 5f 43 41 50 54 49 4f 4e 20 7c 20 46 4c 41 53  W_CAPTION | FLAS
14060 48 57 5f 54 52 41 59 20 7d 0d 0a 65 6e 75 6d 20  HW_TRAY }..enum 
14070 3a 20 75 69 6e 74 20 7b 20 46 4c 41 53 48 57 5f  : uint { FLASHW_
14080 54 49 4d 45 52 20 3d 20 30 78 30 30 30 30 30 30  TIMER = 0x000000
14090 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
140a0 74 20 7b 20 46 4c 41 53 48 57 5f 54 49 4d 45 52  t { FLASHW_TIMER
140b0 4e 4f 46 47 20 3d 20 30 78 30 30 30 30 30 30 30  NOFG = 0x0000000
140c0 43 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  C }....// #endif
140d0 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
140e0 30 35 30 30 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72  0500 */....exter
140f0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
14100 74 20 42 4f 4f 4c 20 53 68 6f 77 4f 77 6e 65 64  t BOOL ShowOwned
14110 50 6f 70 75 70 73 28 0d 0a 20 20 48 57 4e 44 20  Popups(..  HWND 
14120 68 57 6e 64 2c 0d 0a 20 20 42 4f 4f 4c 20 66 53  hWnd,..  BOOL fS
14130 68 6f 77 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  how);....extern(
14140 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
14150 42 4f 4f 4c 20 4f 70 65 6e 49 63 6f 6e 28 0d 0a  BOOL OpenIcon(..
14160 20 20 48 57 4e 44 20 68 57 6e 64 29 3b 0d 0a 0d    HWND hWnd);...
14170 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
14180 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 43 6c 6f   export BOOL Clo
14190 73 65 57 69 6e 64 6f 77 28 0d 0a 20 20 48 57 4e  seWindow(..  HWN
141a0 44 20 68 57 6e 64 29 3b 0d 0a 0d 0a 65 78 74 65  D hWnd);....exte
141b0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
141c0 72 74 20 42 4f 4f 4c 20 4d 6f 76 65 57 69 6e 64  rt BOOL MoveWind
141d0 6f 77 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  ow(..  HWND hWnd
141e0 2c 0d 0a 20 20 69 6e 74 20 58 2c 0d 0a 20 20 69  ,..  int X,..  i
141f0 6e 74 20 59 2c 0d 0a 20 20 69 6e 74 20 6e 57 69  nt Y,..  int nWi
14200 64 74 68 2c 0d 0a 20 20 69 6e 74 20 6e 48 65 69  dth,..  int nHei
14210 67 68 74 2c 0d 0a 20 20 42 4f 4f 4c 20 62 52 65  ght,..  BOOL bRe
14220 70 61 69 6e 74 29 3b 0d 0a 0d 0a 65 78 74 65 72  paint);....exter
14230 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
14240 74 20 42 4f 4f 4c 20 53 65 74 57 69 6e 64 6f 77  t BOOL SetWindow
14250 50 6f 73 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  Pos(..  HWND hWn
14260 64 2c 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 49  d,..  HWND hWndI
14270 6e 73 65 72 74 41 66 74 65 72 2c 0d 0a 20 20 69  nsertAfter,..  i
14280 6e 74 20 58 2c 0d 0a 20 20 69 6e 74 20 59 2c 0d  nt X,..  int Y,.
14290 0a 20 20 69 6e 74 20 63 78 2c 0d 0a 20 20 69 6e  .  int cx,..  in
142a0 74 20 63 79 2c 0d 0a 20 20 55 49 4e 54 20 75 46  t cy,..  UINT uF
142b0 6c 61 67 73 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  lags);....extern
142c0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
142d0 20 42 4f 4f 4c 20 47 65 74 57 69 6e 64 6f 77 50   BOOL GetWindowP
142e0 6c 61 63 65 6d 65 6e 74 28 0d 0a 20 20 48 57 4e  lacement(..  HWN
142f0 44 20 68 57 6e 64 2c 0d 0a 20 20 57 49 4e 44 4f  D hWnd,..  WINDO
14300 57 50 4c 41 43 45 4d 45 4e 54 20 2a 6c 70 77 6e  WPLACEMENT *lpwn
14310 64 70 6c 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  dpl);....extern(
14320 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
14330 42 4f 4f 4c 20 53 65 74 57 69 6e 64 6f 77 50 6c  BOOL SetWindowPl
14340 61 63 65 6d 65 6e 74 28 0d 0a 20 20 48 57 4e 44  acement(..  HWND
14350 20 68 57 6e 64 2c 0d 0a 20 20 57 49 4e 44 4f 57   hWnd,..  WINDOW
14360 50 4c 41 43 45 4d 45 4e 54 20 2a 6c 70 77 6e 64  PLACEMENT *lpwnd
14370 70 6c 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  pl);....// #ifnd
14380 65 66 20 4e 4f 44 45 46 45 52 57 49 4e 44 4f 57  ef NODEFERWINDOW
14390 50 4f 53 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  POS....extern(Wi
143a0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 44  ndows) export HD
143b0 57 50 20 42 65 67 69 6e 44 65 66 65 72 57 69 6e  WP BeginDeferWin
143c0 64 6f 77 50 6f 73 28 0d 0a 20 20 69 6e 74 20 6e  dowPos(..  int n
143d0 4e 75 6d 57 69 6e 64 6f 77 73 29 3b 0d 0a 0d 0a  NumWindows);....
143e0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
143f0 65 78 70 6f 72 74 20 48 44 57 50 20 44 65 66 65  export HDWP Defe
14400 72 57 69 6e 64 6f 77 50 6f 73 28 0d 0a 20 20 48  rWindowPos(..  H
14410 44 57 50 20 68 57 69 6e 50 6f 73 49 6e 66 6f 2c  DWP hWinPosInfo,
14420 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a  ..  HWND hWnd,..
14430 20 20 48 57 4e 44 20 68 57 6e 64 49 6e 73 65 72    HWND hWndInser
14440 74 41 66 74 65 72 2c 0d 0a 20 20 69 6e 74 20 78  tAfter,..  int x
14450 2c 0d 0a 20 20 69 6e 74 20 79 2c 0d 0a 20 20 69  ,..  int y,..  i
14460 6e 74 20 63 78 2c 0d 0a 20 20 69 6e 74 20 63 79  nt cx,..  int cy
14470 2c 0d 0a 20 20 55 49 4e 54 20 75 46 6c 61 67 73  ,..  UINT uFlags
14480 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
14490 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
144a0 4c 20 45 6e 64 44 65 66 65 72 57 69 6e 64 6f 77  L EndDeferWindow
144b0 50 6f 73 28 0d 0a 20 20 48 44 57 50 20 68 57 69  Pos(..  HDWP hWi
144c0 6e 50 6f 73 49 6e 66 6f 29 3b 0d 0a 0d 0a 2f 2f  nPosInfo);....//
144d0 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 44 45   #endif /* !NODE
144e0 46 45 52 57 49 4e 44 4f 57 50 4f 53 20 2a 2f 0d  FERWINDOWPOS */.
144f0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
14500 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49  s) export BOOL I
14510 73 57 69 6e 64 6f 77 56 69 73 69 62 6c 65 28 0d  sWindowVisible(.
14520 0a 20 20 48 57 4e 44 20 68 57 6e 64 29 3b 0d 0a  .  HWND hWnd);..
14530 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
14540 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 73  ) export BOOL Is
14550 49 63 6f 6e 69 63 28 0d 0a 20 20 48 57 4e 44 20  Iconic(..  HWND 
14560 68 57 6e 64 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  hWnd);....extern
14570 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
14580 20 42 4f 4f 4c 20 41 6e 79 50 6f 70 75 70 28 29   BOOL AnyPopup()
14590 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
145a0 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
145b0 20 42 72 69 6e 67 57 69 6e 64 6f 77 54 6f 54 6f   BringWindowToTo
145c0 70 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 29  p(..  HWND hWnd)
145d0 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
145e0 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
145f0 20 49 73 5a 6f 6f 6d 65 64 28 0d 0a 20 20 48 57   IsZoomed(..  HW
14600 4e 44 20 68 57 6e 64 29 3b 0d 0a 0d 0a 65 6e 75  ND hWnd);....enu
14610 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57 50 5f 4e  m : uint { SWP_N
14620 4f 53 49 5a 45 20 3d 20 30 78 30 30 30 31 20 7d  OSIZE = 0x0001 }
14630 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
14640 53 57 50 5f 4e 4f 4d 4f 56 45 20 3d 20 30 78 30  SWP_NOMOVE = 0x0
14650 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
14660 6e 74 20 7b 20 53 57 50 5f 4e 4f 5a 4f 52 44 45  nt { SWP_NOZORDE
14670 52 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e  R = 0x0004 }..en
14680 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57 50 5f  um : uint { SWP_
14690 4e 4f 52 45 44 52 41 57 20 3d 20 30 78 30 30 30  NOREDRAW = 0x000
146a0 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
146b0 20 7b 20 53 57 50 5f 4e 4f 41 43 54 49 56 41 54   { SWP_NOACTIVAT
146c0 45 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e  E = 0x0010 }..en
146d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57 50 5f  um : uint { SWP_
146e0 46 52 41 4d 45 43 48 41 4e 47 45 44 20 3d 20 30  FRAMECHANGED = 0
146f0 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0020 }..enum : 
14700 75 69 6e 74 20 7b 20 53 57 50 5f 53 48 4f 57 57  uint { SWP_SHOWW
14710 49 4e 44 4f 57 20 3d 20 30 78 30 30 34 30 20 7d  INDOW = 0x0040 }
14720 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
14730 53 57 50 5f 48 49 44 45 57 49 4e 44 4f 57 20 3d  SWP_HIDEWINDOW =
14740 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20   0x0080 }..enum 
14750 3a 20 75 69 6e 74 20 7b 20 53 57 50 5f 4e 4f 43  : uint { SWP_NOC
14760 4f 50 59 42 49 54 53 20 3d 20 30 78 30 31 30 30  OPYBITS = 0x0100
14770 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
14780 7b 20 53 57 50 5f 4e 4f 4f 57 4e 45 52 5a 4f 52  { SWP_NOOWNERZOR
14790 44 45 52 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a  DER = 0x0200 }..
147a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57  enum : uint { SW
147b0 50 5f 4e 4f 53 45 4e 44 43 48 41 4e 47 49 4e 47  P_NOSENDCHANGING
147c0 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a 0d 0a 61   = 0x0400 }....a
147d0 6c 69 61 73 20 53 57 50 5f 46 52 41 4d 45 43 48  lias SWP_FRAMECH
147e0 41 4e 47 45 44 20 53 57 50 5f 44 52 41 57 46 52  ANGED SWP_DRAWFR
147f0 41 4d 45 3b 0d 0a 61 6c 69 61 73 20 53 57 50 5f  AME;..alias SWP_
14800 4e 4f 4f 57 4e 45 52 5a 4f 52 44 45 52 20 53 57  NOOWNERZORDER SW
14810 50 5f 4e 4f 52 45 50 4f 53 49 54 49 4f 4e 3b 0d  P_NOREPOSITION;.
14820 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  ...// #if(WINVER
14830 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75   >= 0x0400)..enu
14840 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57 50 5f 44  m : uint { SWP_D
14850 45 46 45 52 45 52 41 53 45 20 3d 20 30 78 32 30  EFERERASE = 0x20
14860 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
14870 74 20 7b 20 53 57 50 5f 41 53 59 4e 43 57 49 4e  t { SWP_ASYNCWIN
14880 44 4f 57 50 4f 53 20 3d 20 30 78 34 30 30 30 20  DOWPOS = 0x4000 
14890 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  }..// #endif /* 
148a0 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
148b0 20 2a 2f 0d 0a 0d 0a 63 6f 6e 73 74 20 48 57 4e   */....const HWN
148c0 44 20 48 57 4e 44 5f 54 4f 50 20 3d 20 63 61 73  D HWND_TOP = cas
148d0 74 28 48 57 4e 44 29 30 3b 0d 0a 63 6f 6e 73 74  t(HWND)0;..const
148e0 20 48 57 4e 44 20 48 57 4e 44 5f 42 4f 54 54 4f   HWND HWND_BOTTO
148f0 4d 20 3d 20 63 61 73 74 28 48 57 4e 44 29 31 3b  M = cast(HWND)1;
14900 0d 0a 63 6f 6e 73 74 20 48 57 4e 44 20 48 57 4e  ..const HWND HWN
14910 44 5f 54 4f 50 4d 4f 53 54 20 3d 20 63 61 73 74  D_TOPMOST = cast
14920 28 48 57 4e 44 29 2d 31 3b 0d 0a 63 6f 6e 73 74  (HWND)-1;..const
14930 20 48 57 4e 44 20 48 57 4e 44 5f 4e 4f 54 4f 50   HWND HWND_NOTOP
14940 4d 4f 53 54 20 3d 20 63 61 73 74 28 48 57 4e 44  MOST = cast(HWND
14950 29 2d 32 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  )-2;....// #ifnd
14960 65 66 20 4e 4f 43 54 4c 4d 47 52 0d 0a 0d 0a 61  ef NOCTLMGR....a
14970 6c 69 67 6e 28 32 29 3a 0d 0a 0d 0a 73 74 72 75  lign(2):....stru
14980 63 74 20 5f 32 20 7b 0d 0a 20 20 44 57 4f 52 44  ct _2 {..  DWORD
14990 20 73 74 79 6c 65 3b 0d 0a 20 20 44 57 4f 52 44   style;..  DWORD
149a0 20 64 77 45 78 74 65 6e 64 65 64 53 74 79 6c 65   dwExtendedStyle
149b0 3b 0d 0a 20 20 57 4f 52 44 20 63 64 69 74 3b 0d  ;..  WORD cdit;.
149c0 0a 20 20 73 68 6f 72 74 20 78 3b 0d 0a 20 20 73  .  short x;..  s
149d0 68 6f 72 74 20 79 3b 0d 0a 20 20 73 68 6f 72 74  hort y;..  short
149e0 20 63 78 3b 0d 0a 20 20 73 68 6f 72 74 20 63 79   cx;..  short cy
149f0 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 32 20 44  ;..}..alias _2 D
14a00 4c 47 54 45 4d 50 4c 41 54 45 3b 0d 0a 0d 0a 61  LGTEMPLATE;....a
14a10 6c 69 61 73 20 44 4c 47 54 45 4d 50 4c 41 54 45  lias DLGTEMPLATE
14a20 2a 20 4c 50 44 4c 47 54 45 4d 50 4c 41 54 45 41  * LPDLGTEMPLATEA
14a30 3b 0d 0a 61 6c 69 61 73 20 44 4c 47 54 45 4d 50  ;..alias DLGTEMP
14a40 4c 41 54 45 2a 20 4c 50 44 4c 47 54 45 4d 50 4c  LATE* LPDLGTEMPL
14a50 41 54 45 57 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  ATEW;..// #ifdef
14a60 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e   UNICODE..// ...
14a70 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
14a80 73 20 4c 50 44 4c 47 54 45 4d 50 4c 41 54 45 41  s LPDLGTEMPLATEA
14a90 20 4c 50 44 4c 47 54 45 4d 50 4c 41 54 45 3b 0d   LPDLGTEMPLATE;.
14aa0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e  .// #endif // UN
14ab0 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 44 4c 47  ICODE..alias DLG
14ac0 54 45 4d 50 4c 41 54 45 2a 20 4c 50 43 44 4c 47  TEMPLATE* LPCDLG
14ad0 54 45 4d 50 4c 41 54 45 41 3b 0d 0a 61 6c 69 61  TEMPLATEA;..alia
14ae0 73 20 44 4c 47 54 45 4d 50 4c 41 54 45 2a 20 4c  s DLGTEMPLATE* L
14af0 50 43 44 4c 47 54 45 4d 50 4c 41 54 45 57 3b 0d  PCDLGTEMPLATEW;.
14b00 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
14b10 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  DE..// .....// #
14b20 65 6c 73 65 0d 0a 61 6c 69 61 73 20 4c 50 43 44  else..alias LPCD
14b30 4c 47 54 45 4d 50 4c 41 54 45 41 20 4c 50 43 44  LGTEMPLATEA LPCD
14b40 4c 47 54 45 4d 50 4c 41 54 45 3b 0d 0a 2f 2f 20  LGTEMPLATE;..// 
14b50 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44  #endif // UNICOD
14b60 45 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 33 20 7b  E....struct _3 {
14b70 0d 0a 20 20 44 57 4f 52 44 20 73 74 79 6c 65 3b  ..  DWORD style;
14b80 0d 0a 20 20 44 57 4f 52 44 20 64 77 45 78 74 65  ..  DWORD dwExte
14b90 6e 64 65 64 53 74 79 6c 65 3b 0d 0a 20 20 73 68  ndedStyle;..  sh
14ba0 6f 72 74 20 78 3b 0d 0a 20 20 73 68 6f 72 74 20  ort x;..  short 
14bb0 79 3b 0d 0a 20 20 73 68 6f 72 74 20 63 78 3b 0d  y;..  short cx;.
14bc0 0a 20 20 73 68 6f 72 74 20 63 79 3b 0d 0a 20 20  .  short cy;..  
14bd0 57 4f 52 44 20 69 64 3b 0d 0a 7d 0d 0a 61 6c 69  WORD id;..}..ali
14be0 61 73 20 5f 33 20 44 4c 47 49 54 45 4d 54 45 4d  as _3 DLGITEMTEM
14bf0 50 4c 41 54 45 3b 0d 0a 0d 0a 61 6c 69 61 73 20  PLATE;....alias 
14c00 44 4c 47 49 54 45 4d 54 45 4d 50 4c 41 54 45 2a  DLGITEMTEMPLATE*
14c10 20 50 44 4c 47 49 54 45 4d 54 45 4d 50 4c 41 54   PDLGITEMTEMPLAT
14c20 45 41 3b 0d 0a 61 6c 69 61 73 20 44 4c 47 49 54  EA;..alias DLGIT
14c30 45 4d 54 45 4d 50 4c 41 54 45 2a 20 50 44 4c 47  EMTEMPLATE* PDLG
14c40 49 54 45 4d 54 45 4d 50 4c 41 54 45 57 3b 0d 0a  ITEMTEMPLATEW;..
14c50 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
14c60 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  E..// .....// #e
14c70 6c 73 65 0d 0a 61 6c 69 61 73 20 50 44 4c 47 49  lse..alias PDLGI
14c80 54 45 4d 54 45 4d 50 4c 41 54 45 41 20 50 44 4c  TEMTEMPLATEA PDL
14c90 47 49 54 45 4d 54 45 4d 50 4c 41 54 45 3b 0d 0a  GITEMTEMPLATE;..
14ca0 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49  // #endif // UNI
14cb0 43 4f 44 45 0d 0a 61 6c 69 61 73 20 44 4c 47 49  CODE..alias DLGI
14cc0 54 45 4d 54 45 4d 50 4c 41 54 45 2a 20 4c 50 44  TEMTEMPLATE* LPD
14cd0 4c 47 49 54 45 4d 54 45 4d 50 4c 41 54 45 41 3b  LGITEMTEMPLATEA;
14ce0 0d 0a 61 6c 69 61 73 20 44 4c 47 49 54 45 4d 54  ..alias DLGITEMT
14cf0 45 4d 50 4c 41 54 45 2a 20 4c 50 44 4c 47 49 54  EMPLATE* LPDLGIT
14d00 45 4d 54 45 4d 50 4c 41 54 45 57 3b 0d 0a 2f 2f  EMTEMPLATEW;..//
14d10 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
14d20 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  .// .....// #els
14d30 65 0d 0a 61 6c 69 61 73 20 4c 50 44 4c 47 49 54  e..alias LPDLGIT
14d40 45 4d 54 45 4d 50 4c 41 54 45 41 20 4c 50 44 4c  EMTEMPLATEA LPDL
14d50 47 49 54 45 4d 54 45 4d 50 4c 41 54 45 3b 0d 0a  GITEMTEMPLATE;..
14d60 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49  // #endif // UNI
14d70 43 4f 44 45 0d 0a 0d 0a 61 6c 69 67 6e 3a 0d 0a  CODE....align:..
14d80 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
14d90 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20 43 72  ) export HWND Cr
14da0 65 61 74 65 44 69 61 6c 6f 67 50 61 72 61 6d 41  eateDialogParamA
14db0 28 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68  (..  HINSTANCE h
14dc0 49 6e 73 74 61 6e 63 65 2c 0d 0a 20 20 4c 50 43  Instance,..  LPC
14dd0 53 54 52 20 6c 70 54 65 6d 70 6c 61 74 65 4e 61  STR lpTemplateNa
14de0 6d 65 2c 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  me,..  HWND hWnd
14df0 50 61 72 65 6e 74 2c 0d 0a 20 20 44 4c 47 50 52  Parent,..  DLGPR
14e00 4f 43 20 6c 70 44 69 61 6c 6f 67 46 75 6e 63 2c  OC lpDialogFunc,
14e10 0d 0a 20 20 4c 50 41 52 41 4d 20 64 77 49 6e 69  ..  LPARAM dwIni
14e20 74 50 61 72 61 6d 29 3b 0d 0a 65 78 74 65 72 6e  tParam);..extern
14e30 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
14e40 20 48 57 4e 44 20 43 72 65 61 74 65 44 69 61 6c   HWND CreateDial
14e50 6f 67 50 61 72 61 6d 57 28 0d 0a 20 20 48 49 4e  ogParamW(..  HIN
14e60 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65  STANCE hInstance
14e70 2c 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 54  ,..  LPCWSTR lpT
14e80 65 6d 70 6c 61 74 65 4e 61 6d 65 2c 0d 0a 20 20  emplateName,..  
14e90 48 57 4e 44 20 68 57 6e 64 50 61 72 65 6e 74 2c  HWND hWndParent,
14ea0 0d 0a 20 20 44 4c 47 50 52 4f 43 20 6c 70 44 69  ..  DLGPROC lpDi
14eb0 61 6c 6f 67 46 75 6e 63 2c 0d 0a 20 20 4c 50 41  alogFunc,..  LPA
14ec0 52 41 4d 20 64 77 49 6e 69 74 50 61 72 61 6d 29  RAM dwInitParam)
14ed0 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
14ee0 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
14ef0 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 43  / #else..alias C
14f00 72 65 61 74 65 44 69 61 6c 6f 67 50 61 72 61 6d  reateDialogParam
14f10 41 20 43 72 65 61 74 65 44 69 61 6c 6f 67 50 61  A CreateDialogPa
14f20 72 61 6d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  ram;..// #endif 
14f30 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65  // !UNICODE....e
14f40 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
14f50 78 70 6f 72 74 20 48 57 4e 44 20 43 72 65 61 74  xport HWND Creat
14f60 65 44 69 61 6c 6f 67 49 6e 64 69 72 65 63 74 50  eDialogIndirectP
14f70 61 72 61 6d 41 28 0d 0a 20 20 48 49 4e 53 54 41  aramA(..  HINSTA
14f80 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 2c 0d 0a  NCE hInstance,..
14f90 20 20 4c 50 43 44 4c 47 54 45 4d 50 4c 41 54 45    LPCDLGTEMPLATE
14fa0 41 20 6c 70 54 65 6d 70 6c 61 74 65 2c 0d 0a 20  A lpTemplate,.. 
14fb0 20 48 57 4e 44 20 68 57 6e 64 50 61 72 65 6e 74   HWND hWndParent
14fc0 2c 0d 0a 20 20 44 4c 47 50 52 4f 43 20 6c 70 44  ,..  DLGPROC lpD
14fd0 69 61 6c 6f 67 46 75 6e 63 2c 0d 0a 20 20 4c 50  ialogFunc,..  LP
14fe0 41 52 41 4d 20 64 77 49 6e 69 74 50 61 72 61 6d  ARAM dwInitParam
14ff0 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
15000 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20  ws) export HWND 
15010 43 72 65 61 74 65 44 69 61 6c 6f 67 49 6e 64 69  CreateDialogIndi
15020 72 65 63 74 50 61 72 61 6d 57 28 0d 0a 20 20 48  rectParamW(..  H
15030 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e  INSTANCE hInstan
15040 63 65 2c 0d 0a 20 20 4c 50 43 44 4c 47 54 45 4d  ce,..  LPCDLGTEM
15050 50 4c 41 54 45 57 20 6c 70 54 65 6d 70 6c 61 74  PLATEW lpTemplat
15060 65 2c 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 50  e,..  HWND hWndP
15070 61 72 65 6e 74 2c 0d 0a 20 20 44 4c 47 50 52 4f  arent,..  DLGPRO
15080 43 20 6c 70 44 69 61 6c 6f 67 46 75 6e 63 2c 0d  C lpDialogFunc,.
15090 0a 20 20 4c 50 41 52 41 4d 20 64 77 49 6e 69 74  .  LPARAM dwInit
150a0 50 61 72 61 6d 29 3b 0d 0a 2f 2f 20 23 69 66 64  Param);..// #ifd
150b0 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  ef UNICODE..// #
150c0 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
150d0 6c 69 61 73 20 43 72 65 61 74 65 44 69 61 6c 6f  lias CreateDialo
150e0 67 49 6e 64 69 72 65 63 74 50 61 72 61 6d 41 20  gIndirectParamA 
150f0 43 72 65 61 74 65 44 69 61 6c 6f 67 49 6e 64 69  CreateDialogIndi
15100 72 65 63 74 50 61 72 61 6d 3b 0d 0a 2f 2f 20 23  rectParam;..// #
15110 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
15120 45 0d 0a 0d 0a 48 57 4e 44 20 43 72 65 61 74 65  E....HWND Create
15130 44 69 61 6c 6f 67 41 28 48 49 4e 53 54 41 4e 43  DialogA(HINSTANC
15140 45 20 68 49 6e 73 74 61 6e 63 65 2c 20 4c 50 43  E hInstance, LPC
15150 53 54 52 20 6c 70 4e 61 6d 65 2c 20 48 57 4e 44  STR lpName, HWND
15160 20 68 57 6e 64 50 61 72 65 6e 74 2c 20 44 4c 47   hWndParent, DLG
15170 50 52 4f 43 20 6c 70 44 69 61 6c 6f 67 46 75 6e  PROC lpDialogFun
15180 63 29 7b 20 72 65 74 75 72 6e 20 43 72 65 61 74  c){ return Creat
15190 65 44 69 61 6c 6f 67 50 61 72 61 6d 41 28 68 49  eDialogParamA(hI
151a0 6e 73 74 61 6e 63 65 2c 20 6c 70 4e 61 6d 65 2c  nstance, lpName,
151b0 20 68 57 6e 64 50 61 72 65 6e 74 2c 20 6c 70 44   hWndParent, lpD
151c0 69 61 6c 6f 67 46 75 6e 63 2c 20 30 4c 29 3b 20  ialogFunc, 0L); 
151d0 7d 0d 0a 48 57 4e 44 20 43 72 65 61 74 65 44 69  }..HWND CreateDi
151e0 61 6c 6f 67 57 28 48 49 4e 53 54 41 4e 43 45 20  alogW(HINSTANCE 
151f0 68 49 6e 73 74 61 6e 63 65 2c 20 4c 50 43 57 53  hInstance, LPCWS
15200 54 52 20 6c 70 4e 61 6d 65 2c 20 48 57 4e 44 20  TR lpName, HWND 
15210 68 57 6e 64 50 61 72 65 6e 74 2c 20 44 4c 47 50  hWndParent, DLGP
15220 52 4f 43 20 6c 70 44 69 61 6c 6f 67 46 75 6e 63  ROC lpDialogFunc
15230 29 7b 20 72 65 74 75 72 6e 20 43 72 65 61 74 65  ){ return Create
15240 44 69 61 6c 6f 67 50 61 72 61 6d 57 28 68 49 6e  DialogParamW(hIn
15250 73 74 61 6e 63 65 2c 20 6c 70 4e 61 6d 65 2c 20  stance, lpName, 
15260 68 57 6e 64 50 61 72 65 6e 74 2c 20 6c 70 44 69  hWndParent, lpDi
15270 61 6c 6f 67 46 75 6e 63 2c 20 30 4c 29 3b 20 7d  alogFunc, 0L); }
15280 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
15290 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
152a0 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 43 72   #else..alias Cr
152b0 65 61 74 65 44 69 61 6c 6f 67 41 20 43 72 65 61  eateDialogA Crea
152c0 74 65 44 69 61 6c 6f 67 3b 0d 0a 2f 2f 20 23 65  teDialog;..// #e
152d0 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
152e0 0d 0a 0d 0a 48 57 4e 44 20 43 72 65 61 74 65 44  ....HWND CreateD
152f0 69 61 6c 6f 67 49 6e 64 69 72 65 63 74 41 28 48  ialogIndirectA(H
15300 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e  INSTANCE hInstan
15310 63 65 2c 20 4c 50 43 44 4c 47 54 45 4d 50 4c 41  ce, LPCDLGTEMPLA
15320 54 45 20 6c 70 54 65 6d 70 6c 61 74 65 2c 20 48  TE lpTemplate, H
15330 57 4e 44 20 68 57 6e 64 50 61 72 65 6e 74 2c 20  WND hWndParent, 
15340 44 4c 47 50 52 4f 43 20 6c 70 44 69 61 6c 6f 67  DLGPROC lpDialog
15350 46 75 6e 63 29 7b 20 72 65 74 75 72 6e 20 43 72  Func){ return Cr
15360 65 61 74 65 44 69 61 6c 6f 67 49 6e 64 69 72 65  eateDialogIndire
15370 63 74 50 61 72 61 6d 41 28 68 49 6e 73 74 61 6e  ctParamA(hInstan
15380 63 65 2c 20 6c 70 54 65 6d 70 6c 61 74 65 2c 20  ce, lpTemplate, 
15390 68 57 6e 64 50 61 72 65 6e 74 2c 20 6c 70 44 69  hWndParent, lpDi
153a0 61 6c 6f 67 46 75 6e 63 2c 20 30 4c 29 3b 20 7d  alogFunc, 0L); }
153b0 0d 0a 48 57 4e 44 20 43 72 65 61 74 65 44 69 61  ..HWND CreateDia
153c0 6c 6f 67 49 6e 64 69 72 65 63 74 57 28 48 49 4e  logIndirectW(HIN
153d0 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65  STANCE hInstance
153e0 2c 20 4c 50 43 44 4c 47 54 45 4d 50 4c 41 54 45  , LPCDLGTEMPLATE
153f0 20 6c 70 54 65 6d 70 6c 61 74 65 2c 20 48 57 4e   lpTemplate, HWN
15400 44 20 68 57 6e 64 50 61 72 65 6e 74 2c 20 44 4c  D hWndParent, DL
15410 47 50 52 4f 43 20 6c 70 44 69 61 6c 6f 67 46 75  GPROC lpDialogFu
15420 6e 63 29 7b 20 72 65 74 75 72 6e 20 43 72 65 61  nc){ return Crea
15430 74 65 44 69 61 6c 6f 67 49 6e 64 69 72 65 63 74  teDialogIndirect
15440 50 61 72 61 6d 57 28 68 49 6e 73 74 61 6e 63 65  ParamW(hInstance
15450 2c 20 6c 70 54 65 6d 70 6c 61 74 65 2c 20 68 57  , lpTemplate, hW
15460 6e 64 50 61 72 65 6e 74 2c 20 6c 70 44 69 61 6c  ndParent, lpDial
15470 6f 67 46 75 6e 63 2c 20 30 4c 29 3b 20 7d 0d 0a  ogFunc, 0L); }..
15480 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
15490 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
154a0 65 6c 73 65 0d 0a 61 6c 69 61 73 20 43 72 65 61  else..alias Crea
154b0 74 65 44 69 61 6c 6f 67 49 6e 64 69 72 65 63 74  teDialogIndirect
154c0 41 20 43 72 65 61 74 65 44 69 61 6c 6f 67 49 6e  A CreateDialogIn
154d0 64 69 72 65 63 74 3b 0d 0a 2f 2f 20 23 65 6e 64  direct;..// #end
154e0 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
154f0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
15500 29 20 65 78 70 6f 72 74 20 49 4e 54 5f 50 54 52  ) export INT_PTR
15510 20 44 69 61 6c 6f 67 42 6f 78 50 61 72 61 6d 41   DialogBoxParamA
15520 28 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68  (..  HINSTANCE h
15530 49 6e 73 74 61 6e 63 65 2c 0d 0a 20 20 4c 50 43  Instance,..  LPC
15540 53 54 52 20 6c 70 54 65 6d 70 6c 61 74 65 4e 61  STR lpTemplateNa
15550 6d 65 2c 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  me,..  HWND hWnd
15560 50 61 72 65 6e 74 2c 0d 0a 20 20 44 4c 47 50 52  Parent,..  DLGPR
15570 4f 43 20 6c 70 44 69 61 6c 6f 67 46 75 6e 63 2c  OC lpDialogFunc,
15580 0d 0a 20 20 4c 50 41 52 41 4d 20 64 77 49 6e 69  ..  LPARAM dwIni
15590 74 50 61 72 61 6d 29 3b 0d 0a 65 78 74 65 72 6e  tParam);..extern
155a0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
155b0 20 49 4e 54 5f 50 54 52 20 44 69 61 6c 6f 67 42   INT_PTR DialogB
155c0 6f 78 50 61 72 61 6d 57 28 0d 0a 20 20 48 49 4e  oxParamW(..  HIN
155d0 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65  STANCE hInstance
155e0 2c 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 54  ,..  LPCWSTR lpT
155f0 65 6d 70 6c 61 74 65 4e 61 6d 65 2c 0d 0a 20 20  emplateName,..  
15600 48 57 4e 44 20 68 57 6e 64 50 61 72 65 6e 74 2c  HWND hWndParent,
15610 0d 0a 20 20 44 4c 47 50 52 4f 43 20 6c 70 44 69  ..  DLGPROC lpDi
15620 61 6c 6f 67 46 75 6e 63 2c 0d 0a 20 20 4c 50 41  alogFunc,..  LPA
15630 52 41 4d 20 64 77 49 6e 69 74 50 61 72 61 6d 29  RAM dwInitParam)
15640 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
15650 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
15660 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 44  / #else..alias D
15670 69 61 6c 6f 67 42 6f 78 50 61 72 61 6d 41 20 44  ialogBoxParamA D
15680 69 61 6c 6f 67 42 6f 78 50 61 72 61 6d 3b 0d 0a  ialogBoxParam;..
15690 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
156a0 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
156b0 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
156c0 49 4e 54 5f 50 54 52 20 44 69 61 6c 6f 67 42 6f  INT_PTR DialogBo
156d0 78 49 6e 64 69 72 65 63 74 50 61 72 61 6d 41 28  xIndirectParamA(
156e0 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68 49  ..  HINSTANCE hI
156f0 6e 73 74 61 6e 63 65 2c 0d 0a 20 20 4c 50 43 44  nstance,..  LPCD
15700 4c 47 54 45 4d 50 4c 41 54 45 41 20 68 44 69 61  LGTEMPLATEA hDia
15710 6c 6f 67 54 65 6d 70 6c 61 74 65 2c 0d 0a 20 20  logTemplate,..  
15720 48 57 4e 44 20 68 57 6e 64 50 61 72 65 6e 74 2c  HWND hWndParent,
15730 0d 0a 20 20 44 4c 47 50 52 4f 43 20 6c 70 44 69  ..  DLGPROC lpDi
15740 61 6c 6f 67 46 75 6e 63 2c 0d 0a 20 20 4c 50 41  alogFunc,..  LPA
15750 52 41 4d 20 64 77 49 6e 69 74 50 61 72 61 6d 29  RAM dwInitParam)
15760 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
15770 73 29 20 65 78 70 6f 72 74 20 49 4e 54 5f 50 54  s) export INT_PT
15780 52 20 44 69 61 6c 6f 67 42 6f 78 49 6e 64 69 72  R DialogBoxIndir
15790 65 63 74 50 61 72 61 6d 57 28 0d 0a 20 20 48 49  ectParamW(..  HI
157a0 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63  NSTANCE hInstanc
157b0 65 2c 0d 0a 20 20 4c 50 43 44 4c 47 54 45 4d 50  e,..  LPCDLGTEMP
157c0 4c 41 54 45 57 20 68 44 69 61 6c 6f 67 54 65 6d  LATEW hDialogTem
157d0 70 6c 61 74 65 2c 0d 0a 20 20 48 57 4e 44 20 68  plate,..  HWND h
157e0 57 6e 64 50 61 72 65 6e 74 2c 0d 0a 20 20 44 4c  WndParent,..  DL
157f0 47 50 52 4f 43 20 6c 70 44 69 61 6c 6f 67 46 75  GPROC lpDialogFu
15800 6e 63 2c 0d 0a 20 20 4c 50 41 52 41 4d 20 64 77  nc,..  LPARAM dw
15810 49 6e 69 74 50 61 72 61 6d 29 3b 0d 0a 2f 2f 20  InitParam);..// 
15820 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
15830 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
15840 65 0d 0a 61 6c 69 61 73 20 44 69 61 6c 6f 67 42  e..alias DialogB
15850 6f 78 49 6e 64 69 72 65 63 74 50 61 72 61 6d 41  oxIndirectParamA
15860 20 44 69 61 6c 6f 67 42 6f 78 49 6e 64 69 72 65   DialogBoxIndire
15870 63 74 50 61 72 61 6d 3b 0d 0a 2f 2f 20 23 65 6e  ctParam;..// #en
15880 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
15890 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 69  ...// #define Di
158a0 61 6c 6f 67 42 6f 78 41 28 68 49 6e 73 74 61 6e  alogBoxA(hInstan
158b0 63 65 2c 20 6c 70 54 65 6d 70 6c 61 74 65 2c 20  ce, lpTemplate, 
158c0 68 57 6e 64 50 61 72 65 6e 74 2c 20 6c 70 44 69  hWndParent, lpDi
158d0 61 6c 6f 67 46 75 6e 63 29 20 44 69 61 6c 6f 67  alogFunc) Dialog
158e0 42 6f 78 50 61 72 61 6d 41 28 68 49 6e 73 74 61  BoxParamA(hInsta
158f0 6e 63 65 2c 20 6c 70 54 65 6d 70 6c 61 74 65 2c  nce, lpTemplate,
15900 20 68 57 6e 64 50 61 72 65 6e 74 2c 20 6c 70 44   hWndParent, lpD
15910 69 61 6c 6f 67 46 75 6e 63 2c 20 30 4c 29 0d 0a  ialogFunc, 0L)..
15920 2f 2f 20 23 64 65 66 69 6e 65 20 44 69 61 6c 6f  // #define Dialo
15930 67 42 6f 78 57 28 68 49 6e 73 74 61 6e 63 65 2c  gBoxW(hInstance,
15940 20 6c 70 54 65 6d 70 6c 61 74 65 2c 20 68 57 6e   lpTemplate, hWn
15950 64 50 61 72 65 6e 74 2c 20 6c 70 44 69 61 6c 6f  dParent, lpDialo
15960 67 46 75 6e 63 29 20 44 69 61 6c 6f 67 42 6f 78  gFunc) DialogBox
15970 50 61 72 61 6d 57 28 68 49 6e 73 74 61 6e 63 65  ParamW(hInstance
15980 2c 20 6c 70 54 65 6d 70 6c 61 74 65 2c 20 68 57  , lpTemplate, hW
15990 6e 64 50 61 72 65 6e 74 2c 20 6c 70 44 69 61 6c  ndParent, lpDial
159a0 6f 67 46 75 6e 63 2c 20 30 4c 29 0d 0a 2f 2f 20  ogFunc, 0L)..// 
159b0 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
159c0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
159d0 65 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 69  e..// #define Di
159e0 61 6c 6f 67 42 6f 78 20 44 69 61 6c 6f 67 42 6f  alogBox DialogBo
159f0 78 41 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  xA..// #endif //
15a00 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20   !UNICODE....// 
15a10 23 64 65 66 69 6e 65 20 44 69 61 6c 6f 67 42 6f  #define DialogBo
15a20 78 49 6e 64 69 72 65 63 74 41 28 68 49 6e 73 74  xIndirectA(hInst
15a30 61 6e 63 65 2c 20 6c 70 54 65 6d 70 6c 61 74 65  ance, lpTemplate
15a40 2c 20 68 57 6e 64 50 61 72 65 6e 74 2c 20 6c 70  , hWndParent, lp
15a50 44 69 61 6c 6f 67 46 75 6e 63 29 20 44 69 61 6c  DialogFunc) Dial
15a60 6f 67 42 6f 78 49 6e 64 69 72 65 63 74 50 61 72  ogBoxIndirectPar
15a70 61 6d 41 28 68 49 6e 73 74 61 6e 63 65 2c 20 6c  amA(hInstance, l
15a80 70 54 65 6d 70 6c 61 74 65 2c 20 68 57 6e 64 50  pTemplate, hWndP
15a90 61 72 65 6e 74 2c 20 6c 70 44 69 61 6c 6f 67 46  arent, lpDialogF
15aa0 75 6e 63 2c 20 30 4c 29 0d 0a 2f 2f 20 23 64 65  unc, 0L)..// #de
15ab0 66 69 6e 65 20 44 69 61 6c 6f 67 42 6f 78 49 6e  fine DialogBoxIn
15ac0 64 69 72 65 63 74 57 28 68 49 6e 73 74 61 6e 63  directW(hInstanc
15ad0 65 2c 20 6c 70 54 65 6d 70 6c 61 74 65 2c 20 68  e, lpTemplate, h
15ae0 57 6e 64 50 61 72 65 6e 74 2c 20 6c 70 44 69 61  WndParent, lpDia
15af0 6c 6f 67 46 75 6e 63 29 20 44 69 61 6c 6f 67 42  logFunc) DialogB
15b00 6f 78 49 6e 64 69 72 65 63 74 50 61 72 61 6d 57  oxIndirectParamW
15b10 28 68 49 6e 73 74 61 6e 63 65 2c 20 6c 70 54 65  (hInstance, lpTe
15b20 6d 70 6c 61 74 65 2c 20 68 57 6e 64 50 61 72 65  mplate, hWndPare
15b30 6e 74 2c 20 6c 70 44 69 61 6c 6f 67 46 75 6e 63  nt, lpDialogFunc
15b40 2c 20 30 4c 29 0d 0a 2f 2f 20 23 69 66 64 65 66  , 0L)..// #ifdef
15b50 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e   UNICODE..// #..
15b60 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ...// #else..// 
15b70 23 64 65 66 69 6e 65 20 44 69 61 6c 6f 67 42 6f  #define DialogBo
15b80 78 49 6e 64 69 72 65 63 74 20 44 69 61 6c 6f 67  xIndirect Dialog
15b90 42 6f 78 49 6e 64 69 72 65 63 74 41 0d 0a 2f 2f  BoxIndirectA..//
15ba0 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
15bb0 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ODE....extern(Wi
15bc0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
15bd0 4f 4c 20 45 6e 64 44 69 61 6c 6f 67 28 0d 0a 20  OL EndDialog(.. 
15be0 20 48 57 4e 44 20 68 44 6c 67 2c 0d 0a 20 20 49   HWND hDlg,..  I
15bf0 4e 54 5f 50 54 52 20 6e 52 65 73 75 6c 74 29 3b  NT_PTR nResult);
15c00 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
15c10 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20  ws) export HWND 
15c20 47 65 74 44 6c 67 49 74 65 6d 28 0d 0a 20 20 48  GetDlgItem(..  H
15c30 57 4e 44 20 68 44 6c 67 2c 0d 0a 20 20 69 6e 74  WND hDlg,..  int
15c40 20 6e 49 44 44 6c 67 49 74 65 6d 29 3b 0d 0a 0d   nIDDlgItem);...
15c50 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
15c60 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74   export BOOL Set
15c70 44 6c 67 49 74 65 6d 49 6e 74 28 0d 0a 20 20 48  DlgItemInt(..  H
15c80 57 4e 44 20 68 44 6c 67 2c 0d 0a 20 20 69 6e 74  WND hDlg,..  int
15c90 20 6e 49 44 44 6c 67 49 74 65 6d 2c 0d 0a 20 20   nIDDlgItem,..  
15ca0 55 49 4e 54 20 75 56 61 6c 75 65 2c 0d 0a 20 20  UINT uValue,..  
15cb0 42 4f 4f 4c 20 62 53 69 67 6e 65 64 29 3b 0d 0a  BOOL bSigned);..
15cc0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
15cd0 29 20 65 78 70 6f 72 74 20 55 49 4e 54 20 47 65  ) export UINT Ge
15ce0 74 44 6c 67 49 74 65 6d 49 6e 74 28 0d 0a 20 20  tDlgItemInt(..  
15cf0 48 57 4e 44 20 68 44 6c 67 2c 0d 0a 20 20 69 6e  HWND hDlg,..  in
15d00 74 20 6e 49 44 44 6c 67 49 74 65 6d 2c 0d 0a 20  t nIDDlgItem,.. 
15d10 20 42 4f 4f 4c 20 2a 6c 70 54 72 61 6e 73 6c 61   BOOL *lpTransla
15d20 74 65 64 2c 0d 0a 20 20 42 4f 4f 4c 20 62 53 69  ted,..  BOOL bSi
15d30 67 6e 65 64 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  gned);....extern
15d40 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
15d50 20 42 4f 4f 4c 20 53 65 74 44 6c 67 49 74 65 6d   BOOL SetDlgItem
15d60 54 65 78 74 41 28 0d 0a 20 20 48 57 4e 44 20 68  TextA(..  HWND h
15d70 44 6c 67 2c 0d 0a 20 20 69 6e 74 20 6e 49 44 44  Dlg,..  int nIDD
15d80 6c 67 49 74 65 6d 2c 0d 0a 20 20 4c 50 43 53 54  lgItem,..  LPCST
15d90 52 20 6c 70 53 74 72 69 6e 67 29 3b 0d 0a 65 78  R lpString);..ex
15da0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
15db0 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74 44 6c 67  port BOOL SetDlg
15dc0 49 74 65 6d 54 65 78 74 57 28 0d 0a 20 20 48 57  ItemTextW(..  HW
15dd0 4e 44 20 68 44 6c 67 2c 0d 0a 20 20 69 6e 74 20  ND hDlg,..  int 
15de0 6e 49 44 44 6c 67 49 74 65 6d 2c 0d 0a 20 20 4c  nIDDlgItem,..  L
15df0 50 43 57 53 54 52 20 6c 70 53 74 72 69 6e 67 29  PCWSTR lpString)
15e00 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
15e10 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
15e20 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 53  / #else..alias S
15e30 65 74 44 6c 67 49 74 65 6d 54 65 78 74 41 20 53  etDlgItemTextA S
15e40 65 74 44 6c 67 49 74 65 6d 54 65 78 74 3b 0d 0a  etDlgItemText;..
15e50 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
15e60 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
15e70 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
15e80 55 49 4e 54 20 47 65 74 44 6c 67 49 74 65 6d 54  UINT GetDlgItemT
15e90 65 78 74 41 28 0d 0a 20 20 48 57 4e 44 20 68 44  extA(..  HWND hD
15ea0 6c 67 2c 0d 0a 20 20 69 6e 74 20 6e 49 44 44 6c  lg,..  int nIDDl
15eb0 67 49 74 65 6d 2c 0d 0a 20 20 4c 50 53 54 52 20  gItem,..  LPSTR 
15ec0 6c 70 53 74 72 69 6e 67 2c 0d 0a 20 20 69 6e 74  lpString,..  int
15ed0 20 6e 4d 61 78 43 6f 75 6e 74 29 3b 0d 0a 65 78   nMaxCount);..ex
15ee0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
15ef0 70 6f 72 74 20 55 49 4e 54 20 47 65 74 44 6c 67  port UINT GetDlg
15f00 49 74 65 6d 54 65 78 74 57 28 0d 0a 20 20 48 57  ItemTextW(..  HW
15f10 4e 44 20 68 44 6c 67 2c 0d 0a 20 20 69 6e 74 20  ND hDlg,..  int 
15f20 6e 49 44 44 6c 67 49 74 65 6d 2c 0d 0a 20 20 4c  nIDDlgItem,..  L
15f30 50 57 53 54 52 20 6c 70 53 74 72 69 6e 67 2c 0d  PWSTR lpString,.
15f40 0a 20 20 69 6e 74 20 6e 4d 61 78 43 6f 75 6e 74  .  int nMaxCount
15f50 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
15f60 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ICODE..// #.....
15f70 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
15f80 47 65 74 44 6c 67 49 74 65 6d 54 65 78 74 41 20  GetDlgItemTextA 
15f90 47 65 74 44 6c 67 49 74 65 6d 54 65 78 74 3b 0d  GetDlgItemText;.
15fa0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
15fb0 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
15fc0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
15fd0 20 42 4f 4f 4c 20 43 68 65 63 6b 44 6c 67 42 75   BOOL CheckDlgBu
15fe0 74 74 6f 6e 28 0d 0a 20 20 48 57 4e 44 20 68 44  tton(..  HWND hD
15ff0 6c 67 2c 0d 0a 20 20 69 6e 74 20 6e 49 44 42 75  lg,..  int nIDBu
16000 74 74 6f 6e 2c 0d 0a 20 20 55 49 4e 54 20 75 43  tton,..  UINT uC
16010 68 65 63 6b 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  heck);....extern
16020 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
16030 20 42 4f 4f 4c 20 43 68 65 63 6b 52 61 64 69 6f   BOOL CheckRadio
16040 42 75 74 74 6f 6e 28 0d 0a 20 20 48 57 4e 44 20  Button(..  HWND 
16050 68 44 6c 67 2c 0d 0a 20 20 69 6e 74 20 6e 49 44  hDlg,..  int nID
16060 46 69 72 73 74 42 75 74 74 6f 6e 2c 0d 0a 20 20  FirstButton,..  
16070 69 6e 74 20 6e 49 44 4c 61 73 74 42 75 74 74 6f  int nIDLastButto
16080 6e 2c 0d 0a 20 20 69 6e 74 20 6e 49 44 43 68 65  n,..  int nIDChe
16090 63 6b 42 75 74 74 6f 6e 29 3b 0d 0a 0d 0a 65 78  ckButton);....ex
160a0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
160b0 70 6f 72 74 20 55 49 4e 54 20 49 73 44 6c 67 42  port UINT IsDlgB
160c0 75 74 74 6f 6e 43 68 65 63 6b 65 64 28 0d 0a 20  uttonChecked(.. 
160d0 20 48 57 4e 44 20 68 44 6c 67 2c 0d 0a 20 20 69   HWND hDlg,..  i
160e0 6e 74 20 6e 49 44 42 75 74 74 6f 6e 29 3b 0d 0a  nt nIDButton);..
160f0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
16100 29 20 65 78 70 6f 72 74 20 4c 52 45 53 55 4c 54  ) export LRESULT
16110 20 53 65 6e 64 44 6c 67 49 74 65 6d 4d 65 73 73   SendDlgItemMess
16120 61 67 65 41 28 0d 0a 20 20 48 57 4e 44 20 68 44  ageA(..  HWND hD
16130 6c 67 2c 0d 0a 20 20 69 6e 74 20 6e 49 44 44 6c  lg,..  int nIDDl
16140 67 49 74 65 6d 2c 0d 0a 20 20 55 49 4e 54 20 4d  gItem,..  UINT M
16150 73 67 2c 0d 0a 20 20 57 50 41 52 41 4d 20 77 50  sg,..  WPARAM wP
16160 61 72 61 6d 2c 0d 0a 20 20 4c 50 41 52 41 4d 20  aram,..  LPARAM 
16170 6c 50 61 72 61 6d 29 3b 0d 0a 65 78 74 65 72 6e  lParam);..extern
16180 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
16190 20 4c 52 45 53 55 4c 54 20 53 65 6e 64 44 6c 67   LRESULT SendDlg
161a0 49 74 65 6d 4d 65 73 73 61 67 65 57 28 0d 0a 20  ItemMessageW(.. 
161b0 20 48 57 4e 44 20 68 44 6c 67 2c 0d 0a 20 20 69   HWND hDlg,..  i
161c0 6e 74 20 6e 49 44 44 6c 67 49 74 65 6d 2c 0d 0a  nt nIDDlgItem,..
161d0 20 20 55 49 4e 54 20 4d 73 67 2c 0d 0a 20 20 57    UINT Msg,..  W
161e0 50 41 52 41 4d 20 77 50 61 72 61 6d 2c 0d 0a 20  PARAM wParam,.. 
161f0 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 29 3b   LPARAM lParam);
16200 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
16210 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
16220 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 53 65   #else..alias Se
16230 6e 64 44 6c 67 49 74 65 6d 4d 65 73 73 61 67 65  ndDlgItemMessage
16240 41 20 53 65 6e 64 44 6c 67 49 74 65 6d 4d 65 73  A SendDlgItemMes
16250 73 61 67 65 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  sage;..// #endif
16260 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
16270 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
16280 65 78 70 6f 72 74 20 48 57 4e 44 20 47 65 74 4e  export HWND GetN
16290 65 78 74 44 6c 67 47 72 6f 75 70 49 74 65 6d 28  extDlgGroupItem(
162a0 0d 0a 20 20 48 57 4e 44 20 68 44 6c 67 2c 0d 0a  ..  HWND hDlg,..
162b0 20 20 48 57 4e 44 20 68 43 74 6c 2c 0d 0a 20 20    HWND hCtl,..  
162c0 42 4f 4f 4c 20 62 50 72 65 76 69 6f 75 73 29 3b  BOOL bPrevious);
162d0 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
162e0 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20  ws) export HWND 
162f0 47 65 74 4e 65 78 74 44 6c 67 54 61 62 49 74 65  GetNextDlgTabIte
16300 6d 28 0d 0a 20 20 48 57 4e 44 20 68 44 6c 67 2c  m(..  HWND hDlg,
16310 0d 0a 20 20 48 57 4e 44 20 68 43 74 6c 2c 0d 0a  ..  HWND hCtl,..
16320 20 20 42 4f 4f 4c 20 62 50 72 65 76 69 6f 75 73    BOOL bPrevious
16330 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
16340 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74  dows) export int
16350 20 47 65 74 44 6c 67 43 74 72 6c 49 44 28 0d 0a   GetDlgCtrlID(..
16360 20 20 48 57 4e 44 20 68 57 6e 64 29 3b 0d 0a 0d    HWND hWnd);...
16370 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
16380 20 65 78 70 6f 72 74 20 69 6e 74 20 47 65 74 44   export int GetD
16390 69 61 6c 6f 67 42 61 73 65 55 6e 69 74 73 28 29  ialogBaseUnits()
163a0 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
163b0 6f 77 73 29 20 65 78 70 6f 72 74 20 4c 52 45 53  ows) export LRES
163c0 55 4c 54 20 44 65 66 44 6c 67 50 72 6f 63 41 28  ULT DefDlgProcA(
163d0 48 57 4e 44 20 68 44 6c 67 2c 20 55 49 4e 54 20  HWND hDlg, UINT 
163e0 4d 73 67 2c 20 57 50 41 52 41 4d 20 77 50 61 72  Msg, WPARAM wPar
163f0 61 6d 2c 20 4c 50 41 52 41 4d 20 6c 50 61 72 61  am, LPARAM lPara
16400 6d 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  m);..extern(Wind
16410 6f 77 73 29 20 65 78 70 6f 72 74 20 4c 52 45 53  ows) export LRES
16420 55 4c 54 20 44 65 66 44 6c 67 50 72 6f 63 57 28  ULT DefDlgProcW(
16430 48 57 4e 44 20 68 44 6c 67 2c 20 55 49 4e 54 20  HWND hDlg, UINT 
16440 4d 73 67 2c 20 57 50 41 52 41 4d 20 77 50 61 72  Msg, WPARAM wPar
16450 61 6d 2c 20 4c 50 41 52 41 4d 20 6c 50 61 72 61  am, LPARAM lPara
16460 6d 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  m);..// #ifdef U
16470 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
16480 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
16490 20 44 65 66 44 6c 67 50 72 6f 63 41 20 44 65 66   DefDlgProcA Def
164a0 44 6c 67 50 72 6f 63 3b 0d 0a 2f 2f 20 23 65 6e  DlgProc;..// #en
164b0 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
164c0 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f 4d  ...// #ifndef _M
164d0 41 43 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  AC..enum : uint 
164e0 7b 20 44 4c 47 57 49 4e 44 4f 57 45 58 54 52 41  { DLGWINDOWEXTRA
164f0 20 3d 20 33 30 20 7d 0d 0a 2f 2f 20 23 65 6c 73   = 30 }..// #els
16500 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
16510 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  endif....// #end
16520 69 66 20 2f 2a 20 21 4e 4f 43 54 4c 4d 47 52 20  if /* !NOCTLMGR 
16530 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  */....// #ifndef
16540 20 4e 4f 4d 53 47 0d 0a 0d 0a 65 78 74 65 72 6e   NOMSG....extern
16550 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
16560 20 42 4f 4f 4c 20 43 61 6c 6c 4d 73 67 46 69 6c   BOOL CallMsgFil
16570 74 65 72 41 28 0d 0a 20 20 4c 50 4d 53 47 20 6c  terA(..  LPMSG l
16580 70 4d 73 67 2c 0d 0a 20 20 69 6e 74 20 6e 43 6f  pMsg,..  int nCo
16590 64 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  de);..extern(Win
165a0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
165b0 4c 20 43 61 6c 6c 4d 73 67 46 69 6c 74 65 72 57  L CallMsgFilterW
165c0 28 0d 0a 20 20 4c 50 4d 53 47 20 6c 70 4d 73 67  (..  LPMSG lpMsg
165d0 2c 0d 0a 20 20 69 6e 74 20 6e 43 6f 64 65 29 3b  ,..  int nCode);
165e0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
165f0 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
16600 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 43 61   #else..alias Ca
16610 6c 6c 4d 73 67 46 69 6c 74 65 72 41 20 43 61 6c  llMsgFilterA Cal
16620 6c 4d 73 67 46 69 6c 74 65 72 3b 0d 0a 2f 2f 20  lMsgFilter;..// 
16630 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
16640 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  DE....// #endif 
16650 2f 2a 20 21 4e 4f 4d 53 47 20 2a 2f 0d 0a 0d 0a  /* !NOMSG */....
16660 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 43 4c 49  // #ifndef NOCLI
16670 50 42 4f 41 52 44 0d 0a 0d 0a 65 78 74 65 72 6e  PBOARD....extern
16680 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
16690 20 42 4f 4f 4c 20 4f 70 65 6e 43 6c 69 70 62 6f   BOOL OpenClipbo
166a0 61 72 64 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  ard(..  HWND hWn
166b0 64 4e 65 77 4f 77 6e 65 72 29 3b 0d 0a 0d 0a 65  dNewOwner);....e
166c0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
166d0 78 70 6f 72 74 20 42 4f 4f 4c 20 43 6c 6f 73 65  xport BOOL Close
166e0 43 6c 69 70 62 6f 61 72 64 28 29 3b 0d 0a 0d 0a  Clipboard();....
166f0 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d  // #if(WINVER >=
16700 20 30 78 30 35 30 30 29 0d 0a 0d 0a 65 78 74 65   0x0500)....exte
16710 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
16720 72 74 20 44 57 4f 52 44 20 47 65 74 43 6c 69 70  rt DWORD GetClip
16730 62 6f 61 72 64 53 65 71 75 65 6e 63 65 4e 75 6d  boardSequenceNum
16740 62 65 72 28 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e  ber();....// #en
16750 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d  dif /* WINVER >=
16760 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 65 78   0x0500 */....ex
16770 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
16780 70 6f 72 74 20 48 57 4e 44 20 47 65 74 43 6c 69  port HWND GetCli
16790 70 62 6f 61 72 64 4f 77 6e 65 72 28 29 3b 0d 0a  pboardOwner();..
167a0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
167b0 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20 53 65  ) export HWND Se
167c0 74 43 6c 69 70 62 6f 61 72 64 56 69 65 77 65 72  tClipboardViewer
167d0 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 4e 65  (..  HWND hWndNe
167e0 77 56 69 65 77 65 72 29 3b 0d 0a 0d 0a 65 78 74  wViewer);....ext
167f0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
16800 6f 72 74 20 48 57 4e 44 20 47 65 74 43 6c 69 70  ort HWND GetClip
16810 62 6f 61 72 64 56 69 65 77 65 72 28 29 3b 0d 0a  boardViewer();..
16820 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
16830 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 43 68  ) export BOOL Ch
16840 61 6e 67 65 43 6c 69 70 62 6f 61 72 64 43 68 61  angeClipboardCha
16850 69 6e 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  in(..  HWND hWnd
16860 52 65 6d 6f 76 65 2c 0d 0a 20 20 48 57 4e 44 20  Remove,..  HWND 
16870 68 57 6e 64 4e 65 77 4e 65 78 74 29 3b 0d 0a 0d  hWndNewNext);...
16880 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
16890 20 65 78 70 6f 72 74 20 48 41 4e 44 4c 45 20 53   export HANDLE S
168a0 65 74 43 6c 69 70 62 6f 61 72 64 44 61 74 61 28  etClipboardData(
168b0 0d 0a 20 20 55 49 4e 54 20 75 46 6f 72 6d 61 74  ..  UINT uFormat
168c0 2c 0d 0a 20 20 48 41 4e 44 4c 45 20 68 4d 65 6d  ,..  HANDLE hMem
168d0 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
168e0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 41 4e  dows) export HAN
168f0 44 4c 45 20 47 65 74 43 6c 69 70 62 6f 61 72 64  DLE GetClipboard
16900 44 61 74 61 28 0d 0a 20 20 55 49 4e 54 20 75 46  Data(..  UINT uF
16910 6f 72 6d 61 74 29 3b 0d 0a 0d 0a 65 78 74 65 72  ormat);....exter
16920 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
16930 74 20 55 49 4e 54 20 52 65 67 69 73 74 65 72 43  t UINT RegisterC
16940 6c 69 70 62 6f 61 72 64 46 6f 72 6d 61 74 41 28  lipboardFormatA(
16950 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 7a 46  ..  LPCSTR lpszF
16960 6f 72 6d 61 74 29 3b 0d 0a 65 78 74 65 72 6e 28  ormat);..extern(
16970 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
16980 55 49 4e 54 20 52 65 67 69 73 74 65 72 43 6c 69  UINT RegisterCli
16990 70 62 6f 61 72 64 46 6f 72 6d 61 74 57 28 0d 0a  pboardFormatW(..
169a0 20 20 4c 50 43 57 53 54 52 20 6c 70 73 7a 46 6f    LPCWSTR lpszFo
169b0 72 6d 61 74 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  rmat);..// #ifde
169c0 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
169d0 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
169e0 69 61 73 20 52 65 67 69 73 74 65 72 43 6c 69 70  ias RegisterClip
169f0 62 6f 61 72 64 46 6f 72 6d 61 74 41 20 52 65 67  boardFormatA Reg
16a00 69 73 74 65 72 43 6c 69 70 62 6f 61 72 64 46 6f  isterClipboardFo
16a10 72 6d 61 74 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  rmat;..// #endif
16a20 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
16a30 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
16a40 65 78 70 6f 72 74 20 69 6e 74 20 43 6f 75 6e 74  export int Count
16a50 43 6c 69 70 62 6f 61 72 64 46 6f 72 6d 61 74 73  ClipboardFormats
16a60 28 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ();....extern(Wi
16a70 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 55 49  ndows) export UI
16a80 4e 54 20 45 6e 75 6d 43 6c 69 70 62 6f 61 72 64  NT EnumClipboard
16a90 46 6f 72 6d 61 74 73 28 0d 0a 20 20 55 49 4e 54  Formats(..  UINT
16aa0 20 66 6f 72 6d 61 74 29 3b 0d 0a 0d 0a 65 78 74   format);....ext
16ab0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
16ac0 6f 72 74 20 69 6e 74 20 47 65 74 43 6c 69 70 62  ort int GetClipb
16ad0 6f 61 72 64 46 6f 72 6d 61 74 4e 61 6d 65 41 28  oardFormatNameA(
16ae0 0d 0a 20 20 55 49 4e 54 20 66 6f 72 6d 61 74 2c  ..  UINT format,
16af0 0d 0a 20 20 4c 50 53 54 52 20 6c 70 73 7a 46 6f  ..  LPSTR lpszFo
16b00 72 6d 61 74 4e 61 6d 65 2c 0d 0a 20 20 69 6e 74  rmatName,..  int
16b10 20 63 63 68 4d 61 78 43 6f 75 6e 74 29 3b 0d 0a   cchMaxCount);..
16b20 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
16b30 65 78 70 6f 72 74 20 69 6e 74 20 47 65 74 43 6c  export int GetCl
16b40 69 70 62 6f 61 72 64 46 6f 72 6d 61 74 4e 61 6d  ipboardFormatNam
16b50 65 57 28 0d 0a 20 20 55 49 4e 54 20 66 6f 72 6d  eW(..  UINT form
16b60 61 74 2c 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70  at,..  LPWSTR lp
16b70 73 7a 46 6f 72 6d 61 74 4e 61 6d 65 2c 0d 0a 20  szFormatName,.. 
16b80 20 69 6e 74 20 63 63 68 4d 61 78 43 6f 75 6e 74   int cchMaxCount
16b90 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
16ba0 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ICODE..// #.....
16bb0 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
16bc0 47 65 74 43 6c 69 70 62 6f 61 72 64 46 6f 72 6d  GetClipboardForm
16bd0 61 74 4e 61 6d 65 41 20 47 65 74 43 6c 69 70 62  atNameA GetClipb
16be0 6f 61 72 64 46 6f 72 6d 61 74 4e 61 6d 65 3b 0d  oardFormatName;.
16bf0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
16c00 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
16c10 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
16c20 20 42 4f 4f 4c 20 45 6d 70 74 79 43 6c 69 70 62   BOOL EmptyClipb
16c30 6f 61 72 64 28 29 3b 0d 0a 0d 0a 65 78 74 65 72  oard();....exter
16c40 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
16c50 74 20 42 4f 4f 4c 20 49 73 43 6c 69 70 62 6f 61  t BOOL IsClipboa
16c60 72 64 46 6f 72 6d 61 74 41 76 61 69 6c 61 62 6c  rdFormatAvailabl
16c70 65 28 0d 0a 20 20 55 49 4e 54 20 66 6f 72 6d 61  e(..  UINT forma
16c80 74 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  t);....extern(Wi
16c90 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e  ndows) export in
16ca0 74 20 47 65 74 50 72 69 6f 72 69 74 79 43 6c 69  t GetPriorityCli
16cb0 70 62 6f 61 72 64 46 6f 72 6d 61 74 28 0d 0a 20  pboardFormat(.. 
16cc0 20 55 49 4e 54 20 2a 70 61 46 6f 72 6d 61 74 50   UINT *paFormatP
16cd0 72 69 6f 72 69 74 79 4c 69 73 74 2c 0d 0a 20 20  riorityList,..  
16ce0 69 6e 74 20 63 46 6f 72 6d 61 74 73 29 3b 0d 0a  int cFormats);..
16cf0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
16d00 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20 47 65  ) export HWND Ge
16d10 74 4f 70 65 6e 43 6c 69 70 62 6f 61 72 64 57 69  tOpenClipboardWi
16d20 6e 64 6f 77 28 29 3b 0d 0a 0d 0a 2f 2f 20 23 65  ndow();....// #e
16d30 6e 64 69 66 20 2f 2a 20 21 4e 4f 43 4c 49 50 42  ndif /* !NOCLIPB
16d40 4f 41 52 44 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72  OARD */....exter
16d50 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
16d60 74 20 42 4f 4f 4c 20 43 68 61 72 54 6f 4f 65 6d  t BOOL CharToOem
16d70 41 28 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73  A(..  LPCSTR lps
16d80 7a 53 72 63 2c 0d 0a 20 20 4c 50 53 54 52 20 6c  zSrc,..  LPSTR l
16d90 70 73 7a 44 73 74 29 3b 0d 0a 65 78 74 65 72 6e  pszDst);..extern
16da0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
16db0 20 42 4f 4f 4c 20 43 68 61 72 54 6f 4f 65 6d 57   BOOL CharToOemW
16dc0 28 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 73  (..  LPCWSTR lps
16dd0 7a 53 72 63 2c 0d 0a 20 20 4c 50 53 54 52 20 6c  zSrc,..  LPSTR l
16de0 70 73 7a 44 73 74 29 3b 0d 0a 2f 2f 20 23 69 66  pszDst);..// #if
16df0 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
16e00 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
16e10 61 6c 69 61 73 20 43 68 61 72 54 6f 4f 65 6d 41  alias CharToOemA
16e20 20 43 68 61 72 54 6f 4f 65 6d 3b 0d 0a 2f 2f 20   CharToOem;..// 
16e30 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
16e40 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
16e50 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
16e60 4c 20 4f 65 6d 54 6f 43 68 61 72 41 28 0d 0a 20  L OemToCharA(.. 
16e70 20 4c 50 43 53 54 52 20 6c 70 73 7a 53 72 63 2c   LPCSTR lpszSrc,
16e80 0d 0a 20 20 4c 50 53 54 52 20 6c 70 73 7a 44 73  ..  LPSTR lpszDs
16e90 74 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  t);..extern(Wind
16ea0 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
16eb0 20 4f 65 6d 54 6f 43 68 61 72 57 28 0d 0a 20 20   OemToCharW(..  
16ec0 4c 50 43 53 54 52 20 6c 70 73 7a 53 72 63 2c 0d  LPCSTR lpszSrc,.
16ed0 0a 20 20 4c 50 57 53 54 52 20 6c 70 73 7a 44 73  .  LPWSTR lpszDs
16ee0 74 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  t);..// #ifdef U
16ef0 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
16f00 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
16f10 20 4f 65 6d 54 6f 43 68 61 72 41 20 4f 65 6d 54   OemToCharA OemT
16f20 6f 43 68 61 72 3b 0d 0a 2f 2f 20 23 65 6e 64 69  oChar;..// #endi
16f30 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
16f40 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
16f50 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 43 68 61   export BOOL Cha
16f60 72 54 6f 4f 65 6d 42 75 66 66 41 28 0d 0a 20 20  rToOemBuffA(..  
16f70 4c 50 43 53 54 52 20 6c 70 73 7a 53 72 63 2c 0d  LPCSTR lpszSrc,.
16f80 0a 20 20 4c 50 53 54 52 20 6c 70 73 7a 44 73 74  .  LPSTR lpszDst
16f90 2c 0d 0a 20 20 44 57 4f 52 44 20 63 63 68 44 73  ,..  DWORD cchDs
16fa0 74 4c 65 6e 67 74 68 29 3b 0d 0a 65 78 74 65 72  tLength);..exter
16fb0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
16fc0 74 20 42 4f 4f 4c 20 43 68 61 72 54 6f 4f 65 6d  t BOOL CharToOem
16fd0 42 75 66 66 57 28 0d 0a 20 20 4c 50 43 57 53 54  BuffW(..  LPCWST
16fe0 52 20 6c 70 73 7a 53 72 63 2c 0d 0a 20 20 4c 50  R lpszSrc,..  LP
16ff0 53 54 52 20 6c 70 73 7a 44 73 74 2c 0d 0a 20 20  STR lpszDst,..  
17000 44 57 4f 52 44 20 63 63 68 44 73 74 4c 65 6e 67  DWORD cchDstLeng
17010 74 68 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  th);..// #ifdef 
17020 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e  UNICODE..// #...
17030 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
17040 73 20 43 68 61 72 54 6f 4f 65 6d 42 75 66 66 41  s CharToOemBuffA
17050 20 43 68 61 72 54 6f 4f 65 6d 42 75 66 66 3b 0d   CharToOemBuff;.
17060 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
17070 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
17080 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
17090 20 42 4f 4f 4c 20 4f 65 6d 54 6f 43 68 61 72 42   BOOL OemToCharB
170a0 75 66 66 41 28 0d 0a 20 20 4c 50 43 53 54 52 20  uffA(..  LPCSTR 
170b0 6c 70 73 7a 53 72 63 2c 0d 0a 20 20 4c 50 53 54  lpszSrc,..  LPST
170c0 52 20 6c 70 73 7a 44 73 74 2c 0d 0a 20 20 44 57  R lpszDst,..  DW
170d0 4f 52 44 20 63 63 68 44 73 74 4c 65 6e 67 74 68  ORD cchDstLength
170e0 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
170f0 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
17100 4f 65 6d 54 6f 43 68 61 72 42 75 66 66 57 28 0d  OemToCharBuffW(.
17110 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 7a 53 72  .  LPCSTR lpszSr
17120 63 2c 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70 73  c,..  LPWSTR lps
17130 7a 44 73 74 2c 0d 0a 20 20 44 57 4f 52 44 20 63  zDst,..  DWORD c
17140 63 68 44 73 74 4c 65 6e 67 74 68 29 3b 0d 0a 2f  chDstLength);../
17150 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
17160 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
17170 6c 73 65 0d 0a 61 6c 69 61 73 20 4f 65 6d 54 6f  lse..alias OemTo
17180 43 68 61 72 42 75 66 66 41 20 4f 65 6d 54 6f 43  CharBuffA OemToC
17190 68 61 72 42 75 66 66 3b 0d 0a 2f 2f 20 23 65 6e  harBuff;..// #en
171a0 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
171b0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
171c0 73 29 20 65 78 70 6f 72 74 20 4c 50 53 54 52 20  s) export LPSTR 
171d0 43 68 61 72 55 70 70 65 72 41 28 0d 0a 20 20 4c  CharUpperA(..  L
171e0 50 53 54 52 20 6c 70 73 7a 29 3b 0d 0a 65 78 74  PSTR lpsz);..ext
171f0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
17200 6f 72 74 20 4c 50 57 53 54 52 20 43 68 61 72 55  ort LPWSTR CharU
17210 70 70 65 72 57 28 0d 0a 20 20 4c 50 57 53 54 52  pperW(..  LPWSTR
17220 20 6c 70 73 7a 29 3b 0d 0a 2f 2f 20 23 69 66 64   lpsz);..// #ifd
17230 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  ef UNICODE..// #
17240 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
17250 6c 69 61 73 20 43 68 61 72 55 70 70 65 72 41 20  lias CharUpperA 
17260 43 68 61 72 55 70 70 65 72 3b 0d 0a 2f 2f 20 23  CharUpper;..// #
17270 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
17280 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  E....extern(Wind
17290 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52  ows) export DWOR
172a0 44 20 43 68 61 72 55 70 70 65 72 42 75 66 66 41  D CharUpperBuffA
172b0 28 0d 0a 20 20 4c 50 53 54 52 20 6c 70 73 7a 2c  (..  LPSTR lpsz,
172c0 0d 0a 20 20 44 57 4f 52 44 20 63 63 68 4c 65 6e  ..  DWORD cchLen
172d0 67 74 68 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  gth);..extern(Wi
172e0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57  ndows) export DW
172f0 4f 52 44 20 43 68 61 72 55 70 70 65 72 42 75 66  ORD CharUpperBuf
17300 66 57 28 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70  fW(..  LPWSTR lp
17310 73 7a 2c 0d 0a 20 20 44 57 4f 52 44 20 63 63 68  sz,..  DWORD cch
17320 4c 65 6e 67 74 68 29 3b 0d 0a 2f 2f 20 23 69 66  Length);..// #if
17330 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
17340 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
17350 61 6c 69 61 73 20 43 68 61 72 55 70 70 65 72 42  alias CharUpperB
17360 75 66 66 41 20 43 68 61 72 55 70 70 65 72 42 75  uffA CharUpperBu
17370 66 66 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  ff;..// #endif /
17380 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78  / !UNICODE....ex
17390 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
173a0 70 6f 72 74 20 4c 50 53 54 52 20 43 68 61 72 4c  port LPSTR CharL
173b0 6f 77 65 72 41 28 0d 0a 20 20 4c 50 53 54 52 20  owerA(..  LPSTR 
173c0 6c 70 73 7a 29 3b 0d 0a 65 78 74 65 72 6e 28 57  lpsz);..extern(W
173d0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4c  indows) export L
173e0 50 57 53 54 52 20 43 68 61 72 4c 6f 77 65 72 57  PWSTR CharLowerW
173f0 28 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70 73 7a  (..  LPWSTR lpsz
17400 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
17410 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ICODE..// #.....
17420 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
17430 43 68 61 72 4c 6f 77 65 72 41 20 43 68 61 72 4c  CharLowerA CharL
17440 6f 77 65 72 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  ower;..// #endif
17450 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
17460 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
17470 65 78 70 6f 72 74 20 44 57 4f 52 44 20 43 68 61  export DWORD Cha
17480 72 4c 6f 77 65 72 42 75 66 66 41 28 0d 0a 20 20  rLowerBuffA(..  
17490 4c 50 53 54 52 20 6c 70 73 7a 2c 0d 0a 20 20 44  LPSTR lpsz,..  D
174a0 57 4f 52 44 20 63 63 68 4c 65 6e 67 74 68 29 3b  WORD cchLength);
174b0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
174c0 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20 43  ) export DWORD C
174d0 68 61 72 4c 6f 77 65 72 42 75 66 66 57 28 0d 0a  harLowerBuffW(..
174e0 20 20 4c 50 57 53 54 52 20 6c 70 73 7a 2c 0d 0a    LPWSTR lpsz,..
174f0 20 20 44 57 4f 52 44 20 63 63 68 4c 65 6e 67 74    DWORD cchLengt
17500 68 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  h);..// #ifdef U
17510 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
17520 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
17530 20 43 68 61 72 4c 6f 77 65 72 42 75 66 66 41 20   CharLowerBuffA 
17540 43 68 61 72 4c 6f 77 65 72 42 75 66 66 3b 0d 0a  CharLowerBuff;..
17550 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
17560 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
17570 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
17580 4c 50 53 54 52 20 43 68 61 72 4e 65 78 74 41 28  LPSTR CharNextA(
17590 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 7a 29  ..  LPCSTR lpsz)
175a0 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
175b0 73 29 20 65 78 70 6f 72 74 20 4c 50 57 53 54 52  s) export LPWSTR
175c0 20 43 68 61 72 4e 65 78 74 57 28 0d 0a 20 20 4c   CharNextW(..  L
175d0 50 43 57 53 54 52 20 6c 70 73 7a 29 3b 0d 0a 2f  PCWSTR lpsz);../
175e0 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
175f0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
17600 6c 73 65 0d 0a 61 6c 69 61 73 20 43 68 61 72 4e  lse..alias CharN
17610 65 78 74 41 20 43 68 61 72 4e 65 78 74 3b 0d 0a  extA CharNext;..
17620 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
17630 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
17640 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
17650 4c 50 53 54 52 20 43 68 61 72 50 72 65 76 41 28  LPSTR CharPrevA(
17660 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 7a 53  ..  LPCSTR lpszS
17670 74 61 72 74 2c 0d 0a 20 20 4c 50 43 53 54 52 20  tart,..  LPCSTR 
17680 6c 70 73 7a 43 75 72 72 65 6e 74 29 3b 0d 0a 65  lpszCurrent);..e
17690 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
176a0 78 70 6f 72 74 20 4c 50 57 53 54 52 20 43 68 61  xport LPWSTR Cha
176b0 72 50 72 65 76 57 28 0d 0a 20 20 4c 50 43 57 53  rPrevW(..  LPCWS
176c0 54 52 20 6c 70 73 7a 53 74 61 72 74 2c 0d 0a 20  TR lpszStart,.. 
176d0 20 4c 50 43 57 53 54 52 20 6c 70 73 7a 43 75 72   LPCWSTR lpszCur
176e0 72 65 6e 74 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  rent);..// #ifde
176f0 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
17700 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
17710 69 61 73 20 43 68 61 72 50 72 65 76 41 20 43 68  ias CharPrevA Ch
17720 61 72 50 72 65 76 3b 0d 0a 2f 2f 20 23 65 6e 64  arPrev;..// #end
17730 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
17740 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20  ..// #if(WINVER 
17750 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 78 74 65  >= 0x0400)..exte
17760 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
17770 72 74 20 4c 50 53 54 52 20 43 68 61 72 4e 65 78  rt LPSTR CharNex
17780 74 45 78 41 28 0d 0a 20 20 57 4f 52 44 20 43 6f  tExA(..  WORD Co
17790 64 65 50 61 67 65 2c 0d 0a 20 20 4c 50 43 53 54  dePage,..  LPCST
177a0 52 20 6c 70 43 75 72 72 65 6e 74 43 68 61 72 2c  R lpCurrentChar,
177b0 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67  ..  DWORD dwFlag
177c0 73 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  s);....extern(Wi
177d0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4c 50  ndows) export LP
177e0 53 54 52 20 43 68 61 72 50 72 65 76 45 78 41 28  STR CharPrevExA(
177f0 0d 0a 20 20 57 4f 52 44 20 43 6f 64 65 50 61 67  ..  WORD CodePag
17800 65 2c 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 53  e,..  LPCSTR lpS
17810 74 61 72 74 2c 0d 0a 20 20 4c 50 43 53 54 52 20  tart,..  LPCSTR 
17820 6c 70 43 75 72 72 65 6e 74 43 68 61 72 2c 0d 0a  lpCurrentChar,..
17830 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 29    DWORD dwFlags)
17840 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ;..// #endif /* 
17850 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
17860 20 2a 2f 0d 0a 0d 0a 61 6c 69 61 73 20 43 68 61   */....alias Cha
17870 72 54 6f 4f 65 6d 41 20 41 6e 73 69 54 6f 4f 65  rToOemA AnsiToOe
17880 6d 3b 0d 0a 61 6c 69 61 73 20 4f 65 6d 54 6f 43  m;..alias OemToC
17890 68 61 72 41 20 4f 65 6d 54 6f 41 6e 73 69 3b 0d  harA OemToAnsi;.
178a0 0a 61 6c 69 61 73 20 43 68 61 72 54 6f 4f 65 6d  .alias CharToOem
178b0 42 75 66 66 41 20 41 6e 73 69 54 6f 4f 65 6d 42  BuffA AnsiToOemB
178c0 75 66 66 3b 0d 0a 61 6c 69 61 73 20 4f 65 6d 54  uff;..alias OemT
178d0 6f 43 68 61 72 42 75 66 66 41 20 4f 65 6d 54 6f  oCharBuffA OemTo
178e0 41 6e 73 69 42 75 66 66 3b 0d 0a 61 6c 69 61 73  AnsiBuff;..alias
178f0 20 43 68 61 72 55 70 70 65 72 41 20 41 6e 73 69   CharUpperA Ansi
17900 55 70 70 65 72 3b 0d 0a 61 6c 69 61 73 20 43 68  Upper;..alias Ch
17910 61 72 55 70 70 65 72 42 75 66 66 41 20 41 6e 73  arUpperBuffA Ans
17920 69 55 70 70 65 72 42 75 66 66 3b 0d 0a 61 6c 69  iUpperBuff;..ali
17930 61 73 20 43 68 61 72 4c 6f 77 65 72 41 20 41 6e  as CharLowerA An
17940 73 69 4c 6f 77 65 72 3b 0d 0a 61 6c 69 61 73 20  siLower;..alias 
17950 43 68 61 72 4c 6f 77 65 72 42 75 66 66 41 20 41  CharLowerBuffA A
17960 6e 73 69 4c 6f 77 65 72 42 75 66 66 3b 0d 0a 61  nsiLowerBuff;..a
17970 6c 69 61 73 20 43 68 61 72 4e 65 78 74 41 20 41  lias CharNextA A
17980 6e 73 69 4e 65 78 74 3b 0d 0a 61 6c 69 61 73 20  nsiNext;..alias 
17990 43 68 61 72 50 72 65 76 41 20 41 6e 73 69 50 72  CharPrevA AnsiPr
179a0 65 76 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65  ev;....// #ifnde
179b0 66 20 20 4e 4f 4c 41 4e 47 55 41 47 45 0d 0a 0d  f  NOLANGUAGE...
179c0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
179d0 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 73 43   export BOOL IsC
179e0 68 61 72 41 6c 70 68 61 41 28 0d 0a 20 20 43 48  harAlphaA(..  CH
179f0 41 52 20 63 68 29 3b 0d 0a 65 78 74 65 72 6e 28  AR ch);..extern(
17a00 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
17a10 42 4f 4f 4c 20 49 73 43 68 61 72 41 6c 70 68 61  BOOL IsCharAlpha
17a20 57 28 0d 0a 20 20 57 43 48 41 52 20 63 68 29 3b  W(..  WCHAR ch);
17a30 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
17a40 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
17a50 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 49 73   #else..alias Is
17a60 43 68 61 72 41 6c 70 68 61 41 20 49 73 43 68 61  CharAlphaA IsCha
17a70 72 41 6c 70 68 61 3b 0d 0a 2f 2f 20 23 65 6e 64  rAlpha;..// #end
17a80 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
17a90 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
17aa0 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 73  ) export BOOL Is
17ab0 43 68 61 72 41 6c 70 68 61 4e 75 6d 65 72 69 63  CharAlphaNumeric
17ac0 41 28 0d 0a 20 20 43 48 41 52 20 63 68 29 3b 0d  A(..  CHAR ch);.
17ad0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
17ae0 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 73 43   export BOOL IsC
17af0 68 61 72 41 6c 70 68 61 4e 75 6d 65 72 69 63 57  harAlphaNumericW
17b00 28 0d 0a 20 20 57 43 48 41 52 20 63 68 29 3b 0d  (..  WCHAR ch);.
17b10 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
17b20 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  DE..// #.....// 
17b30 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 49 73 43  #else..alias IsC
17b40 68 61 72 41 6c 70 68 61 4e 75 6d 65 72 69 63 41  harAlphaNumericA
17b50 20 49 73 43 68 61 72 41 6c 70 68 61 4e 75 6d 65   IsCharAlphaNume
17b60 72 69 63 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  ric;..// #endif 
17b70 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65  // !UNICODE....e
17b80 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
17b90 78 70 6f 72 74 20 42 4f 4f 4c 20 49 73 43 68 61  xport BOOL IsCha
17ba0 72 55 70 70 65 72 41 28 0d 0a 20 20 43 48 41 52  rUpperA(..  CHAR
17bb0 20 63 68 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69   ch);..extern(Wi
17bc0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
17bd0 4f 4c 20 49 73 43 68 61 72 55 70 70 65 72 57 28  OL IsCharUpperW(
17be0 0d 0a 20 20 57 43 48 41 52 20 63 68 29 3b 0d 0a  ..  WCHAR ch);..
17bf0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
17c00 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
17c10 65 6c 73 65 0d 0a 61 6c 69 61 73 20 49 73 43 68  else..alias IsCh
17c20 61 72 55 70 70 65 72 41 20 49 73 43 68 61 72 55  arUpperA IsCharU
17c30 70 70 65 72 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  pper;..// #endif
17c40 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
17c50 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
17c60 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 73 43 68  export BOOL IsCh
17c70 61 72 4c 6f 77 65 72 41 28 0d 0a 20 20 43 48 41  arLowerA(..  CHA
17c80 52 20 63 68 29 3b 0d 0a 65 78 74 65 72 6e 28 57  R ch);..extern(W
17c90 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
17ca0 4f 4f 4c 20 49 73 43 68 61 72 4c 6f 77 65 72 57  OOL IsCharLowerW
17cb0 28 0d 0a 20 20 57 43 48 41 52 20 63 68 29 3b 0d  (..  WCHAR ch);.
17cc0 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
17cd0 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  DE..// #.....// 
17ce0 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 49 73 43  #else..alias IsC
17cf0 68 61 72 4c 6f 77 65 72 41 20 49 73 43 68 61 72  harLowerA IsChar
17d00 4c 6f 77 65 72 3b 0d 0a 2f 2f 20 23 65 6e 64 69  Lower;..// #endi
17d10 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
17d20 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2a 20 21  .// #endif  /* !
17d30 4e 4f 4c 41 4e 47 55 41 47 45 20 2a 2f 0d 0a 0d  NOLANGUAGE */...
17d40 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
17d50 20 65 78 70 6f 72 74 20 48 57 4e 44 20 53 65 74   export HWND Set
17d60 46 6f 63 75 73 28 0d 0a 20 20 48 57 4e 44 20 68  Focus(..  HWND h
17d70 57 6e 64 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  Wnd);....extern(
17d80 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
17d90 48 57 4e 44 20 47 65 74 41 63 74 69 76 65 57 69  HWND GetActiveWi
17da0 6e 64 6f 77 28 29 3b 0d 0a 0d 0a 65 78 74 65 72  ndow();....exter
17db0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
17dc0 74 20 48 57 4e 44 20 47 65 74 46 6f 63 75 73 28  t HWND GetFocus(
17dd0 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
17de0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 55 49 4e  dows) export UIN
17df0 54 20 47 65 74 4b 42 43 6f 64 65 50 61 67 65 28  T GetKBCodePage(
17e00 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
17e10 64 6f 77 73 29 20 65 78 70 6f 72 74 20 53 48 4f  dows) export SHO
17e20 52 54 20 47 65 74 4b 65 79 53 74 61 74 65 28 0d  RT GetKeyState(.
17e30 0a 20 20 69 6e 74 20 6e 56 69 72 74 4b 65 79 29  .  int nVirtKey)
17e40 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
17e50 6f 77 73 29 20 65 78 70 6f 72 74 20 53 48 4f 52  ows) export SHOR
17e60 54 20 47 65 74 41 73 79 6e 63 4b 65 79 53 74 61  T GetAsyncKeySta
17e70 74 65 28 0d 0a 20 20 69 6e 74 20 76 4b 65 79 29  te(..  int vKey)
17e80 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
17e90 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
17ea0 20 47 65 74 4b 65 79 62 6f 61 72 64 53 74 61 74   GetKeyboardStat
17eb0 65 28 0d 0a 20 20 50 42 59 54 45 20 6c 70 4b 65  e(..  PBYTE lpKe
17ec0 79 53 74 61 74 65 29 3b 0d 0a 0d 0a 65 78 74 65  yState);....exte
17ed0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
17ee0 72 74 20 42 4f 4f 4c 20 53 65 74 4b 65 79 62 6f  rt BOOL SetKeybo
17ef0 61 72 64 53 74 61 74 65 28 0d 0a 20 20 4c 50 42  ardState(..  LPB
17f00 59 54 45 20 6c 70 4b 65 79 53 74 61 74 65 29 3b  YTE lpKeyState);
17f10 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
17f20 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 47  ws) export int G
17f30 65 74 4b 65 79 4e 61 6d 65 54 65 78 74 41 28 0d  etKeyNameTextA(.
17f40 0a 20 20 4c 4f 4e 47 20 6c 50 61 72 61 6d 2c 0d  .  LONG lParam,.
17f50 0a 20 20 4c 50 53 54 52 20 6c 70 53 74 72 69 6e  .  LPSTR lpStrin
17f60 67 2c 0d 0a 20 20 69 6e 74 20 6e 53 69 7a 65 29  g,..  int nSize)
17f70 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
17f80 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 47 65  s) export int Ge
17f90 74 4b 65 79 4e 61 6d 65 54 65 78 74 57 28 0d 0a  tKeyNameTextW(..
17fa0 20 20 4c 4f 4e 47 20 6c 50 61 72 61 6d 2c 0d 0a    LONG lParam,..
17fb0 20 20 4c 50 57 53 54 52 20 6c 70 53 74 72 69 6e    LPWSTR lpStrin
17fc0 67 2c 0d 0a 20 20 69 6e 74 20 6e 53 69 7a 65 29  g,..  int nSize)
17fd0 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
17fe0 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
17ff0 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 47  / #else..alias G
18000 65 74 4b 65 79 4e 61 6d 65 54 65 78 74 41 20 47  etKeyNameTextA G
18010 65 74 4b 65 79 4e 61 6d 65 54 65 78 74 3b 0d 0a  etKeyNameText;..
18020 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
18030 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
18040 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
18050 69 6e 74 20 47 65 74 4b 65 79 62 6f 61 72 64 54  int GetKeyboardT
18060 79 70 65 28 0d 0a 20 20 69 6e 74 20 6e 54 79 70  ype(..  int nTyp
18070 65 46 6c 61 67 29 3b 0d 0a 0d 0a 65 78 74 65 72  eFlag);....exter
18080 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
18090 74 20 69 6e 74 20 54 6f 41 73 63 69 69 28 0d 0a  t int ToAscii(..
180a0 20 20 55 49 4e 54 20 75 56 69 72 74 4b 65 79 2c    UINT uVirtKey,
180b0 0d 0a 20 20 55 49 4e 54 20 75 53 63 61 6e 43 6f  ..  UINT uScanCo
180c0 64 65 2c 0d 0a 20 20 42 59 54 45 20 2a 6c 70 4b  de,..  BYTE *lpK
180d0 65 79 53 74 61 74 65 2c 0d 0a 20 20 4c 50 57 4f  eyState,..  LPWO
180e0 52 44 20 6c 70 43 68 61 72 2c 0d 0a 20 20 55 49  RD lpChar,..  UI
180f0 4e 54 20 75 46 6c 61 67 73 29 3b 0d 0a 0d 0a 2f  NT uFlags);..../
18100 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
18110 30 78 30 34 30 30 29 0d 0a 65 78 74 65 72 6e 28  0x0400)..extern(
18120 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
18130 69 6e 74 20 54 6f 41 73 63 69 69 45 78 28 0d 0a  int ToAsciiEx(..
18140 20 20 55 49 4e 54 20 75 56 69 72 74 4b 65 79 2c    UINT uVirtKey,
18150 0d 0a 20 20 55 49 4e 54 20 75 53 63 61 6e 43 6f  ..  UINT uScanCo
18160 64 65 2c 0d 0a 20 20 42 59 54 45 20 2a 6c 70 4b  de,..  BYTE *lpK
18170 65 79 53 74 61 74 65 2c 0d 0a 20 20 4c 50 57 4f  eyState,..  LPWO
18180 52 44 20 6c 70 43 68 61 72 2c 0d 0a 20 20 55 49  RD lpChar,..  UI
18190 4e 54 20 75 46 6c 61 67 73 2c 0d 0a 20 20 48 4b  NT uFlags,..  HK
181a0 4c 20 64 77 68 6b 6c 29 3b 0d 0a 2f 2f 20 23 65  L dwhkl);..// #e
181b0 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e  ndif /* WINVER >
181c0 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65  = 0x0400 */....e
181d0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
181e0 78 70 6f 72 74 20 69 6e 74 20 54 6f 55 6e 69 63  xport int ToUnic
181f0 6f 64 65 28 0d 0a 20 20 55 49 4e 54 20 77 56 69  ode(..  UINT wVi
18200 72 74 4b 65 79 2c 0d 0a 20 20 55 49 4e 54 20 77  rtKey,..  UINT w
18210 53 63 61 6e 43 6f 64 65 2c 0d 0a 20 20 42 59 54  ScanCode,..  BYT
18220 45 20 2a 6c 70 4b 65 79 53 74 61 74 65 2c 0d 0a  E *lpKeyState,..
18230 20 20 4c 50 57 53 54 52 20 70 77 73 7a 42 75 66    LPWSTR pwszBuf
18240 66 2c 0d 0a 20 20 69 6e 74 20 63 63 68 42 75 66  f,..  int cchBuf
18250 66 2c 0d 0a 20 20 55 49 4e 54 20 77 46 6c 61 67  f,..  UINT wFlag
18260 73 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  s);....extern(Wi
18270 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57  ndows) export DW
18280 4f 52 44 20 4f 65 6d 4b 65 79 53 63 61 6e 28 0d  ORD OemKeyScan(.
18290 0a 20 20 57 4f 52 44 20 77 4f 65 6d 43 68 61 72  .  WORD wOemChar
182a0 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
182b0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 53 48 4f  dows) export SHO
182c0 52 54 20 56 6b 4b 65 79 53 63 61 6e 41 28 0d 0a  RT VkKeyScanA(..
182d0 20 20 43 48 41 52 20 63 68 29 3b 0d 0a 65 78 74    CHAR ch);..ext
182e0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
182f0 6f 72 74 20 53 48 4f 52 54 20 56 6b 4b 65 79 53  ort SHORT VkKeyS
18300 63 61 6e 57 28 0d 0a 20 20 57 43 48 41 52 20 63  canW(..  WCHAR c
18310 68 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  h);..// #ifdef U
18320 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
18330 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
18340 20 56 6b 4b 65 79 53 63 61 6e 41 20 56 6b 4b 65   VkKeyScanA VkKe
18350 79 53 63 61 6e 3b 0d 0a 2f 2f 20 23 65 6e 64 69  yScan;..// #endi
18360 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
18370 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e  .// #if(WINVER >
18380 3d 20 30 78 30 34 30 30 29 0d 0a 65 78 74 65 72  = 0x0400)..exter
18390 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
183a0 74 20 53 48 4f 52 54 20 56 6b 4b 65 79 53 63 61  t SHORT VkKeySca
183b0 6e 45 78 41 28 0d 0a 20 20 43 48 41 52 20 63 68  nExA(..  CHAR ch
183c0 2c 0d 0a 20 20 48 4b 4c 20 64 77 68 6b 6c 29 3b  ,..  HKL dwhkl);
183d0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
183e0 29 20 65 78 70 6f 72 74 20 53 48 4f 52 54 20 56  ) export SHORT V
183f0 6b 4b 65 79 53 63 61 6e 45 78 57 28 0d 0a 20 20  kKeyScanExW(..  
18400 57 43 48 41 52 20 63 68 2c 0d 0a 20 20 48 4b 4c  WCHAR ch,..  HKL
18410 20 64 77 68 6b 6c 29 3b 0d 0a 2f 2f 20 23 69 66   dwhkl);..// #if
18420 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
18430 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
18440 61 6c 69 61 73 20 56 6b 4b 65 79 53 63 61 6e 45  alias VkKeyScanE
18450 78 41 20 56 6b 4b 65 79 53 63 61 6e 45 78 3b 0d  xA VkKeyScanEx;.
18460 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
18470 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 65 6e 64 69  NICODE..// #endi
18480 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
18490 78 30 34 30 30 20 2a 2f 0d 0a 65 6e 75 6d 20 3a  x0400 */..enum :
184a0 20 75 69 6e 74 20 7b 20 4b 45 59 45 56 45 4e 54   uint { KEYEVENT
184b0 46 5f 45 58 54 45 4e 44 45 44 4b 45 59 20 3d 20  F_EXTENDEDKEY = 
184c0 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0001 }..enum :
184d0 20 75 69 6e 74 20 7b 20 4b 45 59 45 56 45 4e 54   uint { KEYEVENT
184e0 46 5f 4b 45 59 55 50 20 3d 20 30 78 30 30 30 32  F_KEYUP = 0x0002
184f0 20 7d 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33   }..// #if(_WIN3
18500 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30  2_WINNT >= 0x050
18510 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
18520 7b 20 4b 45 59 45 56 45 4e 54 46 5f 55 4e 49 43  { KEYEVENTF_UNIC
18530 4f 44 45 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a  ODE = 0x0004 }..
18540 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4b 45  enum : uint { KE
18550 59 45 56 45 4e 54 46 5f 53 43 41 4e 43 4f 44 45  YEVENTF_SCANCODE
18560 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 2f 2f 20   = 0x0008 }..// 
18570 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32  #endif /* _WIN32
18580 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30  _WINNT >= 0x0500
18590 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69   */....extern(Wi
185a0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 56 4f  ndows) export VO
185b0 49 44 20 6b 65 79 62 64 5f 65 76 65 6e 74 28 0d  ID keybd_event(.
185c0 0a 20 20 42 59 54 45 20 62 56 6b 2c 0d 0a 20 20  .  BYTE bVk,..  
185d0 42 59 54 45 20 62 53 63 61 6e 2c 0d 0a 20 20 44  BYTE bScan,..  D
185e0 57 4f 52 44 20 64 77 46 6c 61 67 73 2c 0d 0a 20  WORD dwFlags,.. 
185f0 20 55 4c 4f 4e 47 5f 50 54 52 20 64 77 45 78 74   ULONG_PTR dwExt
18600 72 61 49 6e 66 6f 29 3b 0d 0a 0d 0a 65 6e 75 6d  raInfo);....enum
18610 20 3a 20 75 69 6e 74 20 7b 20 4d 4f 55 53 45 45   : uint { MOUSEE
18620 56 45 4e 54 46 5f 4d 4f 56 45 20 3d 20 30 78 30  VENTF_MOVE = 0x0
18630 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
18640 6e 74 20 7b 20 4d 4f 55 53 45 45 56 45 4e 54 46  nt { MOUSEEVENTF
18650 5f 4c 45 46 54 44 4f 57 4e 20 3d 20 30 78 30 30  _LEFTDOWN = 0x00
18660 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
18670 74 20 7b 20 4d 4f 55 53 45 45 56 45 4e 54 46 5f  t { MOUSEEVENTF_
18680 4c 45 46 54 55 50 20 3d 20 30 78 30 30 30 34 20  LEFTUP = 0x0004 
18690 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
186a0 20 4d 4f 55 53 45 45 56 45 4e 54 46 5f 52 49 47   MOUSEEVENTF_RIG
186b0 48 54 44 4f 57 4e 20 3d 20 30 78 30 30 30 38 20  HTDOWN = 0x0008 
186c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
186d0 20 4d 4f 55 53 45 45 56 45 4e 54 46 5f 52 49 47   MOUSEEVENTF_RIG
186e0 48 54 55 50 20 3d 20 30 78 30 30 31 30 20 7d 0d  HTUP = 0x0010 }.
186f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
18700 4f 55 53 45 45 56 45 4e 54 46 5f 4d 49 44 44 4c  OUSEEVENTF_MIDDL
18710 45 44 4f 57 4e 20 3d 20 30 78 30 30 32 30 20 7d  EDOWN = 0x0020 }
18720 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
18730 4d 4f 55 53 45 45 56 45 4e 54 46 5f 4d 49 44 44  MOUSEEVENTF_MIDD
18740 4c 45 55 50 20 3d 20 30 78 30 30 34 30 20 7d 0d  LEUP = 0x0040 }.
18750 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
18760 4f 55 53 45 45 56 45 4e 54 46 5f 58 44 4f 57 4e  OUSEEVENTF_XDOWN
18770 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e 75   = 0x0080 }..enu
18780 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4f 55 53 45  m : uint { MOUSE
18790 45 56 45 4e 54 46 5f 58 55 50 20 3d 20 30 78 30  EVENTF_XUP = 0x0
187a0 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  100 }..enum : ui
187b0 6e 74 20 7b 20 4d 4f 55 53 45 45 56 45 4e 54 46  nt { MOUSEEVENTF
187c0 5f 57 48 45 45 4c 20 3d 20 30 78 30 38 30 30 20  _WHEEL = 0x0800 
187d0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
187e0 20 4d 4f 55 53 45 45 56 45 4e 54 46 5f 56 49 52   MOUSEEVENTF_VIR
187f0 54 55 41 4c 44 45 53 4b 20 3d 20 30 78 34 30 30  TUALDESK = 0x400
18800 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
18810 20 7b 20 4d 4f 55 53 45 45 56 45 4e 54 46 5f 41   { MOUSEEVENTF_A
18820 42 53 4f 4c 55 54 45 20 3d 20 30 78 38 30 30 30  BSOLUTE = 0x8000
18830 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e   }....extern(Win
18840 64 6f 77 73 29 20 65 78 70 6f 72 74 20 56 4f 49  dows) export VOI
18850 44 20 6d 6f 75 73 65 5f 65 76 65 6e 74 28 0d 0a  D mouse_event(..
18860 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 2c    DWORD dwFlags,
18870 0d 0a 20 20 44 57 4f 52 44 20 64 78 2c 0d 0a 20  ..  DWORD dx,.. 
18880 20 44 57 4f 52 44 20 64 79 2c 0d 0a 20 20 44 57   DWORD dy,..  DW
18890 4f 52 44 20 64 77 44 61 74 61 2c 0d 0a 20 20 55  ORD dwData,..  U
188a0 4c 4f 4e 47 5f 50 54 52 20 64 77 45 78 74 72 61  LONG_PTR dwExtra
188b0 49 6e 66 6f 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  Info);....// #if
188c0 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e   (_WIN32_WINNT >
188d0 20 30 78 30 34 30 30 29 0d 0a 0d 0a 73 74 72 75   0x0400)....stru
188e0 63 74 20 74 61 67 4d 4f 55 53 45 49 4e 50 55 54  ct tagMOUSEINPUT
188f0 20 7b 0d 0a 20 20 4c 4f 4e 47 20 64 78 3b 0d 0a   {..  LONG dx;..
18900 20 20 4c 4f 4e 47 20 64 79 3b 0d 0a 20 20 44 57    LONG dy;..  DW
18910 4f 52 44 20 6d 6f 75 73 65 44 61 74 61 3b 0d 0a  ORD mouseData;..
18920 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b    DWORD dwFlags;
18930 0d 0a 20 20 44 57 4f 52 44 20 74 69 6d 65 3b 0d  ..  DWORD time;.
18940 0a 20 20 55 4c 4f 4e 47 5f 50 54 52 20 64 77 45  .  ULONG_PTR dwE
18950 78 74 72 61 49 6e 66 6f 3b 0d 0a 7d 0d 0a 61 6c  xtraInfo;..}..al
18960 69 61 73 20 74 61 67 4d 4f 55 53 45 49 4e 50 55  ias tagMOUSEINPU
18970 54 20 4d 4f 55 53 45 49 4e 50 55 54 3b 0d 0a 61  T MOUSEINPUT;..a
18980 6c 69 61 73 20 74 61 67 4d 4f 55 53 45 49 4e 50  lias tagMOUSEINP
18990 55 54 2a 20 50 4d 4f 55 53 45 49 4e 50 55 54 3b  UT* PMOUSEINPUT;
189a0 0d 0a 61 6c 69 61 73 20 74 61 67 4d 4f 55 53 45  ..alias tagMOUSE
189b0 49 4e 50 55 54 2a 20 4c 50 4d 4f 55 53 45 49 4e  INPUT* LPMOUSEIN
189c0 50 55 54 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74  PUT;....struct t
189d0 61 67 4b 45 59 42 44 49 4e 50 55 54 20 7b 0d 0a  agKEYBDINPUT {..
189e0 20 20 57 4f 52 44 20 77 56 6b 3b 0d 0a 20 20 57    WORD wVk;..  W
189f0 4f 52 44 20 77 53 63 61 6e 3b 0d 0a 20 20 44 57  ORD wScan;..  DW
18a00 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a 20 20  ORD dwFlags;..  
18a10 44 57 4f 52 44 20 74 69 6d 65 3b 0d 0a 20 20 55  DWORD time;..  U
18a20 4c 4f 4e 47 5f 50 54 52 20 64 77 45 78 74 72 61  LONG_PTR dwExtra
18a30 49 6e 66 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  Info;..}..alias 
18a40 74 61 67 4b 45 59 42 44 49 4e 50 55 54 20 4b 45  tagKEYBDINPUT KE
18a50 59 42 44 49 4e 50 55 54 3b 0d 0a 61 6c 69 61 73  YBDINPUT;..alias
18a60 20 74 61 67 4b 45 59 42 44 49 4e 50 55 54 2a 20   tagKEYBDINPUT* 
18a70 50 4b 45 59 42 44 49 4e 50 55 54 3b 0d 0a 61 6c  PKEYBDINPUT;..al
18a80 69 61 73 20 74 61 67 4b 45 59 42 44 49 4e 50 55  ias tagKEYBDINPU
18a90 54 2a 20 4c 50 4b 45 59 42 44 49 4e 50 55 54 3b  T* LPKEYBDINPUT;
18aa0 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 48 41  ....struct tagHA
18ab0 52 44 57 41 52 45 49 4e 50 55 54 20 7b 0d 0a 20  RDWAREINPUT {.. 
18ac0 20 44 57 4f 52 44 20 75 4d 73 67 3b 0d 0a 20 20   DWORD uMsg;..  
18ad0 57 4f 52 44 20 77 50 61 72 61 6d 4c 3b 0d 0a 20  WORD wParamL;.. 
18ae0 20 57 4f 52 44 20 77 50 61 72 61 6d 48 3b 0d 0a   WORD wParamH;..
18af0 7d 0d 0a 61 6c 69 61 73 20 74 61 67 48 41 52 44  }..alias tagHARD
18b00 57 41 52 45 49 4e 50 55 54 20 48 41 52 44 57 41  WAREINPUT HARDWA
18b10 52 45 49 4e 50 55 54 3b 0d 0a 61 6c 69 61 73 20  REINPUT;..alias 
18b20 74 61 67 48 41 52 44 57 41 52 45 49 4e 50 55 54  tagHARDWAREINPUT
18b30 2a 20 50 48 41 52 44 57 41 52 45 49 4e 50 55 54  * PHARDWAREINPUT
18b40 3b 0d 0a 61 6c 69 61 73 20 74 61 67 48 41 52 44  ;..alias tagHARD
18b50 57 41 52 45 49 4e 50 55 54 2a 20 4c 50 48 41 52  WAREINPUT* LPHAR
18b60 44 57 41 52 45 49 4e 50 55 54 3b 0d 0a 0d 0a 65  DWAREINPUT;....e
18b70 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4e 50  num : uint { INP
18b80 55 54 5f 4d 4f 55 53 45 20 3d 20 30 20 7d 0d 0a  UT_MOUSE = 0 }..
18b90 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4e  enum : uint { IN
18ba0 50 55 54 5f 4b 45 59 42 4f 41 52 44 20 3d 20 31  PUT_KEYBOARD = 1
18bb0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
18bc0 7b 20 49 4e 50 55 54 5f 48 41 52 44 57 41 52 45  { INPUT_HARDWARE
18bd0 20 3d 20 32 20 7d 0d 0a 0d 0a 73 74 72 75 63 74   = 2 }....struct
18be0 20 74 61 67 49 4e 50 55 54 20 7b 0d 0a 20 20 44   tagINPUT {..  D
18bf0 57 4f 52 44 20 74 79 70 65 3b 0d 0a 75 6e 69 6f  WORD type;..unio
18c00 6e 20 7b 0d 0a 20 20 4d 4f 55 53 45 49 4e 50 55  n {..  MOUSEINPU
18c10 54 20 6d 69 3b 0d 0a 20 20 4b 45 59 42 44 49 4e  T mi;..  KEYBDIN
18c20 50 55 54 20 6b 69 3b 0d 0a 20 20 48 41 52 44 57  PUT ki;..  HARDW
18c30 41 52 45 49 4e 50 55 54 20 68 69 3b 0d 0a 7d 0d  AREINPUT hi;..}.
18c40 0a 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 49  ...}..alias tagI
18c50 4e 50 55 54 20 49 4e 50 55 54 3b 0d 0a 61 6c 69  NPUT INPUT;..ali
18c60 61 73 20 74 61 67 49 4e 50 55 54 2a 20 50 49 4e  as tagINPUT* PIN
18c70 50 55 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67 49  PUT;..alias tagI
18c80 4e 50 55 54 2a 20 4c 50 49 4e 50 55 54 3b 0d 0a  NPUT* LPINPUT;..
18c90 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
18ca0 29 20 65 78 70 6f 72 74 20 55 49 4e 54 20 53 65  ) export UINT Se
18cb0 6e 64 49 6e 70 75 74 28 0d 0a 20 20 55 49 4e 54  ndInput(..  UINT
18cc0 20 63 49 6e 70 75 74 73 2c 20 2f 2f 20 6e 75 6d   cInputs, // num
18cd0 62 65 72 20 6f 66 20 69 6e 70 75 74 20 69 6e 20  ber of input in 
18ce0 74 68 65 20 61 72 72 61 79 0d 0a 20 20 4c 50 49  the array..  LPI
18cf0 4e 50 55 54 20 70 49 6e 70 75 74 73 2c 20 2f 2f  NPUT pInputs, //
18d00 20 61 72 72 61 79 20 6f 66 20 69 6e 70 75 74 73   array of inputs
18d10 0d 0a 20 20 69 6e 74 20 63 62 53 69 7a 65 29 3b  ..  int cbSize);
18d20 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
18d30 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e   (_WIN32_WINNT >
18d40 20 30 78 30 34 30 30 29 0d 0a 0d 0a 2f 2f 20 23   0x0400)....// #
18d50 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  if(_WIN32_WINNT 
18d60 3e 3d 20 30 78 30 35 30 30 29 0d 0a 73 74 72 75  >= 0x0500)..stru
18d70 63 74 20 74 61 67 4c 41 53 54 49 4e 50 55 54 49  ct tagLASTINPUTI
18d80 4e 46 4f 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62  NFO {..  UINT cb
18d90 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64  Size;..  DWORD d
18da0 77 54 69 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  wTime;..}..alias
18db0 20 74 61 67 4c 41 53 54 49 4e 50 55 54 49 4e 46   tagLASTINPUTINF
18dc0 4f 20 4c 41 53 54 49 4e 50 55 54 49 4e 46 4f 3b  O LASTINPUTINFO;
18dd0 0d 0a 61 6c 69 61 73 20 74 61 67 4c 41 53 54 49  ..alias tagLASTI
18de0 4e 50 55 54 49 4e 46 4f 2a 20 50 4c 41 53 54 49  NPUTINFO* PLASTI
18df0 4e 50 55 54 49 4e 46 4f 3b 0d 0a 0d 0a 65 78 74  NPUTINFO;....ext
18e00 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
18e10 6f 72 74 20 42 4f 4f 4c 20 47 65 74 4c 61 73 74  ort BOOL GetLast
18e20 49 6e 70 75 74 49 6e 66 6f 28 0d 0a 20 20 50 4c  InputInfo(..  PL
18e30 41 53 54 49 4e 50 55 54 49 4e 46 4f 20 70 6c 69  ASTINPUTINFO pli
18e40 69 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  i);..// #endif /
18e50 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e  * _WIN32_WINNT >
18e60 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 65  = 0x0500 */....e
18e70 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
18e80 78 70 6f 72 74 20 55 49 4e 54 20 4d 61 70 56 69  xport UINT MapVi
18e90 72 74 75 61 6c 4b 65 79 41 28 0d 0a 20 20 55 49  rtualKeyA(..  UI
18ea0 4e 54 20 75 43 6f 64 65 2c 0d 0a 20 20 55 49 4e  NT uCode,..  UIN
18eb0 54 20 75 4d 61 70 54 79 70 65 29 3b 0d 0a 65 78  T uMapType);..ex
18ec0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
18ed0 70 6f 72 74 20 55 49 4e 54 20 4d 61 70 56 69 72  port UINT MapVir
18ee0 74 75 61 6c 4b 65 79 57 28 0d 0a 20 20 55 49 4e  tualKeyW(..  UIN
18ef0 54 20 75 43 6f 64 65 2c 0d 0a 20 20 55 49 4e 54  T uCode,..  UINT
18f00 20 75 4d 61 70 54 79 70 65 29 3b 0d 0a 2f 2f 20   uMapType);..// 
18f10 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
18f20 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
18f30 65 0d 0a 61 6c 69 61 73 20 4d 61 70 56 69 72 74  e..alias MapVirt
18f40 75 61 6c 4b 65 79 41 20 4d 61 70 56 69 72 74 75  ualKeyA MapVirtu
18f50 61 6c 4b 65 79 3b 0d 0a 2f 2f 20 23 65 6e 64 69  alKey;..// #endi
18f60 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
18f70 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e  .// #if(WINVER >
18f80 3d 20 30 78 30 34 30 30 29 0d 0a 65 78 74 65 72  = 0x0400)..exter
18f90 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
18fa0 74 20 55 49 4e 54 20 4d 61 70 56 69 72 74 75 61  t UINT MapVirtua
18fb0 6c 4b 65 79 45 78 41 28 0d 0a 20 20 55 49 4e 54  lKeyExA(..  UINT
18fc0 20 75 43 6f 64 65 2c 0d 0a 20 20 55 49 4e 54 20   uCode,..  UINT 
18fd0 75 4d 61 70 54 79 70 65 2c 0d 0a 20 20 48 4b 4c  uMapType,..  HKL
18fe0 20 64 77 68 6b 6c 29 3b 0d 0a 65 78 74 65 72 6e   dwhkl);..extern
18ff0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
19000 20 55 49 4e 54 20 4d 61 70 56 69 72 74 75 61 6c   UINT MapVirtual
19010 4b 65 79 45 78 57 28 0d 0a 20 20 55 49 4e 54 20  KeyExW(..  UINT 
19020 75 43 6f 64 65 2c 0d 0a 20 20 55 49 4e 54 20 75  uCode,..  UINT u
19030 4d 61 70 54 79 70 65 2c 0d 0a 20 20 48 4b 4c 20  MapType,..  HKL 
19040 64 77 68 6b 6c 29 3b 0d 0a 2f 2f 20 23 69 66 64  dwhkl);..// #ifd
19050 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  ef UNICODE..// #
19060 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
19070 6c 69 61 73 20 4d 61 70 56 69 72 74 75 61 6c 4b  lias MapVirtualK
19080 65 79 45 78 41 20 4d 61 70 56 69 72 74 75 61 6c  eyExA MapVirtual
19090 4b 65 79 45 78 3b 0d 0a 2f 2f 20 23 65 6e 64 69  KeyEx;..// #endi
190a0 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 2f  f // !UNICODE../
190b0 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
190c0 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  ER >= 0x0400 */.
190d0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
190e0 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47  s) export BOOL G
190f0 65 74 49 6e 70 75 74 53 74 61 74 65 28 29 3b 0d  etInputState();.
19100 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
19110 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20  s) export DWORD 
19120 47 65 74 51 75 65 75 65 53 74 61 74 75 73 28 0d  GetQueueStatus(.
19130 0a 20 20 55 49 4e 54 20 66 6c 61 67 73 29 3b 0d  .  UINT flags);.
19140 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
19150 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20 47  s) export HWND G
19160 65 74 43 61 70 74 75 72 65 28 29 3b 0d 0a 0d 0a  etCapture();....
19170 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
19180 65 78 70 6f 72 74 20 48 57 4e 44 20 53 65 74 43  export HWND SetC
19190 61 70 74 75 72 65 28 0d 0a 20 20 48 57 4e 44 20  apture(..  HWND 
191a0 68 57 6e 64 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  hWnd);....extern
191b0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
191c0 20 42 4f 4f 4c 20 52 65 6c 65 61 73 65 43 61 70   BOOL ReleaseCap
191d0 74 75 72 65 28 29 3b 0d 0a 0d 0a 65 78 74 65 72  ture();....exter
191e0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
191f0 74 20 44 57 4f 52 44 20 4d 73 67 57 61 69 74 46  t DWORD MsgWaitF
19200 6f 72 4d 75 6c 74 69 70 6c 65 4f 62 6a 65 63 74  orMultipleObject
19210 73 28 0d 0a 20 20 44 57 4f 52 44 20 6e 43 6f 75  s(..  DWORD nCou
19220 6e 74 2c 0d 0a 20 20 48 41 4e 44 4c 45 20 2a 70  nt,..  HANDLE *p
19230 48 61 6e 64 6c 65 73 2c 0d 0a 20 20 42 4f 4f 4c  Handles,..  BOOL
19240 20 66 57 61 69 74 41 6c 6c 2c 0d 0a 20 20 44 57   fWaitAll,..  DW
19250 4f 52 44 20 64 77 4d 69 6c 6c 69 73 65 63 6f 6e  ORD dwMillisecon
19260 64 73 2c 0d 0a 20 20 44 57 4f 52 44 20 64 77 57  ds,..  DWORD dwW
19270 61 6b 65 4d 61 73 6b 29 3b 0d 0a 0d 0a 65 78 74  akeMask);....ext
19280 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
19290 6f 72 74 20 44 57 4f 52 44 20 4d 73 67 57 61 69  ort DWORD MsgWai
192a0 74 46 6f 72 4d 75 6c 74 69 70 6c 65 4f 62 6a 65  tForMultipleObje
192b0 63 74 73 45 78 28 0d 0a 20 20 44 57 4f 52 44 20  ctsEx(..  DWORD 
192c0 6e 43 6f 75 6e 74 2c 0d 0a 20 20 48 41 4e 44 4c  nCount,..  HANDL
192d0 45 20 2a 70 48 61 6e 64 6c 65 73 2c 0d 0a 20 20  E *pHandles,..  
192e0 44 57 4f 52 44 20 64 77 4d 69 6c 6c 69 73 65 63  DWORD dwMillisec
192f0 6f 6e 64 73 2c 0d 0a 20 20 44 57 4f 52 44 20 64  onds,..  DWORD d
19300 77 57 61 6b 65 4d 61 73 6b 2c 0d 0a 20 20 44 57  wWakeMask,..  DW
19310 4f 52 44 20 64 77 46 6c 61 67 73 29 3b 0d 0a 0d  ORD dwFlags);...
19320 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
19330 57 4d 4f 5f 57 41 49 54 41 4c 4c 20 3d 20 30 78  WMO_WAITALL = 0x
19340 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
19350 69 6e 74 20 7b 20 4d 57 4d 4f 5f 41 4c 45 52 54  int { MWMO_ALERT
19360 41 42 4c 45 20 3d 20 30 78 30 30 30 32 20 7d 0d  ABLE = 0x0002 }.
19370 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
19380 57 4d 4f 5f 49 4e 50 55 54 41 56 41 49 4c 41 42  WMO_INPUTAVAILAB
19390 4c 45 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 0d  LE = 0x0004 }...
193a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 51  .enum : uint { Q
193b0 53 5f 4b 45 59 20 3d 20 30 78 30 30 30 31 20 7d  S_KEY = 0x0001 }
193c0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
193d0 51 53 5f 4d 4f 55 53 45 4d 4f 56 45 20 3d 20 30  QS_MOUSEMOVE = 0
193e0 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0002 }..enum : 
193f0 75 69 6e 74 20 7b 20 51 53 5f 4d 4f 55 53 45 42  uint { QS_MOUSEB
19400 55 54 54 4f 4e 20 3d 20 30 78 30 30 30 34 20 7d  UTTON = 0x0004 }
19410 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 51 53 5f  ..// #define QS_
19420 50 4f 53 54 4d 45 53 53 41 47 45 20 30 78 30 30  POSTMESSAGE 0x00
19430 30 38 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 51  08..// #define Q
19440 53 5f 54 49 4d 45 52 20 30 78 30 30 31 30 0d 0a  S_TIMER 0x0010..
19450 2f 2f 20 23 64 65 66 69 6e 65 20 51 53 5f 50 41  // #define QS_PA
19460 49 4e 54 20 30 78 30 30 32 30 0d 0a 2f 2f 20 23  INT 0x0020..// #
19470 64 65 66 69 6e 65 20 51 53 5f 53 45 4e 44 4d 45  define QS_SENDME
19480 53 53 41 47 45 20 30 78 30 30 34 30 0d 0a 2f 2f  SSAGE 0x0040..//
19490 20 23 64 65 66 69 6e 65 20 51 53 5f 48 4f 54 4b   #define QS_HOTK
194a0 45 59 20 30 78 30 30 38 30 0d 0a 65 6e 75 6d 20  EY 0x0080..enum 
194b0 3a 20 75 69 6e 74 20 7b 20 51 53 5f 41 4c 4c 50  : uint { QS_ALLP
194c0 4f 53 54 4d 45 53 53 41 47 45 20 3d 20 30 78 30  OSTMESSAGE = 0x0
194d0 31 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 5f 57  100 }..// #if(_W
194e0 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
194f0 30 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0501)..enum : ui
19500 6e 74 20 7b 20 51 53 5f 52 41 57 49 4e 50 55 54  nt { QS_RAWINPUT
19510 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a 2f 2f 20   = 0x0400 }..// 
19520 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32  #endif /* _WIN32
19530 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31  _WINNT >= 0x0501
19540 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   */....enum : ui
19550 6e 74 20 7b 20 51 53 5f 4d 4f 55 53 45 20 3d 20  nt { QS_MOUSE = 
19560 51 53 5f 4d 4f 55 53 45 4d 4f 56 45 20 7c 20 51  QS_MOUSEMOVE | Q
19570 53 5f 4d 4f 55 53 45 42 55 54 54 4f 4e 20 7d 0d  S_MOUSEBUTTON }.
19580 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
19590 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30  2_WINNT >= 0x050
195a0 31 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 51  1)..// #define Q
195b0 53 5f 49 4e 50 55 54 20 28 51 53 5f 4d 4f 55 53  S_INPUT (QS_MOUS
195c0 45 20 7c 20 51 53 5f 4b 45 59 20 7c 20 51 53 5f  E | QS_KEY | QS_
195d0 52 41 57 49 4e 50 55 54 29 0d 0a 2f 2f 20 23 65  RAWINPUT)..// #e
195e0 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
195f0 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20   .....// #endif 
19600 2f 2f 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  // (_WIN32_WINNT
19610 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 0d 0a 65   >= 0x0501)....e
19620 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 51 53 5f  num : uint { QS_
19630 41 4c 4c 45 56 45 4e 54 53 20 3d 20 51 53 5f 49  ALLEVENTS = QS_I
19640 4e 50 55 54 20 7c 20 51 53 5f 50 4f 53 54 4d 45  NPUT | QS_POSTME
19650 53 53 41 47 45 20 7c 20 51 53 5f 54 49 4d 45 52  SSAGE | QS_TIMER
19660 20 7c 20 51 53 5f 50 41 49 4e 54 20 7c 20 51 53   | QS_PAINT | QS
19670 5f 48 4f 54 4b 45 59 20 7d 0d 0a 0d 0a 65 6e 75  _HOTKEY }....enu
19680 6d 20 3a 20 75 69 6e 74 20 7b 20 51 53 5f 41 4c  m : uint { QS_AL
19690 4c 49 4e 50 55 54 20 3d 20 51 53 5f 49 4e 50 55  LINPUT = QS_INPU
196a0 54 20 7c 20 51 53 5f 50 4f 53 54 4d 45 53 53 41  T | QS_POSTMESSA
196b0 47 45 20 7c 20 51 53 5f 54 49 4d 45 52 20 7c 20  GE | QS_TIMER | 
196c0 51 53 5f 50 41 49 4e 54 20 7c 20 51 53 5f 48 4f  QS_PAINT | QS_HO
196d0 54 4b 45 59 20 7c 20 51 53 5f 53 45 4e 44 4d 45  TKEY | QS_SENDME
196e0 53 53 41 47 45 20 7d 0d 0a 0d 0a 65 78 74 65 72  SSAGE }....exter
196f0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
19700 74 20 55 49 4e 54 5f 50 54 52 20 53 65 74 54 69  t UINT_PTR SetTi
19710 6d 65 72 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  mer(..  HWND hWn
19720 64 2c 0d 0a 20 20 55 49 4e 54 5f 50 54 52 20 6e  d,..  UINT_PTR n
19730 49 44 45 76 65 6e 74 2c 0d 0a 20 20 55 49 4e 54  IDEvent,..  UINT
19740 20 75 45 6c 61 70 73 65 2c 0d 0a 20 20 54 49 4d   uElapse,..  TIM
19750 45 52 50 52 4f 43 20 6c 70 54 69 6d 65 72 46 75  ERPROC lpTimerFu
19760 6e 63 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  nc);....extern(W
19770 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
19780 4f 4f 4c 20 4b 69 6c 6c 54 69 6d 65 72 28 0d 0a  OOL KillTimer(..
19790 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20    HWND hWnd,..  
197a0 55 49 4e 54 5f 50 54 52 20 75 49 44 45 76 65 6e  UINT_PTR uIDEven
197b0 74 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  t);....extern(Wi
197c0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
197d0 4f 4c 20 49 73 57 69 6e 64 6f 77 55 6e 69 63 6f  OL IsWindowUnico
197e0 64 65 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  de(..  HWND hWnd
197f0 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
19800 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
19810 4c 20 45 6e 61 62 6c 65 57 69 6e 64 6f 77 28 0d  L EnableWindow(.
19820 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20  .  HWND hWnd,.. 
19830 20 42 4f 4f 4c 20 62 45 6e 61 62 6c 65 29 3b 0d   BOOL bEnable);.
19840 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
19850 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49  s) export BOOL I
19860 73 57 69 6e 64 6f 77 45 6e 61 62 6c 65 64 28 0d  sWindowEnabled(.
19870 0a 20 20 48 57 4e 44 20 68 57 6e 64 29 3b 0d 0a  .  HWND hWnd);..
19880 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
19890 29 20 65 78 70 6f 72 74 20 48 41 43 43 45 4c 20  ) export HACCEL 
198a0 4c 6f 61 64 41 63 63 65 6c 65 72 61 74 6f 72 73  LoadAccelerators
198b0 41 28 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20  A(..  HINSTANCE 
198c0 68 49 6e 73 74 61 6e 63 65 2c 0d 0a 20 20 4c 50  hInstance,..  LP
198d0 43 53 54 52 20 6c 70 54 61 62 6c 65 4e 61 6d 65  CSTR lpTableName
198e0 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
198f0 77 73 29 20 65 78 70 6f 72 74 20 48 41 43 43 45  ws) export HACCE
19900 4c 20 4c 6f 61 64 41 63 63 65 6c 65 72 61 74 6f  L LoadAccelerato
19910 72 73 57 28 0d 0a 20 20 48 49 4e 53 54 41 4e 43  rsW(..  HINSTANC
19920 45 20 68 49 6e 73 74 61 6e 63 65 2c 0d 0a 20 20  E hInstance,..  
19930 4c 50 43 57 53 54 52 20 6c 70 54 61 62 6c 65 4e  LPCWSTR lpTableN
19940 61 6d 65 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  ame);..// #ifdef
19950 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e   UNICODE..// #..
19960 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
19970 61 73 20 4c 6f 61 64 41 63 63 65 6c 65 72 61 74  as LoadAccelerat
19980 6f 72 73 41 20 4c 6f 61 64 41 63 63 65 6c 65 72  orsA LoadAcceler
19990 61 74 6f 72 73 3b 0d 0a 2f 2f 20 23 65 6e 64 69  ators;..// #endi
199a0 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
199b0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
199c0 20 65 78 70 6f 72 74 20 48 41 43 43 45 4c 20 43   export HACCEL C
199d0 72 65 61 74 65 41 63 63 65 6c 65 72 61 74 6f 72  reateAccelerator
199e0 54 61 62 6c 65 41 28 0d 0a 20 20 4c 50 41 43 43  TableA(..  LPACC
199f0 45 4c 2c 20 69 6e 74 29 3b 0d 0a 65 78 74 65 72  EL, int);..exter
19a00 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
19a10 74 20 48 41 43 43 45 4c 20 43 72 65 61 74 65 41  t HACCEL CreateA
19a20 63 63 65 6c 65 72 61 74 6f 72 54 61 62 6c 65 57  cceleratorTableW
19a30 28 0d 0a 20 20 4c 50 41 43 43 45 4c 2c 20 69 6e  (..  LPACCEL, in
19a40 74 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  t);..// #ifdef U
19a50 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
19a60 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
19a70 20 43 72 65 61 74 65 41 63 63 65 6c 65 72 61 74   CreateAccelerat
19a80 6f 72 54 61 62 6c 65 41 20 43 72 65 61 74 65 41  orTableA CreateA
19a90 63 63 65 6c 65 72 61 74 6f 72 54 61 62 6c 65 3b  cceleratorTable;
19aa0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
19ab0 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
19ac0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
19ad0 74 20 42 4f 4f 4c 20 44 65 73 74 72 6f 79 41 63  t BOOL DestroyAc
19ae0 63 65 6c 65 72 61 74 6f 72 54 61 62 6c 65 28 0d  celeratorTable(.
19af0 0a 20 20 48 41 43 43 45 4c 20 68 41 63 63 65 6c  .  HACCEL hAccel
19b00 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
19b10 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74  dows) export int
19b20 20 43 6f 70 79 41 63 63 65 6c 65 72 61 74 6f 72   CopyAccelerator
19b30 54 61 62 6c 65 41 28 0d 0a 20 20 48 41 43 43 45  TableA(..  HACCE
19b40 4c 20 68 41 63 63 65 6c 53 72 63 2c 0d 0a 20 20  L hAccelSrc,..  
19b50 4c 50 41 43 43 45 4c 20 6c 70 41 63 63 65 6c 44  LPACCEL lpAccelD
19b60 73 74 2c 0d 0a 20 20 69 6e 74 20 63 41 63 63 65  st,..  int cAcce
19b70 6c 45 6e 74 72 69 65 73 29 3b 0d 0a 65 78 74 65  lEntries);..exte
19b80 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
19b90 72 74 20 69 6e 74 20 43 6f 70 79 41 63 63 65 6c  rt int CopyAccel
19ba0 65 72 61 74 6f 72 54 61 62 6c 65 57 28 0d 0a 20  eratorTableW(.. 
19bb0 20 48 41 43 43 45 4c 20 68 41 63 63 65 6c 53 72   HACCEL hAccelSr
19bc0 63 2c 0d 0a 20 20 4c 50 41 43 43 45 4c 20 6c 70  c,..  LPACCEL lp
19bd0 41 63 63 65 6c 44 73 74 2c 0d 0a 20 20 69 6e 74  AccelDst,..  int
19be0 20 63 41 63 63 65 6c 45 6e 74 72 69 65 73 29 3b   cAccelEntries);
19bf0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
19c00 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
19c10 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 43 6f   #else..alias Co
19c20 70 79 41 63 63 65 6c 65 72 61 74 6f 72 54 61 62  pyAcceleratorTab
19c30 6c 65 41 20 43 6f 70 79 41 63 63 65 6c 65 72 61  leA CopyAccelera
19c40 74 6f 72 54 61 62 6c 65 3b 0d 0a 2f 2f 20 23 65  torTable;..// #e
19c50 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
19c60 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e  ....// #ifndef N
19c70 4f 4d 53 47 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  OMSG....extern(W
19c80 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69  indows) export i
19c90 6e 74 20 54 72 61 6e 73 6c 61 74 65 41 63 63 65  nt TranslateAcce
19ca0 6c 65 72 61 74 6f 72 41 28 0d 0a 20 20 48 57 4e  leratorA(..  HWN
19cb0 44 20 68 57 6e 64 2c 0d 0a 20 20 48 41 43 43 45  D hWnd,..  HACCE
19cc0 4c 20 68 41 63 63 54 61 62 6c 65 2c 0d 0a 20 20  L hAccTable,..  
19cd0 4c 50 4d 53 47 20 6c 70 4d 73 67 29 3b 0d 0a 65  LPMSG lpMsg);..e
19ce0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
19cf0 78 70 6f 72 74 20 69 6e 74 20 54 72 61 6e 73 6c  xport int Transl
19d00 61 74 65 41 63 63 65 6c 65 72 61 74 6f 72 57 28  ateAcceleratorW(
19d10 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a  ..  HWND hWnd,..
19d20 20 20 48 41 43 43 45 4c 20 68 41 63 63 54 61 62    HACCEL hAccTab
19d30 6c 65 2c 0d 0a 20 20 4c 50 4d 53 47 20 6c 70 4d  le,..  LPMSG lpM
19d40 73 67 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  sg);..// #ifdef 
19d50 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e  UNICODE..// #...
19d60 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
19d70 73 20 54 72 61 6e 73 6c 61 74 65 41 63 63 65 6c  s TranslateAccel
19d80 65 72 61 74 6f 72 41 20 54 72 61 6e 73 6c 61 74  eratorA Translat
19d90 65 41 63 63 65 6c 65 72 61 74 6f 72 3b 0d 0a 2f  eAccelerator;../
19da0 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
19db0 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  CODE....// #endi
19dc0 66 20 2f 2a 20 21 4e 4f 4d 53 47 20 2a 2f 0d 0a  f /* !NOMSG */..
19dd0 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 53  ..// #ifndef NOS
19de0 59 53 4d 45 54 52 49 43 53 0d 0a 0d 0a 65 6e 75  YSMETRICS....enu
19df0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 58  m : uint { SM_CX
19e00 53 43 52 45 45 4e 20 3d 20 30 20 7d 0d 0a 65 6e  SCREEN = 0 }..en
19e10 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43  um : uint { SM_C
19e20 59 53 43 52 45 45 4e 20 3d 20 31 20 7d 0d 0a 65  YSCREEN = 1 }..e
19e30 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f  num : uint { SM_
19e40 43 58 56 53 43 52 4f 4c 4c 20 3d 20 32 20 7d 0d  CXVSCROLL = 2 }.
19e50 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
19e60 4d 5f 43 59 48 53 43 52 4f 4c 4c 20 3d 20 33 20  M_CYHSCROLL = 3 
19e70 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
19e80 20 53 4d 5f 43 59 43 41 50 54 49 4f 4e 20 3d 20   SM_CYCAPTION = 
19e90 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
19ea0 20 7b 20 53 4d 5f 43 58 42 4f 52 44 45 52 20 3d   { SM_CXBORDER =
19eb0 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   5 }..enum : uin
19ec0 74 20 7b 20 53 4d 5f 43 59 42 4f 52 44 45 52 20  t { SM_CYBORDER 
19ed0 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 6 }..enum : ui
19ee0 6e 74 20 7b 20 53 4d 5f 43 58 44 4c 47 46 52 41  nt { SM_CXDLGFRA
19ef0 4d 45 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a  ME = 7 }..enum :
19f00 20 75 69 6e 74 20 7b 20 53 4d 5f 43 59 44 4c 47   uint { SM_CYDLG
19f10 46 52 41 4d 45 20 3d 20 38 20 7d 0d 0a 65 6e 75  FRAME = 8 }..enu
19f20 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 59  m : uint { SM_CY
19f30 56 54 48 55 4d 42 20 3d 20 39 20 7d 0d 0a 65 6e  VTHUMB = 9 }..en
19f40 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43  um : uint { SM_C
19f50 58 48 54 48 55 4d 42 20 3d 20 31 30 20 7d 0d 0a  XHTHUMB = 10 }..
19f60 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d  enum : uint { SM
19f70 5f 43 58 49 43 4f 4e 20 3d 20 31 31 20 7d 0d 0a  _CXICON = 11 }..
19f80 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d  enum : uint { SM
19f90 5f 43 59 49 43 4f 4e 20 3d 20 31 32 20 7d 0d 0a  _CYICON = 12 }..
19fa0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d  enum : uint { SM
19fb0 5f 43 58 43 55 52 53 4f 52 20 3d 20 31 33 20 7d  _CXCURSOR = 13 }
19fc0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
19fd0 53 4d 5f 43 59 43 55 52 53 4f 52 20 3d 20 31 34  SM_CYCURSOR = 14
19fe0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
19ff0 7b 20 53 4d 5f 43 59 4d 45 4e 55 20 3d 20 31 35  { SM_CYMENU = 15
1a000 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1a010 7b 20 53 4d 5f 43 58 46 55 4c 4c 53 43 52 45 45  { SM_CXFULLSCREE
1a020 4e 20 3d 20 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a  N = 16 }..enum :
1a030 20 75 69 6e 74 20 7b 20 53 4d 5f 43 59 46 55 4c   uint { SM_CYFUL
1a040 4c 53 43 52 45 45 4e 20 3d 20 31 37 20 7d 0d 0a  LSCREEN = 17 }..
1a050 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d  enum : uint { SM
1a060 5f 43 59 4b 41 4e 4a 49 57 49 4e 44 4f 57 20 3d  _CYKANJIWINDOW =
1a070 20 31 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   18 }..enum : ui
1a080 6e 74 20 7b 20 53 4d 5f 4d 4f 55 53 45 50 52 45  nt { SM_MOUSEPRE
1a090 53 45 4e 54 20 3d 20 31 39 20 7d 0d 0a 65 6e 75  SENT = 19 }..enu
1a0a0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 59  m : uint { SM_CY
1a0b0 56 53 43 52 4f 4c 4c 20 3d 20 32 30 20 7d 0d 0a  VSCROLL = 20 }..
1a0c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d  enum : uint { SM
1a0d0 5f 43 58 48 53 43 52 4f 4c 4c 20 3d 20 32 31 20  _CXHSCROLL = 21 
1a0e0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1a0f0 20 53 4d 5f 44 45 42 55 47 20 3d 20 32 32 20 7d   SM_DEBUG = 22 }
1a100 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a110 53 4d 5f 53 57 41 50 42 55 54 54 4f 4e 20 3d 20  SM_SWAPBUTTON = 
1a120 32 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  23 }..enum : uin
1a130 74 20 7b 20 53 4d 5f 52 45 53 45 52 56 45 44 31  t { SM_RESERVED1
1a140 20 3d 20 32 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 24 }..enum : 
1a150 75 69 6e 74 20 7b 20 53 4d 5f 52 45 53 45 52 56  uint { SM_RESERV
1a160 45 44 32 20 3d 20 32 35 20 7d 0d 0a 65 6e 75 6d  ED2 = 25 }..enum
1a170 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 52 45 53   : uint { SM_RES
1a180 45 52 56 45 44 33 20 3d 20 32 36 20 7d 0d 0a 65  ERVED3 = 26 }..e
1a190 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f  num : uint { SM_
1a1a0 52 45 53 45 52 56 45 44 34 20 3d 20 32 37 20 7d  RESERVED4 = 27 }
1a1b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a1c0 53 4d 5f 43 58 4d 49 4e 20 3d 20 32 38 20 7d 0d  SM_CXMIN = 28 }.
1a1d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
1a1e0 4d 5f 43 59 4d 49 4e 20 3d 20 32 39 20 7d 0d 0a  M_CYMIN = 29 }..
1a1f0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d  enum : uint { SM
1a200 5f 43 58 53 49 5a 45 20 3d 20 33 30 20 7d 0d 0a  _CXSIZE = 30 }..
1a210 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d  enum : uint { SM
1a220 5f 43 59 53 49 5a 45 20 3d 20 33 31 20 7d 0d 0a  _CYSIZE = 31 }..
1a230 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d  enum : uint { SM
1a240 5f 43 58 46 52 41 4d 45 20 3d 20 33 32 20 7d 0d  _CXFRAME = 32 }.
1a250 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
1a260 4d 5f 43 59 46 52 41 4d 45 20 3d 20 33 33 20 7d  M_CYFRAME = 33 }
1a270 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a280 53 4d 5f 43 58 4d 49 4e 54 52 41 43 4b 20 3d 20  SM_CXMINTRACK = 
1a290 33 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  34 }..enum : uin
1a2a0 74 20 7b 20 53 4d 5f 43 59 4d 49 4e 54 52 41 43  t { SM_CYMINTRAC
1a2b0 4b 20 3d 20 33 35 20 7d 0d 0a 65 6e 75 6d 20 3a  K = 35 }..enum :
1a2c0 20 75 69 6e 74 20 7b 20 53 4d 5f 43 58 44 4f 55   uint { SM_CXDOU
1a2d0 42 4c 45 43 4c 4b 20 3d 20 33 36 20 7d 0d 0a 65  BLECLK = 36 }..e
1a2e0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f  num : uint { SM_
1a2f0 43 59 44 4f 55 42 4c 45 43 4c 4b 20 3d 20 33 37  CYDOUBLECLK = 37
1a300 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1a310 7b 20 53 4d 5f 43 58 49 43 4f 4e 53 50 41 43 49  { SM_CXICONSPACI
1a320 4e 47 20 3d 20 33 38 20 7d 0d 0a 65 6e 75 6d 20  NG = 38 }..enum 
1a330 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 59 49 43  : uint { SM_CYIC
1a340 4f 4e 53 50 41 43 49 4e 47 20 3d 20 33 39 20 7d  ONSPACING = 39 }
1a350 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a360 53 4d 5f 4d 45 4e 55 44 52 4f 50 41 4c 49 47 4e  SM_MENUDROPALIGN
1a370 4d 45 4e 54 20 3d 20 34 30 20 7d 0d 0a 65 6e 75  MENT = 40 }..enu
1a380 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 50 45  m : uint { SM_PE
1a390 4e 57 49 4e 44 4f 57 53 20 3d 20 34 31 20 7d 0d  NWINDOWS = 41 }.
1a3a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
1a3b0 4d 5f 44 42 43 53 45 4e 41 42 4c 45 44 20 3d 20  M_DBCSENABLED = 
1a3c0 34 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  42 }..enum : uin
1a3d0 74 20 7b 20 53 4d 5f 43 4d 4f 55 53 45 42 55 54  t { SM_CMOUSEBUT
1a3e0 54 4f 4e 53 20 3d 20 34 33 20 7d 0d 0a 0d 0a 2f  TONS = 43 }..../
1a3f0 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
1a400 30 78 30 34 30 30 29 0d 0a 61 6c 69 61 73 20 53  0x0400)..alias S
1a410 4d 5f 43 58 44 4c 47 46 52 41 4d 45 20 53 4d 5f  M_CXDLGFRAME SM_
1a420 43 58 46 49 58 45 44 46 52 41 4d 45 3b 0d 0a 61  CXFIXEDFRAME;..a
1a430 6c 69 61 73 20 53 4d 5f 43 59 44 4c 47 46 52 41  lias SM_CYDLGFRA
1a440 4d 45 20 53 4d 5f 43 59 46 49 58 45 44 46 52 41  ME SM_CYFIXEDFRA
1a450 4d 45 3b 0d 0a 61 6c 69 61 73 20 53 4d 5f 43 58  ME;..alias SM_CX
1a460 46 52 41 4d 45 20 53 4d 5f 43 58 53 49 5a 45 46  FRAME SM_CXSIZEF
1a470 52 41 4d 45 3b 0d 0a 61 6c 69 61 73 20 53 4d 5f  RAME;..alias SM_
1a480 43 59 46 52 41 4d 45 20 53 4d 5f 43 59 53 49 5a  CYFRAME SM_CYSIZ
1a490 45 46 52 41 4d 45 3b 0d 0a 0d 0a 65 6e 75 6d 20  EFRAME;....enum 
1a4a0 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 53 45 43 55  : uint { SM_SECU
1a4b0 52 45 20 3d 20 34 34 20 7d 0d 0a 65 6e 75 6d 20  RE = 44 }..enum 
1a4c0 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 58 45 44  : uint { SM_CXED
1a4d0 47 45 20 3d 20 34 35 20 7d 0d 0a 65 6e 75 6d 20  GE = 45 }..enum 
1a4e0 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 59 45 44  : uint { SM_CYED
1a4f0 47 45 20 3d 20 34 36 20 7d 0d 0a 65 6e 75 6d 20  GE = 46 }..enum 
1a500 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 58 4d 49  : uint { SM_CXMI
1a510 4e 53 50 41 43 49 4e 47 20 3d 20 34 37 20 7d 0d  NSPACING = 47 }.
1a520 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
1a530 4d 5f 43 59 4d 49 4e 53 50 41 43 49 4e 47 20 3d  M_CYMINSPACING =
1a540 20 34 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   48 }..enum : ui
1a550 6e 74 20 7b 20 53 4d 5f 43 58 53 4d 49 43 4f 4e  nt { SM_CXSMICON
1a560 20 3d 20 34 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 49 }..enum : 
1a570 75 69 6e 74 20 7b 20 53 4d 5f 43 59 53 4d 49 43  uint { SM_CYSMIC
1a580 4f 4e 20 3d 20 35 30 20 7d 0d 0a 65 6e 75 6d 20  ON = 50 }..enum 
1a590 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 59 53 4d  : uint { SM_CYSM
1a5a0 43 41 50 54 49 4f 4e 20 3d 20 35 31 20 7d 0d 0a  CAPTION = 51 }..
1a5b0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d  enum : uint { SM
1a5c0 5f 43 58 53 4d 53 49 5a 45 20 3d 20 35 32 20 7d  _CXSMSIZE = 52 }
1a5d0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a5e0 53 4d 5f 43 59 53 4d 53 49 5a 45 20 3d 20 35 33  SM_CYSMSIZE = 53
1a5f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1a600 7b 20 53 4d 5f 43 58 4d 45 4e 55 53 49 5a 45 20  { SM_CXMENUSIZE 
1a610 3d 20 35 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 54 }..enum : u
1a620 69 6e 74 20 7b 20 53 4d 5f 43 59 4d 45 4e 55 53  int { SM_CYMENUS
1a630 49 5a 45 20 3d 20 35 35 20 7d 0d 0a 65 6e 75 6d  IZE = 55 }..enum
1a640 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 41 52 52   : uint { SM_ARR
1a650 41 4e 47 45 20 3d 20 35 36 20 7d 0d 0a 65 6e 75  ANGE = 56 }..enu
1a660 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 58  m : uint { SM_CX
1a670 4d 49 4e 49 4d 49 5a 45 44 20 3d 20 35 37 20 7d  MINIMIZED = 57 }
1a680 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a690 53 4d 5f 43 59 4d 49 4e 49 4d 49 5a 45 44 20 3d  SM_CYMINIMIZED =
1a6a0 20 35 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   58 }..enum : ui
1a6b0 6e 74 20 7b 20 53 4d 5f 43 58 4d 41 58 54 52 41  nt { SM_CXMAXTRA
1a6c0 43 4b 20 3d 20 35 39 20 7d 0d 0a 65 6e 75 6d 20  CK = 59 }..enum 
1a6d0 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 59 4d 41  : uint { SM_CYMA
1a6e0 58 54 52 41 43 4b 20 3d 20 36 30 20 7d 0d 0a 65  XTRACK = 60 }..e
1a6f0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f  num : uint { SM_
1a700 43 58 4d 41 58 49 4d 49 5a 45 44 20 3d 20 36 31  CXMAXIMIZED = 61
1a710 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1a720 7b 20 53 4d 5f 43 59 4d 41 58 49 4d 49 5a 45 44  { SM_CYMAXIMIZED
1a730 20 3d 20 36 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 62 }..enum : 
1a740 75 69 6e 74 20 7b 20 53 4d 5f 4e 45 54 57 4f 52  uint { SM_NETWOR
1a750 4b 20 3d 20 36 33 20 7d 0d 0a 65 6e 75 6d 20 3a  K = 63 }..enum :
1a760 20 75 69 6e 74 20 7b 20 53 4d 5f 43 4c 45 41 4e   uint { SM_CLEAN
1a770 42 4f 4f 54 20 3d 20 36 37 20 7d 0d 0a 65 6e 75  BOOT = 67 }..enu
1a780 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 58  m : uint { SM_CX
1a790 44 52 41 47 20 3d 20 36 38 20 7d 0d 0a 65 6e 75  DRAG = 68 }..enu
1a7a0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 59  m : uint { SM_CY
1a7b0 44 52 41 47 20 3d 20 36 39 20 7d 0d 0a 2f 2f 20  DRAG = 69 }..// 
1a7c0 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52  #endif /* WINVER
1a7d0 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 65   >= 0x0400 */..e
1a7e0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f  num : uint { SM_
1a7f0 53 48 4f 57 53 4f 55 4e 44 53 20 3d 20 37 30 20  SHOWSOUNDS = 70 
1a800 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  }..// #if(WINVER
1a810 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75   >= 0x0400)..enu
1a820 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 58  m : uint { SM_CX
1a830 4d 45 4e 55 43 48 45 43 4b 20 3d 20 37 31 20 7d  MENUCHECK = 71 }
1a840 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a850 53 4d 5f 43 59 4d 45 4e 55 43 48 45 43 4b 20 3d  SM_CYMENUCHECK =
1a860 20 37 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   72 }..enum : ui
1a870 6e 74 20 7b 20 53 4d 5f 53 4c 4f 57 4d 41 43 48  nt { SM_SLOWMACH
1a880 49 4e 45 20 3d 20 37 33 20 7d 0d 0a 65 6e 75 6d  INE = 73 }..enum
1a890 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 4d 49 44   : uint { SM_MID
1a8a0 45 41 53 54 45 4e 41 42 4c 45 44 20 3d 20 37 34  EASTENABLED = 74
1a8b0 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
1a8c0 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30   WINVER >= 0x040
1a8d0 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28  0 */....// #if (
1a8e0 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30  WINVER >= 0x0500
1a8f0 29 20 7c 7c 20 28 5f 57 49 4e 33 32 5f 57 49 4e  ) || (_WIN32_WIN
1a900 4e 54 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65  NT >= 0x0400)..e
1a910 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f  num : uint { SM_
1a920 4d 4f 55 53 45 57 48 45 45 4c 50 52 45 53 45 4e  MOUSEWHEELPRESEN
1a930 54 20 3d 20 37 35 20 7d 0d 0a 2f 2f 20 23 65 6e  T = 75 }..// #en
1a940 64 69 66 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56  dif..// #if(WINV
1a950 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65  ER >= 0x0500)..e
1a960 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f  num : uint { SM_
1a970 58 56 49 52 54 55 41 4c 53 43 52 45 45 4e 20 3d  XVIRTUALSCREEN =
1a980 20 37 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   76 }..enum : ui
1a990 6e 74 20 7b 20 53 4d 5f 59 56 49 52 54 55 41 4c  nt { SM_YVIRTUAL
1a9a0 53 43 52 45 45 4e 20 3d 20 37 37 20 7d 0d 0a 65  SCREEN = 77 }..e
1a9b0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f  num : uint { SM_
1a9c0 43 58 56 49 52 54 55 41 4c 53 43 52 45 45 4e 20  CXVIRTUALSCREEN 
1a9d0 3d 20 37 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 78 }..enum : u
1a9e0 69 6e 74 20 7b 20 53 4d 5f 43 59 56 49 52 54 55  int { SM_CYVIRTU
1a9f0 41 4c 53 43 52 45 45 4e 20 3d 20 37 39 20 7d 0d  ALSCREEN = 79 }.
1aa00 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
1aa10 4d 5f 43 4d 4f 4e 49 54 4f 52 53 20 3d 20 38 30  M_CMONITORS = 80
1aa20 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1aa30 7b 20 53 4d 5f 53 41 4d 45 44 49 53 50 4c 41 59  { SM_SAMEDISPLAY
1aa40 46 4f 52 4d 41 54 20 3d 20 38 31 20 7d 0d 0a 2f  FORMAT = 81 }../
1aa50 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
1aa60 45 52 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d  ER >= 0x0500 */.
1aa70 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57  .// #if(_WIN32_W
1aa80 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 0d  INNT >= 0x0500).
1aa90 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
1aaa0 4d 5f 49 4d 4d 45 4e 41 42 4c 45 44 20 3d 20 38  M_IMMENABLED = 8
1aab0 32 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  2 }..// #endif /
1aac0 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e  * _WIN32_WINNT >
1aad0 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 2f 2f 20  = 0x0500 */..// 
1aae0 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  #if(_WIN32_WINNT
1aaf0 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75   >= 0x0501)..enu
1ab00 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 58  m : uint { SM_CX
1ab10 46 4f 43 55 53 42 4f 52 44 45 52 20 3d 20 38 33  FOCUSBORDER = 83
1ab20 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1ab30 7b 20 53 4d 5f 43 59 46 4f 43 55 53 42 4f 52 44  { SM_CYFOCUSBORD
1ab40 45 52 20 3d 20 38 34 20 7d 0d 0a 2f 2f 20 23 65  ER = 84 }..// #e
1ab50 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57  ndif /* _WIN32_W
1ab60 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a  INNT >= 0x0501 *
1ab70 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 57 49 4e  /....// #if (WIN
1ab80 56 45 52 20 3c 20 30 78 30 35 30 30 29 20 26 26  VER < 0x0500) &&
1ab90 20 28 21 64 65 66 69 6e 65 64 28 5f 57 49 4e 33   (!defined(_WIN3
1aba0 32 5f 57 49 4e 4e 54 29 20 7c 7c 20 28 5f 57 49  2_WINNT) || (_WI
1abb0 4e 33 32 5f 57 49 4e 4e 54 20 3c 20 30 78 30 34  N32_WINNT < 0x04
1abc0 30 30 29 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  00))..// #...../
1abd0 2f 20 23 65 6c 73 65 0d 0a 65 6e 75 6d 20 3a 20  / #else..enum : 
1abe0 75 69 6e 74 20 7b 20 53 4d 5f 43 4d 45 54 52 49  uint { SM_CMETRI
1abf0 43 53 20 3d 20 38 36 20 7d 0d 0a 2f 2f 20 23 65  CS = 86 }..// #e
1ac00 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57  ndif....// #if(W
1ac10 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29  INVER >= 0x0500)
1ac20 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1ac30 53 4d 5f 52 45 4d 4f 54 45 53 45 53 53 49 4f 4e  SM_REMOTESESSION
1ac40 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 0d 0a 2f   = 0x1000 }..../
1ac50 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e  / #if(_WIN32_WIN
1ac60 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 65  NT >= 0x0501)..e
1ac70 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f  num : uint { SM_
1ac80 53 48 55 54 54 49 4e 47 44 4f 57 4e 20 3d 20 30  SHUTTINGDOWN = 0
1ac90 78 32 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64  x2000 }..// #end
1aca0 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e  if /* _WIN32_WIN
1acb0 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f 0d  NT >= 0x0501 */.
1acc0 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
1acd0 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30  WINVER >= 0x0500
1ace0 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69   */....extern(Wi
1acf0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e  ndows) export in
1ad00 74 20 47 65 74 53 79 73 74 65 6d 4d 65 74 72 69  t GetSystemMetri
1ad10 63 73 28 0d 0a 20 20 69 6e 74 20 6e 49 6e 64 65  cs(..  int nInde
1ad20 78 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  x);....// #endif
1ad30 20 2f 2a 20 21 4e 4f 53 59 53 4d 45 54 52 49 43   /* !NOSYSMETRIC
1ad40 53 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  S */....// #ifnd
1ad50 65 66 20 4e 4f 4d 45 4e 55 53 0d 0a 0d 0a 65 78  ef NOMENUS....ex
1ad60 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
1ad70 70 6f 72 74 20 48 4d 45 4e 55 20 4c 6f 61 64 4d  port HMENU LoadM
1ad80 65 6e 75 41 28 0d 0a 20 20 48 49 4e 53 54 41 4e  enuA(..  HINSTAN
1ad90 43 45 20 68 49 6e 73 74 61 6e 63 65 2c 0d 0a 20  CE hInstance,.. 
1ada0 20 4c 50 43 53 54 52 20 6c 70 4d 65 6e 75 4e 61   LPCSTR lpMenuNa
1adb0 6d 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  me);..extern(Win
1adc0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 4d 45  dows) export HME
1add0 4e 55 20 4c 6f 61 64 4d 65 6e 75 57 28 0d 0a 20  NU LoadMenuW(.. 
1ade0 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74   HINSTANCE hInst
1adf0 61 6e 63 65 2c 0d 0a 20 20 4c 50 43 57 53 54 52  ance,..  LPCWSTR
1ae00 20 6c 70 4d 65 6e 75 4e 61 6d 65 29 3b 0d 0a 2f   lpMenuName);../
1ae10 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
1ae20 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
1ae30 6c 73 65 0d 0a 61 6c 69 61 73 20 4c 6f 61 64 4d  lse..alias LoadM
1ae40 65 6e 75 41 20 4c 6f 61 64 4d 65 6e 75 3b 0d 0a  enuA LoadMenu;..
1ae50 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
1ae60 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
1ae70 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
1ae80 48 4d 45 4e 55 20 4c 6f 61 64 4d 65 6e 75 49 6e  HMENU LoadMenuIn
1ae90 64 69 72 65 63 74 41 28 0d 0a 20 20 4d 45 4e 55  directA(..  MENU
1aea0 54 45 4d 50 4c 41 54 45 41 20 2a 6c 70 4d 65 6e  TEMPLATEA *lpMen
1aeb0 75 54 65 6d 70 6c 61 74 65 29 3b 0d 0a 65 78 74  uTemplate);..ext
1aec0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1aed0 6f 72 74 20 48 4d 45 4e 55 20 4c 6f 61 64 4d 65  ort HMENU LoadMe
1aee0 6e 75 49 6e 64 69 72 65 63 74 57 28 0d 0a 20 20  nuIndirectW(..  
1aef0 4d 45 4e 55 54 45 4d 50 4c 41 54 45 57 20 2a 6c  MENUTEMPLATEW *l
1af00 70 4d 65 6e 75 54 65 6d 70 6c 61 74 65 29 3b 0d  pMenuTemplate);.
1af10 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
1af20 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  DE..// #.....// 
1af30 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 4c 6f 61  #else..alias Loa
1af40 64 4d 65 6e 75 49 6e 64 69 72 65 63 74 41 20 4c  dMenuIndirectA L
1af50 6f 61 64 4d 65 6e 75 49 6e 64 69 72 65 63 74 3b  oadMenuIndirect;
1af60 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
1af70 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
1af80 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
1af90 74 20 48 4d 45 4e 55 20 47 65 74 4d 65 6e 75 28  t HMENU GetMenu(
1afa0 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 29 3b 0d  ..  HWND hWnd);.
1afb0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
1afc0 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53  s) export BOOL S
1afd0 65 74 4d 65 6e 75 28 0d 0a 20 20 48 57 4e 44 20  etMenu(..  HWND 
1afe0 68 57 6e 64 2c 0d 0a 20 20 48 4d 45 4e 55 20 68  hWnd,..  HMENU h
1aff0 4d 65 6e 75 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  Menu);....extern
1b000 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
1b010 20 42 4f 4f 4c 20 43 68 61 6e 67 65 4d 65 6e 75   BOOL ChangeMenu
1b020 41 28 0d 0a 20 20 48 4d 45 4e 55 20 68 4d 65 6e  A(..  HMENU hMen
1b030 75 2c 0d 0a 20 20 55 49 4e 54 20 63 6d 64 2c 0d  u,..  UINT cmd,.
1b040 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 7a 4e 65  .  LPCSTR lpszNe
1b050 77 49 74 65 6d 2c 0d 0a 20 20 55 49 4e 54 20 63  wItem,..  UINT c
1b060 6d 64 49 6e 73 65 72 74 2c 0d 0a 20 20 55 49 4e  mdInsert,..  UIN
1b070 54 20 66 6c 61 67 73 29 3b 0d 0a 65 78 74 65 72  T flags);..exter
1b080 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
1b090 74 20 42 4f 4f 4c 20 43 68 61 6e 67 65 4d 65 6e  t BOOL ChangeMen
1b0a0 75 57 28 0d 0a 20 20 48 4d 45 4e 55 20 68 4d 65  uW(..  HMENU hMe
1b0b0 6e 75 2c 0d 0a 20 20 55 49 4e 54 20 63 6d 64 2c  nu,..  UINT cmd,
1b0c0 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 73 7a  ..  LPCWSTR lpsz
1b0d0 4e 65 77 49 74 65 6d 2c 0d 0a 20 20 55 49 4e 54  NewItem,..  UINT
1b0e0 20 63 6d 64 49 6e 73 65 72 74 2c 0d 0a 20 20 55   cmdInsert,..  U
1b0f0 49 4e 54 20 66 6c 61 67 73 29 3b 0d 0a 2f 2f 20  INT flags);..// 
1b100 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
1b110 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
1b120 65 0d 0a 61 6c 69 61 73 20 43 68 61 6e 67 65 4d  e..alias ChangeM
1b130 65 6e 75 41 20 43 68 61 6e 67 65 4d 65 6e 75 3b  enuA ChangeMenu;
1b140 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
1b150 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
1b160 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
1b170 74 20 42 4f 4f 4c 20 48 69 6c 69 74 65 4d 65 6e  t BOOL HiliteMen
1b180 75 49 74 65 6d 28 0d 0a 20 20 48 57 4e 44 20 68  uItem(..  HWND h
1b190 57 6e 64 2c 0d 0a 20 20 48 4d 45 4e 55 20 68 4d  Wnd,..  HMENU hM
1b1a0 65 6e 75 2c 0d 0a 20 20 55 49 4e 54 20 75 49 44  enu,..  UINT uID
1b1b0 48 69 6c 69 74 65 49 74 65 6d 2c 0d 0a 20 20 55  HiliteItem,..  U
1b1c0 49 4e 54 20 75 48 69 6c 69 74 65 29 3b 0d 0a 0d  INT uHilite);...
1b1d0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
1b1e0 20 65 78 70 6f 72 74 20 69 6e 74 20 47 65 74 4d   export int GetM
1b1f0 65 6e 75 53 74 72 69 6e 67 41 28 0d 0a 20 20 48  enuStringA(..  H
1b200 4d 45 4e 55 20 68 4d 65 6e 75 2c 0d 0a 20 20 55  MENU hMenu,..  U
1b210 49 4e 54 20 75 49 44 49 74 65 6d 2c 0d 0a 20 20  INT uIDItem,..  
1b220 4c 50 53 54 52 20 6c 70 53 74 72 69 6e 67 2c 0d  LPSTR lpString,.
1b230 0a 20 20 69 6e 74 20 6e 4d 61 78 43 6f 75 6e 74  .  int nMaxCount
1b240 2c 0d 0a 20 20 55 49 4e 54 20 75 46 6c 61 67 29  ,..  UINT uFlag)
1b250 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
1b260 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 47 65  s) export int Ge
1b270 74 4d 65 6e 75 53 74 72 69 6e 67 57 28 0d 0a 20  tMenuStringW(.. 
1b280 20 48 4d 45 4e 55 20 68 4d 65 6e 75 2c 0d 0a 20   HMENU hMenu,.. 
1b290 20 55 49 4e 54 20 75 49 44 49 74 65 6d 2c 0d 0a   UINT uIDItem,..
1b2a0 20 20 4c 50 57 53 54 52 20 6c 70 53 74 72 69 6e    LPWSTR lpStrin
1b2b0 67 2c 0d 0a 20 20 69 6e 74 20 6e 4d 61 78 43 6f  g,..  int nMaxCo
1b2c0 75 6e 74 2c 0d 0a 20 20 55 49 4e 54 20 75 46 6c  unt,..  UINT uFl
1b2d0 61 67 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  ag);..// #ifdef 
1b2e0 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e  UNICODE..// #...
1b2f0 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
1b300 73 20 47 65 74 4d 65 6e 75 53 74 72 69 6e 67 41  s GetMenuStringA
1b310 20 47 65 74 4d 65 6e 75 53 74 72 69 6e 67 3b 0d   GetMenuString;.
1b320 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
1b330 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
1b340 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
1b350 20 55 49 4e 54 20 47 65 74 4d 65 6e 75 53 74 61   UINT GetMenuSta
1b360 74 65 28 0d 0a 20 20 48 4d 45 4e 55 20 68 4d 65  te(..  HMENU hMe
1b370 6e 75 2c 0d 0a 20 20 55 49 4e 54 20 75 49 64 2c  nu,..  UINT uId,
1b380 0d 0a 20 20 55 49 4e 54 20 75 46 6c 61 67 73 29  ..  UINT uFlags)
1b390 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
1b3a0 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
1b3b0 20 44 72 61 77 4d 65 6e 75 42 61 72 28 0d 0a 20   DrawMenuBar(.. 
1b3c0 20 48 57 4e 44 20 68 57 6e 64 29 3b 0d 0a 0d 0a   HWND hWnd);....
1b3d0 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49  // #if(_WIN32_WI
1b3e0 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a  NNT >= 0x0501)..
1b3f0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4d  enum : uint { PM
1b400 42 5f 41 43 54 49 56 45 20 3d 20 30 78 30 30 30  B_ACTIVE = 0x000
1b410 30 30 30 30 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 65  00001 }....// #e
1b420 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57  ndif /* _WIN32_W
1b430 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a  INNT >= 0x0501 *
1b440 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  /....extern(Wind
1b450 6f 77 73 29 20 65 78 70 6f 72 74 20 48 4d 45 4e  ows) export HMEN
1b460 55 20 47 65 74 53 79 73 74 65 6d 4d 65 6e 75 28  U GetSystemMenu(
1b470 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a  ..  HWND hWnd,..
1b480 20 20 42 4f 4f 4c 20 62 52 65 76 65 72 74 29 3b    BOOL bRevert);
1b490 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
1b4a0 77 73 29 20 65 78 70 6f 72 74 20 48 4d 45 4e 55  ws) export HMENU
1b4b0 20 43 72 65 61 74 65 4d 65 6e 75 28 29 3b 0d 0a   CreateMenu();..
1b4c0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
1b4d0 29 20 65 78 70 6f 72 74 20 48 4d 45 4e 55 20 43  ) export HMENU C
1b4e0 72 65 61 74 65 50 6f 70 75 70 4d 65 6e 75 28 29  reatePopupMenu()
1b4f0 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
1b500 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
1b510 20 44 65 73 74 72 6f 79 4d 65 6e 75 28 0d 0a 20   DestroyMenu(.. 
1b520 20 48 4d 45 4e 55 20 68 4d 65 6e 75 29 3b 0d 0a   HMENU hMenu);..
1b530 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
1b540 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20 43  ) export DWORD C
1b550 68 65 63 6b 4d 65 6e 75 49 74 65 6d 28 0d 0a 20  heckMenuItem(.. 
1b560 20 48 4d 45 4e 55 20 68 4d 65 6e 75 2c 0d 0a 20   HMENU hMenu,.. 
1b570 20 55 49 4e 54 20 75 49 44 43 68 65 63 6b 49 74   UINT uIDCheckIt
1b580 65 6d 2c 0d 0a 20 20 55 49 4e 54 20 75 43 68 65  em,..  UINT uChe
1b590 63 6b 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  ck);....extern(W
1b5a0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
1b5b0 4f 4f 4c 20 45 6e 61 62 6c 65 4d 65 6e 75 49 74  OOL EnableMenuIt
1b5c0 65 6d 28 0d 0a 20 20 48 4d 45 4e 55 20 68 4d 65  em(..  HMENU hMe
1b5d0 6e 75 2c 0d 0a 20 20 55 49 4e 54 20 75 49 44 45  nu,..  UINT uIDE
1b5e0 6e 61 62 6c 65 49 74 65 6d 2c 0d 0a 20 20 55 49  nableItem,..  UI
1b5f0 4e 54 20 75 45 6e 61 62 6c 65 29 3b 0d 0a 0d 0a  NT uEnable);....
1b600 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
1b610 65 78 70 6f 72 74 20 48 4d 45 4e 55 20 47 65 74  export HMENU Get
1b620 53 75 62 4d 65 6e 75 28 0d 0a 20 20 48 4d 45 4e  SubMenu(..  HMEN
1b630 55 20 68 4d 65 6e 75 2c 0d 0a 20 20 69 6e 74 20  U hMenu,..  int 
1b640 6e 50 6f 73 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  nPos);....extern
1b650 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
1b660 20 55 49 4e 54 20 47 65 74 4d 65 6e 75 49 74 65   UINT GetMenuIte
1b670 6d 49 44 28 0d 0a 20 20 48 4d 45 4e 55 20 68 4d  mID(..  HMENU hM
1b680 65 6e 75 2c 0d 0a 20 20 69 6e 74 20 6e 50 6f 73  enu,..  int nPos
1b690 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
1b6a0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74  dows) export int
1b6b0 20 47 65 74 4d 65 6e 75 49 74 65 6d 43 6f 75 6e   GetMenuItemCoun
1b6c0 74 28 0d 0a 20 20 48 4d 45 4e 55 20 68 4d 65 6e  t(..  HMENU hMen
1b6d0 75 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  u);....extern(Wi
1b6e0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
1b6f0 4f 4c 20 49 6e 73 65 72 74 4d 65 6e 75 41 28 0d  OL InsertMenuA(.
1b700 0a 20 20 48 4d 45 4e 55 20 68 4d 65 6e 75 2c 0d  .  HMENU hMenu,.
1b710 0a 20 20 55 49 4e 54 20 75 50 6f 73 69 74 69 6f  .  UINT uPositio
1b720 6e 2c 0d 0a 20 20 55 49 4e 54 20 75 46 6c 61 67  n,..  UINT uFlag
1b730 73 2c 0d 0a 20 20 55 49 4e 54 5f 50 54 52 20 75  s,..  UINT_PTR u
1b740 49 44 4e 65 77 49 74 65 6d 2c 0d 0a 20 20 4c 50  IDNewItem,..  LP
1b750 43 53 54 52 20 6c 70 4e 65 77 49 74 65 6d 29 3b  CSTR lpNewItem);
1b760 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
1b770 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6e  ) export BOOL In
1b780 73 65 72 74 4d 65 6e 75 57 28 0d 0a 20 20 48 4d  sertMenuW(..  HM
1b790 45 4e 55 20 68 4d 65 6e 75 2c 0d 0a 20 20 55 49  ENU hMenu,..  UI
1b7a0 4e 54 20 75 50 6f 73 69 74 69 6f 6e 2c 0d 0a 20  NT uPosition,.. 
1b7b0 20 55 49 4e 54 20 75 46 6c 61 67 73 2c 0d 0a 20   UINT uFlags,.. 
1b7c0 20 55 49 4e 54 5f 50 54 52 20 75 49 44 4e 65 77   UINT_PTR uIDNew
1b7d0 49 74 65 6d 2c 0d 0a 20 20 4c 50 43 57 53 54 52  Item,..  LPCWSTR
1b7e0 20 6c 70 4e 65 77 49 74 65 6d 29 3b 0d 0a 2f 2f   lpNewItem);..//
1b7f0 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
1b800 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
1b810 73 65 0d 0a 61 6c 69 61 73 20 49 6e 73 65 72 74  se..alias Insert
1b820 4d 65 6e 75 41 20 49 6e 73 65 72 74 4d 65 6e 75  MenuA InsertMenu
1b830 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
1b840 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
1b850 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
1b860 72 74 20 42 4f 4f 4c 20 41 70 70 65 6e 64 4d 65  rt BOOL AppendMe
1b870 6e 75 41 28 0d 0a 20 20 48 4d 45 4e 55 20 68 4d  nuA(..  HMENU hM
1b880 65 6e 75 2c 0d 0a 20 20 55 49 4e 54 20 75 46 6c  enu,..  UINT uFl
1b890 61 67 73 2c 0d 0a 20 20 55 49 4e 54 5f 50 54 52  ags,..  UINT_PTR
1b8a0 20 75 49 44 4e 65 77 49 74 65 6d 2c 0d 0a 20 20   uIDNewItem,..  
1b8b0 4c 50 43 53 54 52 20 6c 70 4e 65 77 49 74 65 6d  LPCSTR lpNewItem
1b8c0 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
1b8d0 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
1b8e0 41 70 70 65 6e 64 4d 65 6e 75 57 28 0d 0a 20 20  AppendMenuW(..  
1b8f0 48 4d 45 4e 55 20 68 4d 65 6e 75 2c 0d 0a 20 20  HMENU hMenu,..  
1b900 55 49 4e 54 20 75 46 6c 61 67 73 2c 0d 0a 20 20  UINT uFlags,..  
1b910 55 49 4e 54 5f 50 54 52 20 75 49 44 4e 65 77 49  UINT_PTR uIDNewI
1b920 74 65 6d 2c 0d 0a 20 20 4c 50 43 57 53 54 52 20  tem,..  LPCWSTR 
1b930 6c 70 4e 65 77 49 74 65 6d 29 3b 0d 0a 2f 2f 20  lpNewItem);..// 
1b940 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
1b950 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
1b960 65 0d 0a 61 6c 69 61 73 20 41 70 70 65 6e 64 4d  e..alias AppendM
1b970 65 6e 75 41 20 41 70 70 65 6e 64 4d 65 6e 75 3b  enuA AppendMenu;
1b980 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
1b990 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
1b9a0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
1b9b0 74 20 42 4f 4f 4c 20 4d 6f 64 69 66 79 4d 65 6e  t BOOL ModifyMen
1b9c0 75 41 28 0d 0a 20 20 48 4d 45 4e 55 20 68 4d 6e  uA(..  HMENU hMn
1b9d0 75 2c 0d 0a 20 20 55 49 4e 54 20 75 50 6f 73 69  u,..  UINT uPosi
1b9e0 74 69 6f 6e 2c 0d 0a 20 20 55 49 4e 54 20 75 46  tion,..  UINT uF
1b9f0 6c 61 67 73 2c 0d 0a 20 20 55 49 4e 54 5f 50 54  lags,..  UINT_PT
1ba00 52 20 75 49 44 4e 65 77 49 74 65 6d 2c 0d 0a 20  R uIDNewItem,.. 
1ba10 20 4c 50 43 53 54 52 20 6c 70 4e 65 77 49 74 65   LPCSTR lpNewIte
1ba20 6d 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  m);..extern(Wind
1ba30 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
1ba40 20 4d 6f 64 69 66 79 4d 65 6e 75 57 28 0d 0a 20   ModifyMenuW(.. 
1ba50 20 48 4d 45 4e 55 20 68 4d 6e 75 2c 0d 0a 20 20   HMENU hMnu,..  
1ba60 55 49 4e 54 20 75 50 6f 73 69 74 69 6f 6e 2c 0d  UINT uPosition,.
1ba70 0a 20 20 55 49 4e 54 20 75 46 6c 61 67 73 2c 0d  .  UINT uFlags,.
1ba80 0a 20 20 55 49 4e 54 5f 50 54 52 20 75 49 44 4e  .  UINT_PTR uIDN
1ba90 65 77 49 74 65 6d 2c 0d 0a 20 20 4c 50 43 57 53  ewItem,..  LPCWS
1baa0 54 52 20 6c 70 4e 65 77 49 74 65 6d 29 3b 0d 0a  TR lpNewItem);..
1bab0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
1bac0 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
1bad0 65 6c 73 65 0d 0a 61 6c 69 61 73 20 4d 6f 64 69  else..alias Modi
1bae0 66 79 4d 65 6e 75 41 20 4d 6f 64 69 66 79 4d 65  fyMenuA ModifyMe
1baf0 6e 75 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  nu;..// #endif /
1bb00 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78  / !UNICODE....ex
1bb10 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
1bb20 70 6f 72 74 20 42 4f 4f 4c 20 52 65 6d 6f 76 65  port BOOL Remove
1bb30 4d 65 6e 75 28 0d 0a 20 20 48 4d 45 4e 55 20 68  Menu(..  HMENU h
1bb40 4d 65 6e 75 2c 0d 0a 20 20 55 49 4e 54 20 75 50  Menu,..  UINT uP
1bb50 6f 73 69 74 69 6f 6e 2c 0d 0a 20 20 55 49 4e 54  osition,..  UINT
1bb60 20 75 46 6c 61 67 73 29 3b 0d 0a 0d 0a 65 78 74   uFlags);....ext
1bb70 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1bb80 6f 72 74 20 42 4f 4f 4c 20 44 65 6c 65 74 65 4d  ort BOOL DeleteM
1bb90 65 6e 75 28 0d 0a 20 20 48 4d 45 4e 55 20 68 4d  enu(..  HMENU hM
1bba0 65 6e 75 2c 0d 0a 20 20 55 49 4e 54 20 75 50 6f  enu,..  UINT uPo
1bbb0 73 69 74 69 6f 6e 2c 0d 0a 20 20 55 49 4e 54 20  sition,..  UINT 
1bbc0 75 46 6c 61 67 73 29 3b 0d 0a 0d 0a 65 78 74 65  uFlags);....exte
1bbd0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
1bbe0 72 74 20 42 4f 4f 4c 20 53 65 74 4d 65 6e 75 49  rt BOOL SetMenuI
1bbf0 74 65 6d 42 69 74 6d 61 70 73 28 0d 0a 20 20 48  temBitmaps(..  H
1bc00 4d 45 4e 55 20 68 4d 65 6e 75 2c 0d 0a 20 20 55  MENU hMenu,..  U
1bc10 49 4e 54 20 75 50 6f 73 69 74 69 6f 6e 2c 0d 0a  INT uPosition,..
1bc20 20 20 55 49 4e 54 20 75 46 6c 61 67 73 2c 0d 0a    UINT uFlags,..
1bc30 20 20 48 42 49 54 4d 41 50 20 68 42 69 74 6d 61    HBITMAP hBitma
1bc40 70 55 6e 63 68 65 63 6b 65 64 2c 0d 0a 20 20 48  pUnchecked,..  H
1bc50 42 49 54 4d 41 50 20 68 42 69 74 6d 61 70 43 68  BITMAP hBitmapCh
1bc60 65 63 6b 65 64 29 3b 0d 0a 0d 0a 65 78 74 65 72  ecked);....exter
1bc70 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
1bc80 74 20 4c 4f 4e 47 20 47 65 74 4d 65 6e 75 43 68  t LONG GetMenuCh
1bc90 65 63 6b 4d 61 72 6b 44 69 6d 65 6e 73 69 6f 6e  eckMarkDimension
1bca0 73 28 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  s();....extern(W
1bcb0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
1bcc0 4f 4f 4c 20 54 72 61 63 6b 50 6f 70 75 70 4d 65  OOL TrackPopupMe
1bcd0 6e 75 28 0d 0a 20 20 48 4d 45 4e 55 20 68 4d 65  nu(..  HMENU hMe
1bce0 6e 75 2c 0d 0a 20 20 55 49 4e 54 20 75 46 6c 61  nu,..  UINT uFla
1bcf0 67 73 2c 0d 0a 20 20 69 6e 74 20 78 2c 0d 0a 20  gs,..  int x,.. 
1bd00 20 69 6e 74 20 79 2c 0d 0a 20 20 69 6e 74 20 6e   int y,..  int n
1bd10 52 65 73 65 72 76 65 64 2c 0d 0a 20 20 48 57 4e  Reserved,..  HWN
1bd20 44 20 68 57 6e 64 2c 0d 0a 20 20 52 45 43 54 20  D hWnd,..  RECT 
1bd30 2a 70 72 63 52 65 63 74 29 3b 0d 0a 0d 0a 2f 2f  *prcRect);....//
1bd40 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
1bd50 78 30 34 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  x0400)....enum :
1bd60 20 75 69 6e 74 20 7b 20 4d 4e 43 5f 49 47 4e 4f   uint { MNC_IGNO
1bd70 52 45 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a  RE = 0 }..enum :
1bd80 20 75 69 6e 74 20 7b 20 4d 4e 43 5f 43 4c 4f 53   uint { MNC_CLOS
1bd90 45 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  E = 1 }..enum : 
1bda0 75 69 6e 74 20 7b 20 4d 4e 43 5f 45 58 45 43 55  uint { MNC_EXECU
1bdb0 54 45 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a  TE = 2 }..enum :
1bdc0 20 75 69 6e 74 20 7b 20 4d 4e 43 5f 53 45 4c 45   uint { MNC_SELE
1bdd0 43 54 20 3d 20 33 20 7d 0d 0a 0d 0a 73 74 72 75  CT = 3 }....stru
1bde0 63 74 20 74 61 67 54 50 4d 50 41 52 41 4d 53 20  ct tagTPMPARAMS 
1bdf0 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53 69 7a 65  {..  UINT cbSize
1be00 3b 0d 0a 20 20 52 45 43 54 20 72 63 45 78 63 6c  ;..  RECT rcExcl
1be10 75 64 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  ude;..}..alias t
1be20 61 67 54 50 4d 50 41 52 41 4d 53 20 54 50 4d 50  agTPMPARAMS TPMP
1be30 41 52 41 4d 53 3b 0d 0a 0d 0a 61 6c 69 61 73 20  ARAMS;....alias 
1be40 54 50 4d 50 41 52 41 4d 53 2a 20 4c 50 54 50 4d  TPMPARAMS* LPTPM
1be50 50 41 52 41 4d 53 3b 0d 0a 0d 0a 65 78 74 65 72  PARAMS;....exter
1be60 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
1be70 74 20 42 4f 4f 4c 20 54 72 61 63 6b 50 6f 70 75  t BOOL TrackPopu
1be80 70 4d 65 6e 75 45 78 28 0d 0a 20 20 48 4d 45 4e  pMenuEx(..  HMEN
1be90 55 2c 0d 0a 20 20 55 49 4e 54 2c 0d 0a 20 20 69  U,..  UINT,..  i
1bea0 6e 74 2c 0d 0a 20 20 69 6e 74 2c 0d 0a 20 20 48  nt,..  int,..  H
1beb0 57 4e 44 2c 0d 0a 20 20 4c 50 54 50 4d 50 41 52  WND,..  LPTPMPAR
1bec0 41 4d 53 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  AMS);..// #endif
1bed0 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
1bee0 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69  0400 */....// #i
1bef0 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35  f(WINVER >= 0x05
1bf00 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  00)....enum : ui
1bf10 6e 74 20 7b 20 4d 4e 53 5f 4e 4f 43 48 45 43 4b  nt { MNS_NOCHECK
1bf20 20 3d 20 30 78 38 30 30 30 30 30 30 30 20 7d 0d   = 0x80000000 }.
1bf30 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
1bf40 4e 53 5f 4d 4f 44 45 4c 45 53 53 20 3d 20 30 78  NS_MODELESS = 0x
1bf50 34 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  40000000 }..enum
1bf60 20 3a 20 75 69 6e 74 20 7b 20 4d 4e 53 5f 44 52   : uint { MNS_DR
1bf70 41 47 44 52 4f 50 20 3d 20 30 78 32 30 30 30 30  AGDROP = 0x20000
1bf80 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
1bf90 6e 74 20 7b 20 4d 4e 53 5f 41 55 54 4f 44 49 53  nt { MNS_AUTODIS
1bfa0 4d 49 53 53 20 3d 20 30 78 31 30 30 30 30 30 30  MISS = 0x1000000
1bfb0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1bfc0 20 7b 20 4d 4e 53 5f 4e 4f 54 49 46 59 42 59 50   { MNS_NOTIFYBYP
1bfd0 4f 53 20 3d 20 30 78 30 38 30 30 30 30 30 30 20  OS = 0x08000000 
1bfe0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1bff0 20 4d 4e 53 5f 43 48 45 43 4b 4f 52 42 4d 50 20   MNS_CHECKORBMP 
1c000 3d 20 30 78 30 34 30 30 30 30 30 30 20 7d 0d 0a  = 0x04000000 }..
1c010 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1c020 4d 49 4d 5f 4d 41 58 48 45 49 47 48 54 20 3d 20  MIM_MAXHEIGHT = 
1c030 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e  0x00000001 }..en
1c040 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 4d 5f  um : uint { MIM_
1c050 42 41 43 4b 47 52 4f 55 4e 44 20 3d 20 30 78 30  BACKGROUND = 0x0
1c060 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20  0000002 }..enum 
1c070 3a 20 75 69 6e 74 20 7b 20 4d 49 4d 5f 48 45 4c  : uint { MIM_HEL
1c080 50 49 44 20 3d 20 30 78 30 30 30 30 30 30 30 34  PID = 0x00000004
1c090 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1c0a0 7b 20 4d 49 4d 5f 4d 45 4e 55 44 41 54 41 20 3d  { MIM_MENUDATA =
1c0b0 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65   0x00000008 }..e
1c0c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 4d  num : uint { MIM
1c0d0 5f 53 54 59 4c 45 20 3d 20 30 78 30 30 30 30 30  _STYLE = 0x00000
1c0e0 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
1c0f0 6e 74 20 7b 20 4d 49 4d 5f 41 50 50 4c 59 54 4f  nt { MIM_APPLYTO
1c100 53 55 42 4d 45 4e 55 53 20 3d 20 30 78 38 30 30  SUBMENUS = 0x800
1c110 30 30 30 30 30 20 7d 0d 0a 0d 0a 73 74 72 75 63  00000 }....struc
1c120 74 20 74 61 67 4d 45 4e 55 49 4e 46 4f 20 7b 0d  t tagMENUINFO {.
1c130 0a 20 20 44 57 4f 52 44 20 63 62 53 69 7a 65 3b  .  DWORD cbSize;
1c140 0d 0a 20 20 44 57 4f 52 44 20 66 4d 61 73 6b 3b  ..  DWORD fMask;
1c150 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 74 79 6c  ..  DWORD dwStyl
1c160 65 3b 0d 0a 20 20 55 49 4e 54 20 63 79 4d 61 78  e;..  UINT cyMax
1c170 3b 0d 0a 20 20 48 42 52 55 53 48 20 68 62 72 42  ;..  HBRUSH hbrB
1c180 61 63 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  ack;..  DWORD dw
1c190 43 6f 6e 74 65 78 74 48 65 6c 70 49 44 3b 0d 0a  ContextHelpID;..
1c1a0 20 20 55 4c 4f 4e 47 5f 50 54 52 20 64 77 4d 65    ULONG_PTR dwMe
1c1b0 6e 75 44 61 74 61 3b 0d 0a 7d 0d 0a 61 6c 69 61  nuData;..}..alia
1c1c0 73 20 74 61 67 4d 45 4e 55 49 4e 46 4f 20 4d 45  s tagMENUINFO ME
1c1d0 4e 55 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74  NUINFO;..alias t
1c1e0 61 67 4d 45 4e 55 49 4e 46 4f 2a 20 4c 50 4d 45  agMENUINFO* LPME
1c1f0 4e 55 49 4e 46 4f 3b 0d 0a 0d 0a 61 6c 69 61 73  NUINFO;....alias
1c200 20 4d 45 4e 55 49 4e 46 4f 2a 20 4c 50 43 4d 45   MENUINFO* LPCME
1c210 4e 55 49 4e 46 4f 3b 0d 0a 0d 0a 65 78 74 65 72  NUINFO;....exter
1c220 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
1c230 74 20 42 4f 4f 4c 20 47 65 74 4d 65 6e 75 49 6e  t BOOL GetMenuIn
1c240 66 6f 28 0d 0a 20 20 48 4d 45 4e 55 2c 0d 0a 20  fo(..  HMENU,.. 
1c250 20 4c 50 4d 45 4e 55 49 4e 46 4f 29 3b 0d 0a 0d   LPMENUINFO);...
1c260 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
1c270 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74   export BOOL Set
1c280 4d 65 6e 75 49 6e 66 6f 28 0d 0a 20 20 48 4d 45  MenuInfo(..  HME
1c290 4e 55 2c 0d 0a 20 20 4c 50 43 4d 45 4e 55 49 4e  NU,..  LPCMENUIN
1c2a0 46 4f 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  FO);....extern(W
1c2b0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
1c2c0 4f 4f 4c 20 45 6e 64 4d 65 6e 75 28 29 3b 0d 0a  OOL EndMenu();..
1c2d0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1c2e0 4d 4e 44 5f 43 4f 4e 54 49 4e 55 45 20 3d 20 30  MND_CONTINUE = 0
1c2f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1c300 7b 20 4d 4e 44 5f 45 4e 44 4d 45 4e 55 20 3d 20  { MND_ENDMENU = 
1c310 31 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  1 }....struct ta
1c320 67 4d 45 4e 55 47 45 54 4f 42 4a 45 43 54 49 4e  gMENUGETOBJECTIN
1c330 46 4f 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77  FO {..  DWORD dw
1c340 46 6c 61 67 73 3b 0d 0a 20 20 55 49 4e 54 20 75  Flags;..  UINT u
1c350 50 6f 73 3b 0d 0a 20 20 48 4d 45 4e 55 20 68 6d  Pos;..  HMENU hm
1c360 65 6e 75 3b 0d 0a 20 20 50 56 4f 49 44 20 72 69  enu;..  PVOID ri
1c370 69 64 3b 0d 0a 20 20 50 56 4f 49 44 20 70 76 4f  id;..  PVOID pvO
1c380 62 6a 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  bj;..}..alias ta
1c390 67 4d 45 4e 55 47 45 54 4f 42 4a 45 43 54 49 4e  gMENUGETOBJECTIN
1c3a0 46 4f 20 4d 45 4e 55 47 45 54 4f 42 4a 45 43 54  FO MENUGETOBJECT
1c3b0 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67  INFO;..alias tag
1c3c0 4d 45 4e 55 47 45 54 4f 42 4a 45 43 54 49 4e 46  MENUGETOBJECTINF
1c3d0 4f 2a 20 50 4d 45 4e 55 47 45 54 4f 42 4a 45 43  O* PMENUGETOBJEC
1c3e0 54 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  TINFO;....enum :
1c3f0 20 75 69 6e 74 20 7b 20 4d 4e 47 4f 46 5f 54 4f   uint { MNGOF_TO
1c400 50 47 41 50 20 3d 20 30 78 30 30 30 30 30 30 30  PGAP = 0x0000000
1c410 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
1c420 20 7b 20 4d 4e 47 4f 46 5f 42 4f 54 54 4f 4d 47   { MNGOF_BOTTOMG
1c430 41 50 20 3d 20 30 78 30 30 30 30 30 30 30 32 20  AP = 0x00000002 
1c440 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
1c450 20 7b 20 4d 4e 47 4f 5f 4e 4f 49 4e 54 45 52 46   { MNGO_NOINTERF
1c460 41 43 45 20 3d 20 30 78 30 30 30 30 30 30 30 30  ACE = 0x00000000
1c470 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1c480 7b 20 4d 4e 47 4f 5f 4e 4f 45 52 52 4f 52 20 3d  { MNGO_NOERROR =
1c490 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 2f   0x00000001 }../
1c4a0 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
1c4b0 45 52 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d  ER >= 0x0500 */.
1c4c0 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  ...// #if(WINVER
1c4d0 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75   >= 0x0400)..enu
1c4e0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 49 4d 5f  m : uint { MIIM_
1c4f0 53 54 41 54 45 20 3d 20 30 78 30 30 30 30 30 30  STATE = 0x000000
1c500 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
1c510 74 20 7b 20 4d 49 49 4d 5f 49 44 20 3d 20 30 78  t { MIIM_ID = 0x
1c520 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  00000002 }..enum
1c530 20 3a 20 75 69 6e 74 20 7b 20 4d 49 49 4d 5f 53   : uint { MIIM_S
1c540 55 42 4d 45 4e 55 20 3d 20 30 78 30 30 30 30 30  UBMENU = 0x00000
1c550 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
1c560 6e 74 20 7b 20 4d 49 49 4d 5f 43 48 45 43 4b 4d  nt { MIIM_CHECKM
1c570 41 52 4b 53 20 3d 20 30 78 30 30 30 30 30 30 30  ARKS = 0x0000000
1c580 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
1c590 20 7b 20 4d 49 49 4d 5f 54 59 50 45 20 3d 20 30   { MIIM_TYPE = 0
1c5a0 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75  x00000010 }..enu
1c5b0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 49 4d 5f  m : uint { MIIM_
1c5c0 44 41 54 41 20 3d 20 30 78 30 30 30 30 30 30 32  DATA = 0x0000002
1c5d0 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  0 }..// #endif /
1c5e0 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  * WINVER >= 0x04
1c5f0 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28  00 */....// #if(
1c600 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30  WINVER >= 0x0500
1c610 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
1c620 20 4d 49 49 4d 5f 53 54 52 49 4e 47 20 3d 20 30   MIIM_STRING = 0
1c630 78 30 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75  x00000040 }..enu
1c640 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 49 4d 5f  m : uint { MIIM_
1c650 42 49 54 4d 41 50 20 3d 20 30 78 30 30 30 30 30  BITMAP = 0x00000
1c660 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  080 }..enum : ui
1c670 6e 74 20 7b 20 4d 49 49 4d 5f 46 54 59 50 45 20  nt { MIIM_FTYPE 
1c680 3d 20 30 78 30 30 30 30 30 31 30 30 20 7d 0d 0a  = 0x00000100 }..
1c690 0d 0a 63 6f 6e 73 74 20 48 42 49 54 4d 41 50 20  ..const HBITMAP 
1c6a0 48 42 4d 4d 45 4e 55 5f 43 41 4c 4c 42 41 43 4b  HBMMENU_CALLBACK
1c6b0 20 3d 20 63 61 73 74 28 48 42 49 54 4d 41 50 29   = cast(HBITMAP)
1c6c0 2d 31 3b 0d 0a 63 6f 6e 73 74 20 48 42 49 54 4d  -1;..const HBITM
1c6d0 41 50 20 48 42 4d 4d 45 4e 55 5f 53 59 53 54 45  AP HBMMENU_SYSTE
1c6e0 4d 20 3d 20 63 61 73 74 28 48 42 49 54 4d 41 50  M = cast(HBITMAP
1c6f0 29 31 3b 0d 0a 63 6f 6e 73 74 20 48 42 49 54 4d  )1;..const HBITM
1c700 41 50 20 48 42 4d 4d 45 4e 55 5f 4d 42 41 52 5f  AP HBMMENU_MBAR_
1c710 52 45 53 54 4f 52 45 20 3d 20 63 61 73 74 28 48  RESTORE = cast(H
1c720 42 49 54 4d 41 50 29 32 3b 0d 0a 63 6f 6e 73 74  BITMAP)2;..const
1c730 20 48 42 49 54 4d 41 50 20 48 42 4d 4d 45 4e 55   HBITMAP HBMMENU
1c740 5f 4d 42 41 52 5f 4d 49 4e 49 4d 49 5a 45 20 3d  _MBAR_MINIMIZE =
1c750 20 63 61 73 74 28 48 42 49 54 4d 41 50 29 33 3b   cast(HBITMAP)3;
1c760 0d 0a 63 6f 6e 73 74 20 48 42 49 54 4d 41 50 20  ..const HBITMAP 
1c770 48 42 4d 4d 45 4e 55 5f 4d 42 41 52 5f 43 4c 4f  HBMMENU_MBAR_CLO
1c780 53 45 20 3d 20 63 61 73 74 28 48 42 49 54 4d 41  SE = cast(HBITMA
1c790 50 29 35 3b 0d 0a 63 6f 6e 73 74 20 48 42 49 54  P)5;..const HBIT
1c7a0 4d 41 50 20 48 42 4d 4d 45 4e 55 5f 4d 42 41 52  MAP HBMMENU_MBAR
1c7b0 5f 43 4c 4f 53 45 5f 44 20 3d 20 63 61 73 74 28  _CLOSE_D = cast(
1c7c0 48 42 49 54 4d 41 50 29 36 3b 0d 0a 63 6f 6e 73  HBITMAP)6;..cons
1c7d0 74 20 48 42 49 54 4d 41 50 20 48 42 4d 4d 45 4e  t HBITMAP HBMMEN
1c7e0 55 5f 4d 42 41 52 5f 4d 49 4e 49 4d 49 5a 45 5f  U_MBAR_MINIMIZE_
1c7f0 44 20 3d 20 63 61 73 74 28 48 42 49 54 4d 41 50  D = cast(HBITMAP
1c800 29 37 3b 0d 0a 63 6f 6e 73 74 20 48 42 49 54 4d  )7;..const HBITM
1c810 41 50 20 48 42 4d 4d 45 4e 55 5f 50 4f 50 55 50  AP HBMMENU_POPUP
1c820 5f 43 4c 4f 53 45 20 3d 20 63 61 73 74 28 48 42  _CLOSE = cast(HB
1c830 49 54 4d 41 50 29 38 3b 0d 0a 63 6f 6e 73 74 20  ITMAP)8;..const 
1c840 48 42 49 54 4d 41 50 20 48 42 4d 4d 45 4e 55 5f  HBITMAP HBMMENU_
1c850 50 4f 50 55 50 5f 52 45 53 54 4f 52 45 20 3d 20  POPUP_RESTORE = 
1c860 63 61 73 74 28 48 42 49 54 4d 41 50 29 39 3b 0d  cast(HBITMAP)9;.
1c870 0a 63 6f 6e 73 74 20 48 42 49 54 4d 41 50 20 48  .const HBITMAP H
1c880 42 4d 4d 45 4e 55 5f 50 4f 50 55 50 5f 4d 41 58  BMMENU_POPUP_MAX
1c890 49 4d 49 5a 45 20 3d 20 63 61 73 74 28 48 42 49  IMIZE = cast(HBI
1c8a0 54 4d 41 50 29 31 30 3b 0d 0a 63 6f 6e 73 74 20  TMAP)10;..const 
1c8b0 48 42 49 54 4d 41 50 20 48 42 4d 4d 45 4e 55 5f  HBITMAP HBMMENU_
1c8c0 50 4f 50 55 50 5f 4d 49 4e 49 4d 49 5a 45 20 3d  POPUP_MINIMIZE =
1c8d0 20 63 61 73 74 28 48 42 49 54 4d 41 50 29 31 31   cast(HBITMAP)11
1c8e0 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ;..// #endif /* 
1c8f0 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30  WINVER >= 0x0500
1c900 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49   */....// #if(WI
1c910 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d  NVER >= 0x0400).
1c920 0a 73 74 72 75 63 74 20 74 61 67 4d 45 4e 55 49  .struct tagMENUI
1c930 54 45 4d 49 4e 46 4f 41 20 7b 0d 0a 20 20 55 49  TEMINFOA {..  UI
1c940 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 55 49  NT cbSize;..  UI
1c950 4e 54 20 66 4d 61 73 6b 3b 0d 0a 20 20 55 49 4e  NT fMask;..  UIN
1c960 54 20 66 54 79 70 65 3b 0d 0a 20 20 55 49 4e 54  T fType;..  UINT
1c970 20 66 53 74 61 74 65 3b 0d 0a 20 20 55 49 4e 54   fState;..  UINT
1c980 20 77 49 44 3b 0d 0a 20 20 48 4d 45 4e 55 20 68   wID;..  HMENU h
1c990 53 75 62 4d 65 6e 75 3b 0d 0a 20 20 48 42 49 54  SubMenu;..  HBIT
1c9a0 4d 41 50 20 68 62 6d 70 43 68 65 63 6b 65 64 3b  MAP hbmpChecked;
1c9b0 0d 0a 20 20 48 42 49 54 4d 41 50 20 68 62 6d 70  ..  HBITMAP hbmp
1c9c0 55 6e 63 68 65 63 6b 65 64 3b 0d 0a 20 20 55 4c  Unchecked;..  UL
1c9d0 4f 4e 47 5f 50 54 52 20 64 77 49 74 65 6d 44 61  ONG_PTR dwItemDa
1c9e0 74 61 3b 0d 0a 20 20 4c 50 53 54 52 20 64 77 54  ta;..  LPSTR dwT
1c9f0 79 70 65 44 61 74 61 3b 0d 0a 20 20 55 49 4e 54  ypeData;..  UINT
1ca00 20 63 63 68 3b 0d 0a 2f 2f 20 23 69 66 28 57 49   cch;..// #if(WI
1ca10 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d  NVER >= 0x0500).
1ca20 0a 20 20 48 42 49 54 4d 41 50 20 68 62 6d 70 49  .  HBITMAP hbmpI
1ca30 74 65 6d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  tem;..// #endif 
1ca40 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
1ca50 35 30 30 20 2a 2f 0d 0a 7d 0d 0a 61 6c 69 61 73  500 */..}..alias
1ca60 20 74 61 67 4d 45 4e 55 49 54 45 4d 49 4e 46 4f   tagMENUITEMINFO
1ca70 41 20 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 41 3b  A MENUITEMINFOA;
1ca80 0d 0a 61 6c 69 61 73 20 74 61 67 4d 45 4e 55 49  ..alias tagMENUI
1ca90 54 45 4d 49 4e 46 4f 41 2a 20 4c 50 4d 45 4e 55  TEMINFOA* LPMENU
1caa0 49 54 45 4d 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 74  ITEMINFOA;....st
1cab0 72 75 63 74 20 74 61 67 4d 45 4e 55 49 54 45 4d  ruct tagMENUITEM
1cac0 49 4e 46 4f 57 20 7b 0d 0a 20 20 55 49 4e 54 20  INFOW {..  UINT 
1cad0 63 62 53 69 7a 65 3b 0d 0a 20 20 55 49 4e 54 20  cbSize;..  UINT 
1cae0 66 4d 61 73 6b 3b 0d 0a 20 20 55 49 4e 54 20 66  fMask;..  UINT f
1caf0 54 79 70 65 3b 0d 0a 20 20 55 49 4e 54 20 66 53  Type;..  UINT fS
1cb00 74 61 74 65 3b 0d 0a 20 20 55 49 4e 54 20 77 49  tate;..  UINT wI
1cb10 44 3b 0d 0a 20 20 48 4d 45 4e 55 20 68 53 75 62  D;..  HMENU hSub
1cb20 4d 65 6e 75 3b 0d 0a 20 20 48 42 49 54 4d 41 50  Menu;..  HBITMAP
1cb30 20 68 62 6d 70 43 68 65 63 6b 65 64 3b 0d 0a 20   hbmpChecked;.. 
1cb40 20 48 42 49 54 4d 41 50 20 68 62 6d 70 55 6e 63   HBITMAP hbmpUnc
1cb50 68 65 63 6b 65 64 3b 0d 0a 20 20 55 4c 4f 4e 47  hecked;..  ULONG
1cb60 5f 50 54 52 20 64 77 49 74 65 6d 44 61 74 61 3b  _PTR dwItemData;
1cb70 0d 0a 20 20 4c 50 57 53 54 52 20 64 77 54 79 70  ..  LPWSTR dwTyp
1cb80 65 44 61 74 61 3b 0d 0a 20 20 55 49 4e 54 20 63  eData;..  UINT c
1cb90 63 68 3b 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56  ch;..// #if(WINV
1cba0 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 20  ER >= 0x0500).. 
1cbb0 20 48 42 49 54 4d 41 50 20 68 62 6d 70 49 74 65   HBITMAP hbmpIte
1cbc0 6d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  m;..// #endif /*
1cbd0 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30   WINVER >= 0x050
1cbe0 30 20 2a 2f 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  0 */..}..alias t
1cbf0 61 67 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 57 20  agMENUITEMINFOW 
1cc00 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 57 3b 0d 0a  MENUITEMINFOW;..
1cc10 61 6c 69 61 73 20 74 61 67 4d 45 4e 55 49 54 45  alias tagMENUITE
1cc20 4d 49 4e 46 4f 57 2a 20 4c 50 4d 45 4e 55 49 54  MINFOW* LPMENUIT
1cc30 45 4d 49 4e 46 4f 57 3b 0d 0a 0d 0a 2f 2f 20 23  EMINFOW;....// #
1cc40 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
1cc50 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d  / .....// #else.
1cc60 0a 61 6c 69 61 73 20 4d 45 4e 55 49 54 45 4d 49  .alias MENUITEMI
1cc70 4e 46 4f 41 20 4d 45 4e 55 49 54 45 4d 49 4e 46  NFOA MENUITEMINF
1cc80 4f 3b 0d 0a 61 6c 69 61 73 20 4c 50 4d 45 4e 55  O;..alias LPMENU
1cc90 49 54 45 4d 49 4e 46 4f 41 20 4c 50 4d 45 4e 55  ITEMINFOA LPMENU
1cca0 49 54 45 4d 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65  ITEMINFO;..// #e
1ccb0 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d  ndif // UNICODE.
1ccc0 0a 61 6c 69 61 73 20 4d 45 4e 55 49 54 45 4d 49  .alias MENUITEMI
1ccd0 4e 46 4f 41 2a 20 4c 50 43 4d 45 4e 55 49 54 45  NFOA* LPCMENUITE
1cce0 4d 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61 73 20 4d  MINFOA;..alias M
1ccf0 45 4e 55 49 54 45 4d 49 4e 46 4f 57 2a 20 4c 50  ENUITEMINFOW* LP
1cd00 43 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 57 3b 0d  CMENUITEMINFOW;.
1cd10 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
1cd20 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  DE..// .....// #
1cd30 65 6c 73 65 0d 0a 61 6c 69 61 73 20 4c 50 43 4d  else..alias LPCM
1cd40 45 4e 55 49 54 45 4d 49 4e 46 4f 41 20 4c 50 43  ENUITEMINFOA LPC
1cd50 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 3b 0d 0a 2f  MENUITEMINFO;../
1cd60 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43  / #endif // UNIC
1cd70 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ODE....extern(Wi
1cd80 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
1cd90 4f 4c 20 49 6e 73 65 72 74 4d 65 6e 75 49 74 65  OL InsertMenuIte
1cda0 6d 41 28 0d 0a 20 20 48 4d 45 4e 55 2c 0d 0a 20  mA(..  HMENU,.. 
1cdb0 20 55 49 4e 54 2c 0d 0a 20 20 42 4f 4f 4c 2c 0d   UINT,..  BOOL,.
1cdc0 0a 20 20 4c 50 43 4d 45 4e 55 49 54 45 4d 49 4e  .  LPCMENUITEMIN
1cdd0 46 4f 41 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  FOA);..extern(Wi
1cde0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
1cdf0 4f 4c 20 49 6e 73 65 72 74 4d 65 6e 75 49 74 65  OL InsertMenuIte
1ce00 6d 57 28 0d 0a 20 20 48 4d 45 4e 55 2c 0d 0a 20  mW(..  HMENU,.. 
1ce10 20 55 49 4e 54 2c 0d 0a 20 20 42 4f 4f 4c 2c 0d   UINT,..  BOOL,.
1ce20 0a 20 20 4c 50 43 4d 45 4e 55 49 54 45 4d 49 4e  .  LPCMENUITEMIN
1ce30 46 4f 57 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  FOW);..// #ifdef
1ce40 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e   UNICODE..// #..
1ce50 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
1ce60 61 73 20 49 6e 73 65 72 74 4d 65 6e 75 49 74 65  as InsertMenuIte
1ce70 6d 41 20 49 6e 73 65 72 74 4d 65 6e 75 49 74 65  mA InsertMenuIte
1ce80 6d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  m;..// #endif //
1ce90 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74   !UNICODE....ext
1cea0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1ceb0 6f 72 74 20 42 4f 4f 4c 20 47 65 74 4d 65 6e 75  ort BOOL GetMenu
1cec0 49 74 65 6d 49 6e 66 6f 41 28 0d 0a 20 20 48 4d  ItemInfoA(..  HM
1ced0 45 4e 55 2c 0d 0a 20 20 55 49 4e 54 2c 0d 0a 20  ENU,..  UINT,.. 
1cee0 20 42 4f 4f 4c 2c 0d 0a 20 20 4c 50 4d 45 4e 55   BOOL,..  LPMENU
1cef0 49 54 45 4d 49 4e 46 4f 41 29 3b 0d 0a 65 78 74  ITEMINFOA);..ext
1cf00 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1cf10 6f 72 74 20 42 4f 4f 4c 20 47 65 74 4d 65 6e 75  ort BOOL GetMenu
1cf20 49 74 65 6d 49 6e 66 6f 57 28 0d 0a 20 20 48 4d  ItemInfoW(..  HM
1cf30 45 4e 55 2c 0d 0a 20 20 55 49 4e 54 2c 0d 0a 20  ENU,..  UINT,.. 
1cf40 20 42 4f 4f 4c 2c 0d 0a 20 20 4c 50 4d 45 4e 55   BOOL,..  LPMENU
1cf50 49 54 45 4d 49 4e 46 4f 57 29 3b 0d 0a 2f 2f 20  ITEMINFOW);..// 
1cf60 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
1cf70 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
1cf80 65 0d 0a 61 6c 69 61 73 20 47 65 74 4d 65 6e 75  e..alias GetMenu
1cf90 49 74 65 6d 49 6e 66 6f 41 20 47 65 74 4d 65 6e  ItemInfoA GetMen
1cfa0 75 49 74 65 6d 49 6e 66 6f 3b 0d 0a 2f 2f 20 23  uItemInfo;..// #
1cfb0 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
1cfc0 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  E....extern(Wind
1cfd0 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
1cfe0 20 53 65 74 4d 65 6e 75 49 74 65 6d 49 6e 66 6f   SetMenuItemInfo
1cff0 41 28 0d 0a 20 20 48 4d 45 4e 55 2c 0d 0a 20 20  A(..  HMENU,..  
1d000 55 49 4e 54 2c 0d 0a 20 20 42 4f 4f 4c 2c 0d 0a  UINT,..  BOOL,..
1d010 20 20 4c 50 43 4d 45 4e 55 49 54 45 4d 49 4e 46    LPCMENUITEMINF
1d020 4f 41 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  OA);..extern(Win
1d030 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
1d040 4c 20 53 65 74 4d 65 6e 75 49 74 65 6d 49 6e 66  L SetMenuItemInf
1d050 6f 57 28 0d 0a 20 20 48 4d 45 4e 55 2c 0d 0a 20  oW(..  HMENU,.. 
1d060 20 55 49 4e 54 2c 0d 0a 20 20 42 4f 4f 4c 2c 0d   UINT,..  BOOL,.
1d070 0a 20 20 4c 50 43 4d 45 4e 55 49 54 45 4d 49 4e  .  LPCMENUITEMIN
1d080 46 4f 57 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  FOW);..// #ifdef
1d090 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e   UNICODE..// #..
1d0a0 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
1d0b0 61 73 20 53 65 74 4d 65 6e 75 49 74 65 6d 49 6e  as SetMenuItemIn
1d0c0 66 6f 41 20 53 65 74 4d 65 6e 75 49 74 65 6d 49  foA SetMenuItemI
1d0d0 6e 66 6f 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  nfo;..// #endif 
1d0e0 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65  // !UNICODE....e
1d0f0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 4d 44  num : uint { GMD
1d100 49 5f 55 53 45 44 49 53 41 42 4c 45 44 20 3d 20  I_USEDISABLED = 
1d110 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0001 }..enum :
1d120 20 75 69 6e 74 20 7b 20 47 4d 44 49 5f 47 4f 49   uint { GMDI_GOI
1d130 4e 54 4f 50 4f 50 55 50 53 20 3d 20 30 78 30 30  NTOPOPUPS = 0x00
1d140 30 32 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  02 }....extern(W
1d150 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 55  indows) export U
1d160 49 4e 54 20 47 65 74 4d 65 6e 75 44 65 66 61 75  INT GetMenuDefau
1d170 6c 74 49 74 65 6d 28 48 4d 45 4e 55 20 68 4d 65  ltItem(HMENU hMe
1d180 6e 75 2c 20 55 49 4e 54 20 66 42 79 50 6f 73 2c  nu, UINT fByPos,
1d190 20 55 49 4e 54 20 67 6d 64 69 46 6c 61 67 73 29   UINT gmdiFlags)
1d1a0 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
1d1b0 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53  s) export BOOL S
1d1c0 65 74 4d 65 6e 75 44 65 66 61 75 6c 74 49 74 65  etMenuDefaultIte
1d1d0 6d 28 48 4d 45 4e 55 20 68 4d 65 6e 75 2c 20 55  m(HMENU hMenu, U
1d1e0 49 4e 54 20 75 49 74 65 6d 2c 20 55 49 4e 54 20  INT uItem, UINT 
1d1f0 66 42 79 50 6f 73 29 3b 0d 0a 0d 0a 65 78 74 65  fByPos);....exte
1d200 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
1d210 72 74 20 42 4f 4f 4c 20 47 65 74 4d 65 6e 75 49  rt BOOL GetMenuI
1d220 74 65 6d 52 65 63 74 28 48 57 4e 44 20 68 57 6e  temRect(HWND hWn
1d230 64 2c 20 48 4d 45 4e 55 20 68 4d 65 6e 75 2c 20  d, HMENU hMenu, 
1d240 55 49 4e 54 20 75 49 74 65 6d 2c 20 4c 50 52 45  UINT uItem, LPRE
1d250 43 54 20 6c 70 72 63 49 74 65 6d 29 3b 0d 0a 65  CT lprcItem);..e
1d260 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
1d270 78 70 6f 72 74 20 69 6e 74 20 4d 65 6e 75 49 74  xport int MenuIt
1d280 65 6d 46 72 6f 6d 50 6f 69 6e 74 28 48 57 4e 44  emFromPoint(HWND
1d290 20 68 57 6e 64 2c 20 48 4d 45 4e 55 20 68 4d 65   hWnd, HMENU hMe
1d2a0 6e 75 2c 20 50 4f 49 4e 54 20 70 74 53 63 72 65  nu, POINT ptScre
1d2b0 65 6e 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  en);..// #endif 
1d2c0 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
1d2d0 34 30 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a  400 */....enum :
1d2e0 20 75 69 6e 74 20 7b 20 54 50 4d 5f 4c 45 46 54   uint { TPM_LEFT
1d2f0 42 55 54 54 4f 4e 20 3d 20 30 78 30 30 30 30 20  BUTTON = 0x0000 
1d300 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1d310 20 54 50 4d 5f 52 49 47 48 54 42 55 54 54 4f 4e   TPM_RIGHTBUTTON
1d320 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75   = 0x0002 }..enu
1d330 6d 20 3a 20 75 69 6e 74 20 7b 20 54 50 4d 5f 4c  m : uint { TPM_L
1d340 45 46 54 41 4c 49 47 4e 20 3d 20 30 78 30 30 30  EFTALIGN = 0x000
1d350 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1d360 20 7b 20 54 50 4d 5f 43 45 4e 54 45 52 41 4c 49   { TPM_CENTERALI
1d370 47 4e 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65  GN = 0x0004 }..e
1d380 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 50 4d  num : uint { TPM
1d390 5f 52 49 47 48 54 41 4c 49 47 4e 20 3d 20 30 78  _RIGHTALIGN = 0x
1d3a0 30 30 30 38 20 7d 0d 0a 2f 2f 20 23 69 66 28 57  0008 }..// #if(W
1d3b0 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
1d3c0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1d3d0 54 50 4d 5f 54 4f 50 41 4c 49 47 4e 20 3d 20 30  TPM_TOPALIGN = 0
1d3e0 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0000 }..enum : 
1d3f0 75 69 6e 74 20 7b 20 54 50 4d 5f 56 43 45 4e 54  uint { TPM_VCENT
1d400 45 52 41 4c 49 47 4e 20 3d 20 30 78 30 30 31 30  ERALIGN = 0x0010
1d410 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1d420 7b 20 54 50 4d 5f 42 4f 54 54 4f 4d 41 4c 49 47  { TPM_BOTTOMALIG
1d430 4e 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 0d 0a  N = 0x0020 }....
1d440 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 50  enum : uint { TP
1d450 4d 5f 48 4f 52 49 5a 4f 4e 54 41 4c 20 3d 20 30  M_HORIZONTAL = 0
1d460 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0000 }..enum : 
1d470 75 69 6e 74 20 7b 20 54 50 4d 5f 56 45 52 54 49  uint { TPM_VERTI
1d480 43 41 4c 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a  CAL = 0x0040 }..
1d490 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 50  enum : uint { TP
1d4a0 4d 5f 4e 4f 4e 4f 54 49 46 59 20 3d 20 30 78 30  M_NONOTIFY = 0x0
1d4b0 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  080 }..enum : ui
1d4c0 6e 74 20 7b 20 54 50 4d 5f 52 45 54 55 52 4e 43  nt { TPM_RETURNC
1d4d0 4d 44 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 2f  MD = 0x0100 }../
1d4e0 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
1d4f0 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  ER >= 0x0400 */.
1d500 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e  .// #if(WINVER >
1d510 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0500)..enum 
1d520 3a 20 75 69 6e 74 20 7b 20 54 50 4d 5f 52 45 43  : uint { TPM_REC
1d530 55 52 53 45 20 3d 20 30 78 30 30 30 31 20 7d 0d  URSE = 0x0001 }.
1d540 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
1d550 50 4d 5f 48 4f 52 50 4f 53 41 4e 49 4d 41 54 49  PM_HORPOSANIMATI
1d560 4f 4e 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a 65  ON = 0x0400 }..e
1d570 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 50 4d  num : uint { TPM
1d580 5f 48 4f 52 4e 45 47 41 4e 49 4d 41 54 49 4f 4e  _HORNEGANIMATION
1d590 20 3d 20 30 78 30 38 30 30 20 7d 0d 0a 65 6e 75   = 0x0800 }..enu
1d5a0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 50 4d 5f 56  m : uint { TPM_V
1d5b0 45 52 50 4f 53 41 4e 49 4d 41 54 49 4f 4e 20 3d  ERPOSANIMATION =
1d5c0 20 30 78 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x1000 }..enum 
1d5d0 3a 20 75 69 6e 74 20 7b 20 54 50 4d 5f 56 45 52  : uint { TPM_VER
1d5e0 4e 45 47 41 4e 49 4d 41 54 49 4f 4e 20 3d 20 30  NEGANIMATION = 0
1d5f0 78 32 30 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 28  x2000 }..// #if(
1d600 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
1d610 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0500)..enum : 
1d620 75 69 6e 74 20 7b 20 54 50 4d 5f 4e 4f 41 4e 49  uint { TPM_NOANI
1d630 4d 41 54 49 4f 4e 20 3d 20 30 78 34 30 30 30 20  MATION = 0x4000 
1d640 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  }..// #endif /* 
1d650 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
1d660 30 78 30 35 30 30 20 2a 2f 0d 0a 2f 2f 20 23 69  0x0500 */..// #i
1d670 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e  f(_WIN32_WINNT >
1d680 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20  = 0x0501)..enum 
1d690 3a 20 75 69 6e 74 20 7b 20 54 50 4d 5f 4c 41 59  : uint { TPM_LAY
1d6a0 4f 55 54 52 54 4c 20 3d 20 30 78 38 30 30 30 20  OUTRTL = 0x8000 
1d6b0 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  }..// #endif /* 
1d6c0 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
1d6d0 30 78 30 35 30 31 20 2a 2f 0d 0a 2f 2f 20 23 65  0x0501 */..// #e
1d6e0 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e  ndif /* WINVER >
1d6f0 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f  = 0x0500 */..../
1d700 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 4d  / #endif /* !NOM
1d710 45 4e 55 53 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69  ENUS */....// #i
1d720 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
1d730 30 30 29 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  00)....struct ta
1d740 67 44 52 4f 50 53 54 52 55 43 54 20 7b 0d 0a 20  gDROPSTRUCT {.. 
1d750 20 48 57 4e 44 20 68 77 6e 64 53 6f 75 72 63 65   HWND hwndSource
1d760 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 53 69  ;..  HWND hwndSi
1d770 6e 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 77 46 6d  nk;..  DWORD wFm
1d780 74 3b 0d 0a 20 20 55 4c 4f 4e 47 5f 50 54 52 20  t;..  ULONG_PTR 
1d790 64 77 44 61 74 61 3b 0d 0a 20 20 50 4f 49 4e 54  dwData;..  POINT
1d7a0 20 70 74 44 72 6f 70 3b 0d 0a 20 20 44 57 4f 52   ptDrop;..  DWOR
1d7b0 44 20 64 77 43 6f 6e 74 72 6f 6c 44 61 74 61 3b  D dwControlData;
1d7c0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 44 52  ..}..alias tagDR
1d7d0 4f 50 53 54 52 55 43 54 20 44 52 4f 50 53 54 52  OPSTRUCT DROPSTR
1d7e0 55 43 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67 44  UCT;..alias tagD
1d7f0 52 4f 50 53 54 52 55 43 54 2a 20 50 44 52 4f 50  ROPSTRUCT* PDROP
1d800 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20 74  STRUCT;..alias t
1d810 61 67 44 52 4f 50 53 54 52 55 43 54 2a 20 4c 50  agDROPSTRUCT* LP
1d820 44 52 4f 50 53 54 52 55 43 54 3b 0d 0a 0d 0a 65  DROPSTRUCT;....e
1d830 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f 46  num : uint { DOF
1d840 5f 45 58 45 43 55 54 41 42 4c 45 20 3d 20 30 78  _EXECUTABLE = 0x
1d850 38 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  8001 }..enum : u
1d860 69 6e 74 20 7b 20 44 4f 46 5f 44 4f 43 55 4d 45  int { DOF_DOCUME
1d870 4e 54 20 3d 20 30 78 38 30 30 32 20 7d 0d 0a 65  NT = 0x8002 }..e
1d880 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f 46  num : uint { DOF
1d890 5f 44 49 52 45 43 54 4f 52 59 20 3d 20 30 78 38  _DIRECTORY = 0x8
1d8a0 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  003 }..enum : ui
1d8b0 6e 74 20 7b 20 44 4f 46 5f 4d 55 4c 54 49 50 4c  nt { DOF_MULTIPL
1d8c0 45 20 3d 20 30 78 38 30 30 34 20 7d 0d 0a 65 6e  E = 0x8004 }..en
1d8d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f 46 5f  um : uint { DOF_
1d8e0 50 52 4f 47 4d 41 4e 20 3d 20 30 78 30 30 30 31  PROGMAN = 0x0001
1d8f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1d900 7b 20 44 4f 46 5f 53 48 45 4c 4c 44 41 54 41 20  { DOF_SHELLDATA 
1d910 3d 20 30 78 30 30 30 32 20 7d 0d 0a 0d 0a 65 6e  = 0x0002 }....en
1d920 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f 5f 44  um : uint { DO_D
1d930 52 4f 50 46 49 4c 45 20 3d 20 30 78 34 35 34 43  ROPFILE = 0x454C
1d940 34 39 34 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  4946 }..enum : u
1d950 69 6e 74 20 7b 20 44 4f 5f 50 52 49 4e 54 46 49  int { DO_PRINTFI
1d960 4c 45 20 3d 20 30 78 35 34 34 45 35 32 35 30 20  LE = 0x544E5250 
1d970 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  }....extern(Wind
1d980 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52  ows) export DWOR
1d990 44 20 44 72 61 67 4f 62 6a 65 63 74 28 0d 0a 20  D DragObject(.. 
1d9a0 20 48 57 4e 44 2c 0d 0a 20 20 48 57 4e 44 2c 0d   HWND,..  HWND,.
1d9b0 0a 20 20 55 49 4e 54 2c 0d 0a 20 20 55 4c 4f 4e  .  UINT,..  ULON
1d9c0 47 5f 50 54 52 2c 0d 0a 20 20 48 43 55 52 53 4f  G_PTR,..  HCURSO
1d9d0 52 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  R);....extern(Wi
1d9e0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
1d9f0 4f 4c 20 44 72 61 67 44 65 74 65 63 74 28 0d 0a  OL DragDetect(..
1da00 20 20 48 57 4e 44 2c 0d 0a 20 20 50 4f 49 4e 54    HWND,..  POINT
1da10 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  );..// #endif /*
1da20 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30   WINVER >= 0x040
1da30 30 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  0 */....extern(W
1da40 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
1da50 4f 4f 4c 20 44 72 61 77 49 63 6f 6e 28 0d 0a 20  OOL DrawIcon(.. 
1da60 20 48 44 43 20 68 44 43 2c 0d 0a 20 20 69 6e 74   HDC hDC,..  int
1da70 20 58 2c 0d 0a 20 20 69 6e 74 20 59 2c 0d 0a 20   X,..  int Y,.. 
1da80 20 48 49 43 4f 4e 20 68 49 63 6f 6e 29 3b 0d 0a   HICON hIcon);..
1da90 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 44  ..// #ifndef NOD
1daa0 52 41 57 54 45 58 54 0d 0a 0d 0a 65 6e 75 6d 20  RAWTEXT....enum 
1dab0 3a 20 75 69 6e 74 20 7b 20 44 54 5f 54 4f 50 20  : uint { DT_TOP 
1dac0 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x00000000 }..
1dad0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54  enum : uint { DT
1dae0 5f 4c 45 46 54 20 3d 20 30 78 30 30 30 30 30 30  _LEFT = 0x000000
1daf0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
1db00 74 20 7b 20 44 54 5f 43 45 4e 54 45 52 20 3d 20  t { DT_CENTER = 
1db10 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e  0x00000001 }..en
1db20 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 5f 52  um : uint { DT_R
1db30 49 47 48 54 20 3d 20 30 78 30 30 30 30 30 30 30  IGHT = 0x0000000
1db40 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
1db50 20 7b 20 44 54 5f 56 43 45 4e 54 45 52 20 3d 20   { DT_VCENTER = 
1db60 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e  0x00000004 }..en
1db70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 5f 42  um : uint { DT_B
1db80 4f 54 54 4f 4d 20 3d 20 30 78 30 30 30 30 30 30  OTTOM = 0x000000
1db90 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
1dba0 74 20 7b 20 44 54 5f 57 4f 52 44 42 52 45 41 4b  t { DT_WORDBREAK
1dbb0 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d   = 0x00000010 }.
1dbc0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
1dbd0 54 5f 53 49 4e 47 4c 45 4c 49 4e 45 20 3d 20 30  T_SINGLELINE = 0
1dbe0 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75  x00000020 }..enu
1dbf0 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 5f 45 58  m : uint { DT_EX
1dc00 50 41 4e 44 54 41 42 53 20 3d 20 30 78 30 30 30  PANDTABS = 0x000
1dc10 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00040 }..enum : 
1dc20 75 69 6e 74 20 7b 20 44 54 5f 54 41 42 53 54 4f  uint { DT_TABSTO
1dc30 50 20 3d 20 30 78 30 30 30 30 30 30 38 30 20 7d  P = 0x00000080 }
1dc40 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1dc50 44 54 5f 4e 4f 43 4c 49 50 20 3d 20 30 78 30 30  DT_NOCLIP = 0x00
1dc60 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000100 }..enum :
1dc70 20 75 69 6e 74 20 7b 20 44 54 5f 45 58 54 45 52   uint { DT_EXTER
1dc80 4e 41 4c 4c 45 41 44 49 4e 47 20 3d 20 30 78 30  NALLEADING = 0x0
1dc90 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000200 }..enum 
1dca0 3a 20 75 69 6e 74 20 7b 20 44 54 5f 43 41 4c 43  : uint { DT_CALC
1dcb0 52 45 43 54 20 3d 20 30 78 30 30 30 30 30 34 30  RECT = 0x0000040
1dcc0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1dcd0 20 7b 20 44 54 5f 4e 4f 50 52 45 46 49 58 20 3d   { DT_NOPREFIX =
1dce0 20 30 78 30 30 30 30 30 38 30 30 20 7d 0d 0a 65   0x00000800 }..e
1dcf0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 5f  num : uint { DT_
1dd00 49 4e 54 45 52 4e 41 4c 20 3d 20 30 78 30 30 30  INTERNAL = 0x000
1dd10 30 31 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69  01000 }....// #i
1dd20 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
1dd30 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
1dd40 20 7b 20 44 54 5f 45 44 49 54 43 4f 4e 54 52 4f   { DT_EDITCONTRO
1dd50 4c 20 3d 20 30 78 30 30 30 30 32 30 30 30 20 7d  L = 0x00002000 }
1dd60 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1dd70 44 54 5f 50 41 54 48 5f 45 4c 4c 49 50 53 49 53  DT_PATH_ELLIPSIS
1dd80 20 3d 20 30 78 30 30 30 30 34 30 30 30 20 7d 0d   = 0x00004000 }.
1dd90 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
1dda0 54 5f 45 4e 44 5f 45 4c 4c 49 50 53 49 53 20 3d  T_END_ELLIPSIS =
1ddb0 20 30 78 30 30 30 30 38 30 30 30 20 7d 0d 0a 65   0x00008000 }..e
1ddc0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 5f  num : uint { DT_
1ddd0 4d 4f 44 49 46 59 53 54 52 49 4e 47 20 3d 20 30  MODIFYSTRING = 0
1dde0 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75  x00010000 }..enu
1ddf0 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 5f 52 54  m : uint { DT_RT
1de00 4c 52 45 41 44 49 4e 47 20 3d 20 30 78 30 30 30  LREADING = 0x000
1de10 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  20000 }..enum : 
1de20 75 69 6e 74 20 7b 20 44 54 5f 57 4f 52 44 5f 45  uint { DT_WORD_E
1de30 4c 4c 49 50 53 49 53 20 3d 20 30 78 30 30 30 34  LLIPSIS = 0x0004
1de40 30 30 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 57  0000 }..// #if(W
1de50 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29  INVER >= 0x0500)
1de60 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1de70 44 54 5f 4e 4f 46 55 4c 4c 57 49 44 54 48 43 48  DT_NOFULLWIDTHCH
1de80 41 52 42 52 45 41 4b 20 3d 20 30 78 30 30 30 38  ARBREAK = 0x0008
1de90 30 30 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 5f  0000 }..// #if(_
1dea0 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
1deb0 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0500)..enum : u
1dec0 69 6e 74 20 7b 20 44 54 5f 48 49 44 45 50 52 45  int { DT_HIDEPRE
1ded0 46 49 58 20 3d 20 30 78 30 30 31 30 30 30 30 30  FIX = 0x00100000
1dee0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1def0 7b 20 44 54 5f 50 52 45 46 49 58 4f 4e 4c 59 20  { DT_PREFIXONLY 
1df00 3d 20 30 78 30 30 32 30 30 30 30 30 20 7d 0d 0a  = 0x00200000 }..
1df10 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49  // #endif /* _WI
1df20 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30  N32_WINNT >= 0x0
1df30 35 30 30 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69  500 */..// #endi
1df40 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
1df50 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 73 74 72 75  x0500 */....stru
1df60 63 74 20 74 61 67 44 52 41 57 54 45 58 54 50 41  ct tagDRAWTEXTPA
1df70 52 41 4d 53 20 7b 0d 0a 20 20 55 49 4e 54 20 63  RAMS {..  UINT c
1df80 62 53 69 7a 65 3b 0d 0a 20 20 69 6e 74 20 69 54  bSize;..  int iT
1df90 61 62 4c 65 6e 67 74 68 3b 0d 0a 20 20 69 6e 74  abLength;..  int
1dfa0 20 69 4c 65 66 74 4d 61 72 67 69 6e 3b 0d 0a 20   iLeftMargin;.. 
1dfb0 20 69 6e 74 20 69 52 69 67 68 74 4d 61 72 67 69   int iRightMargi
1dfc0 6e 3b 0d 0a 20 20 55 49 4e 54 20 75 69 4c 65 6e  n;..  UINT uiLen
1dfd0 67 74 68 44 72 61 77 6e 3b 0d 0a 7d 0d 0a 61 6c  gthDrawn;..}..al
1dfe0 69 61 73 20 74 61 67 44 52 41 57 54 45 58 54 50  ias tagDRAWTEXTP
1dff0 41 52 41 4d 53 20 44 52 41 57 54 45 58 54 50 41  ARAMS DRAWTEXTPA
1e000 52 41 4d 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67  RAMS;..alias tag
1e010 44 52 41 57 54 45 58 54 50 41 52 41 4d 53 2a 20  DRAWTEXTPARAMS* 
1e020 4c 50 44 52 41 57 54 45 58 54 50 41 52 41 4d 53  LPDRAWTEXTPARAMS
1e030 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  ;....// #endif /
1e040 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  * WINVER >= 0x04
1e050 30 30 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28  00 */....extern(
1e060 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
1e070 69 6e 74 20 44 72 61 77 54 65 78 74 41 28 0d 0a  int DrawTextA(..
1e080 20 20 48 44 43 20 68 44 43 2c 0d 0a 20 20 4c 50    HDC hDC,..  LP
1e090 43 53 54 52 20 6c 70 53 74 72 69 6e 67 2c 0d 0a  CSTR lpString,..
1e0a0 20 20 69 6e 74 20 6e 43 6f 75 6e 74 2c 0d 0a 20    int nCount,.. 
1e0b0 20 4c 50 52 45 43 54 20 6c 70 52 65 63 74 2c 0d   LPRECT lpRect,.
1e0c0 0a 20 20 55 49 4e 54 20 75 46 6f 72 6d 61 74 29  .  UINT uFormat)
1e0d0 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
1e0e0 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 44 72  s) export int Dr
1e0f0 61 77 54 65 78 74 57 28 0d 0a 20 20 48 44 43 20  awTextW(..  HDC 
1e100 68 44 43 2c 0d 0a 20 20 4c 50 43 57 53 54 52 20  hDC,..  LPCWSTR 
1e110 6c 70 53 74 72 69 6e 67 2c 0d 0a 20 20 69 6e 74  lpString,..  int
1e120 20 6e 43 6f 75 6e 74 2c 0d 0a 20 20 4c 50 52 45   nCount,..  LPRE
1e130 43 54 20 6c 70 52 65 63 74 2c 0d 0a 20 20 55 49  CT lpRect,..  UI
1e140 4e 54 20 75 46 6f 72 6d 61 74 29 3b 0d 0a 2f 2f  NT uFormat);..//
1e150 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
1e160 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
1e170 73 65 0d 0a 61 6c 69 61 73 20 44 72 61 77 54 65  se..alias DrawTe
1e180 78 74 41 20 44 72 61 77 54 65 78 74 3b 0d 0a 2f  xtA DrawText;../
1e190 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
1e1a0 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57  CODE....// #if(W
1e1b0 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
1e1c0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
1e1d0 29 20 65 78 70 6f 72 74 20 69 6e 74 20 44 72 61  ) export int Dra
1e1e0 77 54 65 78 74 45 78 41 28 0d 0a 20 20 48 44 43  wTextExA(..  HDC
1e1f0 2c 0d 0a 20 20 4c 50 53 54 52 2c 0d 0a 20 20 69  ,..  LPSTR,..  i
1e200 6e 74 2c 0d 0a 20 20 4c 50 52 45 43 54 2c 0d 0a  nt,..  LPRECT,..
1e210 20 20 55 49 4e 54 2c 0d 0a 20 20 4c 50 44 52 41    UINT,..  LPDRA
1e220 57 54 45 58 54 50 41 52 41 4d 53 29 3b 0d 0a 65  WTEXTPARAMS);..e
1e230 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
1e240 78 70 6f 72 74 20 69 6e 74 20 44 72 61 77 54 65  xport int DrawTe
1e250 78 74 45 78 57 28 0d 0a 20 20 48 44 43 2c 0d 0a  xtExW(..  HDC,..
1e260 20 20 4c 50 57 53 54 52 2c 0d 0a 20 20 69 6e 74    LPWSTR,..  int
1e270 2c 0d 0a 20 20 4c 50 52 45 43 54 2c 0d 0a 20 20  ,..  LPRECT,..  
1e280 55 49 4e 54 2c 0d 0a 20 20 4c 50 44 52 41 57 54  UINT,..  LPDRAWT
1e290 45 58 54 50 41 52 41 4d 53 29 3b 0d 0a 2f 2f 20  EXTPARAMS);..// 
1e2a0 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
1e2b0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
1e2c0 65 0d 0a 61 6c 69 61 73 20 44 72 61 77 54 65 78  e..alias DrawTex
1e2d0 74 45 78 41 20 44 72 61 77 54 65 78 74 45 78 3b  tExA DrawTextEx;
1e2e0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
1e2f0 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 65 6e 64  UNICODE..// #end
1e300 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20  if /* WINVER >= 
1e310 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20  0x0400 */....// 
1e320 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 44 52 41  #endif /* !NODRA
1e330 57 54 45 58 54 20 2a 2f 0d 0a 0d 0a 65 78 74 65  WTEXT */....exte
1e340 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
1e350 72 74 20 42 4f 4f 4c 20 47 72 61 79 53 74 72 69  rt BOOL GrayStri
1e360 6e 67 41 28 0d 0a 20 20 48 44 43 20 68 44 43 2c  ngA(..  HDC hDC,
1e370 0d 0a 20 20 48 42 52 55 53 48 20 68 42 72 75 73  ..  HBRUSH hBrus
1e380 68 2c 0d 0a 20 20 47 52 41 59 53 54 52 49 4e 47  h,..  GRAYSTRING
1e390 50 52 4f 43 20 6c 70 4f 75 74 70 75 74 46 75 6e  PROC lpOutputFun
1e3a0 63 2c 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 70 44  c,..  LPARAM lpD
1e3b0 61 74 61 2c 0d 0a 20 20 69 6e 74 20 6e 43 6f 75  ata,..  int nCou
1e3c0 6e 74 2c 0d 0a 20 20 69 6e 74 20 58 2c 0d 0a 20  nt,..  int X,.. 
1e3d0 20 69 6e 74 20 59 2c 0d 0a 20 20 69 6e 74 20 6e   int Y,..  int n
1e3e0 57 69 64 74 68 2c 0d 0a 20 20 69 6e 74 20 6e 48  Width,..  int nH
1e3f0 65 69 67 68 74 29 3b 0d 0a 65 78 74 65 72 6e 28  eight);..extern(
1e400 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
1e410 42 4f 4f 4c 20 47 72 61 79 53 74 72 69 6e 67 57  BOOL GrayStringW
1e420 28 0d 0a 20 20 48 44 43 20 68 44 43 2c 0d 0a 20  (..  HDC hDC,.. 
1e430 20 48 42 52 55 53 48 20 68 42 72 75 73 68 2c 0d   HBRUSH hBrush,.
1e440 0a 20 20 47 52 41 59 53 54 52 49 4e 47 50 52 4f  .  GRAYSTRINGPRO
1e450 43 20 6c 70 4f 75 74 70 75 74 46 75 6e 63 2c 0d  C lpOutputFunc,.
1e460 0a 20 20 4c 50 41 52 41 4d 20 6c 70 44 61 74 61  .  LPARAM lpData
1e470 2c 0d 0a 20 20 69 6e 74 20 6e 43 6f 75 6e 74 2c  ,..  int nCount,
1e480 0d 0a 20 20 69 6e 74 20 58 2c 0d 0a 20 20 69 6e  ..  int X,..  in
1e490 74 20 59 2c 0d 0a 20 20 69 6e 74 20 6e 57 69 64  t Y,..  int nWid
1e4a0 74 68 2c 0d 0a 20 20 69 6e 74 20 6e 48 65 69 67  th,..  int nHeig
1e4b0 68 74 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  ht);..// #ifdef 
1e4c0 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e  UNICODE..// #...
1e4d0 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
1e4e0 73 20 47 72 61 79 53 74 72 69 6e 67 41 20 47 72  s GrayStringA Gr
1e4f0 61 79 53 74 72 69 6e 67 3b 0d 0a 2f 2f 20 23 65  ayString;..// #e
1e500 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
1e510 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45  ....// #if(WINVE
1e520 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a  R >= 0x0400)....
1e530 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 53  enum : uint { DS
1e540 54 5f 43 4f 4d 50 4c 45 58 20 3d 20 30 78 30 30  T_COMPLEX = 0x00
1e550 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
1e560 74 20 7b 20 44 53 54 5f 54 45 58 54 20 3d 20 30  t { DST_TEXT = 0
1e570 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0001 }..enum : 
1e580 75 69 6e 74 20 7b 20 44 53 54 5f 50 52 45 46 49  uint { DST_PREFI
1e590 58 54 45 58 54 20 3d 20 30 78 30 30 30 32 20 7d  XTEXT = 0x0002 }
1e5a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1e5b0 44 53 54 5f 49 43 4f 4e 20 3d 20 30 78 30 30 30  DST_ICON = 0x000
1e5c0 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
1e5d0 20 7b 20 44 53 54 5f 42 49 54 4d 41 50 20 3d 20   { DST_BITMAP = 
1e5e0 30 78 30 30 30 34 20 7d 0d 0a 0d 0a 65 6e 75 6d  0x0004 }....enum
1e5f0 20 3a 20 75 69 6e 74 20 7b 20 44 53 53 5f 4e 4f   : uint { DSS_NO
1e600 52 4d 41 4c 20 3d 20 30 78 30 30 30 30 20 7d 0d  RMAL = 0x0000 }.
1e610 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
1e620 53 53 5f 55 4e 49 4f 4e 20 3d 20 30 78 30 30 31  SS_UNION = 0x001
1e630 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1e640 20 7b 20 44 53 53 5f 44 49 53 41 42 4c 45 44 20   { DSS_DISABLED 
1e650 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d  = 0x0020 }..enum
1e660 20 3a 20 75 69 6e 74 20 7b 20 44 53 53 5f 4d 4f   : uint { DSS_MO
1e670 4e 4f 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a 2f  NO = 0x0080 }../
1e680 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e  / #if(_WIN32_WIN
1e690 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65  NT >= 0x0500)..e
1e6a0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 53 53  num : uint { DSS
1e6b0 5f 48 49 44 45 50 52 45 46 49 58 20 3d 20 30 78  _HIDEPREFIX = 0x
1e6c0 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0200 }..enum : u
1e6d0 69 6e 74 20 7b 20 44 53 53 5f 50 52 45 46 49 58  int { DSS_PREFIX
1e6e0 4f 4e 4c 59 20 3d 20 30 78 30 34 30 30 20 7d 0d  ONLY = 0x0400 }.
1e6f0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57  .// #endif /* _W
1e700 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
1e710 30 35 30 30 20 2a 2f 0d 0a 65 6e 75 6d 20 3a 20  0500 */..enum : 
1e720 75 69 6e 74 20 7b 20 44 53 53 5f 52 49 47 48 54  uint { DSS_RIGHT
1e730 20 3d 20 30 78 38 30 30 30 20 7d 0d 0a 0d 0a 65   = 0x8000 }....e
1e740 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
1e750 78 70 6f 72 74 20 42 4f 4f 4c 20 44 72 61 77 53  xport BOOL DrawS
1e760 74 61 74 65 41 28 0d 0a 20 20 48 44 43 2c 0d 0a  tateA(..  HDC,..
1e770 20 20 48 42 52 55 53 48 2c 0d 0a 20 20 44 52 41    HBRUSH,..  DRA
1e780 57 53 54 41 54 45 50 52 4f 43 2c 0d 0a 20 20 4c  WSTATEPROC,..  L
1e790 50 41 52 41 4d 2c 0d 0a 20 20 57 50 41 52 41 4d  PARAM,..  WPARAM
1e7a0 2c 0d 0a 20 20 69 6e 74 2c 0d 0a 20 20 69 6e 74  ,..  int,..  int
1e7b0 2c 0d 0a 20 20 69 6e 74 2c 0d 0a 20 20 69 6e 74  ,..  int,..  int
1e7c0 2c 0d 0a 20 20 55 49 4e 54 29 3b 0d 0a 65 78 74  ,..  UINT);..ext
1e7d0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1e7e0 6f 72 74 20 42 4f 4f 4c 20 44 72 61 77 53 74 61  ort BOOL DrawSta
1e7f0 74 65 57 28 0d 0a 20 20 48 44 43 2c 0d 0a 20 20  teW(..  HDC,..  
1e800 48 42 52 55 53 48 2c 0d 0a 20 20 44 52 41 57 53  HBRUSH,..  DRAWS
1e810 54 41 54 45 50 52 4f 43 2c 0d 0a 20 20 4c 50 41  TATEPROC,..  LPA
1e820 52 41 4d 2c 0d 0a 20 20 57 50 41 52 41 4d 2c 0d  RAM,..  WPARAM,.
1e830 0a 20 20 69 6e 74 2c 0d 0a 20 20 69 6e 74 2c 0d  .  int,..  int,.
1e840 0a 20 20 69 6e 74 2c 0d 0a 20 20 69 6e 74 2c 0d  .  int,..  int,.
1e850 0a 20 20 55 49 4e 54 29 3b 0d 0a 2f 2f 20 23 69  .  UINT);..// #i
1e860 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
1e870 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
1e880 0a 61 6c 69 61 73 20 44 72 61 77 53 74 61 74 65  .alias DrawState
1e890 41 20 44 72 61 77 53 74 61 74 65 3b 0d 0a 2f 2f  A DrawState;..//
1e8a0 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
1e8b0 4f 44 45 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  ODE..// #endif /
1e8c0 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  * WINVER >= 0x04
1e8d0 30 30 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28  00 */....extern(
1e8e0 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
1e8f0 4c 4f 4e 47 20 54 61 62 62 65 64 54 65 78 74 4f  LONG TabbedTextO
1e900 75 74 41 28 0d 0a 20 20 48 44 43 20 68 44 43 2c  utA(..  HDC hDC,
1e910 0d 0a 20 20 69 6e 74 20 58 2c 0d 0a 20 20 69 6e  ..  int X,..  in
1e920 74 20 59 2c 0d 0a 20 20 4c 50 43 53 54 52 20 6c  t Y,..  LPCSTR l
1e930 70 53 74 72 69 6e 67 2c 0d 0a 20 20 69 6e 74 20  pString,..  int 
1e940 6e 43 6f 75 6e 74 2c 0d 0a 20 20 69 6e 74 20 6e  nCount,..  int n
1e950 54 61 62 50 6f 73 69 74 69 6f 6e 73 2c 0d 0a 20  TabPositions,.. 
1e960 20 49 4e 54 20 2a 6c 70 6e 54 61 62 53 74 6f 70   INT *lpnTabStop
1e970 50 6f 73 69 74 69 6f 6e 73 2c 0d 0a 20 20 69 6e  Positions,..  in
1e980 74 20 6e 54 61 62 4f 72 69 67 69 6e 29 3b 0d 0a  t nTabOrigin);..
1e990 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
1e9a0 65 78 70 6f 72 74 20 4c 4f 4e 47 20 54 61 62 62  export LONG Tabb
1e9b0 65 64 54 65 78 74 4f 75 74 57 28 0d 0a 20 20 48  edTextOutW(..  H
1e9c0 44 43 20 68 44 43 2c 0d 0a 20 20 69 6e 74 20 58  DC hDC,..  int X
1e9d0 2c 0d 0a 20 20 69 6e 74 20 59 2c 0d 0a 20 20 4c  ,..  int Y,..  L
1e9e0 50 43 57 53 54 52 20 6c 70 53 74 72 69 6e 67 2c  PCWSTR lpString,
1e9f0 0d 0a 20 20 69 6e 74 20 6e 43 6f 75 6e 74 2c 0d  ..  int nCount,.
1ea00 0a 20 20 69 6e 74 20 6e 54 61 62 50 6f 73 69 74  .  int nTabPosit
1ea10 69 6f 6e 73 2c 0d 0a 20 20 49 4e 54 20 2a 6c 70  ions,..  INT *lp
1ea20 6e 54 61 62 53 74 6f 70 50 6f 73 69 74 69 6f 6e  nTabStopPosition
1ea30 73 2c 0d 0a 20 20 69 6e 74 20 6e 54 61 62 4f 72  s,..  int nTabOr
1ea40 69 67 69 6e 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  igin);..// #ifde
1ea50 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
1ea60 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
1ea70 69 61 73 20 54 61 62 62 65 64 54 65 78 74 4f 75  ias TabbedTextOu
1ea80 74 41 20 54 61 62 62 65 64 54 65 78 74 4f 75 74  tA TabbedTextOut
1ea90 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
1eaa0 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
1eab0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
1eac0 72 74 20 44 57 4f 52 44 20 47 65 74 54 61 62 62  rt DWORD GetTabb
1ead0 65 64 54 65 78 74 45 78 74 65 6e 74 41 28 0d 0a  edTextExtentA(..
1eae0 20 20 48 44 43 20 68 44 43 2c 0d 0a 20 20 4c 50    HDC hDC,..  LP
1eaf0 43 53 54 52 20 6c 70 53 74 72 69 6e 67 2c 0d 0a  CSTR lpString,..
1eb00 20 20 69 6e 74 20 6e 43 6f 75 6e 74 2c 0d 0a 20    int nCount,.. 
1eb10 20 69 6e 74 20 6e 54 61 62 50 6f 73 69 74 69 6f   int nTabPositio
1eb20 6e 73 2c 0d 0a 20 20 49 4e 54 20 2a 6c 70 6e 54  ns,..  INT *lpnT
1eb30 61 62 53 74 6f 70 50 6f 73 69 74 69 6f 6e 73 29  abStopPositions)
1eb40 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
1eb50 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20  s) export DWORD 
1eb60 47 65 74 54 61 62 62 65 64 54 65 78 74 45 78 74  GetTabbedTextExt
1eb70 65 6e 74 57 28 0d 0a 20 20 48 44 43 20 68 44 43  entW(..  HDC hDC
1eb80 2c 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 53  ,..  LPCWSTR lpS
1eb90 74 72 69 6e 67 2c 0d 0a 20 20 69 6e 74 20 6e 43  tring,..  int nC
1eba0 6f 75 6e 74 2c 0d 0a 20 20 69 6e 74 20 6e 54 61  ount,..  int nTa
1ebb0 62 50 6f 73 69 74 69 6f 6e 73 2c 0d 0a 20 20 49  bPositions,..  I
1ebc0 4e 54 20 2a 6c 70 6e 54 61 62 53 74 6f 70 50 6f  NT *lpnTabStopPo
1ebd0 73 69 74 69 6f 6e 73 29 3b 0d 0a 2f 2f 20 23 69  sitions);..// #i
1ebe0 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
1ebf0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
1ec00 0a 61 6c 69 61 73 20 47 65 74 54 61 62 62 65 64  .alias GetTabbed
1ec10 54 65 78 74 45 78 74 65 6e 74 41 20 47 65 74 54  TextExtentA GetT
1ec20 61 62 62 65 64 54 65 78 74 45 78 74 65 6e 74 3b  abbedTextExtent;
1ec30 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
1ec40 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
1ec50 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
1ec60 74 20 42 4f 4f 4c 20 55 70 64 61 74 65 57 69 6e  t BOOL UpdateWin
1ec70 64 6f 77 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  dow(..  HWND hWn
1ec80 64 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  d);....extern(Wi
1ec90 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57  ndows) export HW
1eca0 4e 44 20 53 65 74 41 63 74 69 76 65 57 69 6e 64  ND SetActiveWind
1ecb0 6f 77 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  ow(..  HWND hWnd
1ecc0 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
1ecd0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e  dows) export HWN
1ece0 44 20 47 65 74 46 6f 72 65 67 72 6f 75 6e 64 57  D GetForegroundW
1ecf0 69 6e 64 6f 77 28 29 3b 0d 0a 0d 0a 2f 2f 20 23  indow();....// #
1ed00 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  if(WINVER >= 0x0
1ed10 34 30 30 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e  400)..extern(Win
1ed20 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
1ed30 4c 20 50 61 69 6e 74 44 65 73 6b 74 6f 70 28 0d  L PaintDesktop(.
1ed40 0a 20 20 48 44 43 20 68 64 63 29 3b 0d 0a 0d 0a  .  HDC hdc);....
1ed50 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
1ed60 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f  VER >= 0x0400 */
1ed70 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
1ed80 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
1ed90 53 65 74 46 6f 72 65 67 72 6f 75 6e 64 57 69 6e  SetForegroundWin
1eda0 64 6f 77 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  dow(..  HWND hWn
1edb0 64 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28 5f 57  d);....// #if(_W
1edc0 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
1edd0 30 35 30 30 29 0d 0a 65 78 74 65 72 6e 28 57 69  0500)..extern(Wi
1ede0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
1edf0 4f 4c 20 41 6c 6c 6f 77 53 65 74 46 6f 72 65 67  OL AllowSetForeg
1ee00 72 6f 75 6e 64 57 69 6e 64 6f 77 28 0d 0a 20 20  roundWindow(..  
1ee10 44 57 4f 52 44 20 64 77 50 72 6f 63 65 73 73 49  DWORD dwProcessI
1ee20 64 29 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 44 57  d);....enum : DW
1ee30 4f 52 44 20 7b 20 41 53 46 57 5f 41 4e 59 20 3d  ORD { ASFW_ANY =
1ee40 20 63 61 73 74 28 44 57 4f 52 44 29 2d 31 20 7d   cast(DWORD)-1 }
1ee50 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
1ee60 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
1ee70 4c 6f 63 6b 53 65 74 46 6f 72 65 67 72 6f 75 6e  LockSetForegroun
1ee80 64 57 69 6e 64 6f 77 28 0d 0a 20 20 55 49 4e 54  dWindow(..  UINT
1ee90 20 75 4c 6f 63 6b 43 6f 64 65 29 3b 0d 0a 0d 0a   uLockCode);....
1eea0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 53  enum : uint { LS
1eeb0 46 57 5f 4c 4f 43 4b 20 3d 20 31 20 7d 0d 0a 65  FW_LOCK = 1 }..e
1eec0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 53 46  num : uint { LSF
1eed0 57 5f 55 4e 4c 4f 43 4b 20 3d 20 32 20 7d 0d 0a  W_UNLOCK = 2 }..
1eee0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f  ..// #endif /* _
1eef0 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
1ef00 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 65 78 74 65  x0500 */....exte
1ef10 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
1ef20 72 74 20 48 57 4e 44 20 57 69 6e 64 6f 77 46 72  rt HWND WindowFr
1ef30 6f 6d 44 43 28 0d 0a 20 20 48 44 43 20 68 44 43  omDC(..  HDC hDC
1ef40 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
1ef50 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 44 43  dows) export HDC
1ef60 20 47 65 74 44 43 28 0d 0a 20 20 48 57 4e 44 20   GetDC(..  HWND 
1ef70 68 57 6e 64 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  hWnd);....extern
1ef80 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
1ef90 20 48 44 43 20 47 65 74 44 43 45 78 28 0d 0a 20   HDC GetDCEx(.. 
1efa0 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 48   HWND hWnd,..  H
1efb0 52 47 4e 20 68 72 67 6e 43 6c 69 70 2c 0d 0a 20  RGN hrgnClip,.. 
1efc0 20 44 57 4f 52 44 20 66 6c 61 67 73 29 3b 0d 0a   DWORD flags);..
1efd0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1efe0 44 43 58 5f 57 49 4e 44 4f 57 20 3d 20 30 78 30  DCX_WINDOW = 0x0
1eff0 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20  0000001 }..enum 
1f000 3a 20 75 69 6e 74 20 7b 20 44 43 58 5f 43 41 43  : uint { DCX_CAC
1f010 48 45 20 3d 20 30 78 30 30 30 30 30 30 30 32 20  HE = 0x00000002 
1f020 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1f030 20 44 43 58 5f 4e 4f 52 45 53 45 54 41 54 54 52   DCX_NORESETATTR
1f040 53 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d  S = 0x00000004 }
1f050 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1f060 44 43 58 5f 43 4c 49 50 43 48 49 4c 44 52 45 4e  DCX_CLIPCHILDREN
1f070 20 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d   = 0x00000008 }.
1f080 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
1f090 43 58 5f 43 4c 49 50 53 49 42 4c 49 4e 47 53 20  CX_CLIPSIBLINGS 
1f0a0 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a  = 0x00000010 }..
1f0b0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 43  enum : uint { DC
1f0c0 58 5f 50 41 52 45 4e 54 43 4c 49 50 20 3d 20 30  X_PARENTCLIP = 0
1f0d0 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75  x00000020 }..enu
1f0e0 6d 20 3a 20 75 69 6e 74 20 7b 20 44 43 58 5f 45  m : uint { DCX_E
1f0f0 58 43 4c 55 44 45 52 47 4e 20 3d 20 30 78 30 30  XCLUDERGN = 0x00
1f100 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000040 }..enum :
1f110 20 75 69 6e 74 20 7b 20 44 43 58 5f 49 4e 54 45   uint { DCX_INTE
1f120 52 53 45 43 54 52 47 4e 20 3d 20 30 78 30 30 30  RSECTRGN = 0x000
1f130 30 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00080 }..enum : 
1f140 75 69 6e 74 20 7b 20 44 43 58 5f 45 58 43 4c 55  uint { DCX_EXCLU
1f150 44 45 55 50 44 41 54 45 20 3d 20 30 78 30 30 30  DEUPDATE = 0x000
1f160 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00100 }..enum : 
1f170 75 69 6e 74 20 7b 20 44 43 58 5f 49 4e 54 45 52  uint { DCX_INTER
1f180 53 45 43 54 55 50 44 41 54 45 20 3d 20 30 78 30  SECTUPDATE = 0x0
1f190 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000200 }..enum 
1f1a0 3a 20 75 69 6e 74 20 7b 20 44 43 58 5f 4c 4f 43  : uint { DCX_LOC
1f1b0 4b 57 49 4e 44 4f 57 55 50 44 41 54 45 20 3d 20  KWINDOWUPDATE = 
1f1c0 30 78 30 30 30 30 30 34 30 30 20 7d 0d 0a 0d 0a  0x00000400 }....
1f1d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 43  enum : uint { DC
1f1e0 58 5f 56 41 4c 49 44 41 54 45 20 3d 20 30 78 30  X_VALIDATE = 0x0
1f1f0 30 32 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 78 74  0200000 }....ext
1f200 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1f210 6f 72 74 20 48 44 43 20 47 65 74 57 69 6e 64 6f  ort HDC GetWindo
1f220 77 44 43 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  wDC(..  HWND hWn
1f230 64 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  d);....extern(Wi
1f240 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e  ndows) export in
1f250 74 20 52 65 6c 65 61 73 65 44 43 28 0d 0a 20 20  t ReleaseDC(..  
1f260 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 48 44  HWND hWnd,..  HD
1f270 43 20 68 44 43 29 3b 0d 0a 0d 0a 65 78 74 65 72  C hDC);....exter
1f280 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
1f290 74 20 48 44 43 20 42 65 67 69 6e 50 61 69 6e 74  t HDC BeginPaint
1f2a0 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d  (..  HWND hWnd,.
1f2b0 0a 20 20 4c 50 50 41 49 4e 54 53 54 52 55 43 54  .  LPPAINTSTRUCT
1f2c0 20 6c 70 50 61 69 6e 74 29 3b 0d 0a 0d 0a 65 78   lpPaint);....ex
1f2d0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
1f2e0 70 6f 72 74 20 42 4f 4f 4c 20 45 6e 64 50 61 69  port BOOL EndPai
1f2f0 6e 74 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  nt(..  HWND hWnd
1f300 2c 0d 0a 20 20 50 41 49 4e 54 53 54 52 55 43 54  ,..  PAINTSTRUCT
1f310 20 2a 6c 70 50 61 69 6e 74 29 3b 0d 0a 0d 0a 65   *lpPaint);....e
1f320 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
1f330 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 55 70  xport BOOL GetUp
1f340 64 61 74 65 52 65 63 74 28 0d 0a 20 20 48 57 4e  dateRect(..  HWN
1f350 44 20 68 57 6e 64 2c 0d 0a 20 20 4c 50 52 45 43  D hWnd,..  LPREC
1f360 54 20 6c 70 52 65 63 74 2c 0d 0a 20 20 42 4f 4f  T lpRect,..  BOO
1f370 4c 20 62 45 72 61 73 65 29 3b 0d 0a 0d 0a 65 78  L bErase);....ex
1f380 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
1f390 70 6f 72 74 20 69 6e 74 20 47 65 74 55 70 64 61  port int GetUpda
1f3a0 74 65 52 67 6e 28 0d 0a 20 20 48 57 4e 44 20 68  teRgn(..  HWND h
1f3b0 57 6e 64 2c 0d 0a 20 20 48 52 47 4e 20 68 52 67  Wnd,..  HRGN hRg
1f3c0 6e 2c 0d 0a 20 20 42 4f 4f 4c 20 62 45 72 61 73  n,..  BOOL bEras
1f3d0 65 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  e);....extern(Wi
1f3e0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e  ndows) export in
1f3f0 74 20 53 65 74 57 69 6e 64 6f 77 52 67 6e 28 0d  t SetWindowRgn(.
1f400 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20  .  HWND hWnd,.. 
1f410 20 48 52 47 4e 20 68 52 67 6e 2c 0d 0a 20 20 42   HRGN hRgn,..  B
1f420 4f 4f 4c 20 62 52 65 64 72 61 77 29 3b 0d 0a 0d  OOL bRedraw);...
1f430 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
1f440 20 65 78 70 6f 72 74 20 69 6e 74 20 47 65 74 57   export int GetW
1f450 69 6e 64 6f 77 52 67 6e 28 0d 0a 20 20 48 57 4e  indowRgn(..  HWN
1f460 44 20 68 57 6e 64 2c 0d 0a 20 20 48 52 47 4e 20  D hWnd,..  HRGN 
1f470 68 52 67 6e 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  hRgn);....// #if
1f480 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
1f490 20 30 78 30 35 30 31 29 0d 0a 0d 0a 65 78 74 65   0x0501)....exte
1f4a0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
1f4b0 72 74 20 69 6e 74 20 47 65 74 57 69 6e 64 6f 77  rt int GetWindow
1f4c0 52 67 6e 42 6f 78 28 0d 0a 20 20 48 57 4e 44 20  RgnBox(..  HWND 
1f4d0 68 57 6e 64 2c 0d 0a 20 20 4c 50 52 45 43 54 20  hWnd,..  LPRECT 
1f4e0 6c 70 72 63 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e  lprc);....// #en
1f4f0 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49  dif /* _WIN32_WI
1f500 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f  NNT >= 0x0501 */
1f510 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
1f520 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 45  ws) export int E
1f530 78 63 6c 75 64 65 55 70 64 61 74 65 52 67 6e 28  xcludeUpdateRgn(
1f540 0d 0a 20 20 48 44 43 20 68 44 43 2c 0d 0a 20 20  ..  HDC hDC,..  
1f550 48 57 4e 44 20 68 57 6e 64 29 3b 0d 0a 0d 0a 65  HWND hWnd);....e
1f560 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
1f570 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6e 76 61 6c  xport BOOL Inval
1f580 69 64 61 74 65 52 65 63 74 28 0d 0a 20 20 48 57  idateRect(..  HW
1f590 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 52 45 43 54  ND hWnd,..  RECT
1f5a0 20 2a 6c 70 52 65 63 74 2c 0d 0a 20 20 42 4f 4f   *lpRect,..  BOO
1f5b0 4c 20 62 45 72 61 73 65 29 3b 0d 0a 0d 0a 65 78  L bErase);....ex
1f5c0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
1f5d0 70 6f 72 74 20 42 4f 4f 4c 20 56 61 6c 69 64 61  port BOOL Valida
1f5e0 74 65 52 65 63 74 28 0d 0a 20 20 48 57 4e 44 20  teRect(..  HWND 
1f5f0 68 57 6e 64 2c 0d 0a 20 20 52 45 43 54 20 2a 6c  hWnd,..  RECT *l
1f600 70 52 65 63 74 29 3b 0d 0a 0d 0a 65 78 74 65 72  pRect);....exter
1f610 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
1f620 74 20 42 4f 4f 4c 20 49 6e 76 61 6c 69 64 61 74  t BOOL Invalidat
1f630 65 52 67 6e 28 0d 0a 20 20 48 57 4e 44 20 68 57  eRgn(..  HWND hW
1f640 6e 64 2c 0d 0a 20 20 48 52 47 4e 20 68 52 67 6e  nd,..  HRGN hRgn
1f650 2c 0d 0a 20 20 42 4f 4f 4c 20 62 45 72 61 73 65  ,..  BOOL bErase
1f660 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
1f670 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
1f680 4c 20 56 61 6c 69 64 61 74 65 52 67 6e 28 0d 0a  L ValidateRgn(..
1f690 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20    HWND hWnd,..  
1f6a0 48 52 47 4e 20 68 52 67 6e 29 3b 0d 0a 0d 0a 65  HRGN hRgn);....e
1f6b0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
1f6c0 78 70 6f 72 74 20 42 4f 4f 4c 20 52 65 64 72 61  xport BOOL Redra
1f6d0 77 57 69 6e 64 6f 77 28 0d 0a 20 20 48 57 4e 44  wWindow(..  HWND
1f6e0 20 68 57 6e 64 2c 0d 0a 20 20 52 45 43 54 20 2a   hWnd,..  RECT *
1f6f0 6c 70 72 63 55 70 64 61 74 65 2c 0d 0a 20 20 48  lprcUpdate,..  H
1f700 52 47 4e 20 68 72 67 6e 55 70 64 61 74 65 2c 0d  RGN hrgnUpdate,.
1f710 0a 20 20 55 49 4e 54 20 66 6c 61 67 73 29 3b 0d  .  UINT flags);.
1f720 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1f730 20 52 44 57 5f 49 4e 56 41 4c 49 44 41 54 45 20   RDW_INVALIDATE 
1f740 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  = 0x0001 }..enum
1f750 20 3a 20 75 69 6e 74 20 7b 20 52 44 57 5f 49 4e   : uint { RDW_IN
1f760 54 45 52 4e 41 4c 50 41 49 4e 54 20 3d 20 30 78  TERNALPAINT = 0x
1f770 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
1f780 69 6e 74 20 7b 20 52 44 57 5f 45 52 41 53 45 20  int { RDW_ERASE 
1f790 3d 20 30 78 30 30 30 34 20 7d 0d 0a 0d 0a 65 6e  = 0x0004 }....en
1f7a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 44 57 5f  um : uint { RDW_
1f7b0 56 41 4c 49 44 41 54 45 20 3d 20 30 78 30 30 30  VALIDATE = 0x000
1f7c0 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
1f7d0 20 7b 20 52 44 57 5f 4e 4f 49 4e 54 45 52 4e 41   { RDW_NOINTERNA
1f7e0 4c 50 41 49 4e 54 20 3d 20 30 78 30 30 31 30 20  LPAINT = 0x0010 
1f7f0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1f800 20 52 44 57 5f 4e 4f 45 52 41 53 45 20 3d 20 30   RDW_NOERASE = 0
1f810 78 30 30 32 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x0020 }....enum 
1f820 3a 20 75 69 6e 74 20 7b 20 52 44 57 5f 4e 4f 43  : uint { RDW_NOC
1f830 48 49 4c 44 52 45 4e 20 3d 20 30 78 30 30 34 30  HILDREN = 0x0040
1f840 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1f850 7b 20 52 44 57 5f 41 4c 4c 43 48 49 4c 44 52 45  { RDW_ALLCHILDRE
1f860 4e 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a 0d 0a  N = 0x0080 }....
1f870 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 44  enum : uint { RD
1f880 57 5f 55 50 44 41 54 45 4e 4f 57 20 3d 20 30 78  W_UPDATENOW = 0x
1f890 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0100 }..enum : u
1f8a0 69 6e 74 20 7b 20 52 44 57 5f 45 52 41 53 45 4e  int { RDW_ERASEN
1f8b0 4f 57 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a 0d  OW = 0x0200 }...
1f8c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
1f8d0 44 57 5f 46 52 41 4d 45 20 3d 20 30 78 30 34 30  DW_FRAME = 0x040
1f8e0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1f8f0 20 7b 20 52 44 57 5f 4e 4f 46 52 41 4d 45 20 3d   { RDW_NOFRAME =
1f900 20 30 78 30 38 30 30 20 7d 0d 0a 0d 0a 65 78 74   0x0800 }....ext
1f910 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1f920 6f 72 74 20 42 4f 4f 4c 20 4c 6f 63 6b 57 69 6e  ort BOOL LockWin
1f930 64 6f 77 55 70 64 61 74 65 28 0d 0a 20 20 48 57  dowUpdate(..  HW
1f940 4e 44 20 68 57 6e 64 4c 6f 63 6b 29 3b 0d 0a 0d  ND hWndLock);...
1f950 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
1f960 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 63 72   export BOOL Scr
1f970 6f 6c 6c 57 69 6e 64 6f 77 28 0d 0a 20 20 48 57  ollWindow(..  HW
1f980 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 69 6e 74 20  ND hWnd,..  int 
1f990 58 41 6d 6f 75 6e 74 2c 0d 0a 20 20 69 6e 74 20  XAmount,..  int 
1f9a0 59 41 6d 6f 75 6e 74 2c 0d 0a 20 20 52 45 43 54  YAmount,..  RECT
1f9b0 20 2a 6c 70 52 65 63 74 2c 0d 0a 20 20 52 45 43   *lpRect,..  REC
1f9c0 54 20 2a 6c 70 43 6c 69 70 52 65 63 74 29 3b 0d  T *lpClipRect);.
1f9d0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
1f9e0 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53  s) export BOOL S
1f9f0 63 72 6f 6c 6c 44 43 28 0d 0a 20 20 48 44 43 20  crollDC(..  HDC 
1fa00 68 44 43 2c 0d 0a 20 20 69 6e 74 20 64 78 2c 0d  hDC,..  int dx,.
1fa10 0a 20 20 69 6e 74 20 64 79 2c 0d 0a 20 20 52 45  .  int dy,..  RE
1fa20 43 54 20 2a 6c 70 72 63 53 63 72 6f 6c 6c 2c 0d  CT *lprcScroll,.
1fa30 0a 20 20 52 45 43 54 20 2a 6c 70 72 63 43 6c 69  .  RECT *lprcCli
1fa40 70 2c 0d 0a 20 20 48 52 47 4e 20 68 72 67 6e 55  p,..  HRGN hrgnU
1fa50 70 64 61 74 65 2c 0d 0a 20 20 4c 50 52 45 43 54  pdate,..  LPRECT
1fa60 20 6c 70 72 63 55 70 64 61 74 65 29 3b 0d 0a 0d   lprcUpdate);...
1fa70 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
1fa80 20 65 78 70 6f 72 74 20 69 6e 74 20 53 63 72 6f   export int Scro
1fa90 6c 6c 57 69 6e 64 6f 77 45 78 28 0d 0a 20 20 48  llWindowEx(..  H
1faa0 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 69 6e 74  WND hWnd,..  int
1fab0 20 64 78 2c 0d 0a 20 20 69 6e 74 20 64 79 2c 0d   dx,..  int dy,.
1fac0 0a 20 20 52 45 43 54 20 2a 70 72 63 53 63 72 6f  .  RECT *prcScro
1fad0 6c 6c 2c 0d 0a 20 20 52 45 43 54 20 2a 70 72 63  ll,..  RECT *prc
1fae0 43 6c 69 70 2c 0d 0a 20 20 48 52 47 4e 20 68 72  Clip,..  HRGN hr
1faf0 67 6e 55 70 64 61 74 65 2c 0d 0a 20 20 4c 50 52  gnUpdate,..  LPR
1fb00 45 43 54 20 70 72 63 55 70 64 61 74 65 2c 0d 0a  ECT prcUpdate,..
1fb10 20 20 55 49 4e 54 20 66 6c 61 67 73 29 3b 0d 0a    UINT flags);..
1fb20 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1fb30 53 57 5f 53 43 52 4f 4c 4c 43 48 49 4c 44 52 45  SW_SCROLLCHILDRE
1fb40 4e 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e  N = 0x0001 }..en
1fb50 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57 5f 49  um : uint { SW_I
1fb60 4e 56 41 4c 49 44 41 54 45 20 3d 20 30 78 30 30  NVALIDATE = 0x00
1fb70 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
1fb80 74 20 7b 20 53 57 5f 45 52 41 53 45 20 3d 20 30  t { SW_ERASE = 0
1fb90 78 30 30 30 34 20 7d 0d 0a 2f 2f 20 23 69 66 28  x0004 }..// #if(
1fba0 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30  WINVER >= 0x0500
1fbb0 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
1fbc0 20 53 57 5f 53 4d 4f 4f 54 48 53 43 52 4f 4c 4c   SW_SMOOTHSCROLL
1fbd0 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 2f 2f 20   = 0x0010 }..// 
1fbe0 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52  #endif /* WINVER
1fbf0 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d   >= 0x0500 */...
1fc00 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 53 43  .// #ifndef NOSC
1fc10 52 4f 4c 4c 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  ROLL....extern(W
1fc20 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69  indows) export i
1fc30 6e 74 20 53 65 74 53 63 72 6f 6c 6c 50 6f 73 28  nt SetScrollPos(
1fc40 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a  ..  HWND hWnd,..
1fc50 20 20 69 6e 74 20 6e 42 61 72 2c 0d 0a 20 20 69    int nBar,..  i
1fc60 6e 74 20 6e 50 6f 73 2c 0d 0a 20 20 42 4f 4f 4c  nt nPos,..  BOOL
1fc70 20 62 52 65 64 72 61 77 29 3b 0d 0a 0d 0a 65 78   bRedraw);....ex
1fc80 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
1fc90 70 6f 72 74 20 69 6e 74 20 47 65 74 53 63 72 6f  port int GetScro
1fca0 6c 6c 50 6f 73 28 0d 0a 20 20 48 57 4e 44 20 68  llPos(..  HWND h
1fcb0 57 6e 64 2c 0d 0a 20 20 69 6e 74 20 6e 42 61 72  Wnd,..  int nBar
1fcc0 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
1fcd0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
1fce0 4c 20 53 65 74 53 63 72 6f 6c 6c 52 61 6e 67 65  L SetScrollRange
1fcf0 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d  (..  HWND hWnd,.
1fd00 0a 20 20 69 6e 74 20 6e 42 61 72 2c 0d 0a 20 20  .  int nBar,..  
1fd10 69 6e 74 20 6e 4d 69 6e 50 6f 73 2c 0d 0a 20 20  int nMinPos,..  
1fd20 69 6e 74 20 6e 4d 61 78 50 6f 73 2c 0d 0a 20 20  int nMaxPos,..  
1fd30 42 4f 4f 4c 20 62 52 65 64 72 61 77 29 3b 0d 0a  BOOL bRedraw);..
1fd40 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
1fd50 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65  ) export BOOL Ge
1fd60 74 53 63 72 6f 6c 6c 52 61 6e 67 65 28 0d 0a 20  tScrollRange(.. 
1fd70 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 69   HWND hWnd,..  i
1fd80 6e 74 20 6e 42 61 72 2c 0d 0a 20 20 4c 50 49 4e  nt nBar,..  LPIN
1fd90 54 20 6c 70 4d 69 6e 50 6f 73 2c 0d 0a 20 20 4c  T lpMinPos,..  L
1fda0 50 49 4e 54 20 6c 70 4d 61 78 50 6f 73 29 3b 0d  PINT lpMaxPos);.
1fdb0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
1fdc0 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53  s) export BOOL S
1fdd0 68 6f 77 53 63 72 6f 6c 6c 42 61 72 28 0d 0a 20  howScrollBar(.. 
1fde0 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 69   HWND hWnd,..  i
1fdf0 6e 74 20 77 42 61 72 2c 0d 0a 20 20 42 4f 4f 4c  nt wBar,..  BOOL
1fe00 20 62 53 68 6f 77 29 3b 0d 0a 0d 0a 65 78 74 65   bShow);....exte
1fe10 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
1fe20 72 74 20 42 4f 4f 4c 20 45 6e 61 62 6c 65 53 63  rt BOOL EnableSc
1fe30 72 6f 6c 6c 42 61 72 28 0d 0a 20 20 48 57 4e 44  rollBar(..  HWND
1fe40 20 68 57 6e 64 2c 0d 0a 20 20 55 49 4e 54 20 77   hWnd,..  UINT w
1fe50 53 42 66 6c 61 67 73 2c 0d 0a 20 20 55 49 4e 54  SBflags,..  UINT
1fe60 20 77 41 72 72 6f 77 73 29 3b 0d 0a 0d 0a 65 6e   wArrows);....en
1fe70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 53 42 5f  um : uint { ESB_
1fe80 45 4e 41 42 4c 45 5f 42 4f 54 48 20 3d 20 30 78  ENABLE_BOTH = 0x
1fe90 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
1fea0 69 6e 74 20 7b 20 45 53 42 5f 44 49 53 41 42 4c  int { ESB_DISABL
1feb0 45 5f 42 4f 54 48 20 3d 20 30 78 30 30 30 33 20  E_BOTH = 0x0003 
1fec0 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
1fed0 20 7b 20 45 53 42 5f 44 49 53 41 42 4c 45 5f 4c   { ESB_DISABLE_L
1fee0 45 46 54 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a  EFT = 0x0001 }..
1fef0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 53  enum : uint { ES
1ff00 42 5f 44 49 53 41 42 4c 45 5f 52 49 47 48 54 20  B_DISABLE_RIGHT 
1ff10 3d 20 30 78 30 30 30 32 20 7d 0d 0a 0d 0a 65 6e  = 0x0002 }....en
1ff20 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 53 42 5f  um : uint { ESB_
1ff30 44 49 53 41 42 4c 45 5f 55 50 20 3d 20 30 78 30  DISABLE_UP = 0x0
1ff40 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
1ff50 6e 74 20 7b 20 45 53 42 5f 44 49 53 41 42 4c 45  nt { ESB_DISABLE
1ff60 5f 44 4f 57 4e 20 3d 20 30 78 30 30 30 32 20 7d  _DOWN = 0x0002 }
1ff70 0d 0a 0d 0a 61 6c 69 61 73 20 45 53 42 5f 44 49  ....alias ESB_DI
1ff80 53 41 42 4c 45 5f 4c 45 46 54 20 45 53 42 5f 44  SABLE_LEFT ESB_D
1ff90 49 53 41 42 4c 45 5f 4c 54 55 50 3b 0d 0a 61 6c  ISABLE_LTUP;..al
1ffa0 69 61 73 20 45 53 42 5f 44 49 53 41 42 4c 45 5f  ias ESB_DISABLE_
1ffb0 52 49 47 48 54 20 45 53 42 5f 44 49 53 41 42 4c  RIGHT ESB_DISABL
1ffc0 45 5f 52 54 44 4e 3b 0d 0a 0d 0a 2f 2f 20 23 65  E_RTDN;....// #e
1ffd0 6e 64 69 66 20 20 2f 2a 20 21 4e 4f 53 43 52 4f  ndif  /* !NOSCRO
1ffe0 4c 4c 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28  LL */....extern(
1fff0 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
20000 42 4f 4f 4c 20 53 65 74 50 72 6f 70 41 28 0d 0a  BOOL SetPropA(..
20010 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20    HWND hWnd,..  
20020 4c 50 43 53 54 52 20 6c 70 53 74 72 69 6e 67 2c  LPCSTR lpString,
20030 0d 0a 20 20 48 41 4e 44 4c 45 20 68 44 61 74 61  ..  HANDLE hData
20040 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
20050 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
20060 53 65 74 50 72 6f 70 57 28 0d 0a 20 20 48 57 4e  SetPropW(..  HWN
20070 44 20 68 57 6e 64 2c 0d 0a 20 20 4c 50 43 57 53  D hWnd,..  LPCWS
20080 54 52 20 6c 70 53 74 72 69 6e 67 2c 0d 0a 20 20  TR lpString,..  
20090 48 41 4e 44 4c 45 20 68 44 61 74 61 29 3b 0d 0a  HANDLE hData);..
200a0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
200b0 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
200c0 65 6c 73 65 0d 0a 61 6c 69 61 73 20 53 65 74 50  else..alias SetP
200d0 72 6f 70 41 20 53 65 74 50 72 6f 70 3b 0d 0a 2f  ropA SetProp;../
200e0 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
200f0 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  CODE....extern(W
20100 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48  indows) export H
20110 41 4e 44 4c 45 20 47 65 74 50 72 6f 70 41 28 0d  ANDLE GetPropA(.
20120 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20  .  HWND hWnd,.. 
20130 20 4c 50 43 53 54 52 20 6c 70 53 74 72 69 6e 67   LPCSTR lpString
20140 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
20150 77 73 29 20 65 78 70 6f 72 74 20 48 41 4e 44 4c  ws) export HANDL
20160 45 20 47 65 74 50 72 6f 70 57 28 0d 0a 20 20 48  E GetPropW(..  H
20170 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 4c 50 43  WND hWnd,..  LPC
20180 57 53 54 52 20 6c 70 53 74 72 69 6e 67 29 3b 0d  WSTR lpString);.
20190 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
201a0 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  DE..// #.....// 
201b0 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 47 65 74  #else..alias Get
201c0 50 72 6f 70 41 20 47 65 74 50 72 6f 70 3b 0d 0a  PropA GetProp;..
201d0 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
201e0 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
201f0 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
20200 48 41 4e 44 4c 45 20 52 65 6d 6f 76 65 50 72 6f  HANDLE RemovePro
20210 70 41 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  pA(..  HWND hWnd
20220 2c 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 53 74  ,..  LPCSTR lpSt
20230 72 69 6e 67 29 3b 0d 0a 65 78 74 65 72 6e 28 57  ring);..extern(W
20240 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48  indows) export H
20250 41 4e 44 4c 45 20 52 65 6d 6f 76 65 50 72 6f 70  ANDLE RemoveProp
20260 57 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c  W(..  HWND hWnd,
20270 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 53 74  ..  LPCWSTR lpSt
20280 72 69 6e 67 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  ring);..// #ifde
20290 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
202a0 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
202b0 69 61 73 20 52 65 6d 6f 76 65 50 72 6f 70 41 20  ias RemovePropA 
202c0 52 65 6d 6f 76 65 50 72 6f 70 3b 0d 0a 2f 2f 20  RemoveProp;..// 
202d0 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
202e0 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
202f0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74  dows) export int
20300 20 45 6e 75 6d 50 72 6f 70 73 45 78 41 28 0d 0a   EnumPropsExA(..
20310 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20    HWND hWnd,..  
20320 50 52 4f 50 45 4e 55 4d 50 52 4f 43 45 58 41 20  PROPENUMPROCEXA 
20330 6c 70 45 6e 75 6d 46 75 6e 63 2c 0d 0a 20 20 4c  lpEnumFunc,..  L
20340 50 41 52 41 4d 20 6c 50 61 72 61 6d 29 3b 0d 0a  PARAM lParam);..
20350 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
20360 65 78 70 6f 72 74 20 69 6e 74 20 45 6e 75 6d 50  export int EnumP
20370 72 6f 70 73 45 78 57 28 0d 0a 20 20 48 57 4e 44  ropsExW(..  HWND
20380 20 68 57 6e 64 2c 0d 0a 20 20 50 52 4f 50 45 4e   hWnd,..  PROPEN
20390 55 4d 50 52 4f 43 45 58 57 20 6c 70 45 6e 75 6d  UMPROCEXW lpEnum
203a0 46 75 6e 63 2c 0d 0a 20 20 4c 50 41 52 41 4d 20  Func,..  LPARAM 
203b0 6c 50 61 72 61 6d 29 3b 0d 0a 2f 2f 20 23 69 66  lParam);..// #if
203c0 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
203d0 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
203e0 61 6c 69 61 73 20 45 6e 75 6d 50 72 6f 70 73 45  alias EnumPropsE
203f0 78 41 20 45 6e 75 6d 50 72 6f 70 73 45 78 3b 0d  xA EnumPropsEx;.
20400 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
20410 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
20420 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
20430 20 69 6e 74 20 45 6e 75 6d 50 72 6f 70 73 41 28   int EnumPropsA(
20440 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a  ..  HWND hWnd,..
20450 20 20 50 52 4f 50 45 4e 55 4d 50 52 4f 43 41 20    PROPENUMPROCA 
20460 6c 70 45 6e 75 6d 46 75 6e 63 29 3b 0d 0a 65 78  lpEnumFunc);..ex
20470 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
20480 70 6f 72 74 20 69 6e 74 20 45 6e 75 6d 50 72 6f  port int EnumPro
20490 70 73 57 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  psW(..  HWND hWn
204a0 64 2c 0d 0a 20 20 50 52 4f 50 45 4e 55 4d 50 52  d,..  PROPENUMPR
204b0 4f 43 57 20 6c 70 45 6e 75 6d 46 75 6e 63 29 3b  OCW lpEnumFunc);
204c0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
204d0 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
204e0 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 45 6e   #else..alias En
204f0 75 6d 50 72 6f 70 73 41 20 45 6e 75 6d 50 72 6f  umPropsA EnumPro
20500 70 73 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  ps;..// #endif /
20510 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78  / !UNICODE....ex
20520 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
20530 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74 57 69 6e  port BOOL SetWin
20540 64 6f 77 54 65 78 74 41 28 0d 0a 20 20 48 57 4e  dowTextA(..  HWN
20550 44 20 68 57 6e 64 2c 0d 0a 20 20 4c 50 43 53 54  D hWnd,..  LPCST
20560 52 20 6c 70 53 74 72 69 6e 67 29 3b 0d 0a 65 78  R lpString);..ex
20570 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
20580 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74 57 69 6e  port BOOL SetWin
20590 64 6f 77 54 65 78 74 57 28 0d 0a 20 20 48 57 4e  dowTextW(..  HWN
205a0 44 20 68 57 6e 64 2c 0d 0a 20 20 4c 50 43 57 53  D hWnd,..  LPCWS
205b0 54 52 20 6c 70 53 74 72 69 6e 67 29 3b 0d 0a 2f  TR lpString);../
205c0 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
205d0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
205e0 6c 73 65 0d 0a 61 6c 69 61 73 20 53 65 74 57 69  lse..alias SetWi
205f0 6e 64 6f 77 54 65 78 74 41 20 53 65 74 57 69 6e  ndowTextA SetWin
20600 64 6f 77 54 65 78 74 3b 0d 0a 2f 2f 20 23 65 6e  dowText;..// #en
20610 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
20620 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
20630 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 47 65  s) export int Ge
20640 74 57 69 6e 64 6f 77 54 65 78 74 41 28 0d 0a 20  tWindowTextA(.. 
20650 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 4c   HWND hWnd,..  L
20660 50 53 54 52 20 6c 70 53 74 72 69 6e 67 2c 0d 0a  PSTR lpString,..
20670 20 20 69 6e 74 20 6e 4d 61 78 43 6f 75 6e 74 29    int nMaxCount)
20680 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
20690 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 47 65  s) export int Ge
206a0 74 57 69 6e 64 6f 77 54 65 78 74 57 28 0d 0a 20  tWindowTextW(.. 
206b0 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 4c   HWND hWnd,..  L
206c0 50 57 53 54 52 20 6c 70 53 74 72 69 6e 67 2c 0d  PWSTR lpString,.
206d0 0a 20 20 69 6e 74 20 6e 4d 61 78 43 6f 75 6e 74  .  int nMaxCount
206e0 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
206f0 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ICODE..// #.....
20700 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
20710 47 65 74 57 69 6e 64 6f 77 54 65 78 74 41 20 47  GetWindowTextA G
20720 65 74 57 69 6e 64 6f 77 54 65 78 74 3b 0d 0a 2f  etWindowText;../
20730 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
20740 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  CODE....extern(W
20750 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69  indows) export i
20760 6e 74 20 47 65 74 57 69 6e 64 6f 77 54 65 78 74  nt GetWindowText
20770 4c 65 6e 67 74 68 41 28 0d 0a 20 20 48 57 4e 44  LengthA(..  HWND
20780 20 68 57 6e 64 29 3b 0d 0a 65 78 74 65 72 6e 28   hWnd);..extern(
20790 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
207a0 69 6e 74 20 47 65 74 57 69 6e 64 6f 77 54 65 78  int GetWindowTex
207b0 74 4c 65 6e 67 74 68 57 28 0d 0a 20 20 48 57 4e  tLengthW(..  HWN
207c0 44 20 68 57 6e 64 29 3b 0d 0a 2f 2f 20 23 69 66  D hWnd);..// #if
207d0 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
207e0 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
207f0 61 6c 69 61 73 20 47 65 74 57 69 6e 64 6f 77 54  alias GetWindowT
20800 65 78 74 4c 65 6e 67 74 68 41 20 47 65 74 57 69  extLengthA GetWi
20810 6e 64 6f 77 54 65 78 74 4c 65 6e 67 74 68 3b 0d  ndowTextLength;.
20820 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
20830 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
20840 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
20850 20 42 4f 4f 4c 20 47 65 74 43 6c 69 65 6e 74 52   BOOL GetClientR
20860 65 63 74 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  ect(..  HWND hWn
20870 64 2c 0d 0a 20 20 4c 50 52 45 43 54 20 6c 70 52  d,..  LPRECT lpR
20880 65 63 74 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  ect);....extern(
20890 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
208a0 42 4f 4f 4c 20 47 65 74 57 69 6e 64 6f 77 52 65  BOOL GetWindowRe
208b0 63 74 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  ct(..  HWND hWnd
208c0 2c 0d 0a 20 20 4c 50 52 45 43 54 20 6c 70 52 65  ,..  LPRECT lpRe
208d0 63 74 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  ct);....extern(W
208e0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
208f0 4f 4f 4c 20 41 64 6a 75 73 74 57 69 6e 64 6f 77  OOL AdjustWindow
20900 52 65 63 74 28 0d 0a 20 20 4c 50 52 45 43 54 20  Rect(..  LPRECT 
20910 6c 70 52 65 63 74 2c 0d 0a 20 20 44 57 4f 52 44  lpRect,..  DWORD
20920 20 64 77 53 74 79 6c 65 2c 0d 0a 20 20 42 4f 4f   dwStyle,..  BOO
20930 4c 20 62 4d 65 6e 75 29 3b 0d 0a 0d 0a 65 78 74  L bMenu);....ext
20940 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
20950 6f 72 74 20 42 4f 4f 4c 20 41 64 6a 75 73 74 57  ort BOOL AdjustW
20960 69 6e 64 6f 77 52 65 63 74 45 78 28 0d 0a 20 20  indowRectEx(..  
20970 4c 50 52 45 43 54 20 6c 70 52 65 63 74 2c 0d 0a  LPRECT lpRect,..
20980 20 20 44 57 4f 52 44 20 64 77 53 74 79 6c 65 2c    DWORD dwStyle,
20990 0d 0a 20 20 42 4f 4f 4c 20 62 4d 65 6e 75 2c 0d  ..  BOOL bMenu,.
209a0 0a 20 20 44 57 4f 52 44 20 64 77 45 78 53 74 79  .  DWORD dwExSty
209b0 6c 65 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57  le);....// #if(W
209c0 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
209d0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
209e0 48 45 4c 50 49 4e 46 4f 5f 57 49 4e 44 4f 57 20  HELPINFO_WINDOW 
209f0 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  = 0x0001 }..enum
20a00 20 3a 20 75 69 6e 74 20 7b 20 48 45 4c 50 49 4e   : uint { HELPIN
20a10 46 4f 5f 4d 45 4e 55 49 54 45 4d 20 3d 20 30 78  FO_MENUITEM = 0x
20a20 30 30 30 32 20 7d 0d 0a 73 74 72 75 63 74 20 74  0002 }..struct t
20a30 61 67 48 45 4c 50 49 4e 46 4f 20 7b 0d 0a 20 20  agHELPINFO {..  
20a40 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20  UINT cbSize;..  
20a50 69 6e 74 20 69 43 6f 6e 74 65 78 74 54 79 70 65  int iContextType
20a60 3b 0d 0a 20 20 69 6e 74 20 69 43 74 72 6c 49 64  ;..  int iCtrlId
20a70 3b 0d 0a 20 20 48 41 4e 44 4c 45 20 68 49 74 65  ;..  HANDLE hIte
20a80 6d 48 61 6e 64 6c 65 3b 0d 0a 20 20 44 57 4f 52  mHandle;..  DWOR
20a90 44 5f 50 54 52 20 64 77 43 6f 6e 74 65 78 74 49  D_PTR dwContextI
20aa0 64 3b 0d 0a 20 20 50 4f 49 4e 54 20 4d 6f 75 73  d;..  POINT Mous
20ab0 65 50 6f 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  ePos;..}..alias 
20ac0 74 61 67 48 45 4c 50 49 4e 46 4f 20 48 45 4c 50  tagHELPINFO HELP
20ad0 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67  INFO;..alias tag
20ae0 48 45 4c 50 49 4e 46 4f 2a 20 4c 50 48 45 4c 50  HELPINFO* LPHELP
20af0 49 4e 46 4f 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  INFO;....extern(
20b00 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
20b10 42 4f 4f 4c 20 53 65 74 57 69 6e 64 6f 77 43 6f  BOOL SetWindowCo
20b20 6e 74 65 78 74 48 65 6c 70 49 64 28 0d 0a 20 20  ntextHelpId(..  
20b30 48 57 4e 44 2c 0d 0a 20 20 44 57 4f 52 44 29 3b  HWND,..  DWORD);
20b40 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
20b50 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44  ws) export DWORD
20b60 20 47 65 74 57 69 6e 64 6f 77 43 6f 6e 74 65 78   GetWindowContex
20b70 74 48 65 6c 70 49 64 28 0d 0a 20 20 48 57 4e 44  tHelpId(..  HWND
20b80 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
20b90 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
20ba0 4c 20 53 65 74 4d 65 6e 75 43 6f 6e 74 65 78 74  L SetMenuContext
20bb0 48 65 6c 70 49 64 28 0d 0a 20 20 48 4d 45 4e 55  HelpId(..  HMENU
20bc0 2c 0d 0a 20 20 44 57 4f 52 44 29 3b 0d 0a 0d 0a  ,..  DWORD);....
20bd0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
20be0 65 78 70 6f 72 74 20 44 57 4f 52 44 20 47 65 74  export DWORD Get
20bf0 4d 65 6e 75 43 6f 6e 74 65 78 74 48 65 6c 70 49  MenuContextHelpI
20c00 64 28 0d 0a 20 20 48 4d 45 4e 55 29 3b 0d 0a 0d  d(..  HMENU);...
20c10 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
20c20 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a  NVER >= 0x0400 *
20c30 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  /....// #ifndef 
20c40 4e 4f 4d 42 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  NOMB....enum : u
20c50 69 6e 74 20 7b 20 4d 42 5f 4f 4b 20 3d 20 30 78  int { MB_OK = 0x
20c60 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00000000 }..enum
20c70 20 3a 20 75 69 6e 74 20 7b 20 4d 42 5f 4f 4b 43   : uint { MB_OKC
20c80 41 4e 43 45 4c 20 3d 20 30 78 30 30 30 30 30 30  ANCEL = 0x000000
20c90 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
20ca0 74 20 7b 20 4d 42 5f 41 42 4f 52 54 52 45 54 52  t { MB_ABORTRETR
20cb0 59 49 47 4e 4f 52 45 20 3d 20 30 78 30 30 30 30  YIGNORE = 0x0000
20cc0 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
20cd0 69 6e 74 20 7b 20 4d 42 5f 59 45 53 4e 4f 43 41  int { MB_YESNOCA
20ce0 4e 43 45 4c 20 3d 20 30 78 30 30 30 30 30 30 30  NCEL = 0x0000000
20cf0 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
20d00 20 7b 20 4d 42 5f 59 45 53 4e 4f 20 3d 20 30 78   { MB_YESNO = 0x
20d10 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d  00000004 }..enum
20d20 20 3a 20 75 69 6e 74 20 7b 20 4d 42 5f 52 45 54   : uint { MB_RET
20d30 52 59 43 41 4e 43 45 4c 20 3d 20 30 78 30 30 30  RYCANCEL = 0x000
20d40 30 30 30 30 35 20 7d 0d 0a 2f 2f 20 23 69 66 28  00005 }..// #if(
20d50 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30  WINVER >= 0x0500
20d60 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
20d70 20 4d 42 5f 43 41 4e 43 45 4c 54 52 59 43 4f 4e   MB_CANCELTRYCON
20d80 54 49 4e 55 45 20 3d 20 30 78 30 30 30 30 30 30  TINUE = 0x000000
20d90 30 36 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  06 }..// #endif 
20da0 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
20db0 35 30 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a  500 */....enum :
20dc0 20 75 69 6e 74 20 7b 20 4d 42 5f 49 43 4f 4e 48   uint { MB_ICONH
20dd0 41 4e 44 20 3d 20 30 78 30 30 30 30 30 30 31 30  AND = 0x00000010
20de0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
20df0 7b 20 4d 42 5f 49 43 4f 4e 51 55 45 53 54 49 4f  { MB_ICONQUESTIO
20e00 4e 20 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d  N = 0x00000020 }
20e10 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
20e20 4d 42 5f 49 43 4f 4e 45 58 43 4c 41 4d 41 54 49  MB_ICONEXCLAMATI
20e30 4f 4e 20 3d 20 30 78 30 30 30 30 30 30 33 30 20  ON = 0x00000030 
20e40 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
20e50 20 4d 42 5f 49 43 4f 4e 41 53 54 45 52 49 53 4b   MB_ICONASTERISK
20e60 20 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d 0d   = 0x00000040 }.
20e70 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  ...// #if(WINVER
20e80 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75   >= 0x0400)..enu
20e90 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 42 5f 55 53  m : uint { MB_US
20ea0 45 52 49 43 4f 4e 20 3d 20 30 78 30 30 30 30 30  ERICON = 0x00000
20eb0 30 38 30 20 7d 0d 0a 61 6c 69 61 73 20 4d 42 5f  080 }..alias MB_
20ec0 49 43 4f 4e 45 58 43 4c 41 4d 41 54 49 4f 4e 20  ICONEXCLAMATION 
20ed0 4d 42 5f 49 43 4f 4e 57 41 52 4e 49 4e 47 3b 0d  MB_ICONWARNING;.
20ee0 0a 61 6c 69 61 73 20 4d 42 5f 49 43 4f 4e 48 41  .alias MB_ICONHA
20ef0 4e 44 20 4d 42 5f 49 43 4f 4e 45 52 52 4f 52 3b  ND MB_ICONERROR;
20f00 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
20f10 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20  INVER >= 0x0400 
20f20 2a 2f 0d 0a 0d 0a 61 6c 69 61 73 20 4d 42 5f 49  */....alias MB_I
20f30 43 4f 4e 41 53 54 45 52 49 53 4b 20 4d 42 5f 49  CONASTERISK MB_I
20f40 43 4f 4e 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d  CONINFORMATION;.
20f50 0a 61 6c 69 61 73 20 4d 42 5f 49 43 4f 4e 48 41  .alias MB_ICONHA
20f60 4e 44 20 4d 42 5f 49 43 4f 4e 53 54 4f 50 3b 0d  ND MB_ICONSTOP;.
20f70 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
20f80 20 4d 42 5f 44 45 46 42 55 54 54 4f 4e 31 20 3d   MB_DEFBUTTON1 =
20f90 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65   0x00000000 }..e
20fa0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 42 5f  num : uint { MB_
20fb0 44 45 46 42 55 54 54 4f 4e 32 20 3d 20 30 78 30  DEFBUTTON2 = 0x0
20fc0 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000100 }..enum 
20fd0 3a 20 75 69 6e 74 20 7b 20 4d 42 5f 44 45 46 42  : uint { MB_DEFB
20fe0 55 54 54 4f 4e 33 20 3d 20 30 78 30 30 30 30 30  UTTON3 = 0x00000
20ff0 32 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49  200 }..// #if(WI
21000 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d  NVER >= 0x0400).
21010 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
21020 42 5f 44 45 46 42 55 54 54 4f 4e 34 20 3d 20 30  B_DEFBUTTON4 = 0
21030 78 30 30 30 30 30 33 30 30 20 7d 0d 0a 2f 2f 20  x00000300 }..// 
21040 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52  #endif /* WINVER
21050 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d   >= 0x0400 */...
21060 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
21070 42 5f 41 50 50 4c 4d 4f 44 41 4c 20 3d 20 30 78  B_APPLMODAL = 0x
21080 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00000000 }..enum
21090 20 3a 20 75 69 6e 74 20 7b 20 4d 42 5f 53 59 53   : uint { MB_SYS
210a0 54 45 4d 4d 4f 44 41 4c 20 3d 20 30 78 30 30 30  TEMMODAL = 0x000
210b0 30 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  01000 }..enum : 
210c0 75 69 6e 74 20 7b 20 4d 42 5f 54 41 53 4b 4d 4f  uint { MB_TASKMO
210d0 44 41 4c 20 3d 20 30 78 30 30 30 30 32 30 30 30  DAL = 0x00002000
210e0 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45   }..// #if(WINVE
210f0 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  R >= 0x0400)..en
21100 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 42 5f 48  um : uint { MB_H
21110 45 4c 50 20 3d 20 30 78 30 30 30 30 34 30 30 30  ELP = 0x00004000
21120 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
21130 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30   WINVER >= 0x040
21140 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  0 */....enum : u
21150 69 6e 74 20 7b 20 4d 42 5f 4e 4f 46 4f 43 55 53  int { MB_NOFOCUS
21160 20 3d 20 30 78 30 30 30 30 38 30 30 30 20 7d 0d   = 0x00008000 }.
21170 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
21180 42 5f 53 45 54 46 4f 52 45 47 52 4f 55 4e 44 20  B_SETFOREGROUND 
21190 3d 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a  = 0x00010000 }..
211a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 42  enum : uint { MB
211b0 5f 44 45 46 41 55 4c 54 5f 44 45 53 4b 54 4f 50  _DEFAULT_DESKTOP
211c0 5f 4f 4e 4c 59 20 3d 20 30 78 30 30 30 32 30 30  _ONLY = 0x000200
211d0 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57  00 }....// #if(W
211e0 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
211f0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
21200 4d 42 5f 54 4f 50 4d 4f 53 54 20 3d 20 30 78 30  MB_TOPMOST = 0x0
21210 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0040000 }..enum 
21220 3a 20 75 69 6e 74 20 7b 20 4d 42 5f 52 49 47 48  : uint { MB_RIGH
21230 54 20 3d 20 30 78 30 30 30 38 30 30 30 30 20 7d  T = 0x00080000 }
21240 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
21250 4d 42 5f 52 54 4c 52 45 41 44 49 4e 47 20 3d 20  MB_RTLREADING = 
21260 30 78 30 30 31 30 30 30 30 30 20 7d 0d 0a 0d 0a  0x00100000 }....
21270 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
21280 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f  VER >= 0x0400 */
21290 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57  ....// #ifdef _W
212a0 49 4e 33 32 5f 57 49 4e 4e 54 0d 0a 2f 2f 20 23  IN32_WINNT..// #
212b0 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  if (_WIN32_WINNT
212c0 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75   >= 0x0400)..enu
212d0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 42 5f 53 45  m : uint { MB_SE
212e0 52 56 49 43 45 5f 4e 4f 54 49 46 49 43 41 54 49  RVICE_NOTIFICATI
212f0 4f 4e 20 3d 20 30 78 30 30 32 30 30 30 30 30 20  ON = 0x00200000 
21300 7d 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  }..// #else..// 
21310 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
21320 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
21330 42 5f 53 45 52 56 49 43 45 5f 4e 4f 54 49 46 49  B_SERVICE_NOTIFI
21340 43 41 54 49 4f 4e 5f 4e 54 33 58 20 3d 20 30 78  CATION_NT3X = 0x
21350 30 30 30 34 30 30 30 30 20 7d 0d 0a 2f 2f 20 23  00040000 }..// #
21360 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  endif....enum : 
21370 75 69 6e 74 20 7b 20 4d 42 5f 54 59 50 45 4d 41  uint { MB_TYPEMA
21380 53 4b 20 3d 20 30 78 30 30 30 30 30 30 30 46 20  SK = 0x0000000F 
21390 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
213a0 20 4d 42 5f 49 43 4f 4e 4d 41 53 4b 20 3d 20 30   MB_ICONMASK = 0
213b0 78 30 30 30 30 30 30 46 30 20 7d 0d 0a 65 6e 75  x000000F0 }..enu
213c0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 42 5f 44 45  m : uint { MB_DE
213d0 46 4d 41 53 4b 20 3d 20 30 78 30 30 30 30 30 46  FMASK = 0x00000F
213e0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
213f0 74 20 7b 20 4d 42 5f 4d 4f 44 45 4d 41 53 4b 20  t { MB_MODEMASK 
21400 3d 20 30 78 30 30 30 30 33 30 30 30 20 7d 0d 0a  = 0x00003000 }..
21410 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 42  enum : uint { MB
21420 5f 4d 49 53 43 4d 41 53 4b 20 3d 20 30 78 30 30  _MISCMASK = 0x00
21430 30 30 43 30 30 30 20 7d 0d 0a 0d 0a 65 78 74 65  00C000 }....exte
21440 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
21450 72 74 20 69 6e 74 20 4d 65 73 73 61 67 65 42 6f  rt int MessageBo
21460 78 41 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  xA(..  HWND hWnd
21470 2c 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 54 65  ,..  LPCSTR lpTe
21480 78 74 2c 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70  xt,..  LPCSTR lp
21490 43 61 70 74 69 6f 6e 2c 0d 0a 20 20 55 49 4e 54  Caption,..  UINT
214a0 20 75 54 79 70 65 29 3b 0d 0a 65 78 74 65 72 6e   uType);..extern
214b0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
214c0 20 69 6e 74 20 4d 65 73 73 61 67 65 42 6f 78 57   int MessageBoxW
214d0 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d  (..  HWND hWnd,.
214e0 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 54 65 78  .  LPCWSTR lpTex
214f0 74 2c 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70  t,..  LPCWSTR lp
21500 43 61 70 74 69 6f 6e 2c 0d 0a 20 20 55 49 4e 54  Caption,..  UINT
21510 20 75 54 79 70 65 29 3b 0d 0a 2f 2f 20 23 69 66   uType);..// #if
21520 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
21530 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
21540 61 6c 69 61 73 20 4d 65 73 73 61 67 65 42 6f 78  alias MessageBox
21550 41 20 4d 65 73 73 61 67 65 42 6f 78 3b 0d 0a 2f  A MessageBox;../
21560 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
21570 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  CODE....extern(W
21580 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69  indows) export i
21590 6e 74 20 4d 65 73 73 61 67 65 42 6f 78 45 78 41  nt MessageBoxExA
215a0 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d  (..  HWND hWnd,.
215b0 0a 20 20 4c 50 43 53 54 52 20 6c 70 54 65 78 74  .  LPCSTR lpText
215c0 2c 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 43 61  ,..  LPCSTR lpCa
215d0 70 74 69 6f 6e 2c 0d 0a 20 20 55 49 4e 54 20 75  ption,..  UINT u
215e0 54 79 70 65 2c 0d 0a 20 20 57 4f 52 44 20 77 4c  Type,..  WORD wL
215f0 61 6e 67 75 61 67 65 49 64 29 3b 0d 0a 65 78 74  anguageId);..ext
21600 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
21610 6f 72 74 20 69 6e 74 20 4d 65 73 73 61 67 65 42  ort int MessageB
21620 6f 78 45 78 57 28 0d 0a 20 20 48 57 4e 44 20 68  oxExW(..  HWND h
21630 57 6e 64 2c 0d 0a 20 20 4c 50 43 57 53 54 52 20  Wnd,..  LPCWSTR 
21640 6c 70 54 65 78 74 2c 0d 0a 20 20 4c 50 43 57 53  lpText,..  LPCWS
21650 54 52 20 6c 70 43 61 70 74 69 6f 6e 2c 0d 0a 20  TR lpCaption,.. 
21660 20 55 49 4e 54 20 75 54 79 70 65 2c 0d 0a 20 20   UINT uType,..  
21670 57 4f 52 44 20 77 4c 61 6e 67 75 61 67 65 49 64  WORD wLanguageId
21680 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
21690 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ICODE..// #.....
216a0 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
216b0 4d 65 73 73 61 67 65 42 6f 78 45 78 41 20 4d 65  MessageBoxExA Me
216c0 73 73 61 67 65 42 6f 78 45 78 3b 0d 0a 2f 2f 20  ssageBoxEx;..// 
216d0 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
216e0 44 45 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e  DE....// #if(WIN
216f0 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  VER >= 0x0400)..
21700 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
21710 29 20 61 6c 69 61 73 20 76 6f 69 64 20 66 75 6e  ) alias void fun
21720 63 74 69 6f 6e 28 4c 50 48 45 4c 50 49 4e 46 4f  ction(LPHELPINFO
21730 20 6c 70 48 65 6c 70 49 6e 66 6f 29 20 4d 53 47   lpHelpInfo) MSG
21740 42 4f 58 43 41 4c 4c 42 41 43 4b 3b 0d 0a 0d 0a  BOXCALLBACK;....
21750 73 74 72 75 63 74 20 74 61 67 4d 53 47 42 4f 58  struct tagMSGBOX
21760 50 41 52 41 4d 53 41 20 7b 0d 0a 20 20 55 49 4e  PARAMSA {..  UIN
21770 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 48 57 4e  T cbSize;..  HWN
21780 44 20 68 77 6e 64 4f 77 6e 65 72 3b 0d 0a 20 20  D hwndOwner;..  
21790 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61  HINSTANCE hInsta
217a0 6e 63 65 3b 0d 0a 20 20 4c 50 43 53 54 52 20 6c  nce;..  LPCSTR l
217b0 70 73 7a 54 65 78 74 3b 0d 0a 20 20 4c 50 43 53  pszText;..  LPCS
217c0 54 52 20 6c 70 73 7a 43 61 70 74 69 6f 6e 3b 0d  TR lpszCaption;.
217d0 0a 20 20 44 57 4f 52 44 20 64 77 53 74 79 6c 65  .  DWORD dwStyle
217e0 3b 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 7a  ;..  LPCSTR lpsz
217f0 49 63 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44 5f 50  Icon;..  DWORD_P
21800 54 52 20 64 77 43 6f 6e 74 65 78 74 48 65 6c 70  TR dwContextHelp
21810 49 64 3b 0d 0a 20 20 4d 53 47 42 4f 58 43 41 4c  Id;..  MSGBOXCAL
21820 4c 42 41 43 4b 20 6c 70 66 6e 4d 73 67 42 6f 78  LBACK lpfnMsgBox
21830 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 44 57 4f  Callback;..  DWO
21840 52 44 20 64 77 4c 61 6e 67 75 61 67 65 49 64 3b  RD dwLanguageId;
21850 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 53  ..}..alias tagMS
21860 47 42 4f 58 50 41 52 41 4d 53 41 20 4d 53 47 42  GBOXPARAMSA MSGB
21870 4f 58 50 41 52 41 4d 53 41 3b 0d 0a 61 6c 69 61  OXPARAMSA;..alia
21880 73 20 74 61 67 4d 53 47 42 4f 58 50 41 52 41 4d  s tagMSGBOXPARAM
21890 53 41 2a 20 50 4d 53 47 42 4f 58 50 41 52 41 4d  SA* PMSGBOXPARAM
218a0 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 53  SA;..alias tagMS
218b0 47 42 4f 58 50 41 52 41 4d 53 41 2a 20 4c 50 4d  GBOXPARAMSA* LPM
218c0 53 47 42 4f 58 50 41 52 41 4d 53 41 3b 0d 0a 0d  SGBOXPARAMSA;...
218d0 0a 73 74 72 75 63 74 20 74 61 67 4d 53 47 42 4f  .struct tagMSGBO
218e0 58 50 41 52 41 4d 53 57 20 7b 0d 0a 20 20 55 49  XPARAMSW {..  UI
218f0 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 48 57  NT cbSize;..  HW
21900 4e 44 20 68 77 6e 64 4f 77 6e 65 72 3b 0d 0a 20  ND hwndOwner;.. 
21910 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74   HINSTANCE hInst
21920 61 6e 63 65 3b 0d 0a 20 20 4c 50 43 57 53 54 52  ance;..  LPCWSTR
21930 20 6c 70 73 7a 54 65 78 74 3b 0d 0a 20 20 4c 50   lpszText;..  LP
21940 43 57 53 54 52 20 6c 70 73 7a 43 61 70 74 69 6f  CWSTR lpszCaptio
21950 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 74  n;..  DWORD dwSt
21960 79 6c 65 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20  yle;..  LPCWSTR 
21970 6c 70 73 7a 49 63 6f 6e 3b 0d 0a 20 20 44 57 4f  lpszIcon;..  DWO
21980 52 44 5f 50 54 52 20 64 77 43 6f 6e 74 65 78 74  RD_PTR dwContext
21990 48 65 6c 70 49 64 3b 0d 0a 20 20 4d 53 47 42 4f  HelpId;..  MSGBO
219a0 58 43 41 4c 4c 42 41 43 4b 20 6c 70 66 6e 4d 73  XCALLBACK lpfnMs
219b0 67 42 6f 78 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20  gBoxCallback;.. 
219c0 20 44 57 4f 52 44 20 64 77 4c 61 6e 67 75 61 67   DWORD dwLanguag
219d0 65 49 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  eId;..}..alias t
219e0 61 67 4d 53 47 42 4f 58 50 41 52 41 4d 53 57 20  agMSGBOXPARAMSW 
219f0 4d 53 47 42 4f 58 50 41 52 41 4d 53 57 3b 0d 0a  MSGBOXPARAMSW;..
21a00 61 6c 69 61 73 20 74 61 67 4d 53 47 42 4f 58 50  alias tagMSGBOXP
21a10 41 52 41 4d 53 57 2a 20 50 4d 53 47 42 4f 58 50  ARAMSW* PMSGBOXP
21a20 41 52 41 4d 53 57 3b 0d 0a 61 6c 69 61 73 20 74  ARAMSW;..alias t
21a30 61 67 4d 53 47 42 4f 58 50 41 52 41 4d 53 57 2a  agMSGBOXPARAMSW*
21a40 20 4c 50 4d 53 47 42 4f 58 50 41 52 41 4d 53 57   LPMSGBOXPARAMSW
21a50 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  ;....// #ifdef U
21a60 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a  NICODE..// .....
21a70 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
21a80 4d 53 47 42 4f 58 50 41 52 41 4d 53 41 20 4d 53  MSGBOXPARAMSA MS
21a90 47 42 4f 58 50 41 52 41 4d 53 3b 0d 0a 61 6c 69  GBOXPARAMS;..ali
21aa0 61 73 20 50 4d 53 47 42 4f 58 50 41 52 41 4d 53  as PMSGBOXPARAMS
21ab0 41 20 50 4d 53 47 42 4f 58 50 41 52 41 4d 53 3b  A PMSGBOXPARAMS;
21ac0 0d 0a 61 6c 69 61 73 20 4c 50 4d 53 47 42 4f 58  ..alias LPMSGBOX
21ad0 50 41 52 41 4d 53 41 20 4c 50 4d 53 47 42 4f 58  PARAMSA LPMSGBOX
21ae0 50 41 52 41 4d 53 3b 0d 0a 2f 2f 20 23 65 6e 64  PARAMS;..// #end
21af0 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d  if // UNICODE...
21b00 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
21b10 20 65 78 70 6f 72 74 20 69 6e 74 20 4d 65 73 73   export int Mess
21b20 61 67 65 42 6f 78 49 6e 64 69 72 65 63 74 41 28  ageBoxIndirectA(
21b30 0d 0a 20 20 4d 53 47 42 4f 58 50 41 52 41 4d 53  ..  MSGBOXPARAMS
21b40 41 20 2a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  A *);..extern(Wi
21b50 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e  ndows) export in
21b60 74 20 4d 65 73 73 61 67 65 42 6f 78 49 6e 64 69  t MessageBoxIndi
21b70 72 65 63 74 57 28 0d 0a 20 20 4d 53 47 42 4f 58  rectW(..  MSGBOX
21b80 50 41 52 41 4d 53 57 20 2a 29 3b 0d 0a 2f 2f 20  PARAMSW *);..// 
21b90 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
21ba0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
21bb0 65 0d 0a 61 6c 69 61 73 20 4d 65 73 73 61 67 65  e..alias Message
21bc0 42 6f 78 49 6e 64 69 72 65 63 74 41 20 4d 65 73  BoxIndirectA Mes
21bd0 73 61 67 65 42 6f 78 49 6e 64 69 72 65 63 74 3b  sageBoxIndirect;
21be0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
21bf0 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 65 6e 64  UNICODE..// #end
21c00 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20  if /* WINVER >= 
21c10 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65 78 74  0x0400 */....ext
21c20 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
21c30 6f 72 74 20 42 4f 4f 4c 20 4d 65 73 73 61 67 65  ort BOOL Message
21c40 42 65 65 70 28 0d 0a 20 20 55 49 4e 54 20 75 54  Beep(..  UINT uT
21c50 79 70 65 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  ype);....// #end
21c60 69 66 20 2f 2a 20 21 4e 4f 4d 42 20 2a 2f 0d 0a  if /* !NOMB */..
21c70 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
21c80 29 20 65 78 70 6f 72 74 20 69 6e 74 20 53 68 6f  ) export int Sho
21c90 77 43 75 72 73 6f 72 28 0d 0a 20 20 42 4f 4f 4c  wCursor(..  BOOL
21ca0 20 62 53 68 6f 77 29 3b 0d 0a 0d 0a 65 78 74 65   bShow);....exte
21cb0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
21cc0 72 74 20 42 4f 4f 4c 20 53 65 74 43 75 72 73 6f  rt BOOL SetCurso
21cd0 72 50 6f 73 28 0d 0a 20 20 69 6e 74 20 58 2c 0d  rPos(..  int X,.
21ce0 0a 20 20 69 6e 74 20 59 29 3b 0d 0a 0d 0a 65 78  .  int Y);....ex
21cf0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
21d00 70 6f 72 74 20 48 43 55 52 53 4f 52 20 53 65 74  port HCURSOR Set
21d10 43 75 72 73 6f 72 28 0d 0a 20 20 48 43 55 52 53  Cursor(..  HCURS
21d20 4f 52 20 68 43 75 72 73 6f 72 29 3b 0d 0a 0d 0a  OR hCursor);....
21d30 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
21d40 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 43  export BOOL GetC
21d50 75 72 73 6f 72 50 6f 73 28 0d 0a 20 20 4c 50 50  ursorPos(..  LPP
21d60 4f 49 4e 54 20 6c 70 50 6f 69 6e 74 29 3b 0d 0a  OINT lpPoint);..
21d70 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
21d80 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 43 6c  ) export BOOL Cl
21d90 69 70 43 75 72 73 6f 72 28 0d 0a 20 20 52 45 43  ipCursor(..  REC
21da0 54 20 2a 6c 70 52 65 63 74 29 3b 0d 0a 0d 0a 65  T *lpRect);....e
21db0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
21dc0 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 43 6c  xport BOOL GetCl
21dd0 69 70 43 75 72 73 6f 72 28 0d 0a 20 20 4c 50 52  ipCursor(..  LPR
21de0 45 43 54 20 6c 70 52 65 63 74 29 3b 0d 0a 0d 0a  ECT lpRect);....
21df0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
21e00 65 78 70 6f 72 74 20 48 43 55 52 53 4f 52 20 47  export HCURSOR G
21e10 65 74 43 75 72 73 6f 72 28 29 3b 0d 0a 0d 0a 65  etCursor();....e
21e20 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
21e30 78 70 6f 72 74 20 42 4f 4f 4c 20 43 72 65 61 74  xport BOOL Creat
21e40 65 43 61 72 65 74 28 0d 0a 20 20 48 57 4e 44 20  eCaret(..  HWND 
21e50 68 57 6e 64 2c 0d 0a 20 20 48 42 49 54 4d 41 50  hWnd,..  HBITMAP
21e60 20 68 42 69 74 6d 61 70 2c 0d 0a 20 20 69 6e 74   hBitmap,..  int
21e70 20 6e 57 69 64 74 68 2c 0d 0a 20 20 69 6e 74 20   nWidth,..  int 
21e80 6e 48 65 69 67 68 74 29 3b 0d 0a 0d 0a 65 78 74  nHeight);....ext
21e90 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
21ea0 6f 72 74 20 55 49 4e 54 20 47 65 74 43 61 72 65  ort UINT GetCare
21eb0 74 42 6c 69 6e 6b 54 69 6d 65 28 29 3b 0d 0a 0d  tBlinkTime();...
21ec0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
21ed0 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74   export BOOL Set
21ee0 43 61 72 65 74 42 6c 69 6e 6b 54 69 6d 65 28 0d  CaretBlinkTime(.
21ef0 0a 20 20 55 49 4e 54 20 75 4d 53 65 63 6f 6e 64  .  UINT uMSecond
21f00 73 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  s);....extern(Wi
21f10 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
21f20 4f 4c 20 44 65 73 74 72 6f 79 43 61 72 65 74 28  OL DestroyCaret(
21f30 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
21f40 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
21f50 4c 20 48 69 64 65 43 61 72 65 74 28 0d 0a 20 20  L HideCaret(..  
21f60 48 57 4e 44 20 68 57 6e 64 29 3b 0d 0a 0d 0a 65  HWND hWnd);....e
21f70 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
21f80 78 70 6f 72 74 20 42 4f 4f 4c 20 53 68 6f 77 43  xport BOOL ShowC
21f90 61 72 65 74 28 0d 0a 20 20 48 57 4e 44 20 68 57  aret(..  HWND hW
21fa0 6e 64 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  nd);....extern(W
21fb0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
21fc0 4f 4f 4c 20 53 65 74 43 61 72 65 74 50 6f 73 28  OOL SetCaretPos(
21fd0 0d 0a 20 20 69 6e 74 20 58 2c 0d 0a 20 20 69 6e  ..  int X,..  in
21fe0 74 20 59 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  t Y);....extern(
21ff0 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
22000 42 4f 4f 4c 20 47 65 74 43 61 72 65 74 50 6f 73  BOOL GetCaretPos
22010 28 0d 0a 20 20 4c 50 50 4f 49 4e 54 20 6c 70 50  (..  LPPOINT lpP
22020 6f 69 6e 74 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  oint);....extern
22030 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
22040 20 42 4f 4f 4c 20 43 6c 69 65 6e 74 54 6f 53 63   BOOL ClientToSc
22050 72 65 65 6e 28 0d 0a 20 20 48 57 4e 44 20 68 57  reen(..  HWND hW
22060 6e 64 2c 0d 0a 20 20 4c 50 50 4f 49 4e 54 20 6c  nd,..  LPPOINT l
22070 70 50 6f 69 6e 74 29 3b 0d 0a 0d 0a 65 78 74 65  pPoint);....exte
22080 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
22090 72 74 20 42 4f 4f 4c 20 53 63 72 65 65 6e 54 6f  rt BOOL ScreenTo
220a0 43 6c 69 65 6e 74 28 0d 0a 20 20 48 57 4e 44 20  Client(..  HWND 
220b0 68 57 6e 64 2c 0d 0a 20 20 4c 50 50 4f 49 4e 54  hWnd,..  LPPOINT
220c0 20 6c 70 50 6f 69 6e 74 29 3b 0d 0a 0d 0a 65 78   lpPoint);....ex
220d0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
220e0 70 6f 72 74 20 69 6e 74 20 4d 61 70 57 69 6e 64  port int MapWind
220f0 6f 77 50 6f 69 6e 74 73 28 0d 0a 20 20 48 57 4e  owPoints(..  HWN
22100 44 20 68 57 6e 64 46 72 6f 6d 2c 0d 0a 20 20 48  D hWndFrom,..  H
22110 57 4e 44 20 68 57 6e 64 54 6f 2c 0d 0a 20 20 4c  WND hWndTo,..  L
22120 50 50 4f 49 4e 54 20 6c 70 50 6f 69 6e 74 73 2c  PPOINT lpPoints,
22130 0d 0a 20 20 55 49 4e 54 20 63 50 6f 69 6e 74 73  ..  UINT cPoints
22140 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
22150 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e  dows) export HWN
22160 44 20 57 69 6e 64 6f 77 46 72 6f 6d 50 6f 69 6e  D WindowFromPoin
22170 74 28 0d 0a 20 20 50 4f 49 4e 54 20 50 6f 69 6e  t(..  POINT Poin
22180 74 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  t);....extern(Wi
22190 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57  ndows) export HW
221a0 4e 44 20 43 68 69 6c 64 57 69 6e 64 6f 77 46 72  ND ChildWindowFr
221b0 6f 6d 50 6f 69 6e 74 28 0d 0a 20 20 48 57 4e 44  omPoint(..  HWND
221c0 20 68 57 6e 64 50 61 72 65 6e 74 2c 0d 0a 20 20   hWndParent,..  
221d0 50 4f 49 4e 54 20 50 6f 69 6e 74 29 3b 0d 0a 0d  POINT Point);...
221e0 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e  .// #if(WINVER >
221f0 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0400)..enum 
22200 3a 20 75 69 6e 74 20 7b 20 43 57 50 5f 41 4c 4c  : uint { CWP_ALL
22210 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75   = 0x0000 }..enu
22220 6d 20 3a 20 75 69 6e 74 20 7b 20 43 57 50 5f 53  m : uint { CWP_S
22230 4b 49 50 49 4e 56 49 53 49 42 4c 45 20 3d 20 30  KIPINVISIBLE = 0
22240 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0001 }..enum : 
22250 75 69 6e 74 20 7b 20 43 57 50 5f 53 4b 49 50 44  uint { CWP_SKIPD
22260 49 53 41 42 4c 45 44 20 3d 20 30 78 30 30 30 32  ISABLED = 0x0002
22270 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
22280 7b 20 43 57 50 5f 53 4b 49 50 54 52 41 4e 53 50  { CWP_SKIPTRANSP
22290 41 52 45 4e 54 20 3d 20 30 78 30 30 30 34 20 7d  ARENT = 0x0004 }
222a0 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
222b0 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20  ws) export HWND 
222c0 43 68 69 6c 64 57 69 6e 64 6f 77 46 72 6f 6d 50  ChildWindowFromP
222d0 6f 69 6e 74 45 78 28 48 57 4e 44 2c 20 50 4f 49  ointEx(HWND, POI
222e0 4e 54 2c 20 55 49 4e 54 29 3b 0d 0a 2f 2f 20 23  NT, UINT);..// #
222f0 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
22300 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0400 */....
22310 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 43 4f 4c  // #ifndef NOCOL
22320 4f 52 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  OR....enum : uin
22330 74 20 7b 20 43 54 4c 43 4f 4c 4f 52 5f 4d 53 47  t { CTLCOLOR_MSG
22340 42 4f 58 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20  BOX = 0 }..enum 
22350 3a 20 75 69 6e 74 20 7b 20 43 54 4c 43 4f 4c 4f  : uint { CTLCOLO
22360 52 5f 45 44 49 54 20 3d 20 31 20 7d 0d 0a 65 6e  R_EDIT = 1 }..en
22370 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 54 4c 43  um : uint { CTLC
22380 4f 4c 4f 52 5f 4c 49 53 54 42 4f 58 20 3d 20 32  OLOR_LISTBOX = 2
22390 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
223a0 7b 20 43 54 4c 43 4f 4c 4f 52 5f 42 54 4e 20 3d  { CTLCOLOR_BTN =
223b0 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   3 }..enum : uin
223c0 74 20 7b 20 43 54 4c 43 4f 4c 4f 52 5f 44 4c 47  t { CTLCOLOR_DLG
223d0 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 4 }..enum : u
223e0 69 6e 74 20 7b 20 43 54 4c 43 4f 4c 4f 52 5f 53  int { CTLCOLOR_S
223f0 43 52 4f 4c 4c 42 41 52 20 3d 20 35 20 7d 0d 0a  CROLLBAR = 5 }..
22400 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 54  enum : uint { CT
22410 4c 43 4f 4c 4f 52 5f 53 54 41 54 49 43 20 3d 20  LCOLOR_STATIC = 
22420 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
22430 20 7b 20 43 54 4c 43 4f 4c 4f 52 5f 4d 41 58 20   { CTLCOLOR_MAX 
22440 3d 20 37 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  = 7 }....enum : 
22450 75 69 6e 74 20 7b 20 43 4f 4c 4f 52 5f 53 43 52  uint { COLOR_SCR
22460 4f 4c 4c 42 41 52 20 3d 20 30 20 7d 0d 0a 65 6e  OLLBAR = 0 }..en
22470 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4c 4f  um : uint { COLO
22480 52 5f 42 41 43 4b 47 52 4f 55 4e 44 20 3d 20 31  R_BACKGROUND = 1
22490 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
224a0 7b 20 43 4f 4c 4f 52 5f 41 43 54 49 56 45 43 41  { COLOR_ACTIVECA
224b0 50 54 49 4f 4e 20 3d 20 32 20 7d 0d 0a 65 6e 75  PTION = 2 }..enu
224c0 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4c 4f 52  m : uint { COLOR
224d0 5f 49 4e 41 43 54 49 56 45 43 41 50 54 49 4f 4e  _INACTIVECAPTION
224e0 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 3 }..enum : u
224f0 69 6e 74 20 7b 20 43 4f 4c 4f 52 5f 4d 45 4e 55  int { COLOR_MENU
22500 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 4 }..enum : u
22510 69 6e 74 20 7b 20 43 4f 4c 4f 52 5f 57 49 4e 44  int { COLOR_WIND
22520 4f 57 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a  OW = 5 }..enum :
22530 20 75 69 6e 74 20 7b 20 43 4f 4c 4f 52 5f 57 49   uint { COLOR_WI
22540 4e 44 4f 57 46 52 41 4d 45 20 3d 20 36 20 7d 0d  NDOWFRAME = 6 }.
22550 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
22560 4f 4c 4f 52 5f 4d 45 4e 55 54 45 58 54 20 3d 20  OLOR_MENUTEXT = 
22570 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
22580 20 7b 20 43 4f 4c 4f 52 5f 57 49 4e 44 4f 57 54   { COLOR_WINDOWT
22590 45 58 54 20 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20  EXT = 8 }..enum 
225a0 3a 20 75 69 6e 74 20 7b 20 43 4f 4c 4f 52 5f 43  : uint { COLOR_C
225b0 41 50 54 49 4f 4e 54 45 58 54 20 3d 20 39 20 7d  APTIONTEXT = 9 }
225c0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
225d0 43 4f 4c 4f 52 5f 41 43 54 49 56 45 42 4f 52 44  COLOR_ACTIVEBORD
225e0 45 52 20 3d 20 31 30 20 7d 0d 0a 65 6e 75 6d 20  ER = 10 }..enum 
225f0 3a 20 75 69 6e 74 20 7b 20 43 4f 4c 4f 52 5f 49  : uint { COLOR_I
22600 4e 41 43 54 49 56 45 42 4f 52 44 45 52 20 3d 20  NACTIVEBORDER = 
22610 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  11 }..enum : uin
22620 74 20 7b 20 43 4f 4c 4f 52 5f 41 50 50 57 4f 52  t { COLOR_APPWOR
22630 4b 53 50 41 43 45 20 3d 20 31 32 20 7d 0d 0a 65  KSPACE = 12 }..e
22640 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4c  num : uint { COL
22650 4f 52 5f 48 49 47 48 4c 49 47 48 54 20 3d 20 31  OR_HIGHLIGHT = 1
22660 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
22670 20 7b 20 43 4f 4c 4f 52 5f 48 49 47 48 4c 49 47   { COLOR_HIGHLIG
22680 48 54 54 45 58 54 20 3d 20 31 34 20 7d 0d 0a 65  HTTEXT = 14 }..e
22690 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4c  num : uint { COL
226a0 4f 52 5f 42 54 4e 46 41 43 45 20 3d 20 31 35 20  OR_BTNFACE = 15 
226b0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
226c0 20 43 4f 4c 4f 52 5f 42 54 4e 53 48 41 44 4f 57   COLOR_BTNSHADOW
226d0 20 3d 20 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 16 }..enum : 
226e0 75 69 6e 74 20 7b 20 43 4f 4c 4f 52 5f 47 52 41  uint { COLOR_GRA
226f0 59 54 45 58 54 20 3d 20 31 37 20 7d 0d 0a 65 6e  YTEXT = 17 }..en
22700 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4c 4f  um : uint { COLO
22710 52 5f 42 54 4e 54 45 58 54 20 3d 20 31 38 20 7d  R_BTNTEXT = 18 }
22720 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
22730 43 4f 4c 4f 52 5f 49 4e 41 43 54 49 56 45 43 41  COLOR_INACTIVECA
22740 50 54 49 4f 4e 54 45 58 54 20 3d 20 31 39 20 7d  PTIONTEXT = 19 }
22750 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
22760 43 4f 4c 4f 52 5f 42 54 4e 48 49 47 48 4c 49 47  COLOR_BTNHIGHLIG
22770 48 54 20 3d 20 32 30 20 7d 0d 0a 0d 0a 2f 2f 20  HT = 20 }....// 
22780 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  #if(WINVER >= 0x
22790 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0400)..enum : ui
227a0 6e 74 20 7b 20 43 4f 4c 4f 52 5f 33 44 44 4b 53  nt { COLOR_3DDKS
227b0 48 41 44 4f 57 20 3d 20 32 31 20 7d 0d 0a 65 6e  HADOW = 21 }..en
227c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4c 4f  um : uint { COLO
227d0 52 5f 33 44 4c 49 47 48 54 20 3d 20 32 32 20 7d  R_3DLIGHT = 22 }
227e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
227f0 43 4f 4c 4f 52 5f 49 4e 46 4f 54 45 58 54 20 3d  COLOR_INFOTEXT =
22800 20 32 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   23 }..enum : ui
22810 6e 74 20 7b 20 43 4f 4c 4f 52 5f 49 4e 46 4f 42  nt { COLOR_INFOB
22820 4b 20 3d 20 32 34 20 7d 0d 0a 2f 2f 20 23 65 6e  K = 24 }..// #en
22830 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d  dif /* WINVER >=
22840 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f   0x0400 */....//
22850 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
22860 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0500)..enum : u
22870 69 6e 74 20 7b 20 43 4f 4c 4f 52 5f 48 4f 54 4c  int { COLOR_HOTL
22880 49 47 48 54 20 3d 20 32 36 20 7d 0d 0a 65 6e 75  IGHT = 26 }..enu
22890 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4c 4f 52  m : uint { COLOR
228a0 5f 47 52 41 44 49 45 4e 54 41 43 54 49 56 45 43  _GRADIENTACTIVEC
228b0 41 50 54 49 4f 4e 20 3d 20 32 37 20 7d 0d 0a 65  APTION = 27 }..e
228c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4c  num : uint { COL
228d0 4f 52 5f 47 52 41 44 49 45 4e 54 49 4e 41 43 54  OR_GRADIENTINACT
228e0 49 56 45 43 41 50 54 49 4f 4e 20 3d 20 32 38 20  IVECAPTION = 28 
228f0 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  }..// #if(WINVER
22900 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75   >= 0x0501)..enu
22910 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4c 4f 52  m : uint { COLOR
22920 5f 4d 45 4e 55 48 49 4c 49 47 48 54 20 3d 20 32  _MENUHILIGHT = 2
22930 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  9 }..enum : uint
22940 20 7b 20 43 4f 4c 4f 52 5f 4d 45 4e 55 42 41 52   { COLOR_MENUBAR
22950 20 3d 20 33 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64   = 30 }..// #end
22960 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20  if /* WINVER >= 
22970 30 78 30 35 30 31 20 2a 2f 0d 0a 2f 2f 20 23 65  0x0501 */..// #e
22980 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e  ndif /* WINVER >
22990 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f  = 0x0500 */..../
229a0 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
229b0 30 78 30 34 30 30 29 0d 0a 61 6c 69 61 73 20 43  0x0400)..alias C
229c0 4f 4c 4f 52 5f 42 41 43 4b 47 52 4f 55 4e 44 20  OLOR_BACKGROUND 
229d0 43 4f 4c 4f 52 5f 44 45 53 4b 54 4f 50 3b 0d 0a  COLOR_DESKTOP;..
229e0 61 6c 69 61 73 20 43 4f 4c 4f 52 5f 42 54 4e 46  alias COLOR_BTNF
229f0 41 43 45 20 43 4f 4c 4f 52 5f 33 44 46 41 43 45  ACE COLOR_3DFACE
22a00 3b 0d 0a 61 6c 69 61 73 20 43 4f 4c 4f 52 5f 42  ;..alias COLOR_B
22a10 54 4e 53 48 41 44 4f 57 20 43 4f 4c 4f 52 5f 33  TNSHADOW COLOR_3
22a20 44 53 48 41 44 4f 57 3b 0d 0a 61 6c 69 61 73 20  DSHADOW;..alias 
22a30 43 4f 4c 4f 52 5f 42 54 4e 48 49 47 48 4c 49 47  COLOR_BTNHIGHLIG
22a40 48 54 20 43 4f 4c 4f 52 5f 33 44 48 49 47 48 4c  HT COLOR_3DHIGHL
22a50 49 47 48 54 3b 0d 0a 61 6c 69 61 73 20 43 4f 4c  IGHT;..alias COL
22a60 4f 52 5f 42 54 4e 48 49 47 48 4c 49 47 48 54 20  OR_BTNHIGHLIGHT 
22a70 43 4f 4c 4f 52 5f 33 44 48 49 4c 49 47 48 54 3b  COLOR_3DHILIGHT;
22a80 0d 0a 61 6c 69 61 73 20 43 4f 4c 4f 52 5f 42 54  ..alias COLOR_BT
22a90 4e 48 49 47 48 4c 49 47 48 54 20 43 4f 4c 4f 52  NHIGHLIGHT COLOR
22aa0 5f 42 54 4e 48 49 4c 49 47 48 54 3b 0d 0a 2f 2f  _BTNHILIGHT;..//
22ab0 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45   #endif /* WINVE
22ac0 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a  R >= 0x0400 */..
22ad0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
22ae0 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20 47  ) export DWORD G
22af0 65 74 53 79 73 43 6f 6c 6f 72 28 0d 0a 20 20 69  etSysColor(..  i
22b00 6e 74 20 6e 49 6e 64 65 78 29 3b 0d 0a 0d 0a 2f  nt nIndex);..../
22b10 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
22b20 30 78 30 34 30 30 29 0d 0a 65 78 74 65 72 6e 28  0x0400)..extern(
22b30 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
22b40 48 42 52 55 53 48 20 47 65 74 53 79 73 43 6f 6c  HBRUSH GetSysCol
22b50 6f 72 42 72 75 73 68 28 0d 0a 20 20 69 6e 74 20  orBrush(..  int 
22b60 6e 49 6e 64 65 78 29 3b 0d 0a 0d 0a 2f 2f 20 23  nIndex);....// #
22b70 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
22b80 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0400 */....
22b90 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
22ba0 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74 53  export BOOL SetS
22bb0 79 73 43 6f 6c 6f 72 73 28 0d 0a 20 20 69 6e 74  ysColors(..  int
22bc0 20 63 45 6c 65 6d 65 6e 74 73 2c 0d 0a 20 20 49   cElements,..  I
22bd0 4e 54 20 2a 20 6c 70 61 45 6c 65 6d 65 6e 74 73  NT * lpaElements
22be0 2c 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 2a 20  ,..  COLORREF * 
22bf0 6c 70 61 52 67 62 56 61 6c 75 65 73 29 3b 0d 0a  lpaRgbValues);..
22c00 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21  ..// #endif /* !
22c10 4e 4f 43 4f 4c 4f 52 20 2a 2f 0d 0a 0d 0a 65 78  NOCOLOR */....ex
22c20 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
22c30 70 6f 72 74 20 42 4f 4f 4c 20 44 72 61 77 46 6f  port BOOL DrawFo
22c40 63 75 73 52 65 63 74 28 0d 0a 20 20 48 44 43 20  cusRect(..  HDC 
22c50 68 44 43 2c 0d 0a 20 20 52 45 43 54 20 2a 20 6c  hDC,..  RECT * l
22c60 70 72 63 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  prc);....extern(
22c70 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
22c80 69 6e 74 20 46 69 6c 6c 52 65 63 74 28 0d 0a 20  int FillRect(.. 
22c90 20 48 44 43 20 68 44 43 2c 0d 0a 20 20 52 45 43   HDC hDC,..  REC
22ca0 54 20 2a 6c 70 72 63 2c 0d 0a 20 20 48 42 52 55  T *lprc,..  HBRU
22cb0 53 48 20 68 62 72 29 3b 0d 0a 0d 0a 65 78 74 65  SH hbr);....exte
22cc0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
22cd0 72 74 20 69 6e 74 20 46 72 61 6d 65 52 65 63 74  rt int FrameRect
22ce0 28 0d 0a 20 20 48 44 43 20 68 44 43 2c 0d 0a 20  (..  HDC hDC,.. 
22cf0 20 52 45 43 54 20 2a 6c 70 72 63 2c 0d 0a 20 20   RECT *lprc,..  
22d00 48 42 52 55 53 48 20 68 62 72 29 3b 0d 0a 0d 0a  HBRUSH hbr);....
22d10 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
22d20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6e 76 65  export BOOL Inve
22d30 72 74 52 65 63 74 28 0d 0a 20 20 48 44 43 20 68  rtRect(..  HDC h
22d40 44 43 2c 0d 0a 20 20 52 45 43 54 20 2a 6c 70 72  DC,..  RECT *lpr
22d50 63 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  c);....extern(Wi
22d60 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
22d70 4f 4c 20 53 65 74 52 65 63 74 28 0d 0a 20 20 4c  OL SetRect(..  L
22d80 50 52 45 43 54 20 6c 70 72 63 2c 0d 0a 20 20 69  PRECT lprc,..  i
22d90 6e 74 20 78 4c 65 66 74 2c 0d 0a 20 20 69 6e 74  nt xLeft,..  int
22da0 20 79 54 6f 70 2c 0d 0a 20 20 69 6e 74 20 78 52   yTop,..  int xR
22db0 69 67 68 74 2c 0d 0a 20 20 69 6e 74 20 79 42 6f  ight,..  int yBo
22dc0 74 74 6f 6d 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  ttom);....extern
22dd0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
22de0 20 42 4f 4f 4c 20 53 65 74 52 65 63 74 45 6d 70   BOOL SetRectEmp
22df0 74 79 28 0d 0a 20 20 4c 50 52 45 43 54 20 6c 70  ty(..  LPRECT lp
22e00 72 63 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  rc);....extern(W
22e10 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
22e20 4f 4f 4c 20 43 6f 70 79 52 65 63 74 28 0d 0a 20  OOL CopyRect(.. 
22e30 20 4c 50 52 45 43 54 20 6c 70 72 63 44 73 74 2c   LPRECT lprcDst,
22e40 0d 0a 20 20 52 45 43 54 20 2a 6c 70 72 63 53 72  ..  RECT *lprcSr
22e50 63 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  c);....extern(Wi
22e60 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
22e70 4f 4c 20 49 6e 66 6c 61 74 65 52 65 63 74 28 0d  OL InflateRect(.
22e80 0a 20 20 4c 50 52 45 43 54 20 6c 70 72 63 2c 0d  .  LPRECT lprc,.
22e90 0a 20 20 69 6e 74 20 64 78 2c 0d 0a 20 20 69 6e  .  int dx,..  in
22ea0 74 20 64 79 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  t dy);....extern
22eb0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
22ec0 20 42 4f 4f 4c 20 49 6e 74 65 72 73 65 63 74 52   BOOL IntersectR
22ed0 65 63 74 28 0d 0a 20 20 4c 50 52 45 43 54 20 6c  ect(..  LPRECT l
22ee0 70 72 63 44 73 74 2c 0d 0a 20 20 52 45 43 54 20  prcDst,..  RECT 
22ef0 2a 6c 70 72 63 53 72 63 31 2c 0d 0a 20 20 52 45  *lprcSrc1,..  RE
22f00 43 54 20 2a 6c 70 72 63 53 72 63 32 29 3b 0d 0a  CT *lprcSrc2);..
22f10 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
22f20 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 55 6e  ) export BOOL Un
22f30 69 6f 6e 52 65 63 74 28 0d 0a 20 20 4c 50 52 45  ionRect(..  LPRE
22f40 43 54 20 6c 70 72 63 44 73 74 2c 0d 0a 20 20 52  CT lprcDst,..  R
22f50 45 43 54 20 2a 6c 70 72 63 53 72 63 31 2c 0d 0a  ECT *lprcSrc1,..
22f60 20 20 52 45 43 54 20 2a 6c 70 72 63 53 72 63 32    RECT *lprcSrc2
22f70 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
22f80 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
22f90 4c 20 53 75 62 74 72 61 63 74 52 65 63 74 28 0d  L SubtractRect(.
22fa0 0a 20 20 4c 50 52 45 43 54 20 6c 70 72 63 44 73  .  LPRECT lprcDs
22fb0 74 2c 0d 0a 20 20 52 45 43 54 20 2a 6c 70 72 63  t,..  RECT *lprc
22fc0 53 72 63 31 2c 0d 0a 20 20 52 45 43 54 20 2a 6c  Src1,..  RECT *l
22fd0 70 72 63 53 72 63 32 29 3b 0d 0a 0d 0a 65 78 74  prcSrc2);....ext
22fe0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
22ff0 6f 72 74 20 42 4f 4f 4c 20 4f 66 66 73 65 74 52  ort BOOL OffsetR
23000 65 63 74 28 0d 0a 20 20 4c 50 52 45 43 54 20 6c  ect(..  LPRECT l
23010 70 72 63 2c 0d 0a 20 20 69 6e 74 20 64 78 2c 0d  prc,..  int dx,.
23020 0a 20 20 69 6e 74 20 64 79 29 3b 0d 0a 0d 0a 65  .  int dy);....e
23030 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
23040 78 70 6f 72 74 20 42 4f 4f 4c 20 49 73 52 65 63  xport BOOL IsRec
23050 74 45 6d 70 74 79 28 0d 0a 20 20 52 45 43 54 20  tEmpty(..  RECT 
23060 2a 6c 70 72 63 29 3b 0d 0a 0d 0a 65 78 74 65 72  *lprc);....exter
23070 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
23080 74 20 42 4f 4f 4c 20 45 71 75 61 6c 52 65 63 74  t BOOL EqualRect
23090 28 0d 0a 20 20 52 45 43 54 20 2a 6c 70 72 63 31  (..  RECT *lprc1
230a0 2c 0d 0a 20 20 52 45 43 54 20 2a 6c 70 72 63 32  ,..  RECT *lprc2
230b0 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
230c0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
230d0 4c 20 50 74 49 6e 52 65 63 74 28 0d 0a 20 20 52  L PtInRect(..  R
230e0 45 43 54 20 2a 6c 70 72 63 2c 0d 0a 20 20 50 4f  ECT *lprc,..  PO
230f0 49 4e 54 20 70 74 29 3b 0d 0a 0d 0a 2f 2f 20 23  INT pt);....// #
23100 69 66 6e 64 65 66 20 4e 4f 57 49 4e 4f 46 46 53  ifndef NOWINOFFS
23110 45 54 53 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ETS....extern(Wi
23120 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 57 4f  ndows) export WO
23130 52 44 20 47 65 74 57 69 6e 64 6f 77 57 6f 72 64  RD GetWindowWord
23140 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d  (..  HWND hWnd,.
23150 0a 20 20 69 6e 74 20 6e 49 6e 64 65 78 29 3b 0d  .  int nIndex);.
23160 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
23170 73 29 20 65 78 70 6f 72 74 20 57 4f 52 44 20 53  s) export WORD S
23180 65 74 57 69 6e 64 6f 77 57 6f 72 64 28 0d 0a 20  etWindowWord(.. 
23190 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 69   HWND hWnd,..  i
231a0 6e 74 20 6e 49 6e 64 65 78 2c 0d 0a 20 20 57 4f  nt nIndex,..  WO
231b0 52 44 20 77 4e 65 77 57 6f 72 64 29 3b 0d 0a 0d  RD wNewWord);...
231c0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
231d0 20 65 78 70 6f 72 74 20 4c 4f 4e 47 20 47 65 74   export LONG Get
231e0 57 69 6e 64 6f 77 4c 6f 6e 67 41 28 0d 0a 20 20  WindowLongA(..  
231f0 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 69 6e  HWND hWnd,..  in
23200 74 20 6e 49 6e 64 65 78 29 3b 0d 0a 65 78 74 65  t nIndex);..exte
23210 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
23220 72 74 20 4c 4f 4e 47 20 47 65 74 57 69 6e 64 6f  rt LONG GetWindo
23230 77 4c 6f 6e 67 57 28 0d 0a 20 20 48 57 4e 44 20  wLongW(..  HWND 
23240 68 57 6e 64 2c 0d 0a 20 20 69 6e 74 20 6e 49 6e  hWnd,..  int nIn
23250 64 65 78 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  dex);..// #ifdef
23260 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e   UNICODE..// #..
23270 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
23280 61 73 20 47 65 74 57 69 6e 64 6f 77 4c 6f 6e 67  as GetWindowLong
23290 41 20 47 65 74 57 69 6e 64 6f 77 4c 6f 6e 67 3b  A GetWindowLong;
232a0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
232b0 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
232c0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
232d0 74 20 4c 4f 4e 47 20 53 65 74 57 69 6e 64 6f 77  t LONG SetWindow
232e0 4c 6f 6e 67 41 28 0d 0a 20 20 48 57 4e 44 20 68  LongA(..  HWND h
232f0 57 6e 64 2c 0d 0a 20 20 69 6e 74 20 6e 49 6e 64  Wnd,..  int nInd
23300 65 78 2c 0d 0a 20 20 4c 4f 4e 47 20 64 77 4e 65  ex,..  LONG dwNe
23310 77 4c 6f 6e 67 29 3b 0d 0a 65 78 74 65 72 6e 28  wLong);..extern(
23320 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
23330 4c 4f 4e 47 20 53 65 74 57 69 6e 64 6f 77 4c 6f  LONG SetWindowLo
23340 6e 67 57 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  ngW(..  HWND hWn
23350 64 2c 0d 0a 20 20 69 6e 74 20 6e 49 6e 64 65 78  d,..  int nIndex
23360 2c 0d 0a 20 20 4c 4f 4e 47 20 64 77 4e 65 77 4c  ,..  LONG dwNewL
23370 6f 6e 67 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  ong);..// #ifdef
23380 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e   UNICODE..// #..
23390 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
233a0 61 73 20 53 65 74 57 69 6e 64 6f 77 4c 6f 6e 67  as SetWindowLong
233b0 41 20 53 65 74 57 69 6e 64 6f 77 4c 6f 6e 67 3b  A SetWindowLong;
233c0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
233d0 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 69  UNICODE....// #i
233e0 66 64 65 66 20 5f 57 49 4e 36 34 0d 0a 0d 0a 2f  fdef _WIN64..../
233f0 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 64 65 66  / .....// #ifdef
23400 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e   UNICODE..// #..
23410 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ...// #else..// 
23420 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  #.....// #endif 
23430 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f  // !UNICODE..../
23440 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 64 65 66  / .....// #ifdef
23450 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e   UNICODE..// #..
23460 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ...// #else..// 
23470 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  #.....// #endif 
23480 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f  // !UNICODE..../
23490 2f 20 23 65 6c 73 65 20 20 2f 2a 20 5f 57 49 4e  / #else  /* _WIN
234a0 36 34 20 2a 2f 0d 0a 0d 0a 61 6c 69 61 73 20 47  64 */....alias G
234b0 65 74 57 69 6e 64 6f 77 4c 6f 6e 67 41 20 47 65  etWindowLongA Ge
234c0 74 57 69 6e 64 6f 77 4c 6f 6e 67 50 74 72 41 3b  tWindowLongPtrA;
234d0 0d 0a 61 6c 69 61 73 20 47 65 74 57 69 6e 64 6f  ..alias GetWindo
234e0 77 4c 6f 6e 67 57 20 47 65 74 57 69 6e 64 6f 77  wLongW GetWindow
234f0 4c 6f 6e 67 50 74 72 57 3b 0d 0a 2f 2f 20 23 69  LongPtrW;..// #i
23500 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
23510 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
23520 0a 61 6c 69 61 73 20 47 65 74 57 69 6e 64 6f 77  .alias GetWindow
23530 4c 6f 6e 67 50 74 72 41 20 47 65 74 57 69 6e 64  LongPtrA GetWind
23540 6f 77 4c 6f 6e 67 50 74 72 3b 0d 0a 2f 2f 20 23  owLongPtr;..// #
23550 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
23560 45 0d 0a 0d 0a 61 6c 69 61 73 20 53 65 74 57 69  E....alias SetWi
23570 6e 64 6f 77 4c 6f 6e 67 41 20 53 65 74 57 69 6e  ndowLongA SetWin
23580 64 6f 77 4c 6f 6e 67 50 74 72 41 3b 0d 0a 61 6c  dowLongPtrA;..al
23590 69 61 73 20 53 65 74 57 69 6e 64 6f 77 4c 6f 6e  ias SetWindowLon
235a0 67 57 20 53 65 74 57 69 6e 64 6f 77 4c 6f 6e 67  gW SetWindowLong
235b0 50 74 72 57 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  PtrW;..// #ifdef
235c0 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e   UNICODE..// #..
235d0 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
235e0 61 73 20 53 65 74 57 69 6e 64 6f 77 4c 6f 6e 67  as SetWindowLong
235f0 50 74 72 41 20 53 65 74 57 69 6e 64 6f 77 4c 6f  PtrA SetWindowLo
23600 6e 67 50 74 72 3b 0d 0a 2f 2f 20 23 65 6e 64 69  ngPtr;..// #endi
23610 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
23620 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57  .// #endif /* _W
23630 49 4e 36 34 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72  IN64 */....exter
23640 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
23650 74 20 57 4f 52 44 20 47 65 74 43 6c 61 73 73 57  t WORD GetClassW
23660 6f 72 64 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  ord(..  HWND hWn
23670 64 2c 0d 0a 20 20 69 6e 74 20 6e 49 6e 64 65 78  d,..  int nIndex
23680 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
23690 64 6f 77 73 29 20 65 78 70 6f 72 74 20 57 4f 52  dows) export WOR
236a0 44 20 53 65 74 43 6c 61 73 73 57 6f 72 64 28 0d  D SetClassWord(.
236b0 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20  .  HWND hWnd,.. 
236c0 20 69 6e 74 20 6e 49 6e 64 65 78 2c 0d 0a 20 20   int nIndex,..  
236d0 57 4f 52 44 20 77 4e 65 77 57 6f 72 64 29 3b 0d  WORD wNewWord);.
236e0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
236f0 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20  s) export DWORD 
23700 47 65 74 43 6c 61 73 73 4c 6f 6e 67 41 28 0d 0a  GetClassLongA(..
23710 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20    HWND hWnd,..  
23720 69 6e 74 20 6e 49 6e 64 65 78 29 3b 0d 0a 65 78  int nIndex);..ex
23730 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
23740 70 6f 72 74 20 44 57 4f 52 44 20 47 65 74 43 6c  port DWORD GetCl
23750 61 73 73 4c 6f 6e 67 57 28 0d 0a 20 20 48 57 4e  assLongW(..  HWN
23760 44 20 68 57 6e 64 2c 0d 0a 20 20 69 6e 74 20 6e  D hWnd,..  int n
23770 49 6e 64 65 78 29 3b 0d 0a 2f 2f 20 23 69 66 64  Index);..// #ifd
23780 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  ef UNICODE..// #
23790 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
237a0 6c 69 61 73 20 47 65 74 43 6c 61 73 73 4c 6f 6e  lias GetClassLon
237b0 67 41 20 47 65 74 43 6c 61 73 73 4c 6f 6e 67 3b  gA GetClassLong;
237c0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
237d0 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
237e0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
237f0 74 20 44 57 4f 52 44 20 53 65 74 43 6c 61 73 73  t DWORD SetClass
23800 4c 6f 6e 67 41 28 0d 0a 20 20 48 57 4e 44 20 68  LongA(..  HWND h
23810 57 6e 64 2c 0d 0a 20 20 69 6e 74 20 6e 49 6e 64  Wnd,..  int nInd
23820 65 78 2c 0d 0a 20 20 4c 4f 4e 47 20 64 77 4e 65  ex,..  LONG dwNe
23830 77 4c 6f 6e 67 29 3b 0d 0a 65 78 74 65 72 6e 28  wLong);..extern(
23840 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
23850 44 57 4f 52 44 20 53 65 74 43 6c 61 73 73 4c 6f  DWORD SetClassLo
23860 6e 67 57 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  ngW(..  HWND hWn
23870 64 2c 0d 0a 20 20 69 6e 74 20 6e 49 6e 64 65 78  d,..  int nIndex
23880 2c 0d 0a 20 20 4c 4f 4e 47 20 64 77 4e 65 77 4c  ,..  LONG dwNewL
23890 6f 6e 67 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  ong);..// #ifdef
238a0 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e   UNICODE..// #..
238b0 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
238c0 61 73 20 53 65 74 43 6c 61 73 73 4c 6f 6e 67 41  as SetClassLongA
238d0 20 53 65 74 43 6c 61 73 73 4c 6f 6e 67 3b 0d 0a   SetClassLong;..
238e0 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
238f0 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 69 66 64  ICODE....// #ifd
23900 65 66 20 5f 57 49 4e 36 34 0d 0a 0d 0a 2f 2f 20  ef _WIN64....// 
23910 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  .....// #ifdef U
23920 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
23930 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
23940 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
23950 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20   !UNICODE....// 
23960 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  .....// #ifdef U
23970 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
23980 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
23990 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
239a0 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20   !UNICODE....// 
239b0 23 65 6c 73 65 20 20 2f 2a 20 5f 57 49 4e 36 34  #else  /* _WIN64
239c0 20 2a 2f 0d 0a 0d 0a 61 6c 69 61 73 20 47 65 74   */....alias Get
239d0 43 6c 61 73 73 4c 6f 6e 67 41 20 47 65 74 43 6c  ClassLongA GetCl
239e0 61 73 73 4c 6f 6e 67 50 74 72 41 3b 0d 0a 61 6c  assLongPtrA;..al
239f0 69 61 73 20 47 65 74 43 6c 61 73 73 4c 6f 6e 67  ias GetClassLong
23a00 57 20 47 65 74 43 6c 61 73 73 4c 6f 6e 67 50 74  W GetClassLongPt
23a10 72 57 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  rW;..// #ifdef U
23a20 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
23a30 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
23a40 20 47 65 74 43 6c 61 73 73 4c 6f 6e 67 50 74 72   GetClassLongPtr
23a50 41 20 47 65 74 43 6c 61 73 73 4c 6f 6e 67 50 74  A GetClassLongPt
23a60 72 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  r;..// #endif //
23a70 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 61 6c 69   !UNICODE....ali
23a80 61 73 20 53 65 74 43 6c 61 73 73 4c 6f 6e 67 41  as SetClassLongA
23a90 20 53 65 74 43 6c 61 73 73 4c 6f 6e 67 50 74 72   SetClassLongPtr
23aa0 41 3b 0d 0a 61 6c 69 61 73 20 53 65 74 43 6c 61  A;..alias SetCla
23ab0 73 73 4c 6f 6e 67 57 20 53 65 74 43 6c 61 73 73  ssLongW SetClass
23ac0 4c 6f 6e 67 50 74 72 57 3b 0d 0a 2f 2f 20 23 69  LongPtrW;..// #i
23ad0 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
23ae0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
23af0 0a 61 6c 69 61 73 20 53 65 74 43 6c 61 73 73 4c  .alias SetClassL
23b00 6f 6e 67 50 74 72 41 20 53 65 74 43 6c 61 73 73  ongPtrA SetClass
23b10 4c 6f 6e 67 50 74 72 3b 0d 0a 2f 2f 20 23 65 6e  LongPtr;..// #en
23b20 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
23b30 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
23b40 5f 57 49 4e 36 34 20 2a 2f 0d 0a 0d 0a 2f 2f 20  _WIN64 */....// 
23b50 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 57 49 4e  #endif /* !NOWIN
23b60 4f 46 46 53 45 54 53 20 2a 2f 0d 0a 0d 0a 2f 2f  OFFSETS */....//
23b70 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
23b80 78 30 35 30 30 29 0d 0a 65 78 74 65 72 6e 28 57  x0500)..extern(W
23b90 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
23ba0 4f 4f 4c 20 47 65 74 50 72 6f 63 65 73 73 44 65  OOL GetProcessDe
23bb0 66 61 75 6c 74 4c 61 79 6f 75 74 28 0d 0a 20 20  faultLayout(..  
23bc0 44 57 4f 52 44 20 2a 70 64 77 44 65 66 61 75 6c  DWORD *pdwDefaul
23bd0 74 4c 61 79 6f 75 74 29 3b 0d 0a 0d 0a 65 78 74  tLayout);....ext
23be0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
23bf0 6f 72 74 20 42 4f 4f 4c 20 53 65 74 50 72 6f 63  ort BOOL SetProc
23c00 65 73 73 44 65 66 61 75 6c 74 4c 61 79 6f 75 74  essDefaultLayout
23c10 28 0d 0a 20 20 44 57 4f 52 44 20 64 77 44 65 66  (..  DWORD dwDef
23c20 61 75 6c 74 4c 61 79 6f 75 74 29 3b 0d 0a 2f 2f  aultLayout);..//
23c30 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45   #endif /* WINVE
23c40 52 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a  R >= 0x0500 */..
23c50 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
23c60 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20 47 65  ) export HWND Ge
23c70 74 44 65 73 6b 74 6f 70 57 69 6e 64 6f 77 28 29  tDesktopWindow()
23c80 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
23c90 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44  ows) export HWND
23ca0 20 47 65 74 50 61 72 65 6e 74 28 0d 0a 20 20 48   GetParent(..  H
23cb0 57 4e 44 20 68 57 6e 64 29 3b 0d 0a 0d 0a 65 78  WND hWnd);....ex
23cc0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
23cd0 70 6f 72 74 20 48 57 4e 44 20 53 65 74 50 61 72  port HWND SetPar
23ce0 65 6e 74 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  ent(..  HWND hWn
23cf0 64 43 68 69 6c 64 2c 0d 0a 20 20 48 57 4e 44 20  dChild,..  HWND 
23d00 68 57 6e 64 4e 65 77 50 61 72 65 6e 74 29 3b 0d  hWndNewParent);.
23d10 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
23d20 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 45  s) export BOOL E
23d30 6e 75 6d 43 68 69 6c 64 57 69 6e 64 6f 77 73 28  numChildWindows(
23d40 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 50 61 72  ..  HWND hWndPar
23d50 65 6e 74 2c 0d 0a 20 20 57 4e 44 45 4e 55 4d 50  ent,..  WNDENUMP
23d60 52 4f 43 20 6c 70 45 6e 75 6d 46 75 6e 63 2c 0d  ROC lpEnumFunc,.
23d70 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d  .  LPARAM lParam
23d80 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
23d90 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e  dows) export HWN
23da0 44 20 46 69 6e 64 57 69 6e 64 6f 77 41 28 0d 0a  D FindWindowA(..
23db0 20 20 4c 50 43 53 54 52 20 6c 70 43 6c 61 73 73    LPCSTR lpClass
23dc0 4e 61 6d 65 2c 0d 0a 20 20 4c 50 43 53 54 52 20  Name,..  LPCSTR 
23dd0 6c 70 57 69 6e 64 6f 77 4e 61 6d 65 29 3b 0d 0a  lpWindowName);..
23de0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
23df0 65 78 70 6f 72 74 20 48 57 4e 44 20 46 69 6e 64  export HWND Find
23e00 57 69 6e 64 6f 77 57 28 0d 0a 20 20 4c 50 43 57  WindowW(..  LPCW
23e10 53 54 52 20 6c 70 43 6c 61 73 73 4e 61 6d 65 2c  STR lpClassName,
23e20 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 57 69  ..  LPCWSTR lpWi
23e30 6e 64 6f 77 4e 61 6d 65 29 3b 0d 0a 2f 2f 20 23  ndowName);..// #
23e40 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
23e50 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
23e60 0d 0a 61 6c 69 61 73 20 46 69 6e 64 57 69 6e 64  ..alias FindWind
23e70 6f 77 41 20 46 69 6e 64 57 69 6e 64 6f 77 3b 0d  owA FindWindow;.
23e80 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
23e90 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 69 66  NICODE....// #if
23ea0 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30  (WINVER >= 0x040
23eb0 30 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  0)..extern(Windo
23ec0 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20  ws) export HWND 
23ed0 46 69 6e 64 57 69 6e 64 6f 77 45 78 41 28 48 57  FindWindowExA(HW
23ee0 4e 44 2c 20 48 57 4e 44 2c 20 4c 50 43 53 54 52  ND, HWND, LPCSTR
23ef0 2c 20 4c 50 43 53 54 52 29 3b 0d 0a 65 78 74 65  , LPCSTR);..exte
23f00 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
23f10 72 74 20 48 57 4e 44 20 46 69 6e 64 57 69 6e 64  rt HWND FindWind
23f20 6f 77 45 78 57 28 48 57 4e 44 2c 20 48 57 4e 44  owExW(HWND, HWND
23f30 2c 20 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 53  , LPCWSTR, LPCWS
23f40 54 52 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  TR);..// #ifdef 
23f50 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e  UNICODE..// #...
23f60 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
23f70 73 20 46 69 6e 64 57 69 6e 64 6f 77 45 78 41 20  s FindWindowExA 
23f80 46 69 6e 64 57 69 6e 64 6f 77 45 78 3b 0d 0a 2f  FindWindowEx;../
23f90 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
23fa0 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  CODE....// #endi
23fb0 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
23fc0 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65 78 74 65  x0400 */....exte
23fd0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
23fe0 72 74 20 42 4f 4f 4c 20 45 6e 75 6d 57 69 6e 64  rt BOOL EnumWind
23ff0 6f 77 73 28 0d 0a 20 20 57 4e 44 45 4e 55 4d 50  ows(..  WNDENUMP
24000 52 4f 43 20 6c 70 45 6e 75 6d 46 75 6e 63 2c 0d  ROC lpEnumFunc,.
24010 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d  .  LPARAM lParam
24020 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
24030 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
24040 4c 20 45 6e 75 6d 54 68 72 65 61 64 57 69 6e 64  L EnumThreadWind
24050 6f 77 73 28 0d 0a 20 20 44 57 4f 52 44 20 64 77  ows(..  DWORD dw
24060 54 68 72 65 61 64 49 64 2c 0d 0a 20 20 57 4e 44  ThreadId,..  WND
24070 45 4e 55 4d 50 52 4f 43 20 6c 70 66 6e 2c 0d 0a  ENUMPROC lpfn,..
24080 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 29    LPARAM lParam)
24090 3b 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  ;....// #define 
240a0 45 6e 75 6d 54 61 73 6b 57 69 6e 64 6f 77 73 28  EnumTaskWindows(
240b0 68 54 61 73 6b 2c 20 6c 70 66 6e 2c 20 6c 50 61  hTask, lpfn, lPa
240c0 72 61 6d 29 20 45 6e 75 6d 54 68 72 65 61 64 57  ram) EnumThreadW
240d0 69 6e 64 6f 77 73 28 48 61 6e 64 6c 65 54 6f 55  indows(HandleToU
240e0 6c 6f 6e 67 28 68 54 61 73 6b 29 2c 20 6c 70 66  long(hTask), lpf
240f0 6e 2c 20 6c 50 61 72 61 6d 29 0d 0a 0d 0a 65 78  n, lParam)....ex
24100 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
24110 70 6f 72 74 20 69 6e 74 20 47 65 74 43 6c 61 73  port int GetClas
24120 73 4e 61 6d 65 41 28 0d 0a 20 20 48 57 4e 44 20  sNameA(..  HWND 
24130 68 57 6e 64 2c 0d 0a 20 20 4c 50 53 54 52 20 6c  hWnd,..  LPSTR l
24140 70 43 6c 61 73 73 4e 61 6d 65 2c 0d 0a 20 20 69  pClassName,..  i
24150 6e 74 20 6e 4d 61 78 43 6f 75 6e 74 29 3b 0d 0a  nt nMaxCount);..
24160 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
24170 65 78 70 6f 72 74 20 69 6e 74 20 47 65 74 43 6c  export int GetCl
24180 61 73 73 4e 61 6d 65 57 28 0d 0a 20 20 48 57 4e  assNameW(..  HWN
24190 44 20 68 57 6e 64 2c 0d 0a 20 20 4c 50 57 53 54  D hWnd,..  LPWST
241a0 52 20 6c 70 43 6c 61 73 73 4e 61 6d 65 2c 0d 0a  R lpClassName,..
241b0 20 20 69 6e 74 20 6e 4d 61 78 43 6f 75 6e 74 29    int nMaxCount)
241c0 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
241d0 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
241e0 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 47  / #else..alias G
241f0 65 74 43 6c 61 73 73 4e 61 6d 65 41 20 47 65 74  etClassNameA Get
24200 43 6c 61 73 73 4e 61 6d 65 3b 0d 0a 2f 2f 20 23  ClassName;..// #
24210 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
24220 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  E....extern(Wind
24230 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44  ows) export HWND
24240 20 47 65 74 54 6f 70 57 69 6e 64 6f 77 28 0d 0a   GetTopWindow(..
24250 20 20 48 57 4e 44 20 68 57 6e 64 29 3b 0d 0a 0d    HWND hWnd);...
24260 0a 2f 2f 20 23 64 65 66 69 6e 65 20 47 65 74 4e  .// #define GetN
24270 65 78 74 57 69 6e 64 6f 77 28 68 57 6e 64 2c 20  extWindow(hWnd, 
24280 77 43 6d 64 29 20 47 65 74 57 69 6e 64 6f 77 28  wCmd) GetWindow(
24290 68 57 6e 64 2c 20 77 43 6d 64 29 0d 0a 2f 2f 20  hWnd, wCmd)..// 
242a0 23 64 65 66 69 6e 65 20 47 65 74 53 79 73 4d 6f  #define GetSysMo
242b0 64 61 6c 57 69 6e 64 6f 77 28 29 20 28 4e 55 4c  dalWindow() (NUL
242c0 4c 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53  L)..// #define S
242d0 65 74 53 79 73 4d 6f 64 61 6c 57 69 6e 64 6f 77  etSysModalWindow
242e0 28 68 57 6e 64 29 20 28 4e 55 4c 4c 29 0d 0a 0d  (hWnd) (NULL)...
242f0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
24300 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20 47 65   export DWORD Ge
24310 74 57 69 6e 64 6f 77 54 68 72 65 61 64 50 72 6f  tWindowThreadPro
24320 63 65 73 73 49 64 28 0d 0a 20 20 48 57 4e 44 20  cessId(..  HWND 
24330 68 57 6e 64 2c 0d 0a 20 20 4c 50 44 57 4f 52 44  hWnd,..  LPDWORD
24340 20 6c 70 64 77 50 72 6f 63 65 73 73 49 64 29 3b   lpdwProcessId);
24350 0d 0a 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33  ....// #if(_WIN3
24360 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30  2_WINNT >= 0x050
24370 31 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  1)..extern(Windo
24380 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
24390 49 73 47 55 49 54 68 72 65 61 64 28 0d 0a 20 20  IsGUIThread(..  
243a0 42 4f 4f 4c 20 62 43 6f 6e 76 65 72 74 29 3b 0d  BOOL bConvert);.
243b0 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
243c0 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
243d0 30 78 30 35 30 31 20 2a 2f 0d 0a 0d 0a 2f 2f 20  0x0501 */....// 
243e0 23 64 65 66 69 6e 65 20 47 65 74 57 69 6e 64 6f  #define GetWindo
243f0 77 54 61 73 6b 28 68 57 6e 64 29 20 28 28 48 41  wTask(hWnd) ((HA
24400 4e 44 4c 45 29 28 44 57 4f 52 44 5f 50 54 52 29  NDLE)(DWORD_PTR)
24410 47 65 74 57 69 6e 64 6f 77 54 68 72 65 61 64 50  GetWindowThreadP
24420 72 6f 63 65 73 73 49 64 28 68 57 6e 64 2c 20 4e  rocessId(hWnd, N
24430 55 4c 4c 29 29 0d 0a 0d 0a 65 78 74 65 72 6e 28  ULL))....extern(
24440 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
24450 48 57 4e 44 20 47 65 74 4c 61 73 74 41 63 74 69  HWND GetLastActi
24460 76 65 50 6f 70 75 70 28 0d 0a 20 20 48 57 4e 44  vePopup(..  HWND
24470 20 68 57 6e 64 29 3b 0d 0a 0d 0a 65 6e 75 6d 20   hWnd);....enum 
24480 3a 20 75 69 6e 74 20 7b 20 47 57 5f 48 57 4e 44  : uint { GW_HWND
24490 46 49 52 53 54 20 3d 20 30 20 7d 0d 0a 65 6e 75  FIRST = 0 }..enu
244a0 6d 20 3a 20 75 69 6e 74 20 7b 20 47 57 5f 48 57  m : uint { GW_HW
244b0 4e 44 4c 41 53 54 20 3d 20 31 20 7d 0d 0a 65 6e  NDLAST = 1 }..en
244c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 57 5f 48  um : uint { GW_H
244d0 57 4e 44 4e 45 58 54 20 3d 20 32 20 7d 0d 0a 65  WNDNEXT = 2 }..e
244e0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 57 5f  num : uint { GW_
244f0 48 57 4e 44 50 52 45 56 20 3d 20 33 20 7d 0d 0a  HWNDPREV = 3 }..
24500 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 57  enum : uint { GW
24510 5f 4f 57 4e 45 52 20 3d 20 34 20 7d 0d 0a 65 6e  _OWNER = 4 }..en
24520 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 57 5f 43  um : uint { GW_C
24530 48 49 4c 44 20 3d 20 35 20 7d 0d 0a 2f 2f 20 23  HILD = 5 }..// #
24540 69 66 28 57 49 4e 56 45 52 20 3c 3d 20 30 78 30  if(WINVER <= 0x0
24550 34 30 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  400)..// #...../
24560 2f 20 23 65 6c 73 65 0d 0a 65 6e 75 6d 20 3a 20  / #else..enum : 
24570 75 69 6e 74 20 7b 20 47 57 5f 45 4e 41 42 4c 45  uint { GW_ENABLE
24580 44 50 4f 50 55 50 20 3d 20 36 20 7d 0d 0a 65 6e  DPOPUP = 6 }..en
24590 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 57 5f 4d  um : uint { GW_M
245a0 41 58 20 3d 20 36 20 7d 0d 0a 2f 2f 20 23 65 6e  AX = 6 }..// #en
245b0 64 69 66 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  dif....extern(Wi
245c0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57  ndows) export HW
245d0 4e 44 20 47 65 74 57 69 6e 64 6f 77 28 0d 0a 20  ND GetWindow(.. 
245e0 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 55   HWND hWnd,..  U
245f0 49 4e 54 20 75 43 6d 64 29 3b 0d 0a 0d 0a 2f 2f  INT uCmd);....//
24600 20 23 69 66 6e 64 65 66 20 4e 4f 57 48 0d 0a 0d   #ifndef NOWH...
24610 0a 2f 2f 20 23 69 66 64 65 66 20 53 54 52 49 43  .// #ifdef STRIC
24620 54 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  T....extern(Wind
24630 6f 77 73 29 20 65 78 70 6f 72 74 20 48 48 4f 4f  ows) export HHOO
24640 4b 20 53 65 74 57 69 6e 64 6f 77 73 48 6f 6f 6b  K SetWindowsHook
24650 41 28 0d 0a 20 20 69 6e 74 20 6e 46 69 6c 74 65  A(..  int nFilte
24660 72 54 79 70 65 2c 0d 0a 20 20 48 4f 4f 4b 50 52  rType,..  HOOKPR
24670 4f 43 20 70 66 6e 46 69 6c 74 65 72 50 72 6f 63  OC pfnFilterProc
24680 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
24690 77 73 29 20 65 78 70 6f 72 74 20 48 48 4f 4f 4b  ws) export HHOOK
246a0 20 53 65 74 57 69 6e 64 6f 77 73 48 6f 6f 6b 57   SetWindowsHookW
246b0 28 0d 0a 20 20 69 6e 74 20 6e 46 69 6c 74 65 72  (..  int nFilter
246c0 54 79 70 65 2c 0d 0a 20 20 48 4f 4f 4b 50 52 4f  Type,..  HOOKPRO
246d0 43 20 70 66 6e 46 69 6c 74 65 72 50 72 6f 63 29  C pfnFilterProc)
246e0 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
246f0 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
24700 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 53  / #else..alias S
24710 65 74 57 69 6e 64 6f 77 73 48 6f 6f 6b 41 20 53  etWindowsHookA S
24720 65 74 57 69 6e 64 6f 77 73 48 6f 6f 6b 3b 0d 0a  etWindowsHook;..
24730 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
24740 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73  ICODE....// #els
24750 65 20 2f 2a 20 21 53 54 52 49 43 54 20 2a 2f 0d  e /* !STRICT */.
24760 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69  ...// .....// #i
24770 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
24780 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
24790 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
247a0 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
247b0 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
247c0 21 53 54 52 49 43 54 20 2a 2f 0d 0a 0d 0a 65 78  !STRICT */....ex
247d0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
247e0 70 6f 72 74 20 42 4f 4f 4c 20 55 6e 68 6f 6f 6b  port BOOL Unhook
247f0 57 69 6e 64 6f 77 73 48 6f 6f 6b 28 0d 0a 20 20  WindowsHook(..  
24800 69 6e 74 20 6e 43 6f 64 65 2c 0d 0a 20 20 48 4f  int nCode,..  HO
24810 4f 4b 50 52 4f 43 20 70 66 6e 46 69 6c 74 65 72  OKPROC pfnFilter
24820 50 72 6f 63 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  Proc);....extern
24830 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
24840 20 48 48 4f 4f 4b 20 53 65 74 57 69 6e 64 6f 77   HHOOK SetWindow
24850 73 48 6f 6f 6b 45 78 41 28 0d 0a 20 20 69 6e 74  sHookExA(..  int
24860 20 69 64 48 6f 6f 6b 2c 0d 0a 20 20 48 4f 4f 4b   idHook,..  HOOK
24870 50 52 4f 43 20 6c 70 66 6e 2c 0d 0a 20 20 48 49  PROC lpfn,..  HI
24880 4e 53 54 41 4e 43 45 20 68 6d 6f 64 2c 0d 0a 20  NSTANCE hmod,.. 
24890 20 44 57 4f 52 44 20 64 77 54 68 72 65 61 64 49   DWORD dwThreadI
248a0 64 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  d);..extern(Wind
248b0 6f 77 73 29 20 65 78 70 6f 72 74 20 48 48 4f 4f  ows) export HHOO
248c0 4b 20 53 65 74 57 69 6e 64 6f 77 73 48 6f 6f 6b  K SetWindowsHook
248d0 45 78 57 28 0d 0a 20 20 69 6e 74 20 69 64 48 6f  ExW(..  int idHo
248e0 6f 6b 2c 0d 0a 20 20 48 4f 4f 4b 50 52 4f 43 20  ok,..  HOOKPROC 
248f0 6c 70 66 6e 2c 0d 0a 20 20 48 49 4e 53 54 41 4e  lpfn,..  HINSTAN
24900 43 45 20 68 6d 6f 64 2c 0d 0a 20 20 44 57 4f 52  CE hmod,..  DWOR
24910 44 20 64 77 54 68 72 65 61 64 49 64 29 3b 0d 0a  D dwThreadId);..
24920 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
24930 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
24940 65 6c 73 65 0d 0a 61 6c 69 61 73 20 53 65 74 57  else..alias SetW
24950 69 6e 64 6f 77 73 48 6f 6f 6b 45 78 41 20 53 65  indowsHookExA Se
24960 74 57 69 6e 64 6f 77 73 48 6f 6f 6b 45 78 3b 0d  tWindowsHookEx;.
24970 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
24980 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
24990 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
249a0 20 42 4f 4f 4c 20 55 6e 68 6f 6f 6b 57 69 6e 64   BOOL UnhookWind
249b0 6f 77 73 48 6f 6f 6b 45 78 28 0d 0a 20 20 48 48  owsHookEx(..  HH
249c0 4f 4f 4b 20 68 68 6b 29 3b 0d 0a 0d 0a 65 78 74  OOK hhk);....ext
249d0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
249e0 6f 72 74 20 4c 52 45 53 55 4c 54 20 43 61 6c 6c  ort LRESULT Call
249f0 4e 65 78 74 48 6f 6f 6b 45 78 28 0d 0a 20 20 48  NextHookEx(..  H
24a00 48 4f 4f 4b 20 68 68 6b 2c 0d 0a 20 20 69 6e 74  HOOK hhk,..  int
24a10 20 6e 43 6f 64 65 2c 0d 0a 20 20 57 50 41 52 41   nCode,..  WPARA
24a20 4d 20 77 50 61 72 61 6d 2c 0d 0a 20 20 4c 50 41  M wParam,..  LPA
24a30 52 41 4d 20 6c 50 61 72 61 6d 29 3b 0d 0a 0d 0a  RAM lParam);....
24a40 2f 2f 20 23 69 66 64 65 66 20 53 54 52 49 43 54  // #ifdef STRICT
24a50 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 65 66  ..// #define Def
24a60 48 6f 6f 6b 50 72 6f 63 28 6e 43 6f 64 65 2c 20  HookProc(nCode, 
24a70 77 50 61 72 61 6d 2c 20 6c 50 61 72 61 6d 2c 20  wParam, lParam, 
24a80 70 68 68 6b 29 20 43 61 6c 6c 4e 65 78 74 48 6f  phhk) CallNextHo
24a90 6f 6b 45 78 28 2a 70 68 68 6b 2c 20 6e 43 6f 64  okEx(*phhk, nCod
24aa0 65 2c 20 77 50 61 72 61 6d 2c 20 6c 50 61 72 61  e, wParam, lPara
24ab0 6d 29 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  m)..// #else..//
24ac0 20 23 2e 2e 2e 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f   #.....// ...../
24ad0 2f 20 23 65 6e 64 69 66 20 2f 2a 20 53 54 52 49  / #endif /* STRI
24ae0 43 54 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69 66  CT */..// #endif
24af0 20 2f 2a 20 21 4e 4f 57 48 20 2a 2f 0d 0a 0d 0a   /* !NOWH */....
24b00 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 4d 45 4e  // #ifndef NOMEN
24b10 55 53 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  US....enum : uin
24b20 74 20 7b 20 4d 46 5f 49 4e 53 45 52 54 20 3d 20  t { MF_INSERT = 
24b30 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00000000 }..en
24b40 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 46 5f 43  um : uint { MF_C
24b50 48 41 4e 47 45 20 3d 20 30 78 30 30 30 30 30 30  HANGE = 0x000000
24b60 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  80 }..enum : uin
24b70 74 20 7b 20 4d 46 5f 41 50 50 45 4e 44 20 3d 20  t { MF_APPEND = 
24b80 30 78 30 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e  0x00000100 }..en
24b90 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 46 5f 44  um : uint { MF_D
24ba0 45 4c 45 54 45 20 3d 20 30 78 30 30 30 30 30 32  ELETE = 0x000002
24bb0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
24bc0 74 20 7b 20 4d 46 5f 52 45 4d 4f 56 45 20 3d 20  t { MF_REMOVE = 
24bd0 30 78 30 30 30 30 31 30 30 30 20 7d 0d 0a 0d 0a  0x00001000 }....
24be0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 46  enum : uint { MF
24bf0 5f 42 59 43 4f 4d 4d 41 4e 44 20 3d 20 30 78 30  _BYCOMMAND = 0x0
24c00 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000000 }..enum 
24c10 3a 20 75 69 6e 74 20 7b 20 4d 46 5f 42 59 50 4f  : uint { MF_BYPO
24c20 53 49 54 49 4f 4e 20 3d 20 30 78 30 30 30 30 30  SITION = 0x00000
24c30 34 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  400 }....enum : 
24c40 75 69 6e 74 20 7b 20 4d 46 5f 53 45 50 41 52 41  uint { MF_SEPARA
24c50 54 4f 52 20 3d 20 30 78 30 30 30 30 30 38 30 30  TOR = 0x00000800
24c60 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
24c70 74 20 7b 20 4d 46 5f 45 4e 41 42 4c 45 44 20 3d  t { MF_ENABLED =
24c80 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65   0x00000000 }..e
24c90 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 46 5f  num : uint { MF_
24ca0 47 52 41 59 45 44 20 3d 20 30 78 30 30 30 30 30  GRAYED = 0x00000
24cb0 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
24cc0 6e 74 20 7b 20 4d 46 5f 44 49 53 41 42 4c 45 44  nt { MF_DISABLED
24cd0 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d   = 0x00000002 }.
24ce0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
24cf0 20 4d 46 5f 55 4e 43 48 45 43 4b 45 44 20 3d 20   MF_UNCHECKED = 
24d00 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00000000 }..en
24d10 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 46 5f 43  um : uint { MF_C
24d20 48 45 43 4b 45 44 20 3d 20 30 78 30 30 30 30 30  HECKED = 0x00000
24d30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
24d40 6e 74 20 7b 20 4d 46 5f 55 53 45 43 48 45 43 4b  nt { MF_USECHECK
24d50 42 49 54 4d 41 50 53 20 3d 20 30 78 30 30 30 30  BITMAPS = 0x0000
24d60 30 32 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0200 }....enum :
24d70 20 75 69 6e 74 20 7b 20 4d 46 5f 53 54 52 49 4e   uint { MF_STRIN
24d80 47 20 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d  G = 0x00000000 }
24d90 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
24da0 4d 46 5f 42 49 54 4d 41 50 20 3d 20 30 78 30 30  MF_BITMAP = 0x00
24db0 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a  000004 }..enum :
24dc0 20 75 69 6e 74 20 7b 20 4d 46 5f 4f 57 4e 45 52   uint { MF_OWNER
24dd0 44 52 41 57 20 3d 20 30 78 30 30 30 30 30 31 30  DRAW = 0x0000010
24de0 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
24df0 6e 74 20 7b 20 4d 46 5f 50 4f 50 55 50 20 3d 20  nt { MF_POPUP = 
24e00 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e  0x00000010 }..en
24e10 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 46 5f 4d  um : uint { MF_M
24e20 45 4e 55 42 41 52 42 52 45 41 4b 20 3d 20 30 78  ENUBARBREAK = 0x
24e30 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d  00000020 }..enum
24e40 20 3a 20 75 69 6e 74 20 7b 20 4d 46 5f 4d 45 4e   : uint { MF_MEN
24e50 55 42 52 45 41 4b 20 3d 20 30 78 30 30 30 30 30  UBREAK = 0x00000
24e60 30 34 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  040 }....enum : 
24e70 75 69 6e 74 20 7b 20 4d 46 5f 55 4e 48 49 4c 49  uint { MF_UNHILI
24e80 54 45 20 3d 20 30 78 30 30 30 30 30 30 30 30 20  TE = 0x00000000 
24e90 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
24ea0 20 4d 46 5f 48 49 4c 49 54 45 20 3d 20 30 78 30   MF_HILITE = 0x0
24eb0 30 30 30 30 30 38 30 20 7d 0d 0a 0d 0a 2f 2f 20  0000080 }....// 
24ec0 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  #if(WINVER >= 0x
24ed0 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0400)..enum : ui
24ee0 6e 74 20 7b 20 4d 46 5f 44 45 46 41 55 4c 54 20  nt { MF_DEFAULT 
24ef0 3d 20 30 78 30 30 30 30 31 30 30 30 20 7d 0d 0a  = 0x00001000 }..
24f00 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
24f10 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f  VER >= 0x0400 */
24f20 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
24f30 4d 46 5f 53 59 53 4d 45 4e 55 20 3d 20 30 78 30  MF_SYSMENU = 0x0
24f40 30 30 30 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0002000 }..enum 
24f50 3a 20 75 69 6e 74 20 7b 20 4d 46 5f 48 45 4c 50  : uint { MF_HELP
24f60 20 3d 20 30 78 30 30 30 30 34 30 30 30 20 7d 0d   = 0x00004000 }.
24f70 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e  .// #if(WINVER >
24f80 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0400)..enum 
24f90 3a 20 75 69 6e 74 20 7b 20 4d 46 5f 52 49 47 48  : uint { MF_RIGH
24fa0 54 4a 55 53 54 49 46 59 20 3d 20 30 78 30 30 30  TJUSTIFY = 0x000
24fb0 30 34 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64  04000 }..// #end
24fc0 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20  if /* WINVER >= 
24fd0 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65 6e 75  0x0400 */....enu
24fe0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 46 5f 4d 4f  m : uint { MF_MO
24ff0 55 53 45 53 45 4c 45 43 54 20 3d 20 30 78 30 30  USESELECT = 0x00
25000 30 30 38 30 30 30 20 7d 0d 0a 2f 2f 20 23 69 66  008000 }..// #if
25010 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30  (WINVER >= 0x040
25020 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
25030 7b 20 4d 46 5f 45 4e 44 20 3d 20 30 78 30 30 30  { MF_END = 0x000
25040 30 30 30 38 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64  00080 }..// #end
25050 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20  if /* WINVER >= 
25060 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20  0x0400 */....// 
25070 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  #if(WINVER >= 0x
25080 30 34 30 30 29 0d 0a 61 6c 69 61 73 20 4d 46 5f  0400)..alias MF_
25090 53 54 52 49 4e 47 20 4d 46 54 5f 53 54 52 49 4e  STRING MFT_STRIN
250a0 47 3b 0d 0a 61 6c 69 61 73 20 4d 46 5f 42 49 54  G;..alias MF_BIT
250b0 4d 41 50 20 4d 46 54 5f 42 49 54 4d 41 50 3b 0d  MAP MFT_BITMAP;.
250c0 0a 61 6c 69 61 73 20 4d 46 5f 4d 45 4e 55 42 41  .alias MF_MENUBA
250d0 52 42 52 45 41 4b 20 4d 46 54 5f 4d 45 4e 55 42  RBREAK MFT_MENUB
250e0 41 52 42 52 45 41 4b 3b 0d 0a 61 6c 69 61 73 20  ARBREAK;..alias 
250f0 4d 46 5f 4d 45 4e 55 42 52 45 41 4b 20 4d 46 54  MF_MENUBREAK MFT
25100 5f 4d 45 4e 55 42 52 45 41 4b 3b 0d 0a 61 6c 69  _MENUBREAK;..ali
25110 61 73 20 4d 46 5f 4f 57 4e 45 52 44 52 41 57 20  as MF_OWNERDRAW 
25120 4d 46 54 5f 4f 57 4e 45 52 44 52 41 57 3b 0d 0a  MFT_OWNERDRAW;..
25130 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 46  enum : uint { MF
25140 54 5f 52 41 44 49 4f 43 48 45 43 4b 20 3d 20 30  T_RADIOCHECK = 0
25150 78 30 30 30 30 30 32 30 30 20 7d 0d 0a 61 6c 69  x00000200 }..ali
25160 61 73 20 4d 46 5f 53 45 50 41 52 41 54 4f 52 20  as MF_SEPARATOR 
25170 4d 46 54 5f 53 45 50 41 52 41 54 4f 52 3b 0d 0a  MFT_SEPARATOR;..
25180 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 46  enum : uint { MF
25190 54 5f 52 49 47 48 54 4f 52 44 45 52 20 3d 20 30  T_RIGHTORDER = 0
251a0 78 30 30 30 30 32 30 30 30 20 7d 0d 0a 61 6c 69  x00002000 }..ali
251b0 61 73 20 4d 46 5f 52 49 47 48 54 4a 55 53 54 49  as MF_RIGHTJUSTI
251c0 46 59 20 4d 46 54 5f 52 49 47 48 54 4a 55 53 54  FY MFT_RIGHTJUST
251d0 49 46 59 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  IFY;....enum : u
251e0 69 6e 74 20 7b 20 4d 46 53 5f 47 52 41 59 45 44  int { MFS_GRAYED
251f0 20 3d 20 30 78 30 30 30 30 30 30 30 33 20 7d 0d   = 0x00000003 }.
25200 0a 61 6c 69 61 73 20 4d 46 53 5f 47 52 41 59 45  .alias MFS_GRAYE
25210 44 20 4d 46 53 5f 44 49 53 41 42 4c 45 44 3b 0d  D MFS_DISABLED;.
25220 0a 61 6c 69 61 73 20 4d 46 5f 43 48 45 43 4b 45  .alias MF_CHECKE
25230 44 20 4d 46 53 5f 43 48 45 43 4b 45 44 3b 0d 0a  D MFS_CHECKED;..
25240 61 6c 69 61 73 20 4d 46 5f 48 49 4c 49 54 45 20  alias MF_HILITE 
25250 4d 46 53 5f 48 49 4c 49 54 45 3b 0d 0a 61 6c 69  MFS_HILITE;..ali
25260 61 73 20 4d 46 5f 45 4e 41 42 4c 45 44 20 4d 46  as MF_ENABLED MF
25270 53 5f 45 4e 41 42 4c 45 44 3b 0d 0a 61 6c 69 61  S_ENABLED;..alia
25280 73 20 4d 46 5f 55 4e 43 48 45 43 4b 45 44 20 4d  s MF_UNCHECKED M
25290 46 53 5f 55 4e 43 48 45 43 4b 45 44 3b 0d 0a 61  FS_UNCHECKED;..a
252a0 6c 69 61 73 20 4d 46 5f 55 4e 48 49 4c 49 54 45  lias MF_UNHILITE
252b0 20 4d 46 53 5f 55 4e 48 49 4c 49 54 45 3b 0d 0a   MFS_UNHILITE;..
252c0 61 6c 69 61 73 20 4d 46 5f 44 45 46 41 55 4c 54  alias MF_DEFAULT
252d0 20 4d 46 53 5f 44 45 46 41 55 4c 54 3b 0d 0a 2f   MFS_DEFAULT;../
252e0 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
252f0 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  ER >= 0x0400 */.
25300 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  ...// #if(WINVER
25310 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a 65   >= 0x0400)....e
25320 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
25330 78 70 6f 72 74 20 42 4f 4f 4c 20 43 68 65 63 6b  xport BOOL Check
25340 4d 65 6e 75 52 61 64 69 6f 49 74 65 6d 28 0d 0a  MenuRadioItem(..
25350 20 20 48 4d 45 4e 55 2c 0d 0a 20 20 55 49 4e 54    HMENU,..  UINT
25360 2c 0d 0a 20 20 55 49 4e 54 2c 0d 0a 20 20 55 49  ,..  UINT,..  UI
25370 4e 54 2c 0d 0a 20 20 55 49 4e 54 29 3b 0d 0a 2f  NT,..  UINT);../
25380 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
25390 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  ER >= 0x0400 */.
253a0 0a 0d 0a 73 74 72 75 63 74 20 5f 34 20 7b 0d 0a  ...struct _4 {..
253b0 20 20 57 4f 52 44 20 76 65 72 73 69 6f 6e 4e 75    WORD versionNu
253c0 6d 62 65 72 3b 0d 0a 20 20 57 4f 52 44 20 6f 66  mber;..  WORD of
253d0 66 73 65 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  fset;..}..alias 
253e0 5f 34 20 4d 45 4e 55 49 54 45 4d 54 45 4d 50 4c  _4 MENUITEMTEMPL
253f0 41 54 45 48 45 41 44 45 52 3b 0d 0a 61 6c 69 61  ATEHEADER;..alia
25400 73 20 5f 34 2a 20 50 4d 45 4e 55 49 54 45 4d 54  s _4* PMENUITEMT
25410 45 4d 50 4c 41 54 45 48 45 41 44 45 52 3b 0d 0a  EMPLATEHEADER;..
25420 0d 0a 73 74 72 75 63 74 20 5f 35 20 7b 0d 0a 20  ..struct _5 {.. 
25430 20 57 4f 52 44 20 6d 74 4f 70 74 69 6f 6e 3b 0d   WORD mtOption;.
25440 0a 20 20 57 4f 52 44 20 6d 74 49 44 3b 0d 0a 20  .  WORD mtID;.. 
25450 20 57 43 48 41 52 20 6d 74 53 74 72 69 6e 67 5b   WCHAR mtString[
25460 31 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 35  1];..}..alias _5
25470 20 4d 45 4e 55 49 54 45 4d 54 45 4d 50 4c 41 54   MENUITEMTEMPLAT
25480 45 3b 0d 0a 61 6c 69 61 73 20 5f 35 2a 20 50 4d  E;..alias _5* PM
25490 45 4e 55 49 54 45 4d 54 45 4d 50 4c 41 54 45 3b  ENUITEMTEMPLATE;
254a0 0d 0a 0d 0a 2f 2f 20 73 6b 69 70 20 23 64 65 66  ....// skip #def
254b0 69 6e 65 20 4d 46 5f 45 4e 44 20 30 78 30 30 30  ine MF_END 0x000
254c0 30 30 30 38 30 4c 0d 0a 0d 0a 2f 2f 20 23 65 6e  00080L....// #en
254d0 64 69 66 20 2f 2a 20 21 4e 4f 4d 45 4e 55 53 20  dif /* !NOMENUS 
254e0 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  */....// #ifndef
254f0 20 4e 4f 53 59 53 43 4f 4d 4d 41 4e 44 53 0d 0a   NOSYSCOMMANDS..
25500 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
25510 53 43 5f 53 49 5a 45 20 3d 20 30 78 46 30 30 30  SC_SIZE = 0xF000
25520 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
25530 7b 20 53 43 5f 4d 4f 56 45 20 3d 20 30 78 46 30  { SC_MOVE = 0xF0
25540 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
25550 74 20 7b 20 53 43 5f 4d 49 4e 49 4d 49 5a 45 20  t { SC_MINIMIZE 
25560 3d 20 30 78 46 30 32 30 20 7d 0d 0a 65 6e 75 6d  = 0xF020 }..enum
25570 20 3a 20 75 69 6e 74 20 7b 20 53 43 5f 4d 41 58   : uint { SC_MAX
25580 49 4d 49 5a 45 20 3d 20 30 78 46 30 33 30 20 7d  IMIZE = 0xF030 }
25590 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
255a0 53 43 5f 4e 45 58 54 57 49 4e 44 4f 57 20 3d 20  SC_NEXTWINDOW = 
255b0 30 78 46 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0xF040 }..enum :
255c0 20 75 69 6e 74 20 7b 20 53 43 5f 50 52 45 56 57   uint { SC_PREVW
255d0 49 4e 44 4f 57 20 3d 20 30 78 46 30 35 30 20 7d  INDOW = 0xF050 }
255e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
255f0 53 43 5f 43 4c 4f 53 45 20 3d 20 30 78 46 30 36  SC_CLOSE = 0xF06
25600 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
25610 20 7b 20 53 43 5f 56 53 43 52 4f 4c 4c 20 3d 20   { SC_VSCROLL = 
25620 30 78 46 30 37 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0xF070 }..enum :
25630 20 75 69 6e 74 20 7b 20 53 43 5f 48 53 43 52 4f   uint { SC_HSCRO
25640 4c 4c 20 3d 20 30 78 46 30 38 30 20 7d 0d 0a 65  LL = 0xF080 }..e
25650 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 43 5f  num : uint { SC_
25660 4d 4f 55 53 45 4d 45 4e 55 20 3d 20 30 78 46 30  MOUSEMENU = 0xF0
25670 39 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  90 }..enum : uin
25680 74 20 7b 20 53 43 5f 4b 45 59 4d 45 4e 55 20 3d  t { SC_KEYMENU =
25690 20 30 78 46 31 30 30 20 7d 0d 0a 65 6e 75 6d 20   0xF100 }..enum 
256a0 3a 20 75 69 6e 74 20 7b 20 53 43 5f 41 52 52 41  : uint { SC_ARRA
256b0 4e 47 45 20 3d 20 30 78 46 31 31 30 20 7d 0d 0a  NGE = 0xF110 }..
256c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 43  enum : uint { SC
256d0 5f 52 45 53 54 4f 52 45 20 3d 20 30 78 46 31 32  _RESTORE = 0xF12
256e0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
256f0 20 7b 20 53 43 5f 54 41 53 4b 4c 49 53 54 20 3d   { SC_TASKLIST =
25700 20 30 78 46 31 33 30 20 7d 0d 0a 65 6e 75 6d 20   0xF130 }..enum 
25710 3a 20 75 69 6e 74 20 7b 20 53 43 5f 53 43 52 45  : uint { SC_SCRE
25720 45 4e 53 41 56 45 20 3d 20 30 78 46 31 34 30 20  ENSAVE = 0xF140 
25730 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
25740 20 53 43 5f 48 4f 54 4b 45 59 20 3d 20 30 78 46   SC_HOTKEY = 0xF
25750 31 35 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49  150 }..// #if(WI
25760 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d  NVER >= 0x0400).
25770 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
25780 43 5f 44 45 46 41 55 4c 54 20 3d 20 30 78 46 31  C_DEFAULT = 0xF1
25790 36 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  60 }..enum : uin
257a0 74 20 7b 20 53 43 5f 4d 4f 4e 49 54 4f 52 50 4f  t { SC_MONITORPO
257b0 57 45 52 20 3d 20 30 78 46 31 37 30 20 7d 0d 0a  WER = 0xF170 }..
257c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 43  enum : uint { SC
257d0 5f 43 4f 4e 54 45 58 54 48 45 4c 50 20 3d 20 30  _CONTEXTHELP = 0
257e0 78 46 31 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  xF180 }..enum : 
257f0 75 69 6e 74 20 7b 20 53 43 5f 53 45 50 41 52 41  uint { SC_SEPARA
25800 54 4f 52 20 3d 20 30 78 46 30 30 46 20 7d 0d 0a  TOR = 0xF00F }..
25810 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
25820 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f  VER >= 0x0400 */
25830 0d 0a 0d 0a 61 6c 69 61 73 20 53 43 5f 4d 49 4e  ....alias SC_MIN
25840 49 4d 49 5a 45 20 53 43 5f 49 43 4f 4e 3b 0d 0a  IMIZE SC_ICON;..
25850 61 6c 69 61 73 20 53 43 5f 4d 41 58 49 4d 49 5a  alias SC_MAXIMIZ
25860 45 20 53 43 5f 5a 4f 4f 4d 3b 0d 0a 0d 0a 2f 2f  E SC_ZOOM;....//
25870 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 53 59   #endif /* !NOSY
25880 53 43 4f 4d 4d 41 4e 44 53 20 2a 2f 0d 0a 0d 0a  SCOMMANDS */....
25890 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
258a0 65 78 70 6f 72 74 20 48 42 49 54 4d 41 50 20 4c  export HBITMAP L
258b0 6f 61 64 42 69 74 6d 61 70 41 28 0d 0a 20 20 48  oadBitmapA(..  H
258c0 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e  INSTANCE hInstan
258d0 63 65 2c 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70  ce,..  LPCSTR lp
258e0 42 69 74 6d 61 70 4e 61 6d 65 29 3b 0d 0a 65 78  BitmapName);..ex
258f0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
25900 70 6f 72 74 20 48 42 49 54 4d 41 50 20 4c 6f 61  port HBITMAP Loa
25910 64 42 69 74 6d 61 70 57 28 0d 0a 20 20 48 49 4e  dBitmapW(..  HIN
25920 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65  STANCE hInstance
25930 2c 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 42  ,..  LPCWSTR lpB
25940 69 74 6d 61 70 4e 61 6d 65 29 3b 0d 0a 2f 2f 20  itmapName);..// 
25950 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
25960 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
25970 65 0d 0a 61 6c 69 61 73 20 4c 6f 61 64 42 69 74  e..alias LoadBit
25980 6d 61 70 41 20 4c 6f 61 64 42 69 74 6d 61 70 3b  mapA LoadBitmap;
25990 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
259a0 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
259b0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
259c0 74 20 48 43 55 52 53 4f 52 20 4c 6f 61 64 43 75  t HCURSOR LoadCu
259d0 72 73 6f 72 41 28 0d 0a 20 20 48 49 4e 53 54 41  rsorA(..  HINSTA
259e0 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 2c 0d 0a  NCE hInstance,..
259f0 20 20 4c 50 43 53 54 52 20 6c 70 43 75 72 73 6f    LPCSTR lpCurso
25a00 72 4e 61 6d 65 29 3b 0d 0a 65 78 74 65 72 6e 28  rName);..extern(
25a10 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
25a20 48 43 55 52 53 4f 52 20 4c 6f 61 64 43 75 72 73  HCURSOR LoadCurs
25a30 6f 72 57 28 0d 0a 20 20 48 49 4e 53 54 41 4e 43  orW(..  HINSTANC
25a40 45 20 68 49 6e 73 74 61 6e 63 65 2c 0d 0a 20 20  E hInstance,..  
25a50 4c 50 43 57 53 54 52 20 6c 70 43 75 72 73 6f 72  LPCWSTR lpCursor
25a60 4e 61 6d 65 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  Name);..// #ifde
25a70 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
25a80 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
25a90 69 61 73 20 4c 6f 61 64 43 75 72 73 6f 72 41 20  ias LoadCursorA 
25aa0 4c 6f 61 64 43 75 72 73 6f 72 3b 0d 0a 2f 2f 20  LoadCursor;..// 
25ab0 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
25ac0 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
25ad0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 43 55  dows) export HCU
25ae0 52 53 4f 52 20 4c 6f 61 64 43 75 72 73 6f 72 46  RSOR LoadCursorF
25af0 72 6f 6d 46 69 6c 65 41 28 0d 0a 20 20 4c 50 43  romFileA(..  LPC
25b00 53 54 52 20 6c 70 46 69 6c 65 4e 61 6d 65 29 3b  STR lpFileName);
25b10 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
25b20 29 20 65 78 70 6f 72 74 20 48 43 55 52 53 4f 52  ) export HCURSOR
25b30 20 4c 6f 61 64 43 75 72 73 6f 72 46 72 6f 6d 46   LoadCursorFromF
25b40 69 6c 65 57 28 0d 0a 20 20 4c 50 43 57 53 54 52  ileW(..  LPCWSTR
25b50 20 6c 70 46 69 6c 65 4e 61 6d 65 29 3b 0d 0a 2f   lpFileName);../
25b60 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
25b70 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
25b80 6c 73 65 0d 0a 61 6c 69 61 73 20 4c 6f 61 64 43  lse..alias LoadC
25b90 75 72 73 6f 72 46 72 6f 6d 46 69 6c 65 41 20 4c  ursorFromFileA L
25ba0 6f 61 64 43 75 72 73 6f 72 46 72 6f 6d 46 69 6c  oadCursorFromFil
25bb0 65 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  e;..// #endif //
25bc0 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74   !UNICODE....ext
25bd0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
25be0 6f 72 74 20 48 43 55 52 53 4f 52 20 43 72 65 61  ort HCURSOR Crea
25bf0 74 65 43 75 72 73 6f 72 28 0d 0a 20 20 48 49 4e  teCursor(..  HIN
25c00 53 54 41 4e 43 45 20 68 49 6e 73 74 2c 0d 0a 20  STANCE hInst,.. 
25c10 20 69 6e 74 20 78 48 6f 74 53 70 6f 74 2c 0d 0a   int xHotSpot,..
25c20 20 20 69 6e 74 20 79 48 6f 74 53 70 6f 74 2c 0d    int yHotSpot,.
25c30 0a 20 20 69 6e 74 20 6e 57 69 64 74 68 2c 0d 0a  .  int nWidth,..
25c40 20 20 69 6e 74 20 6e 48 65 69 67 68 74 2c 0d 0a    int nHeight,..
25c50 20 20 56 4f 49 44 20 2a 70 76 41 4e 44 50 6c 61    VOID *pvANDPla
25c60 6e 65 2c 0d 0a 20 20 56 4f 49 44 20 2a 70 76 58  ne,..  VOID *pvX
25c70 4f 52 50 6c 61 6e 65 29 3b 0d 0a 0d 0a 65 78 74  ORPlane);....ext
25c80 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
25c90 6f 72 74 20 42 4f 4f 4c 20 44 65 73 74 72 6f 79  ort BOOL Destroy
25ca0 43 75 72 73 6f 72 28 0d 0a 20 20 48 43 55 52 53  Cursor(..  HCURS
25cb0 4f 52 20 68 43 75 72 73 6f 72 29 3b 0d 0a 0d 0a  OR hCursor);....
25cc0 2f 2f 20 23 69 66 6e 64 65 66 20 5f 4d 41 43 0d  // #ifndef _MAC.
25cd0 0a 61 6c 69 61 73 20 43 6f 70 79 49 63 6f 6e 20  .alias CopyIcon 
25ce0 43 6f 70 79 43 75 72 73 6f 72 3b 0d 0a 2f 2f 20  CopyCursor;..// 
25cf0 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  #else..// ...../
25d00 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 63 6f 6e 73  / #endif....cons
25d10 74 20 4c 50 54 53 54 52 20 49 44 43 5f 41 52 52  t LPTSTR IDC_ARR
25d20 4f 57 20 3d 20 63 61 73 74 28 4c 50 54 53 54 52  OW = cast(LPTSTR
25d30 29 28 33 32 35 31 32 29 3b 0d 0a 63 6f 6e 73 74  )(32512);..const
25d40 20 4c 50 54 53 54 52 20 49 44 43 5f 49 42 45 41   LPTSTR IDC_IBEA
25d50 4d 20 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29  M = cast(LPTSTR)
25d60 28 33 32 35 31 33 29 3b 0d 0a 63 6f 6e 73 74 20  (32513);..const 
25d70 4c 50 54 53 54 52 20 49 44 43 5f 57 41 49 54 20  LPTSTR IDC_WAIT 
25d80 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29 28 33  = cast(LPTSTR)(3
25d90 32 35 31 34 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50  2514);..const LP
25da0 54 53 54 52 20 49 44 43 5f 43 52 4f 53 53 20 3d  TSTR IDC_CROSS =
25db0 20 63 61 73 74 28 4c 50 54 53 54 52 29 28 33 32   cast(LPTSTR)(32
25dc0 35 31 35 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54  515);..const LPT
25dd0 53 54 52 20 49 44 43 5f 55 50 41 52 52 4f 57 20  STR IDC_UPARROW 
25de0 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29 28 33  = cast(LPTSTR)(3
25df0 32 35 31 36 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50  2516);..const LP
25e00 54 53 54 52 20 49 44 43 5f 53 49 5a 45 20 3d 20  TSTR IDC_SIZE = 
25e10 63 61 73 74 28 4c 50 54 53 54 52 29 28 33 32 36  cast(LPTSTR)(326
25e20 34 30 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54 53  40);..const LPTS
25e30 54 52 20 49 44 43 5f 49 43 4f 4e 20 3d 20 63 61  TR IDC_ICON = ca
25e40 73 74 28 4c 50 54 53 54 52 29 28 33 32 36 34 31  st(LPTSTR)(32641
25e50 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54 52  );..const LPTSTR
25e60 20 49 44 43 5f 53 49 5a 45 4e 57 53 45 20 3d 20   IDC_SIZENWSE = 
25e70 63 61 73 74 28 4c 50 54 53 54 52 29 28 33 32 36  cast(LPTSTR)(326
25e80 34 32 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54 53  42);..const LPTS
25e90 54 52 20 49 44 43 5f 53 49 5a 45 4e 45 53 57 20  TR IDC_SIZENESW 
25ea0 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29 28 33  = cast(LPTSTR)(3
25eb0 32 36 34 33 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50  2643);..const LP
25ec0 54 53 54 52 20 49 44 43 5f 53 49 5a 45 57 45 20  TSTR IDC_SIZEWE 
25ed0 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29 28 33  = cast(LPTSTR)(3
25ee0 32 36 34 34 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50  2644);..const LP
25ef0 54 53 54 52 20 49 44 43 5f 53 49 5a 45 4e 53 20  TSTR IDC_SIZENS 
25f00 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29 28 33  = cast(LPTSTR)(3
25f10 32 36 34 35 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50  2645);..const LP
25f20 54 53 54 52 20 49 44 43 5f 53 49 5a 45 41 4c 4c  TSTR IDC_SIZEALL
25f30 20 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29 28   = cast(LPTSTR)(
25f40 33 32 36 34 36 29 3b 0d 0a 63 6f 6e 73 74 20 4c  32646);..const L
25f50 50 54 53 54 52 20 49 44 43 5f 4e 4f 20 3d 20 63  PTSTR IDC_NO = c
25f60 61 73 74 28 4c 50 54 53 54 52 29 28 33 32 36 34  ast(LPTSTR)(3264
25f70 38 29 3b 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56  8);..// #if(WINV
25f80 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 63  ER >= 0x0500)..c
25f90 6f 6e 73 74 20 4c 50 54 53 54 52 20 49 44 43 5f  onst LPTSTR IDC_
25fa0 48 41 4e 44 20 3d 20 63 61 73 74 28 4c 50 54 53  HAND = cast(LPTS
25fb0 54 52 29 28 33 32 36 34 39 29 3b 0d 0a 2f 2f 20  TR)(32649);..// 
25fc0 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52  #endif /* WINVER
25fd0 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 63   >= 0x0500 */..c
25fe0 6f 6e 73 74 20 4c 50 54 53 54 52 20 49 44 43 5f  onst LPTSTR IDC_
25ff0 41 50 50 53 54 41 52 54 49 4e 47 20 3d 20 63 61  APPSTARTING = ca
26000 73 74 28 4c 50 54 53 54 52 29 28 33 32 36 35 30  st(LPTSTR)(32650
26010 29 3b 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45  );..// #if(WINVE
26020 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 63 6f  R >= 0x0400)..co
26030 6e 73 74 20 4c 50 54 53 54 52 20 49 44 43 5f 48  nst LPTSTR IDC_H
26040 45 4c 50 20 3d 20 63 61 73 74 28 4c 50 54 53 54  ELP = cast(LPTST
26050 52 29 28 33 32 36 35 31 29 3b 0d 0a 2f 2f 20 23  R)(32651);..// #
26060 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
26070 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0400 */....
26080 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
26090 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74 53  export BOOL SetS
260a0 79 73 74 65 6d 43 75 72 73 6f 72 28 0d 0a 20 20  ystemCursor(..  
260b0 48 43 55 52 53 4f 52 20 68 63 75 72 2c 0d 0a 20  HCURSOR hcur,.. 
260c0 20 44 57 4f 52 44 20 69 64 29 3b 0d 0a 0d 0a 73   DWORD id);....s
260d0 74 72 75 63 74 20 5f 49 43 4f 4e 49 4e 46 4f 20  truct _ICONINFO 
260e0 7b 0d 0a 20 20 42 4f 4f 4c 20 66 49 63 6f 6e 3b  {..  BOOL fIcon;
260f0 0d 0a 20 20 44 57 4f 52 44 20 78 48 6f 74 73 70  ..  DWORD xHotsp
26100 6f 74 3b 0d 0a 20 20 44 57 4f 52 44 20 79 48 6f  ot;..  DWORD yHo
26110 74 73 70 6f 74 3b 0d 0a 20 20 48 42 49 54 4d 41  tspot;..  HBITMA
26120 50 20 68 62 6d 4d 61 73 6b 3b 0d 0a 20 20 48 42  P hbmMask;..  HB
26130 49 54 4d 41 50 20 68 62 6d 43 6f 6c 6f 72 3b 0d  ITMAP hbmColor;.
26140 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 43 4f 4e 49  .}..alias _ICONI
26150 4e 46 4f 20 49 43 4f 4e 49 4e 46 4f 3b 0d 0a 0d  NFO ICONINFO;...
26160 0a 61 6c 69 61 73 20 49 43 4f 4e 49 4e 46 4f 2a  .alias ICONINFO*
26170 20 50 49 43 4f 4e 49 4e 46 4f 3b 0d 0a 0d 0a 65   PICONINFO;....e
26180 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
26190 78 70 6f 72 74 20 48 49 43 4f 4e 20 4c 6f 61 64  xport HICON Load
261a0 49 63 6f 6e 41 28 0d 0a 20 20 48 49 4e 53 54 41  IconA(..  HINSTA
261b0 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 2c 0d 0a  NCE hInstance,..
261c0 20 20 4c 50 43 53 54 52 20 6c 70 49 63 6f 6e 4e    LPCSTR lpIconN
261d0 61 6d 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  ame);..extern(Wi
261e0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 49  ndows) export HI
261f0 43 4f 4e 20 4c 6f 61 64 49 63 6f 6e 57 28 0d 0a  CON LoadIconW(..
26200 20 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73    HINSTANCE hIns
26210 74 61 6e 63 65 2c 0d 0a 20 20 4c 50 43 57 53 54  tance,..  LPCWST
26220 52 20 6c 70 49 63 6f 6e 4e 61 6d 65 29 3b 0d 0a  R lpIconName);..
26230 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
26240 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
26250 65 6c 73 65 0d 0a 61 6c 69 61 73 20 4c 6f 61 64  else..alias Load
26260 49 63 6f 6e 41 20 4c 6f 61 64 49 63 6f 6e 3b 0d  IconA LoadIcon;.
26270 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
26280 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
26290 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
262a0 20 48 49 43 4f 4e 20 43 72 65 61 74 65 49 63 6f   HICON CreateIco
262b0 6e 28 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20  n(..  HINSTANCE 
262c0 68 49 6e 73 74 61 6e 63 65 2c 0d 0a 20 20 69 6e  hInstance,..  in
262d0 74 20 6e 57 69 64 74 68 2c 0d 0a 20 20 69 6e 74  t nWidth,..  int
262e0 20 6e 48 65 69 67 68 74 2c 0d 0a 20 20 42 59 54   nHeight,..  BYT
262f0 45 20 63 50 6c 61 6e 65 73 2c 0d 0a 20 20 42 59  E cPlanes,..  BY
26300 54 45 20 63 42 69 74 73 50 69 78 65 6c 2c 0d 0a  TE cBitsPixel,..
26310 20 20 42 59 54 45 20 2a 6c 70 62 41 4e 44 62 69    BYTE *lpbANDbi
26320 74 73 2c 0d 0a 20 20 42 59 54 45 20 2a 6c 70 62  ts,..  BYTE *lpb
26330 58 4f 52 62 69 74 73 29 3b 0d 0a 0d 0a 65 78 74  XORbits);....ext
26340 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
26350 6f 72 74 20 42 4f 4f 4c 20 44 65 73 74 72 6f 79  ort BOOL Destroy
26360 49 63 6f 6e 28 0d 0a 20 20 48 49 43 4f 4e 20 68  Icon(..  HICON h
26370 49 63 6f 6e 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  Icon);....extern
26380 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
26390 20 69 6e 74 20 4c 6f 6f 6b 75 70 49 63 6f 6e 49   int LookupIconI
263a0 64 46 72 6f 6d 44 69 72 65 63 74 6f 72 79 28 0d  dFromDirectory(.
263b0 0a 20 20 50 42 59 54 45 20 70 72 65 73 62 69 74  .  PBYTE presbit
263c0 73 2c 0d 0a 20 20 42 4f 4f 4c 20 66 49 63 6f 6e  s,..  BOOL fIcon
263d0 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e  );....// #if(WIN
263e0 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  VER >= 0x0400)..
263f0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
26400 65 78 70 6f 72 74 20 69 6e 74 20 4c 6f 6f 6b 75  export int Looku
26410 70 49 63 6f 6e 49 64 46 72 6f 6d 44 69 72 65 63  pIconIdFromDirec
26420 74 6f 72 79 45 78 28 0d 0a 20 20 50 42 59 54 45  toryEx(..  PBYTE
26430 20 70 72 65 73 62 69 74 73 2c 0d 0a 20 20 42 4f   presbits,..  BO
26440 4f 4c 20 66 49 63 6f 6e 2c 0d 0a 20 20 69 6e 74  OL fIcon,..  int
26450 20 63 78 44 65 73 69 72 65 64 2c 0d 0a 20 20 69   cxDesired,..  i
26460 6e 74 20 63 79 44 65 73 69 72 65 64 2c 0d 0a 20  nt cyDesired,.. 
26470 20 55 49 4e 54 20 46 6c 61 67 73 29 3b 0d 0a 2f   UINT Flags);../
26480 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
26490 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  ER >= 0x0400 */.
264a0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
264b0 73 29 20 65 78 70 6f 72 74 20 48 49 43 4f 4e 20  s) export HICON 
264c0 43 72 65 61 74 65 49 63 6f 6e 46 72 6f 6d 52 65  CreateIconFromRe
264d0 73 6f 75 72 63 65 28 0d 0a 20 20 50 42 59 54 45  source(..  PBYTE
264e0 20 70 72 65 73 62 69 74 73 2c 0d 0a 20 20 44 57   presbits,..  DW
264f0 4f 52 44 20 64 77 52 65 73 53 69 7a 65 2c 0d 0a  ORD dwResSize,..
26500 20 20 42 4f 4f 4c 20 66 49 63 6f 6e 2c 0d 0a 20    BOOL fIcon,.. 
26510 20 44 57 4f 52 44 20 64 77 56 65 72 29 3b 0d 0a   DWORD dwVer);..
26520 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20  ..// #if(WINVER 
26530 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 78 74 65  >= 0x0400)..exte
26540 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
26550 72 74 20 48 49 43 4f 4e 20 43 72 65 61 74 65 49  rt HICON CreateI
26560 63 6f 6e 46 72 6f 6d 52 65 73 6f 75 72 63 65 45  conFromResourceE
26570 78 28 0d 0a 20 20 50 42 59 54 45 20 70 72 65 73  x(..  PBYTE pres
26580 62 69 74 73 2c 0d 0a 20 20 44 57 4f 52 44 20 64  bits,..  DWORD d
26590 77 52 65 73 53 69 7a 65 2c 0d 0a 20 20 42 4f 4f  wResSize,..  BOO
265a0 4c 20 66 49 63 6f 6e 2c 0d 0a 20 20 44 57 4f 52  L fIcon,..  DWOR
265b0 44 20 64 77 56 65 72 2c 0d 0a 20 20 69 6e 74 20  D dwVer,..  int 
265c0 63 78 44 65 73 69 72 65 64 2c 0d 0a 20 20 69 6e  cxDesired,..  in
265d0 74 20 63 79 44 65 73 69 72 65 64 2c 0d 0a 20 20  t cyDesired,..  
265e0 55 49 4e 54 20 46 6c 61 67 73 29 3b 0d 0a 0d 0a  UINT Flags);....
265f0 73 74 72 75 63 74 20 74 61 67 43 55 52 53 4f 52  struct tagCURSOR
26600 53 48 41 50 45 20 7b 0d 0a 20 20 69 6e 74 20 78  SHAPE {..  int x
26610 48 6f 74 53 70 6f 74 3b 0d 0a 20 20 69 6e 74 20  HotSpot;..  int 
26620 79 48 6f 74 53 70 6f 74 3b 0d 0a 20 20 69 6e 74  yHotSpot;..  int
26630 20 63 78 3b 0d 0a 20 20 69 6e 74 20 63 79 3b 0d   cx;..  int cy;.
26640 0a 20 20 69 6e 74 20 63 62 57 69 64 74 68 3b 0d  .  int cbWidth;.
26650 0a 20 20 42 59 54 45 20 50 6c 61 6e 65 73 3b 0d  .  BYTE Planes;.
26660 0a 20 20 42 59 54 45 20 42 69 74 73 50 69 78 65  .  BYTE BitsPixe
26670 6c 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  l;..}..alias tag
26680 43 55 52 53 4f 52 53 48 41 50 45 20 43 55 52 53  CURSORSHAPE CURS
26690 4f 52 53 48 41 50 45 3b 0d 0a 61 6c 69 61 73 20  ORSHAPE;..alias 
266a0 74 61 67 43 55 52 53 4f 52 53 48 41 50 45 2a 20  tagCURSORSHAPE* 
266b0 4c 50 43 55 52 53 4f 52 53 48 41 50 45 3b 0d 0a  LPCURSORSHAPE;..
266c0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
266d0 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20  INVER >= 0x0400 
266e0 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  */....enum : uin
266f0 74 20 7b 20 49 4d 41 47 45 5f 42 49 54 4d 41 50  t { IMAGE_BITMAP
26700 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 0 }..enum : u
26710 69 6e 74 20 7b 20 49 4d 41 47 45 5f 49 43 4f 4e  int { IMAGE_ICON
26720 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 1 }..enum : u
26730 69 6e 74 20 7b 20 49 4d 41 47 45 5f 43 55 52 53  int { IMAGE_CURS
26740 4f 52 20 3d 20 32 20 7d 0d 0a 2f 2f 20 23 69 66  OR = 2 }..// #if
26750 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30  (WINVER >= 0x040
26760 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
26770 7b 20 49 4d 41 47 45 5f 45 4e 48 4d 45 54 41 46  { IMAGE_ENHMETAF
26780 49 4c 45 20 3d 20 33 20 7d 0d 0a 0d 0a 65 6e 75  ILE = 3 }....enu
26790 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 52 5f 44 45  m : uint { LR_DE
267a0 46 41 55 4c 54 43 4f 4c 4f 52 20 3d 20 30 78 30  FAULTCOLOR = 0x0
267b0 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
267c0 6e 74 20 7b 20 4c 52 5f 4d 4f 4e 4f 43 48 52 4f  nt { LR_MONOCHRO
267d0 4d 45 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65  ME = 0x0001 }..e
267e0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 52 5f  num : uint { LR_
267f0 43 4f 4c 4f 52 20 3d 20 30 78 30 30 30 32 20 7d  COLOR = 0x0002 }
26800 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
26810 4c 52 5f 43 4f 50 59 52 45 54 55 52 4e 4f 52 47  LR_COPYRETURNORG
26820 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75   = 0x0004 }..enu
26830 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 52 5f 43 4f  m : uint { LR_CO
26840 50 59 44 45 4c 45 54 45 4f 52 47 20 3d 20 30 78  PYDELETEORG = 0x
26850 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
26860 69 6e 74 20 7b 20 4c 52 5f 4c 4f 41 44 46 52 4f  int { LR_LOADFRO
26870 4d 46 49 4c 45 20 3d 20 30 78 30 30 31 30 20 7d  MFILE = 0x0010 }
26880 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
26890 4c 52 5f 4c 4f 41 44 54 52 41 4e 53 50 41 52 45  LR_LOADTRANSPARE
268a0 4e 54 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65  NT = 0x0020 }..e
268b0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 52 5f  num : uint { LR_
268c0 44 45 46 41 55 4c 54 53 49 5a 45 20 3d 20 30 78  DEFAULTSIZE = 0x
268d0 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0040 }..enum : u
268e0 69 6e 74 20 7b 20 4c 52 5f 56 47 41 43 4f 4c 4f  int { LR_VGACOLO
268f0 52 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e  R = 0x0080 }..en
26900 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 52 5f 4c  um : uint { LR_L
26910 4f 41 44 4d 41 50 33 44 43 4f 4c 4f 52 53 20 3d  OADMAP3DCOLORS =
26920 20 30 78 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x1000 }..enum 
26930 3a 20 75 69 6e 74 20 7b 20 4c 52 5f 43 52 45 41  : uint { LR_CREA
26940 54 45 44 49 42 53 45 43 54 49 4f 4e 20 3d 20 30  TEDIBSECTION = 0
26950 78 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x2000 }..enum : 
26960 75 69 6e 74 20 7b 20 4c 52 5f 43 4f 50 59 46 52  uint { LR_COPYFR
26970 4f 4d 52 45 53 4f 55 52 43 45 20 3d 20 30 78 34  OMRESOURCE = 0x4
26980 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
26990 6e 74 20 7b 20 4c 52 5f 53 48 41 52 45 44 20 3d  nt { LR_SHARED =
269a0 20 30 78 38 30 30 30 20 7d 0d 0a 0d 0a 65 78 74   0x8000 }....ext
269b0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
269c0 6f 72 74 20 48 41 4e 44 4c 45 20 4c 6f 61 64 49  ort HANDLE LoadI
269d0 6d 61 67 65 41 28 0d 0a 20 20 48 49 4e 53 54 41  mageA(..  HINSTA
269e0 4e 43 45 2c 0d 0a 20 20 4c 50 43 53 54 52 2c 0d  NCE,..  LPCSTR,.
269f0 0a 20 20 55 49 4e 54 2c 0d 0a 20 20 69 6e 74 2c  .  UINT,..  int,
26a00 0d 0a 20 20 69 6e 74 2c 0d 0a 20 20 55 49 4e 54  ..  int,..  UINT
26a10 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
26a20 77 73 29 20 65 78 70 6f 72 74 20 48 41 4e 44 4c  ws) export HANDL
26a30 45 20 4c 6f 61 64 49 6d 61 67 65 57 28 0d 0a 20  E LoadImageW(.. 
26a40 20 48 49 4e 53 54 41 4e 43 45 2c 0d 0a 20 20 4c   HINSTANCE,..  L
26a50 50 43 57 53 54 52 2c 0d 0a 20 20 55 49 4e 54 2c  PCWSTR,..  UINT,
26a60 0d 0a 20 20 69 6e 74 2c 0d 0a 20 20 69 6e 74 2c  ..  int,..  int,
26a70 0d 0a 20 20 55 49 4e 54 29 3b 0d 0a 2f 2f 20 23  ..  UINT);..// #
26a80 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
26a90 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
26aa0 0d 0a 61 6c 69 61 73 20 4c 6f 61 64 49 6d 61 67  ..alias LoadImag
26ab0 65 41 20 4c 6f 61 64 49 6d 61 67 65 3b 0d 0a 2f  eA LoadImage;../
26ac0 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
26ad0 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  CODE....extern(W
26ae0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48  indows) export H
26af0 41 4e 44 4c 45 20 43 6f 70 79 49 6d 61 67 65 28  ANDLE CopyImage(
26b00 0d 0a 20 20 48 41 4e 44 4c 45 2c 0d 0a 20 20 55  ..  HANDLE,..  U
26b10 49 4e 54 2c 0d 0a 20 20 69 6e 74 2c 0d 0a 20 20  INT,..  int,..  
26b20 69 6e 74 2c 0d 0a 20 20 55 49 4e 54 29 3b 0d 0a  int,..  UINT);..
26b30 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
26b40 44 49 5f 4d 41 53 4b 20 3d 20 30 78 30 30 30 31  DI_MASK = 0x0001
26b50 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
26b60 7b 20 44 49 5f 49 4d 41 47 45 20 3d 20 30 78 30  { DI_IMAGE = 0x0
26b70 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
26b80 6e 74 20 7b 20 44 49 5f 4e 4f 52 4d 41 4c 20 3d  nt { DI_NORMAL =
26b90 20 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20   0x0003 }..enum 
26ba0 3a 20 75 69 6e 74 20 7b 20 44 49 5f 43 4f 4d 50  : uint { DI_COMP
26bb0 41 54 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65  AT = 0x0004 }..e
26bc0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 49 5f  num : uint { DI_
26bd0 44 45 46 41 55 4c 54 53 49 5a 45 20 3d 20 30 78  DEFAULTSIZE = 0x
26be0 30 30 30 38 20 7d 0d 0a 2f 2f 20 23 69 66 28 5f  0008 }..// #if(_
26bf0 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
26c00 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0501)..enum : u
26c10 69 6e 74 20 7b 20 44 49 5f 4e 4f 4d 49 52 52 4f  int { DI_NOMIRRO
26c20 52 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 2f 2f  R = 0x0010 }..//
26c30 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33   #endif /* _WIN3
26c40 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30  2_WINNT >= 0x050
26c50 31 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  1 */....extern(W
26c60 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
26c70 4f 4f 4c 20 44 72 61 77 49 63 6f 6e 45 78 28 48  OOL DrawIconEx(H
26c80 44 43 20 68 64 63 2c 20 69 6e 74 20 78 4c 65 66  DC hdc, int xLef
26c90 74 2c 20 69 6e 74 20 79 54 6f 70 2c 0d 0a 20 20  t, int yTop,..  
26ca0 48 49 43 4f 4e 20 68 49 63 6f 6e 2c 20 69 6e 74  HICON hIcon, int
26cb0 20 63 78 57 69 64 74 68 2c 20 69 6e 74 20 63 79   cxWidth, int cy
26cc0 57 69 64 74 68 2c 0d 0a 20 20 55 49 4e 54 20 69  Width,..  UINT i
26cd0 73 74 65 70 49 66 41 6e 69 43 75 72 2c 20 48 42  stepIfAniCur, HB
26ce0 52 55 53 48 20 68 62 72 46 6c 69 63 6b 65 72 46  RUSH hbrFlickerF
26cf0 72 65 65 44 72 61 77 2c 20 55 49 4e 54 20 64 69  reeDraw, UINT di
26d00 46 6c 61 67 73 29 3b 0d 0a 2f 2f 20 23 65 6e 64  Flags);..// #end
26d10 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20  if /* WINVER >= 
26d20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65 78 74  0x0400 */....ext
26d30 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
26d40 6f 72 74 20 48 49 43 4f 4e 20 43 72 65 61 74 65  ort HICON Create
26d50 49 63 6f 6e 49 6e 64 69 72 65 63 74 28 0d 0a 20  IconIndirect(.. 
26d60 20 50 49 43 4f 4e 49 4e 46 4f 20 70 69 63 6f 6e   PICONINFO picon
26d70 69 6e 66 6f 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  info);....extern
26d80 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
26d90 20 48 49 43 4f 4e 20 43 6f 70 79 49 63 6f 6e 28   HICON CopyIcon(
26da0 0d 0a 20 20 48 49 43 4f 4e 20 68 49 63 6f 6e 29  ..  HICON hIcon)
26db0 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
26dc0 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
26dd0 20 47 65 74 49 63 6f 6e 49 6e 66 6f 28 0d 0a 20   GetIconInfo(.. 
26de0 20 48 49 43 4f 4e 20 68 49 63 6f 6e 2c 0d 0a 20   HICON hIcon,.. 
26df0 20 50 49 43 4f 4e 49 4e 46 4f 20 70 69 63 6f 6e   PICONINFO picon
26e00 69 6e 66 6f 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  info);....// #if
26e10 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30  (WINVER >= 0x040
26e20 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
26e30 7b 20 52 45 53 5f 49 43 4f 4e 20 3d 20 31 20 7d  { RES_ICON = 1 }
26e40 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
26e50 52 45 53 5f 43 55 52 53 4f 52 20 3d 20 32 20 7d  RES_CURSOR = 2 }
26e60 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
26e70 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20  INVER >= 0x0400 
26e80 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  */....// #ifdef 
26e90 4f 45 4d 52 45 53 4f 55 52 43 45 0d 0a 0d 0a 2f  OEMRESOURCE..../
26ea0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
26eb0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
26ec0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
26ed0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
26ee0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
26ef0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
26f00 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
26f10 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
26f20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
26f30 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
26f40 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
26f50 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f  ...// #.......//
26f60 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
26f70 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
26f80 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
26f90 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
26fa0 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
26fb0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
26fc0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
26fd0 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
26fe0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
26ff0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
27000 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
27010 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
27020 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
27030 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
27040 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
27050 2e 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  ...// #if(WINVER
27060 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 2f 2f 20   >= 0x0500)..// 
27070 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  #.....// #endif 
27080 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
27090 35 30 30 20 2a 2f 0d 0a 2f 2f 20 23 69 66 28 57  500 */..// #if(W
270a0 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
270b0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
270c0 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e  ndif /* WINVER >
270d0 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f  = 0x0400 */..../
270e0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
270f0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
27100 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
27110 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  if(WINVER >= 0x0
27120 34 30 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  400)..// #...../
27130 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
27140 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
27150 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d  dif /* WINVER >=
27160 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f   0x0400 */....//
27170 20 23 65 6e 64 69 66 20 2f 2a 20 4f 45 4d 52 45   #endif /* OEMRE
27180 53 4f 55 52 43 45 20 2a 2f 0d 0a 0d 0a 65 6e 75  SOURCE */....enu
27190 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 52 44 5f 4c  m : uint { ORD_L
271a0 41 4e 47 44 52 49 56 45 52 20 3d 20 31 20 7d 0d  ANGDRIVER = 1 }.
271b0 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f  ...// #ifndef NO
271c0 49 43 4f 4e 53 0d 0a 0d 0a 2f 2f 20 23 69 66 64  ICONS....// #ifd
271d0 65 66 20 52 43 5f 49 4e 56 4f 4b 45 44 0d 0a 2f  ef RC_INVOKED../
271e0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
271f0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
27200 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
27210 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  if(WINVER >= 0x0
27220 34 30 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  400)..// #...../
27230 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
27240 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  ER >= 0x0400 */.
27250 0a 2f 2f 20 23 65 6c 73 65 0d 0a 63 6f 6e 73 74  .// #else..const
27260 20 4c 50 54 53 54 52 20 49 44 49 5f 41 50 50 4c   LPTSTR IDI_APPL
27270 49 43 41 54 49 4f 4e 20 3d 20 63 61 73 74 28 4c  ICATION = cast(L
27280 50 54 53 54 52 29 28 33 32 35 31 32 29 3b 0d 0a  PTSTR)(32512);..
27290 63 6f 6e 73 74 20 4c 50 54 53 54 52 20 49 44 49  const LPTSTR IDI
272a0 5f 48 41 4e 44 20 3d 20 63 61 73 74 28 4c 50 54  _HAND = cast(LPT
272b0 53 54 52 29 28 33 32 35 31 33 29 3b 0d 0a 63 6f  STR)(32513);..co
272c0 6e 73 74 20 4c 50 54 53 54 52 20 49 44 49 5f 51  nst LPTSTR IDI_Q
272d0 55 45 53 54 49 4f 4e 20 3d 20 63 61 73 74 28 4c  UESTION = cast(L
272e0 50 54 53 54 52 29 28 33 32 35 31 34 29 3b 0d 0a  PTSTR)(32514);..
272f0 63 6f 6e 73 74 20 4c 50 54 53 54 52 20 49 44 49  const LPTSTR IDI
27300 5f 45 58 43 4c 41 4d 41 54 49 4f 4e 20 3d 20 63  _EXCLAMATION = c
27310 61 73 74 28 4c 50 54 53 54 52 29 28 33 32 35 31  ast(LPTSTR)(3251
27320 35 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54  5);..const LPTST
27330 52 20 49 44 49 5f 41 53 54 45 52 49 53 4b 20 3d  R IDI_ASTERISK =
27340 20 63 61 73 74 28 4c 50 54 53 54 52 29 28 33 32   cast(LPTSTR)(32
27350 35 31 36 29 3b 0d 0a 2f 2f 20 23 69 66 28 57 49  516);..// #if(WI
27360 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d  NVER >= 0x0400).
27370 0a 63 6f 6e 73 74 20 4c 50 54 53 54 52 20 49 44  .const LPTSTR ID
27380 49 5f 57 49 4e 4c 4f 47 4f 20 3d 20 63 61 73 74  I_WINLOGO = cast
27390 28 4c 50 54 53 54 52 29 28 33 32 35 31 37 29 3b  (LPTSTR)(32517);
273a0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
273b0 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20  INVER >= 0x0400 
273c0 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  */..// #endif /*
273d0 20 52 43 5f 49 4e 56 4f 4b 45 44 20 2a 2f 0d 0a   RC_INVOKED */..
273e0 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20  ..// #if(WINVER 
273f0 3e 3d 20 30 78 30 34 30 30 29 0d 0a 61 6c 69 61  >= 0x0400)..alia
27400 73 20 49 44 49 5f 45 58 43 4c 41 4d 41 54 49 4f  s IDI_EXCLAMATIO
27410 4e 20 49 44 49 5f 57 41 52 4e 49 4e 47 3b 0d 0a  N IDI_WARNING;..
27420 61 6c 69 61 73 20 49 44 49 5f 48 41 4e 44 20 49  alias IDI_HAND I
27430 44 49 5f 45 52 52 4f 52 3b 0d 0a 61 6c 69 61 73  DI_ERROR;..alias
27440 20 49 44 49 5f 41 53 54 45 52 49 53 4b 20 49 44   IDI_ASTERISK ID
27450 49 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a  I_INFORMATION;..
27460 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
27470 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f  VER >= 0x0400 */
27480 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  ....// #endif /*
27490 20 21 4e 4f 49 43 4f 4e 53 20 2a 2f 0d 0a 0d 0a   !NOICONS */....
274a0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
274b0 65 78 70 6f 72 74 20 69 6e 74 20 4c 6f 61 64 53  export int LoadS
274c0 74 72 69 6e 67 41 28 0d 0a 20 20 48 49 4e 53 54  tringA(..  HINST
274d0 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 2c 0d  ANCE hInstance,.
274e0 0a 20 20 55 49 4e 54 20 75 49 44 2c 0d 0a 20 20  .  UINT uID,..  
274f0 4c 50 53 54 52 20 6c 70 42 75 66 66 65 72 2c 0d  LPSTR lpBuffer,.
27500 0a 20 20 69 6e 74 20 6e 42 75 66 66 65 72 4d 61  .  int nBufferMa
27510 78 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  x);..extern(Wind
27520 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20  ows) export int 
27530 4c 6f 61 64 53 74 72 69 6e 67 57 28 0d 0a 20 20  LoadStringW(..  
27540 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61  HINSTANCE hInsta
27550 6e 63 65 2c 0d 0a 20 20 55 49 4e 54 20 75 49 44  nce,..  UINT uID
27560 2c 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70 42 75  ,..  LPWSTR lpBu
27570 66 66 65 72 2c 0d 0a 20 20 69 6e 74 20 6e 42 75  ffer,..  int nBu
27580 66 66 65 72 4d 61 78 29 3b 0d 0a 2f 2f 20 23 69  fferMax);..// #i
27590 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
275a0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
275b0 0a 61 6c 69 61 73 20 4c 6f 61 64 53 74 72 69 6e  .alias LoadStrin
275c0 67 41 20 4c 6f 61 64 53 74 72 69 6e 67 3b 0d 0a  gA LoadString;..
275d0 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
275e0 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  ICODE....enum : 
275f0 75 69 6e 74 20 7b 20 49 44 4f 4b 20 3d 20 31 20  uint { IDOK = 1 
27600 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
27610 20 49 44 43 41 4e 43 45 4c 20 3d 20 32 20 7d 0d   IDCANCEL = 2 }.
27620 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
27630 44 41 42 4f 52 54 20 3d 20 33 20 7d 0d 0a 65 6e  DABORT = 3 }..en
27640 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44 52 45  um : uint { IDRE
27650 54 52 59 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20  TRY = 4 }..enum 
27660 3a 20 75 69 6e 74 20 7b 20 49 44 49 47 4e 4f 52  : uint { IDIGNOR
27670 45 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  E = 5 }..enum : 
27680 75 69 6e 74 20 7b 20 49 44 59 45 53 20 3d 20 36  uint { IDYES = 6
27690 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
276a0 7b 20 49 44 4e 4f 20 3d 20 37 20 7d 0d 0a 2f 2f  { IDNO = 7 }..//
276b0 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
276c0 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0400)..enum : u
276d0 69 6e 74 20 7b 20 49 44 43 4c 4f 53 45 20 3d 20  int { IDCLOSE = 
276e0 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
276f0 20 7b 20 49 44 48 45 4c 50 20 3d 20 39 20 7d 0d   { IDHELP = 9 }.
27700 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
27710 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a  NVER >= 0x0400 *
27720 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56  /....// #if(WINV
27730 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65  ER >= 0x0500)..e
27740 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44 54  num : uint { IDT
27750 52 59 41 47 41 49 4e 20 3d 20 31 30 20 7d 0d 0a  RYAGAIN = 10 }..
27760 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44  enum : uint { ID
27770 43 4f 4e 54 49 4e 55 45 20 3d 20 31 31 20 7d 0d  CONTINUE = 11 }.
27780 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
27790 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 20 2a  NVER >= 0x0500 *
277a0 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56  /....// #if(WINV
277b0 45 52 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 2f  ER >= 0x0501)../
277c0 2f 20 23 69 66 6e 64 65 66 20 49 44 54 49 4d 45  / #ifndef IDTIME
277d0 4f 55 54 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  OUT..enum : uint
277e0 20 7b 20 49 44 54 49 4d 45 4f 55 54 20 3d 20 33   { IDTIMEOUT = 3
277f0 32 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  2000 }..// #endi
27800 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  f..// #endif /* 
27810 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 31  WINVER >= 0x0501
27820 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65   */....// #ifnde
27830 66 20 4e 4f 43 54 4c 4d 47 52 0d 0a 0d 0a 2f 2f  f NOCTLMGR....//
27840 20 23 69 66 6e 64 65 66 20 4e 4f 57 49 4e 53 54   #ifndef NOWINST
27850 59 4c 45 53 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  YLES....enum : u
27860 69 6e 74 20 7b 20 45 53 5f 4c 45 46 54 20 3d 20  int { ES_LEFT = 
27870 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0000 }..enum :
27880 20 75 69 6e 74 20 7b 20 45 53 5f 43 45 4e 54 45   uint { ES_CENTE
27890 52 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e  R = 0x0001 }..en
278a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 53 5f 52  um : uint { ES_R
278b0 49 47 48 54 20 3d 20 30 78 30 30 30 32 20 7d 0d  IGHT = 0x0002 }.
278c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
278d0 53 5f 4d 55 4c 54 49 4c 49 4e 45 20 3d 20 30 78  S_MULTILINE = 0x
278e0 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
278f0 69 6e 74 20 7b 20 45 53 5f 55 50 50 45 52 43 41  int { ES_UPPERCA
27900 53 45 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65  SE = 0x0008 }..e
27910 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 53 5f  num : uint { ES_
27920 4c 4f 57 45 52 43 41 53 45 20 3d 20 30 78 30 30  LOWERCASE = 0x00
27930 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
27940 74 20 7b 20 45 53 5f 50 41 53 53 57 4f 52 44 20  t { ES_PASSWORD 
27950 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d  = 0x0020 }..enum
27960 20 3a 20 75 69 6e 74 20 7b 20 45 53 5f 41 55 54   : uint { ES_AUT
27970 4f 56 53 43 52 4f 4c 4c 20 3d 20 30 78 30 30 34  OVSCROLL = 0x004
27980 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
27990 20 7b 20 45 53 5f 41 55 54 4f 48 53 43 52 4f 4c   { ES_AUTOHSCROL
279a0 4c 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e  L = 0x0080 }..en
279b0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 53 5f 4e  um : uint { ES_N
279c0 4f 48 49 44 45 53 45 4c 20 3d 20 30 78 30 31 30  OHIDESEL = 0x010
279d0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
279e0 20 7b 20 45 53 5f 4f 45 4d 43 4f 4e 56 45 52 54   { ES_OEMCONVERT
279f0 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a 65 6e 75   = 0x0400 }..enu
27a00 6d 20 3a 20 75 69 6e 74 20 7b 20 45 53 5f 52 45  m : uint { ES_RE
27a10 41 44 4f 4e 4c 59 20 3d 20 30 78 30 38 30 30 20  ADONLY = 0x0800 
27a20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
27a30 20 45 53 5f 57 41 4e 54 52 45 54 55 52 4e 20 3d   ES_WANTRETURN =
27a40 20 30 78 31 30 30 30 20 7d 0d 0a 2f 2f 20 23 69   0x1000 }..// #i
27a50 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
27a60 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
27a70 20 7b 20 45 53 5f 4e 55 4d 42 45 52 20 3d 20 30   { ES_NUMBER = 0
27a80 78 32 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64  x2000 }..// #end
27a90 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20  if /* WINVER >= 
27aa0 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20  0x0400 */....// 
27ab0 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 57 49 4e  #endif /* !NOWIN
27ac0 53 54 59 4c 45 53 20 2a 2f 0d 0a 0d 0a 65 6e 75  STYLES */....enu
27ad0 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4e 5f 53 45  m : uint { EN_SE
27ae0 54 46 4f 43 55 53 20 3d 20 30 78 30 31 30 30 20  TFOCUS = 0x0100 
27af0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
27b00 20 45 4e 5f 4b 49 4c 4c 46 4f 43 55 53 20 3d 20   EN_KILLFOCUS = 
27b10 30 78 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0200 }..enum :
27b20 20 75 69 6e 74 20 7b 20 45 4e 5f 43 48 41 4e 47   uint { EN_CHANG
27b30 45 20 3d 20 30 78 30 33 30 30 20 7d 0d 0a 65 6e  E = 0x0300 }..en
27b40 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4e 5f 55  um : uint { EN_U
27b50 50 44 41 54 45 20 3d 20 30 78 30 34 30 30 20 7d  PDATE = 0x0400 }
27b60 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
27b70 45 4e 5f 45 52 52 53 50 41 43 45 20 3d 20 30 78  EN_ERRSPACE = 0x
27b80 30 35 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0500 }..enum : u
27b90 69 6e 74 20 7b 20 45 4e 5f 4d 41 58 54 45 58 54  int { EN_MAXTEXT
27ba0 20 3d 20 30 78 30 35 30 31 20 7d 0d 0a 65 6e 75   = 0x0501 }..enu
27bb0 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4e 5f 48 53  m : uint { EN_HS
27bc0 43 52 4f 4c 4c 20 3d 20 30 78 30 36 30 31 20 7d  CROLL = 0x0601 }
27bd0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
27be0 45 4e 5f 56 53 43 52 4f 4c 4c 20 3d 20 30 78 30  EN_VSCROLL = 0x0
27bf0 36 30 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 28  602 }....// #if(
27c00 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
27c10 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0500)..enum : 
27c20 75 69 6e 74 20 7b 20 45 4e 5f 41 4c 49 47 4e 5f  uint { EN_ALIGN_
27c30 4c 54 52 5f 45 43 20 3d 20 30 78 30 37 30 30 20  LTR_EC = 0x0700 
27c40 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
27c50 20 45 4e 5f 41 4c 49 47 4e 5f 52 54 4c 5f 45 43   EN_ALIGN_RTL_EC
27c60 20 3d 20 30 78 30 37 30 31 20 7d 0d 0a 2f 2f 20   = 0x0701 }..// 
27c70 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32  #endif /* _WIN32
27c80 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30  _WINNT >= 0x0500
27c90 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49   */....// #if(WI
27ca0 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d  NVER >= 0x0400).
27cb0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
27cc0 20 45 43 5f 4c 45 46 54 4d 41 52 47 49 4e 20 3d   EC_LEFTMARGIN =
27cd0 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
27ce0 3a 20 75 69 6e 74 20 7b 20 45 43 5f 52 49 47 48  : uint { EC_RIGH
27cf0 54 4d 41 52 47 49 4e 20 3d 20 30 78 30 30 30 32  TMARGIN = 0x0002
27d00 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
27d10 7b 20 45 43 5f 55 53 45 46 4f 4e 54 49 4e 46 4f  { EC_USEFONTINFO
27d20 20 3d 20 30 78 66 66 66 66 20 7d 0d 0a 2f 2f 20   = 0xffff }..// 
27d30 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52  #endif /* WINVER
27d40 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d   >= 0x0400 */...
27d50 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e  .// #if(WINVER >
27d60 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 65 6e 75  = 0x0500)....enu
27d70 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 53 49 53  m : uint { EMSIS
27d80 5f 43 4f 4d 50 4f 53 49 54 49 4f 4e 53 54 52 49  _COMPOSITIONSTRI
27d90 4e 47 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 0d  NG = 0x0001 }...
27da0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
27db0 49 4d 45 53 5f 47 45 54 43 4f 4d 50 53 54 52 41  IMES_GETCOMPSTRA
27dc0 54 4f 4e 43 45 20 3d 20 30 78 30 30 30 31 20 7d  TONCE = 0x0001 }
27dd0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
27de0 45 49 4d 45 53 5f 43 41 4e 43 45 4c 43 4f 4d 50  EIMES_CANCELCOMP
27df0 53 54 52 49 4e 46 4f 43 55 53 20 3d 20 30 78 30  STRINFOCUS = 0x0
27e00 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
27e10 6e 74 20 7b 20 45 49 4d 45 53 5f 43 4f 4d 50 4c  nt { EIMES_COMPL
27e20 45 54 45 43 4f 4d 50 53 54 52 4b 49 4c 4c 46 4f  ETECOMPSTRKILLFO
27e30 43 55 53 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a  CUS = 0x0004 }..
27e40 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
27e50 56 45 52 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f  VER >= 0x0500 */
27e60 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e  ....// #ifndef N
27e70 4f 57 49 4e 4d 45 53 53 41 47 45 53 0d 0a 0d 0a  OWINMESSAGES....
27e80 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d  enum : uint { EM
27e90 5f 47 45 54 53 45 4c 20 3d 20 30 78 30 30 42 30  _GETSEL = 0x00B0
27ea0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
27eb0 7b 20 45 4d 5f 53 45 54 53 45 4c 20 3d 20 30 78  { EM_SETSEL = 0x
27ec0 30 30 42 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  00B1 }..enum : u
27ed0 69 6e 74 20 7b 20 45 4d 5f 47 45 54 52 45 43 54  int { EM_GETRECT
27ee0 20 3d 20 30 78 30 30 42 32 20 7d 0d 0a 65 6e 75   = 0x00B2 }..enu
27ef0 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 53 45  m : uint { EM_SE
27f00 54 52 45 43 54 20 3d 20 30 78 30 30 42 33 20 7d  TRECT = 0x00B3 }
27f10 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
27f20 45 4d 5f 53 45 54 52 45 43 54 4e 50 20 3d 20 30  EM_SETRECTNP = 0
27f30 78 30 30 42 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x00B4 }..enum : 
27f40 75 69 6e 74 20 7b 20 45 4d 5f 53 43 52 4f 4c 4c  uint { EM_SCROLL
27f50 20 3d 20 30 78 30 30 42 35 20 7d 0d 0a 65 6e 75   = 0x00B5 }..enu
27f60 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 4c 49  m : uint { EM_LI
27f70 4e 45 53 43 52 4f 4c 4c 20 3d 20 30 78 30 30 42  NESCROLL = 0x00B
27f80 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
27f90 20 7b 20 45 4d 5f 53 43 52 4f 4c 4c 43 41 52 45   { EM_SCROLLCARE
27fa0 54 20 3d 20 30 78 30 30 42 37 20 7d 0d 0a 65 6e  T = 0x00B7 }..en
27fb0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 47  um : uint { EM_G
27fc0 45 54 4d 4f 44 49 46 59 20 3d 20 30 78 30 30 42  ETMODIFY = 0x00B
27fd0 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
27fe0 20 7b 20 45 4d 5f 53 45 54 4d 4f 44 49 46 59 20   { EM_SETMODIFY 
27ff0 3d 20 30 78 30 30 42 39 20 7d 0d 0a 65 6e 75 6d  = 0x00B9 }..enum
28000 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 47 45 54   : uint { EM_GET
28010 4c 49 4e 45 43 4f 55 4e 54 20 3d 20 30 78 30 30  LINECOUNT = 0x00
28020 42 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  BA }..enum : uin
28030 74 20 7b 20 45 4d 5f 4c 49 4e 45 49 4e 44 45 58  t { EM_LINEINDEX
28040 20 3d 20 30 78 30 30 42 42 20 7d 0d 0a 65 6e 75   = 0x00BB }..enu
28050 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 53 45  m : uint { EM_SE
28060 54 48 41 4e 44 4c 45 20 3d 20 30 78 30 30 42 43  THANDLE = 0x00BC
28070 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
28080 7b 20 45 4d 5f 47 45 54 48 41 4e 44 4c 45 20 3d  { EM_GETHANDLE =
28090 20 30 78 30 30 42 44 20 7d 0d 0a 65 6e 75 6d 20   0x00BD }..enum 
280a0 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 47 45 54 54  : uint { EM_GETT
280b0 48 55 4d 42 20 3d 20 30 78 30 30 42 45 20 7d 0d  HUMB = 0x00BE }.
280c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
280d0 4d 5f 4c 49 4e 45 4c 45 4e 47 54 48 20 3d 20 30  M_LINELENGTH = 0
280e0 78 30 30 43 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x00C1 }..enum : 
280f0 75 69 6e 74 20 7b 20 45 4d 5f 52 45 50 4c 41 43  uint { EM_REPLAC
28100 45 53 45 4c 20 3d 20 30 78 30 30 43 32 20 7d 0d  ESEL = 0x00C2 }.
28110 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
28120 4d 5f 47 45 54 4c 49 4e 45 20 3d 20 30 78 30 30  M_GETLINE = 0x00
28130 43 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  C4 }..enum : uin
28140 74 20 7b 20 45 4d 5f 4c 49 4d 49 54 54 45 58 54  t { EM_LIMITTEXT
28150 20 3d 20 30 78 30 30 43 35 20 7d 0d 0a 65 6e 75   = 0x00C5 }..enu
28160 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 43 41  m : uint { EM_CA
28170 4e 55 4e 44 4f 20 3d 20 30 78 30 30 43 36 20 7d  NUNDO = 0x00C6 }
28180 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
28190 45 4d 5f 55 4e 44 4f 20 3d 20 30 78 30 30 43 37  EM_UNDO = 0x00C7
281a0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
281b0 7b 20 45 4d 5f 46 4d 54 4c 49 4e 45 53 20 3d 20  { EM_FMTLINES = 
281c0 30 78 30 30 43 38 20 7d 0d 0a 65 6e 75 6d 20 3a  0x00C8 }..enum :
281d0 20 75 69 6e 74 20 7b 20 45 4d 5f 4c 49 4e 45 46   uint { EM_LINEF
281e0 52 4f 4d 43 48 41 52 20 3d 20 30 78 30 30 43 39  ROMCHAR = 0x00C9
281f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
28200 7b 20 45 4d 5f 53 45 54 54 41 42 53 54 4f 50 53  { EM_SETTABSTOPS
28210 20 3d 20 30 78 30 30 43 42 20 7d 0d 0a 65 6e 75   = 0x00CB }..enu
28220 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 53 45  m : uint { EM_SE
28230 54 50 41 53 53 57 4f 52 44 43 48 41 52 20 3d 20  TPASSWORDCHAR = 
28240 30 78 30 30 43 43 20 7d 0d 0a 65 6e 75 6d 20 3a  0x00CC }..enum :
28250 20 75 69 6e 74 20 7b 20 45 4d 5f 45 4d 50 54 59   uint { EM_EMPTY
28260 55 4e 44 4f 42 55 46 46 45 52 20 3d 20 30 78 30  UNDOBUFFER = 0x0
28270 30 43 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  0CD }..enum : ui
28280 6e 74 20 7b 20 45 4d 5f 47 45 54 46 49 52 53 54  nt { EM_GETFIRST
28290 56 49 53 49 42 4c 45 4c 49 4e 45 20 3d 20 30 78  VISIBLELINE = 0x
282a0 30 30 43 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  00CE }..enum : u
282b0 69 6e 74 20 7b 20 45 4d 5f 53 45 54 52 45 41 44  int { EM_SETREAD
282c0 4f 4e 4c 59 20 3d 20 30 78 30 30 43 46 20 7d 0d  ONLY = 0x00CF }.
282d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
282e0 4d 5f 53 45 54 57 4f 52 44 42 52 45 41 4b 50 52  M_SETWORDBREAKPR
282f0 4f 43 20 3d 20 30 78 30 30 44 30 20 7d 0d 0a 65  OC = 0x00D0 }..e
28300 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f  num : uint { EM_
28310 47 45 54 57 4f 52 44 42 52 45 41 4b 50 52 4f 43  GETWORDBREAKPROC
28320 20 3d 20 30 78 30 30 44 31 20 7d 0d 0a 65 6e 75   = 0x00D1 }..enu
28330 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 47 45  m : uint { EM_GE
28340 54 50 41 53 53 57 4f 52 44 43 48 41 52 20 3d 20  TPASSWORDCHAR = 
28350 30 78 30 30 44 32 20 7d 0d 0a 2f 2f 20 23 69 66  0x00D2 }..// #if
28360 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30  (WINVER >= 0x040
28370 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
28380 7b 20 45 4d 5f 53 45 54 4d 41 52 47 49 4e 53 20  { EM_SETMARGINS 
28390 3d 20 30 78 30 30 44 33 20 7d 0d 0a 65 6e 75 6d  = 0x00D3 }..enum
283a0 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 47 45 54   : uint { EM_GET
283b0 4d 41 52 47 49 4e 53 20 3d 20 30 78 30 30 44 34  MARGINS = 0x00D4
283c0 20 7d 0d 0a 61 6c 69 61 73 20 45 4d 5f 4c 49 4d   }..alias EM_LIM
283d0 49 54 54 45 58 54 20 45 4d 5f 53 45 54 4c 49 4d  ITTEXT EM_SETLIM
283e0 49 54 54 45 58 54 3b 0d 0a 65 6e 75 6d 20 3a 20  ITTEXT;..enum : 
283f0 75 69 6e 74 20 7b 20 45 4d 5f 47 45 54 4c 49 4d  uint { EM_GETLIM
28400 49 54 54 45 58 54 20 3d 20 30 78 30 30 44 35 20  ITTEXT = 0x00D5 
28410 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
28420 20 45 4d 5f 50 4f 53 46 52 4f 4d 43 48 41 52 20   EM_POSFROMCHAR 
28430 3d 20 30 78 30 30 44 36 20 7d 0d 0a 65 6e 75 6d  = 0x00D6 }..enum
28440 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 43 48 41   : uint { EM_CHA
28450 52 46 52 4f 4d 50 4f 53 20 3d 20 30 78 30 30 44  RFROMPOS = 0x00D
28460 37 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  7 }..// #endif /
28470 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  * WINVER >= 0x04
28480 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28  00 */....// #if(
28490 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30  WINVER >= 0x0500
284a0 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
284b0 20 45 4d 5f 53 45 54 49 4d 45 53 54 41 54 55 53   EM_SETIMESTATUS
284c0 20 3d 20 30 78 30 30 44 38 20 7d 0d 0a 65 6e 75   = 0x00D8 }..enu
284d0 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 47 45  m : uint { EM_GE
284e0 54 49 4d 45 53 54 41 54 55 53 20 3d 20 30 78 30  TIMESTATUS = 0x0
284f0 30 44 39 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  0D9 }..// #endif
28500 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
28510 30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 65  0500 */....// #e
28520 6e 64 69 66 20 2f 2a 20 21 4e 4f 57 49 4e 4d 45  ndif /* !NOWINME
28530 53 53 41 47 45 53 20 2a 2f 0d 0a 0d 0a 65 6e 75  SSAGES */....enu
28540 6d 20 3a 20 75 69 6e 74 20 7b 20 57 42 5f 4c 45  m : uint { WB_LE
28550 46 54 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a  FT = 0 }..enum :
28560 20 75 69 6e 74 20 7b 20 57 42 5f 52 49 47 48 54   uint { WB_RIGHT
28570 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 1 }..enum : u
28580 69 6e 74 20 7b 20 57 42 5f 49 53 44 45 4c 49 4d  int { WB_ISDELIM
28590 49 54 45 52 20 3d 20 32 20 7d 0d 0a 0d 0a 65 6e  ITER = 2 }....en
285a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 5f 50  um : uint { BS_P
285b0 55 53 48 42 55 54 54 4f 4e 20 3d 20 30 78 30 30  USHBUTTON = 0x00
285c0 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
285d0 20 75 69 6e 74 20 7b 20 42 53 5f 44 45 46 50 55   uint { BS_DEFPU
285e0 53 48 42 55 54 54 4f 4e 20 3d 20 30 78 30 30 30  SHBUTTON = 0x000
285f0 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00001 }..enum : 
28600 75 69 6e 74 20 7b 20 42 53 5f 43 48 45 43 4b 42  uint { BS_CHECKB
28610 4f 58 20 3d 20 30 78 30 30 30 30 30 30 30 32 20  OX = 0x00000002 
28620 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
28630 20 42 53 5f 41 55 54 4f 43 48 45 43 4b 42 4f 58   BS_AUTOCHECKBOX
28640 20 3d 20 30 78 30 30 30 30 30 30 30 33 20 7d 0d   = 0x00000003 }.
28650 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42  .enum : uint { B
28660 53 5f 52 41 44 49 4f 42 55 54 54 4f 4e 20 3d 20  S_RADIOBUTTON = 
28670 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e  0x00000004 }..en
28680 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 5f 33  um : uint { BS_3
28690 53 54 41 54 45 20 3d 20 30 78 30 30 30 30 30 30  STATE = 0x000000
286a0 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  05 }..enum : uin
286b0 74 20 7b 20 42 53 5f 41 55 54 4f 33 53 54 41 54  t { BS_AUTO3STAT
286c0 45 20 3d 20 30 78 30 30 30 30 30 30 30 36 20 7d  E = 0x00000006 }
286d0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
286e0 42 53 5f 47 52 4f 55 50 42 4f 58 20 3d 20 30 78  BS_GROUPBOX = 0x
286f0 30 30 30 30 30 30 30 37 20 7d 0d 0a 65 6e 75 6d  00000007 }..enum
28700 20 3a 20 75 69 6e 74 20 7b 20 42 53 5f 55 53 45   : uint { BS_USE
28710 52 42 55 54 54 4f 4e 20 3d 20 30 78 30 30 30 30  RBUTTON = 0x0000
28720 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
28730 69 6e 74 20 7b 20 42 53 5f 41 55 54 4f 52 41 44  int { BS_AUTORAD
28740 49 4f 42 55 54 54 4f 4e 20 3d 20 30 78 30 30 30  IOBUTTON = 0x000
28750 30 30 30 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00009 }..enum : 
28760 75 69 6e 74 20 7b 20 42 53 5f 4f 57 4e 45 52 44  uint { BS_OWNERD
28770 52 41 57 20 3d 20 30 78 30 30 30 30 30 30 30 42  RAW = 0x0000000B
28780 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
28790 7b 20 42 53 5f 4c 45 46 54 54 45 58 54 20 3d 20  { BS_LEFTTEXT = 
287a0 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 2f 2f  0x00000020 }..//
287b0 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
287c0 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0400)..enum : u
287d0 69 6e 74 20 7b 20 42 53 5f 54 45 58 54 20 3d 20  int { BS_TEXT = 
287e0 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00000000 }..en
287f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 5f 49  um : uint { BS_I
28800 43 4f 4e 20 3d 20 30 78 30 30 30 30 30 30 34 30  CON = 0x00000040
28810 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
28820 7b 20 42 53 5f 42 49 54 4d 41 50 20 3d 20 30 78  { BS_BITMAP = 0x
28830 30 30 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75 6d  00000080 }..enum
28840 20 3a 20 75 69 6e 74 20 7b 20 42 53 5f 4c 45 46   : uint { BS_LEF
28850 54 20 3d 20 30 78 30 30 30 30 30 31 30 30 20 7d  T = 0x00000100 }
28860 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
28870 42 53 5f 52 49 47 48 54 20 3d 20 30 78 30 30 30  BS_RIGHT = 0x000
28880 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00200 }..enum : 
28890 75 69 6e 74 20 7b 20 42 53 5f 43 45 4e 54 45 52  uint { BS_CENTER
288a0 20 3d 20 30 78 30 30 30 30 30 33 30 30 20 7d 0d   = 0x00000300 }.
288b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42  .enum : uint { B
288c0 53 5f 54 4f 50 20 3d 20 30 78 30 30 30 30 30 34  S_TOP = 0x000004
288d0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
288e0 74 20 7b 20 42 53 5f 42 4f 54 54 4f 4d 20 3d 20  t { BS_BOTTOM = 
288f0 30 78 30 30 30 30 30 38 30 30 20 7d 0d 0a 65 6e  0x00000800 }..en
28900 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 5f 56  um : uint { BS_V
28910 43 45 4e 54 45 52 20 3d 20 30 78 30 30 30 30 30  CENTER = 0x00000
28920 43 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  C00 }..enum : ui
28930 6e 74 20 7b 20 42 53 5f 50 55 53 48 4c 49 4b 45  nt { BS_PUSHLIKE
28940 20 3d 20 30 78 30 30 30 30 31 30 30 30 20 7d 0d   = 0x00001000 }.
28950 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42  .enum : uint { B
28960 53 5f 4d 55 4c 54 49 4c 49 4e 45 20 3d 20 30 78  S_MULTILINE = 0x
28970 30 30 30 30 32 30 30 30 20 7d 0d 0a 65 6e 75 6d  00002000 }..enum
28980 20 3a 20 75 69 6e 74 20 7b 20 42 53 5f 4e 4f 54   : uint { BS_NOT
28990 49 46 59 20 3d 20 30 78 30 30 30 30 34 30 30 30  IFY = 0x00004000
289a0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
289b0 7b 20 42 53 5f 46 4c 41 54 20 3d 20 30 78 30 30  { BS_FLAT = 0x00
289c0 30 30 38 30 30 30 20 7d 0d 0a 61 6c 69 61 73 20  008000 }..alias 
289d0 42 53 5f 4c 45 46 54 54 45 58 54 20 42 53 5f 52  BS_LEFTTEXT BS_R
289e0 49 47 48 54 42 55 54 54 4f 4e 3b 0d 0a 2f 2f 20  IGHTBUTTON;..// 
289f0 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52  #endif /* WINVER
28a00 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d   >= 0x0400 */...
28a10 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42  .enum : uint { B
28a20 4e 5f 43 4c 49 43 4b 45 44 20 3d 20 30 20 7d 0d  N_CLICKED = 0 }.
28a30 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42  .enum : uint { B
28a40 4e 5f 50 41 49 4e 54 20 3d 20 31 20 7d 0d 0a 65  N_PAINT = 1 }..e
28a50 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 4e 5f  num : uint { BN_
28a60 48 49 4c 49 54 45 20 3d 20 32 20 7d 0d 0a 65 6e  HILITE = 2 }..en
28a70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 4e 5f 55  um : uint { BN_U
28a80 4e 48 49 4c 49 54 45 20 3d 20 33 20 7d 0d 0a 65  NHILITE = 3 }..e
28a90 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 4e 5f  num : uint { BN_
28aa0 44 49 53 41 42 4c 45 20 3d 20 34 20 7d 0d 0a 65  DISABLE = 4 }..e
28ab0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 4e 5f  num : uint { BN_
28ac0 44 4f 55 42 4c 45 43 4c 49 43 4b 45 44 20 3d 20  DOUBLECLICKED = 
28ad0 35 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56  5 }..// #if(WINV
28ae0 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 61  ER >= 0x0400)..a
28af0 6c 69 61 73 20 42 4e 5f 48 49 4c 49 54 45 20 42  lias BN_HILITE B
28b00 4e 5f 50 55 53 48 45 44 3b 0d 0a 61 6c 69 61 73  N_PUSHED;..alias
28b10 20 42 4e 5f 55 4e 48 49 4c 49 54 45 20 42 4e 5f   BN_UNHILITE BN_
28b20 55 4e 50 55 53 48 45 44 3b 0d 0a 61 6c 69 61 73  UNPUSHED;..alias
28b30 20 42 4e 5f 44 4f 55 42 4c 45 43 4c 49 43 4b 45   BN_DOUBLECLICKE
28b40 44 20 42 4e 5f 44 42 4c 43 4c 4b 3b 0d 0a 65 6e  D BN_DBLCLK;..en
28b50 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 4e 5f 53  um : uint { BN_S
28b60 45 54 46 4f 43 55 53 20 3d 20 36 20 7d 0d 0a 65  ETFOCUS = 6 }..e
28b70 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 4e 5f  num : uint { BN_
28b80 4b 49 4c 4c 46 4f 43 55 53 20 3d 20 37 20 7d 0d  KILLFOCUS = 7 }.
28b90 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
28ba0 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a  NVER >= 0x0400 *
28bb0 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  /....enum : uint
28bc0 20 7b 20 42 4d 5f 47 45 54 43 48 45 43 4b 20 3d   { BM_GETCHECK =
28bd0 20 30 78 30 30 46 30 20 7d 0d 0a 65 6e 75 6d 20   0x00F0 }..enum 
28be0 3a 20 75 69 6e 74 20 7b 20 42 4d 5f 53 45 54 43  : uint { BM_SETC
28bf0 48 45 43 4b 20 3d 20 30 78 30 30 46 31 20 7d 0d  HECK = 0x00F1 }.
28c00 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42  .enum : uint { B
28c10 4d 5f 47 45 54 53 54 41 54 45 20 3d 20 30 78 30  M_GETSTATE = 0x0
28c20 30 46 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  0F2 }..enum : ui
28c30 6e 74 20 7b 20 42 4d 5f 53 45 54 53 54 41 54 45  nt { BM_SETSTATE
28c40 20 3d 20 30 78 30 30 46 33 20 7d 0d 0a 65 6e 75   = 0x00F3 }..enu
28c50 6d 20 3a 20 75 69 6e 74 20 7b 20 42 4d 5f 53 45  m : uint { BM_SE
28c60 54 53 54 59 4c 45 20 3d 20 30 78 30 30 46 34 20  TSTYLE = 0x00F4 
28c70 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  }..// #if(WINVER
28c80 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75   >= 0x0400)..enu
28c90 6d 20 3a 20 75 69 6e 74 20 7b 20 42 4d 5f 43 4c  m : uint { BM_CL
28ca0 49 43 4b 20 3d 20 30 78 30 30 46 35 20 7d 0d 0a  ICK = 0x00F5 }..
28cb0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 4d  enum : uint { BM
28cc0 5f 47 45 54 49 4d 41 47 45 20 3d 20 30 78 30 30  _GETIMAGE = 0x00
28cd0 46 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  F6 }..enum : uin
28ce0 74 20 7b 20 42 4d 5f 53 45 54 49 4d 41 47 45 20  t { BM_SETIMAGE 
28cf0 3d 20 30 78 30 30 46 37 20 7d 0d 0a 0d 0a 65 6e  = 0x00F7 }....en
28d00 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 54 5f  um : uint { BST_
28d10 55 4e 43 48 45 43 4b 45 44 20 3d 20 30 78 30 30  UNCHECKED = 0x00
28d20 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
28d30 74 20 7b 20 42 53 54 5f 43 48 45 43 4b 45 44 20  t { BST_CHECKED 
28d40 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  = 0x0001 }..enum
28d50 20 3a 20 75 69 6e 74 20 7b 20 42 53 54 5f 49 4e   : uint { BST_IN
28d60 44 45 54 45 52 4d 49 4e 41 54 45 20 3d 20 30 78  DETERMINATE = 0x
28d70 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
28d80 69 6e 74 20 7b 20 42 53 54 5f 50 55 53 48 45 44  int { BST_PUSHED
28d90 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75   = 0x0004 }..enu
28da0 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 54 5f 46  m : uint { BST_F
28db0 4f 43 55 53 20 3d 20 30 78 30 30 30 38 20 7d 0d  OCUS = 0x0008 }.
28dc0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
28dd0 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a  NVER >= 0x0400 *
28de0 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  /....enum : uint
28df0 20 7b 20 53 53 5f 4c 45 46 54 20 3d 20 30 78 30   { SS_LEFT = 0x0
28e00 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000000 }..enum 
28e10 3a 20 75 69 6e 74 20 7b 20 53 53 5f 43 45 4e 54  : uint { SS_CENT
28e20 45 52 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  ER = 0x00000001 
28e30 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
28e40 20 53 53 5f 52 49 47 48 54 20 3d 20 30 78 30 30   SS_RIGHT = 0x00
28e50 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  000002 }..enum :
28e60 20 75 69 6e 74 20 7b 20 53 53 5f 49 43 4f 4e 20   uint { SS_ICON 
28e70 3d 20 30 78 30 30 30 30 30 30 30 33 20 7d 0d 0a  = 0x00000003 }..
28e80 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 53  enum : uint { SS
28e90 5f 42 4c 41 43 4b 52 45 43 54 20 3d 20 30 78 30  _BLACKRECT = 0x0
28ea0 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20  0000004 }..enum 
28eb0 3a 20 75 69 6e 74 20 7b 20 53 53 5f 47 52 41 59  : uint { SS_GRAY
28ec0 52 45 43 54 20 3d 20 30 78 30 30 30 30 30 30 30  RECT = 0x0000000
28ed0 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
28ee0 20 7b 20 53 53 5f 57 48 49 54 45 52 45 43 54 20   { SS_WHITERECT 
28ef0 3d 20 30 78 30 30 30 30 30 30 30 36 20 7d 0d 0a  = 0x00000006 }..
28f00 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 53  enum : uint { SS
28f10 5f 42 4c 41 43 4b 46 52 41 4d 45 20 3d 20 30 78  _BLACKFRAME = 0x
28f20 30 30 30 30 30 30 30 37 20 7d 0d 0a 65 6e 75 6d  00000007 }..enum
28f30 20 3a 20 75 69 6e 74 20 7b 20 53 53 5f 47 52 41   : uint { SS_GRA
28f40 59 46 52 41 4d 45 20 3d 20 30 78 30 30 30 30 30  YFRAME = 0x00000
28f50 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
28f60 6e 74 20 7b 20 53 53 5f 57 48 49 54 45 46 52 41  nt { SS_WHITEFRA
28f70 4d 45 20 3d 20 30 78 30 30 30 30 30 30 30 39 20  ME = 0x00000009 
28f80 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
28f90 20 53 53 5f 55 53 45 52 49 54 45 4d 20 3d 20 30   SS_USERITEM = 0
28fa0 78 30 30 30 30 30 30 30 41 20 7d 0d 0a 65 6e 75  x0000000A }..enu
28fb0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 53 5f 53 49  m : uint { SS_SI
28fc0 4d 50 4c 45 20 3d 20 30 78 30 30 30 30 30 30 30  MPLE = 0x0000000
28fd0 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  B }..enum : uint
28fe0 20 7b 20 53 53 5f 4c 45 46 54 4e 4f 57 4f 52 44   { SS_LEFTNOWORD
28ff0 57 52 41 50 20 3d 20 30 78 30 30 30 30 30 30 30  WRAP = 0x0000000
29000 43 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56  C }..// #if(WINV
29010 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65  ER >= 0x0400)..e
29020 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 53 5f  num : uint { SS_
29030 4f 57 4e 45 52 44 52 41 57 20 3d 20 30 78 30 30  OWNERDRAW = 0x00
29040 30 30 30 30 30 44 20 7d 0d 0a 65 6e 75 6d 20 3a  00000D }..enum :
29050 20 75 69 6e 74 20 7b 20 53 53 5f 42 49 54 4d 41   uint { SS_BITMA
29060 50 20 3d 20 30 78 30 30 30 30 30 30 30 45 20 7d  P = 0x0000000E }
29070 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
29080 53 53 5f 45 4e 48 4d 45 54 41 46 49 4c 45 20 3d  SS_ENHMETAFILE =
29090 20 30 78 30 30 30 30 30 30 30 46 20 7d 0d 0a 65   0x0000000F }..e
290a0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 53 5f  num : uint { SS_
290b0 45 54 43 48 45 44 48 4f 52 5a 20 3d 20 30 78 30  ETCHEDHORZ = 0x0
290c0 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20  0000010 }..enum 
290d0 3a 20 75 69 6e 74 20 7b 20 53 53 5f 45 54 43 48  : uint { SS_ETCH
290e0 45 44 56 45 52 54 20 3d 20 30 78 30 30 30 30 30  EDVERT = 0x00000
290f0 30 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  011 }..enum : ui
29100 6e 74 20 7b 20 53 53 5f 45 54 43 48 45 44 46 52  nt { SS_ETCHEDFR
29110 41 4d 45 20 3d 20 30 78 30 30 30 30 30 30 31 32  AME = 0x00000012
29120 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
29130 7b 20 53 53 5f 54 59 50 45 4d 41 53 4b 20 3d 20  { SS_TYPEMASK = 
29140 30 78 30 30 30 30 30 30 31 46 20 7d 0d 0a 2f 2f  0x0000001F }..//
29150 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45   #endif /* WINVE
29160 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a  R >= 0x0400 */..
29170 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d  // #if(WINVER >=
29180 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 3a   0x0501)..enum :
29190 20 75 69 6e 74 20 7b 20 53 53 5f 52 45 41 4c 53   uint { SS_REALS
291a0 49 5a 45 43 4f 4e 54 52 4f 4c 20 3d 20 30 78 30  IZECONTROL = 0x0
291b0 30 30 30 30 30 34 30 20 7d 0d 0a 2f 2f 20 23 65  0000040 }..// #e
291c0 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e  ndif /* WINVER >
291d0 3d 20 30 78 30 35 30 31 20 2a 2f 0d 0a 65 6e 75  = 0x0501 */..enu
291e0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 53 5f 4e 4f  m : uint { SS_NO
291f0 50 52 45 46 49 58 20 3d 20 30 78 30 30 30 30 30  PREFIX = 0x00000
29200 30 38 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49  080 }..// #if(WI
29210 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d  NVER >= 0x0400).
29220 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
29230 53 5f 4e 4f 54 49 46 59 20 3d 20 30 78 30 30 30  S_NOTIFY = 0x000
29240 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00100 }..enum : 
29250 75 69 6e 74 20 7b 20 53 53 5f 43 45 4e 54 45 52  uint { SS_CENTER
29260 49 4d 41 47 45 20 3d 20 30 78 30 30 30 30 30 32  IMAGE = 0x000002
29270 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
29280 74 20 7b 20 53 53 5f 52 49 47 48 54 4a 55 53 54  t { SS_RIGHTJUST
29290 20 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d 0d   = 0x00000400 }.
292a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
292b0 53 5f 52 45 41 4c 53 49 5a 45 49 4d 41 47 45 20  S_REALSIZEIMAGE 
292c0 3d 20 30 78 30 30 30 30 30 38 30 30 20 7d 0d 0a  = 0x00000800 }..
292d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 53  enum : uint { SS
292e0 5f 53 55 4e 4b 45 4e 20 3d 20 30 78 30 30 30 30  _SUNKEN = 0x0000
292f0 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  1000 }..enum : u
29300 69 6e 74 20 7b 20 53 53 5f 45 4e 44 45 4c 4c 49  int { SS_ENDELLI
29310 50 53 49 53 20 3d 20 30 78 30 30 30 30 34 30 30  PSIS = 0x0000400
29320 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
29330 20 7b 20 53 53 5f 50 41 54 48 45 4c 4c 49 50 53   { SS_PATHELLIPS
29340 49 53 20 3d 20 30 78 30 30 30 30 38 30 30 30 20  IS = 0x00008000 
29350 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
29360 20 53 53 5f 57 4f 52 44 45 4c 4c 49 50 53 49 53   SS_WORDELLIPSIS
29370 20 3d 20 30 78 30 30 30 30 43 30 30 30 20 7d 0d   = 0x0000C000 }.
29380 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
29390 53 5f 45 4c 4c 49 50 53 49 53 4d 41 53 4b 20 3d  S_ELLIPSISMASK =
293a0 20 30 78 30 30 30 30 43 30 30 30 20 7d 0d 0a 2f   0x0000C000 }../
293b0 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
293c0 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  ER >= 0x0400 */.
293d0 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f  ...// #ifndef NO
293e0 57 49 4e 4d 45 53 53 41 47 45 53 0d 0a 0d 0a 65  WINMESSAGES....e
293f0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 4d  num : uint { STM
29400 5f 53 45 54 49 43 4f 4e 20 3d 20 30 78 30 31 37  _SETICON = 0x017
29410 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
29420 20 7b 20 53 54 4d 5f 47 45 54 49 43 4f 4e 20 3d   { STM_GETICON =
29430 20 30 78 30 31 37 31 20 7d 0d 0a 2f 2f 20 23 69   0x0171 }..// #i
29440 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
29450 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
29460 20 7b 20 53 54 4d 5f 53 45 54 49 4d 41 47 45 20   { STM_SETIMAGE 
29470 3d 20 30 78 30 31 37 32 20 7d 0d 0a 65 6e 75 6d  = 0x0172 }..enum
29480 20 3a 20 75 69 6e 74 20 7b 20 53 54 4d 5f 47 45   : uint { STM_GE
29490 54 49 4d 41 47 45 20 3d 20 30 78 30 31 37 33 20  TIMAGE = 0x0173 
294a0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
294b0 20 53 54 4e 5f 43 4c 49 43 4b 45 44 20 3d 20 30   STN_CLICKED = 0
294c0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
294d0 7b 20 53 54 4e 5f 44 42 4c 43 4c 4b 20 3d 20 31  { STN_DBLCLK = 1
294e0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
294f0 7b 20 53 54 4e 5f 45 4e 41 42 4c 45 20 3d 20 32  { STN_ENABLE = 2
29500 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
29510 7b 20 53 54 4e 5f 44 49 53 41 42 4c 45 20 3d 20  { STN_DISABLE = 
29520 33 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  3 }..// #endif /
29530 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  * WINVER >= 0x04
29540 30 30 20 2a 2f 0d 0a 65 6e 75 6d 20 3a 20 75 69  00 */..enum : ui
29550 6e 74 20 7b 20 53 54 4d 5f 4d 53 47 4d 41 58 20  nt { STM_MSGMAX 
29560 3d 20 30 78 30 31 37 34 20 7d 0d 0a 2f 2f 20 23  = 0x0174 }..// #
29570 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 57 49 4e 4d  endif /* !NOWINM
29580 45 53 53 41 47 45 53 20 2a 2f 0d 0a 0d 0a 63 6f  ESSAGES */....co
29590 6e 73 74 20 41 54 4f 4d 20 57 43 5f 44 49 41 4c  nst ATOM WC_DIAL
295a0 4f 47 20 3d 20 63 61 73 74 28 41 54 4f 4d 29 30  OG = cast(ATOM)0
295b0 78 38 30 30 32 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  x8002;....enum :
295c0 20 75 69 6e 74 20 7b 20 44 57 4c 5f 4d 53 47 52   uint { DWL_MSGR
295d0 45 53 55 4c 54 20 3d 20 30 20 7d 0d 0a 65 6e 75  ESULT = 0 }..enu
295e0 6d 20 3a 20 75 69 6e 74 20 7b 20 44 57 4c 5f 44  m : uint { DWL_D
295f0 4c 47 50 52 4f 43 20 3d 20 34 20 7d 0d 0a 65 6e  LGPROC = 4 }..en
29600 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 57 4c 5f  um : uint { DWL_
29610 55 53 45 52 20 3d 20 38 20 7d 0d 0a 0d 0a 2f 2f  USER = 8 }....//
29620 20 23 69 66 64 65 66 20 5f 57 49 4e 36 34 0d 0a   #ifdef _WIN64..
29630 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
29640 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f  ....// #......./
29650 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e  / #endif /* _WIN
29660 36 34 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  64 */....enum : 
29670 75 69 6e 74 20 7b 20 44 57 4c 50 5f 4d 53 47 52  uint { DWLP_MSGR
29680 45 53 55 4c 54 20 3d 20 30 20 7d 0d 0a 65 6e 75  ESULT = 0 }..enu
29690 6d 20 3a 20 75 69 6e 74 20 7b 20 44 57 4c 50 5f  m : uint { DWLP_
296a0 44 4c 47 50 52 4f 43 20 3d 20 44 57 4c 50 5f 4d  DLGPROC = DWLP_M
296b0 53 47 52 45 53 55 4c 54 20 2b 20 4c 52 45 53 55  SGRESULT + LRESU
296c0 4c 54 2e 73 69 7a 65 6f 66 20 7d 0d 0a 65 6e 75  LT.sizeof }..enu
296d0 6d 20 3a 20 75 69 6e 74 20 7b 20 44 57 4c 50 5f  m : uint { DWLP_
296e0 55 53 45 52 20 3d 20 44 57 4c 50 5f 44 4c 47 50  USER = DWLP_DLGP
296f0 52 4f 43 20 2b 20 44 4c 47 50 52 4f 43 2e 73 69  ROC + DLGPROC.si
29700 7a 65 6f 66 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66  zeof }....// #if
29710 6e 64 65 66 20 4e 4f 4d 53 47 0d 0a 0d 0a 65 78  ndef NOMSG....ex
29720 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
29730 70 6f 72 74 20 42 4f 4f 4c 20 49 73 44 69 61 6c  port BOOL IsDial
29740 6f 67 4d 65 73 73 61 67 65 41 28 0d 0a 20 20 48  ogMessageA(..  H
29750 57 4e 44 20 68 44 6c 67 2c 0d 0a 20 20 4c 50 4d  WND hDlg,..  LPM
29760 53 47 20 6c 70 4d 73 67 29 3b 0d 0a 65 78 74 65  SG lpMsg);..exte
29770 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
29780 72 74 20 42 4f 4f 4c 20 49 73 44 69 61 6c 6f 67  rt BOOL IsDialog
29790 4d 65 73 73 61 67 65 57 28 0d 0a 20 20 48 57 4e  MessageW(..  HWN
297a0 44 20 68 44 6c 67 2c 0d 0a 20 20 4c 50 4d 53 47  D hDlg,..  LPMSG
297b0 20 6c 70 4d 73 67 29 3b 0d 0a 2f 2f 20 23 69 66   lpMsg);..// #if
297c0 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
297d0 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
297e0 61 6c 69 61 73 20 49 73 44 69 61 6c 6f 67 4d 65  alias IsDialogMe
297f0 73 73 61 67 65 41 20 49 73 44 69 61 6c 6f 67 4d  ssageA IsDialogM
29800 65 73 73 61 67 65 3b 0d 0a 2f 2f 20 23 65 6e 64  essage;..// #end
29810 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
29820 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21  ..// #endif /* !
29830 4e 4f 4d 53 47 20 2a 2f 0d 0a 0d 0a 65 78 74 65  NOMSG */....exte
29840 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
29850 72 74 20 42 4f 4f 4c 20 4d 61 70 44 69 61 6c 6f  rt BOOL MapDialo
29860 67 52 65 63 74 28 0d 0a 20 20 48 57 4e 44 20 68  gRect(..  HWND h
29870 44 6c 67 2c 0d 0a 20 20 4c 50 52 45 43 54 20 6c  Dlg,..  LPRECT l
29880 70 52 65 63 74 29 3b 0d 0a 0d 0a 65 78 74 65 72  pRect);....exter
29890 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
298a0 74 20 69 6e 74 20 44 6c 67 44 69 72 4c 69 73 74  t int DlgDirList
298b0 41 28 0d 0a 20 20 48 57 4e 44 20 68 44 6c 67 2c  A(..  HWND hDlg,
298c0 0d 0a 20 20 4c 50 53 54 52 20 6c 70 50 61 74 68  ..  LPSTR lpPath
298d0 53 70 65 63 2c 0d 0a 20 20 69 6e 74 20 6e 49 44  Spec,..  int nID
298e0 4c 69 73 74 42 6f 78 2c 0d 0a 20 20 69 6e 74 20  ListBox,..  int 
298f0 6e 49 44 53 74 61 74 69 63 50 61 74 68 2c 0d 0a  nIDStaticPath,..
29900 20 20 55 49 4e 54 20 75 46 69 6c 65 54 79 70 65    UINT uFileType
29910 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
29920 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 44  ws) export int D
29930 6c 67 44 69 72 4c 69 73 74 57 28 0d 0a 20 20 48  lgDirListW(..  H
29940 57 4e 44 20 68 44 6c 67 2c 0d 0a 20 20 4c 50 57  WND hDlg,..  LPW
29950 53 54 52 20 6c 70 50 61 74 68 53 70 65 63 2c 0d  STR lpPathSpec,.
29960 0a 20 20 69 6e 74 20 6e 49 44 4c 69 73 74 42 6f  .  int nIDListBo
29970 78 2c 0d 0a 20 20 69 6e 74 20 6e 49 44 53 74 61  x,..  int nIDSta
29980 74 69 63 50 61 74 68 2c 0d 0a 20 20 55 49 4e 54  ticPath,..  UINT
29990 20 75 46 69 6c 65 54 79 70 65 29 3b 0d 0a 2f 2f   uFileType);..//
299a0 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
299b0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
299c0 73 65 0d 0a 61 6c 69 61 73 20 44 6c 67 44 69 72  se..alias DlgDir
299d0 4c 69 73 74 41 20 44 6c 67 44 69 72 4c 69 73 74  ListA DlgDirList
299e0 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
299f0 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d  !UNICODE....enum
29a00 20 3a 20 75 69 6e 74 20 7b 20 44 44 4c 5f 52 45   : uint { DDL_RE
29a10 41 44 57 52 49 54 45 20 3d 20 30 78 30 30 30 30  ADWRITE = 0x0000
29a20 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
29a30 7b 20 44 44 4c 5f 52 45 41 44 4f 4e 4c 59 20 3d  { DDL_READONLY =
29a40 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
29a50 3a 20 75 69 6e 74 20 7b 20 44 44 4c 5f 48 49 44  : uint { DDL_HID
29a60 44 45 4e 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a  DEN = 0x0002 }..
29a70 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 44  enum : uint { DD
29a80 4c 5f 53 59 53 54 45 4d 20 3d 20 30 78 30 30 30  L_SYSTEM = 0x000
29a90 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
29aa0 20 7b 20 44 44 4c 5f 44 49 52 45 43 54 4f 52 59   { DDL_DIRECTORY
29ab0 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75   = 0x0010 }..enu
29ac0 6d 20 3a 20 75 69 6e 74 20 7b 20 44 44 4c 5f 41  m : uint { DDL_A
29ad0 52 43 48 49 56 45 20 3d 20 30 78 30 30 32 30 20  RCHIVE = 0x0020 
29ae0 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
29af0 20 7b 20 44 44 4c 5f 50 4f 53 54 4d 53 47 53 20   { DDL_POSTMSGS 
29b00 3d 20 30 78 32 30 30 30 20 7d 0d 0a 65 6e 75 6d  = 0x2000 }..enum
29b10 20 3a 20 75 69 6e 74 20 7b 20 44 44 4c 5f 44 52   : uint { DDL_DR
29b20 49 56 45 53 20 3d 20 30 78 34 30 30 30 20 7d 0d  IVES = 0x4000 }.
29b30 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
29b40 44 4c 5f 45 58 43 4c 55 53 49 56 45 20 3d 20 30  DL_EXCLUSIVE = 0
29b50 78 38 30 30 30 20 7d 0d 0a 0d 0a 65 78 74 65 72  x8000 }....exter
29b60 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
29b70 74 20 42 4f 4f 4c 20 44 6c 67 44 69 72 53 65 6c  t BOOL DlgDirSel
29b80 65 63 74 45 78 41 28 0d 0a 20 20 48 57 4e 44 20  ectExA(..  HWND 
29b90 68 44 6c 67 2c 0d 0a 20 20 4c 50 53 54 52 20 6c  hDlg,..  LPSTR l
29ba0 70 53 74 72 69 6e 67 2c 0d 0a 20 20 69 6e 74 20  pString,..  int 
29bb0 6e 43 6f 75 6e 74 2c 0d 0a 20 20 69 6e 74 20 6e  nCount,..  int n
29bc0 49 44 4c 69 73 74 42 6f 78 29 3b 0d 0a 65 78 74  IDListBox);..ext
29bd0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
29be0 6f 72 74 20 42 4f 4f 4c 20 44 6c 67 44 69 72 53  ort BOOL DlgDirS
29bf0 65 6c 65 63 74 45 78 57 28 0d 0a 20 20 48 57 4e  electExW(..  HWN
29c00 44 20 68 44 6c 67 2c 0d 0a 20 20 4c 50 57 53 54  D hDlg,..  LPWST
29c10 52 20 6c 70 53 74 72 69 6e 67 2c 0d 0a 20 20 69  R lpString,..  i
29c20 6e 74 20 6e 43 6f 75 6e 74 2c 0d 0a 20 20 69 6e  nt nCount,..  in
29c30 74 20 6e 49 44 4c 69 73 74 42 6f 78 29 3b 0d 0a  t nIDListBox);..
29c40 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
29c50 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
29c60 65 6c 73 65 0d 0a 61 6c 69 61 73 20 44 6c 67 44  else..alias DlgD
29c70 69 72 53 65 6c 65 63 74 45 78 41 20 44 6c 67 44  irSelectExA DlgD
29c80 69 72 53 65 6c 65 63 74 45 78 3b 0d 0a 2f 2f 20  irSelectEx;..// 
29c90 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
29ca0 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
29cb0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74  dows) export int
29cc0 20 44 6c 67 44 69 72 4c 69 73 74 43 6f 6d 62 6f   DlgDirListCombo
29cd0 42 6f 78 41 28 0d 0a 20 20 48 57 4e 44 20 68 44  BoxA(..  HWND hD
29ce0 6c 67 2c 0d 0a 20 20 4c 50 53 54 52 20 6c 70 50  lg,..  LPSTR lpP
29cf0 61 74 68 53 70 65 63 2c 0d 0a 20 20 69 6e 74 20  athSpec,..  int 
29d00 6e 49 44 43 6f 6d 62 6f 42 6f 78 2c 0d 0a 20 20  nIDComboBox,..  
29d10 69 6e 74 20 6e 49 44 53 74 61 74 69 63 50 61 74  int nIDStaticPat
29d20 68 2c 0d 0a 20 20 55 49 4e 54 20 75 46 69 6c 65  h,..  UINT uFile
29d30 74 79 70 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57  type);..extern(W
29d40 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69  indows) export i
29d50 6e 74 20 44 6c 67 44 69 72 4c 69 73 74 43 6f 6d  nt DlgDirListCom
29d60 62 6f 42 6f 78 57 28 0d 0a 20 20 48 57 4e 44 20  boBoxW(..  HWND 
29d70 68 44 6c 67 2c 0d 0a 20 20 4c 50 57 53 54 52 20  hDlg,..  LPWSTR 
29d80 6c 70 50 61 74 68 53 70 65 63 2c 0d 0a 20 20 69  lpPathSpec,..  i
29d90 6e 74 20 6e 49 44 43 6f 6d 62 6f 42 6f 78 2c 0d  nt nIDComboBox,.
29da0 0a 20 20 69 6e 74 20 6e 49 44 53 74 61 74 69 63  .  int nIDStatic
29db0 50 61 74 68 2c 0d 0a 20 20 55 49 4e 54 20 75 46  Path,..  UINT uF
29dc0 69 6c 65 74 79 70 65 29 3b 0d 0a 2f 2f 20 23 69  iletype);..// #i
29dd0 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
29de0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
29df0 0a 61 6c 69 61 73 20 44 6c 67 44 69 72 4c 69 73  .alias DlgDirLis
29e00 74 43 6f 6d 62 6f 42 6f 78 41 20 44 6c 67 44 69  tComboBoxA DlgDi
29e10 72 4c 69 73 74 43 6f 6d 62 6f 42 6f 78 3b 0d 0a  rListComboBox;..
29e20 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
29e30 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
29e40 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
29e50 42 4f 4f 4c 20 44 6c 67 44 69 72 53 65 6c 65 63  BOOL DlgDirSelec
29e60 74 43 6f 6d 62 6f 42 6f 78 45 78 41 28 0d 0a 20  tComboBoxExA(.. 
29e70 20 48 57 4e 44 20 68 44 6c 67 2c 0d 0a 20 20 4c   HWND hDlg,..  L
29e80 50 53 54 52 20 6c 70 53 74 72 69 6e 67 2c 0d 0a  PSTR lpString,..
29e90 20 20 69 6e 74 20 6e 43 6f 75 6e 74 2c 0d 0a 20    int nCount,.. 
29ea0 20 69 6e 74 20 6e 49 44 43 6f 6d 62 6f 42 6f 78   int nIDComboBox
29eb0 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
29ec0 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
29ed0 44 6c 67 44 69 72 53 65 6c 65 63 74 43 6f 6d 62  DlgDirSelectComb
29ee0 6f 42 6f 78 45 78 57 28 0d 0a 20 20 48 57 4e 44  oBoxExW(..  HWND
29ef0 20 68 44 6c 67 2c 0d 0a 20 20 4c 50 57 53 54 52   hDlg,..  LPWSTR
29f00 20 6c 70 53 74 72 69 6e 67 2c 0d 0a 20 20 69 6e   lpString,..  in
29f10 74 20 6e 43 6f 75 6e 74 2c 0d 0a 20 20 69 6e 74  t nCount,..  int
29f20 20 6e 49 44 43 6f 6d 62 6f 42 6f 78 29 3b 0d 0a   nIDComboBox);..
29f30 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
29f40 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
29f50 65 6c 73 65 0d 0a 61 6c 69 61 73 20 44 6c 67 44  else..alias DlgD
29f60 69 72 53 65 6c 65 63 74 43 6f 6d 62 6f 42 6f 78  irSelectComboBox
29f70 45 78 41 20 44 6c 67 44 69 72 53 65 6c 65 63 74  ExA DlgDirSelect
29f80 43 6f 6d 62 6f 42 6f 78 45 78 3b 0d 0a 2f 2f 20  ComboBoxEx;..// 
29f90 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
29fa0 44 45 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  DE....enum : uin
29fb0 74 20 7b 20 44 53 5f 41 42 53 41 4c 49 47 4e 20  t { DS_ABSALIGN 
29fc0 3d 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x01 }..enum :
29fd0 20 75 69 6e 74 20 7b 20 44 53 5f 53 59 53 4d 4f   uint { DS_SYSMO
29fe0 44 41 4c 20 3d 20 30 78 30 32 20 7d 0d 0a 65 6e  DAL = 0x02 }..en
29ff0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 53 5f 4c  um : uint { DS_L
2a000 4f 43 41 4c 45 44 49 54 20 3d 20 30 78 32 30 20  OCALEDIT = 0x20 
2a010 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2a020 20 44 53 5f 53 45 54 46 4f 4e 54 20 3d 20 30 78   DS_SETFONT = 0x
2a030 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  40 }..enum : uin
2a040 74 20 7b 20 44 53 5f 4d 4f 44 41 4c 46 52 41 4d  t { DS_MODALFRAM
2a050 45 20 3d 20 30 78 38 30 20 7d 0d 0a 65 6e 75 6d  E = 0x80 }..enum
2a060 20 3a 20 75 69 6e 74 20 7b 20 44 53 5f 4e 4f 49   : uint { DS_NOI
2a070 44 4c 45 4d 53 47 20 3d 20 30 78 31 30 30 20 7d  DLEMSG = 0x100 }
2a080 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2a090 44 53 5f 53 45 54 46 4f 52 45 47 52 4f 55 4e 44  DS_SETFOREGROUND
2a0a0 20 3d 20 30 78 32 30 30 20 7d 0d 0a 0d 0a 2f 2f   = 0x200 }....//
2a0b0 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
2a0c0 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0400)..enum : u
2a0d0 69 6e 74 20 7b 20 44 53 5f 33 44 4c 4f 4f 4b 20  int { DS_3DLOOK 
2a0e0 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d  = 0x0004 }..enum
2a0f0 20 3a 20 75 69 6e 74 20 7b 20 44 53 5f 46 49 58   : uint { DS_FIX
2a100 45 44 53 59 53 20 3d 20 30 78 30 30 30 38 20 7d  EDSYS = 0x0008 }
2a110 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2a120 44 53 5f 4e 4f 46 41 49 4c 43 52 45 41 54 45 20  DS_NOFAILCREATE 
2a130 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d  = 0x0010 }..enum
2a140 20 3a 20 75 69 6e 74 20 7b 20 44 53 5f 43 4f 4e   : uint { DS_CON
2a150 54 52 4f 4c 20 3d 20 30 78 30 34 30 30 20 7d 0d  TROL = 0x0400 }.
2a160 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
2a170 53 5f 43 45 4e 54 45 52 20 3d 20 30 78 30 38 30  S_CENTER = 0x080
2a180 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
2a190 20 7b 20 44 53 5f 43 45 4e 54 45 52 4d 4f 55 53   { DS_CENTERMOUS
2a1a0 45 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 65 6e  E = 0x1000 }..en
2a1b0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 53 5f 43  um : uint { DS_C
2a1c0 4f 4e 54 45 58 54 48 45 4c 50 20 3d 20 30 78 32  ONTEXTHELP = 0x2
2a1d0 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  000 }....enum : 
2a1e0 75 69 6e 74 20 7b 20 44 53 5f 53 48 45 4c 4c 46  uint { DS_SHELLF
2a1f0 4f 4e 54 20 3d 20 44 53 5f 53 45 54 46 4f 4e 54  ONT = DS_SETFONT
2a200 20 7c 20 44 53 5f 46 49 58 45 44 53 59 53 20 7d   | DS_FIXEDSYS }
2a210 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
2a220 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20  INVER >= 0x0400 
2a230 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  */....enum : uin
2a240 74 20 7b 20 44 4d 5f 47 45 54 44 45 46 49 44 20  t { DM_GETDEFID 
2a250 3d 20 57 4d 5f 55 53 45 52 2b 30 20 7d 0d 0a 65  = WM_USER+0 }..e
2a260 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4d 5f  num : uint { DM_
2a270 53 45 54 44 45 46 49 44 20 3d 20 57 4d 5f 55 53  SETDEFID = WM_US
2a280 45 52 2b 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66  ER+1 }....// #if
2a290 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30  (WINVER >= 0x040
2a2a0 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
2a2b0 7b 20 44 4d 5f 52 45 50 4f 53 49 54 49 4f 4e 20  { DM_REPOSITION 
2a2c0 3d 20 57 4d 5f 55 53 45 52 2b 32 20 7d 0d 0a 2f  = WM_USER+2 }../
2a2d0 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
2a2e0 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  ER >= 0x0400 */.
2a2f0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2a300 20 44 43 5f 48 41 53 44 45 46 49 44 20 3d 20 30   DC_HASDEFID = 0
2a310 78 35 33 34 42 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x534B }....enum 
2a320 3a 20 75 69 6e 74 20 7b 20 44 4c 47 43 5f 57 41  : uint { DLGC_WA
2a330 4e 54 41 52 52 4f 57 53 20 3d 20 30 78 30 30 30  NTARROWS = 0x000
2a340 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
2a350 20 7b 20 44 4c 47 43 5f 57 41 4e 54 54 41 42 20   { DLGC_WANTTAB 
2a360 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
2a370 20 3a 20 75 69 6e 74 20 7b 20 44 4c 47 43 5f 57   : uint { DLGC_W
2a380 41 4e 54 41 4c 4c 4b 45 59 53 20 3d 20 30 78 30  ANTALLKEYS = 0x0
2a390 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
2a3a0 6e 74 20 7b 20 44 4c 47 43 5f 57 41 4e 54 4d 45  nt { DLGC_WANTME
2a3b0 53 53 41 47 45 20 3d 20 30 78 30 30 30 34 20 7d  SSAGE = 0x0004 }
2a3c0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2a3d0 44 4c 47 43 5f 48 41 53 53 45 54 53 45 4c 20 3d  DLGC_HASSETSEL =
2a3e0 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20   0x0008 }..enum 
2a3f0 3a 20 75 69 6e 74 20 7b 20 44 4c 47 43 5f 44 45  : uint { DLGC_DE
2a400 46 50 55 53 48 42 55 54 54 4f 4e 20 3d 20 30 78  FPUSHBUTTON = 0x
2a410 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0010 }..enum : u
2a420 69 6e 74 20 7b 20 44 4c 47 43 5f 55 4e 44 45 46  int { DLGC_UNDEF
2a430 50 55 53 48 42 55 54 54 4f 4e 20 3d 20 30 78 30  PUSHBUTTON = 0x0
2a440 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  020 }..enum : ui
2a450 6e 74 20 7b 20 44 4c 47 43 5f 52 41 44 49 4f 42  nt { DLGC_RADIOB
2a460 55 54 54 4f 4e 20 3d 20 30 78 30 30 34 30 20 7d  UTTON = 0x0040 }
2a470 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2a480 44 4c 47 43 5f 57 41 4e 54 43 48 41 52 53 20 3d  DLGC_WANTCHARS =
2a490 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20   0x0080 }..enum 
2a4a0 3a 20 75 69 6e 74 20 7b 20 44 4c 47 43 5f 53 54  : uint { DLGC_ST
2a4b0 41 54 49 43 20 3d 20 30 78 30 31 30 30 20 7d 0d  ATIC = 0x0100 }.
2a4c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
2a4d0 4c 47 43 5f 42 55 54 54 4f 4e 20 3d 20 30 78 32  LGC_BUTTON = 0x2
2a4e0 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  000 }....enum : 
2a4f0 75 69 6e 74 20 7b 20 4c 42 5f 43 54 4c 43 4f 44  uint { LB_CTLCOD
2a500 45 20 3d 20 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  E = 0 }....enum 
2a510 3a 20 75 69 6e 74 20 7b 20 4c 42 5f 4f 4b 41 59  : uint { LB_OKAY
2a520 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 7b 20 4c   = 0 }..enum { L
2a530 42 5f 45 52 52 20 3d 20 2d 31 20 7d 0d 0a 65 6e  B_ERR = -1 }..en
2a540 75 6d 20 7b 20 4c 42 5f 45 52 52 53 50 41 43 45  um { LB_ERRSPACE
2a550 20 3d 20 2d 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20   = -2 }....enum 
2a560 7b 20 4c 42 4e 5f 45 52 52 53 50 41 43 45 20 3d  { LBN_ERRSPACE =
2a570 20 2d 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   -2 }..enum : ui
2a580 6e 74 20 7b 20 4c 42 4e 5f 53 45 4c 43 48 41 4e  nt { LBN_SELCHAN
2a590 47 45 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  GE = 1 }..enum :
2a5a0 20 75 69 6e 74 20 7b 20 4c 42 4e 5f 44 42 4c 43   uint { LBN_DBLC
2a5b0 4c 4b 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a  LK = 2 }..enum :
2a5c0 20 75 69 6e 74 20 7b 20 4c 42 4e 5f 53 45 4c 43   uint { LBN_SELC
2a5d0 41 4e 43 45 4c 20 3d 20 33 20 7d 0d 0a 65 6e 75  ANCEL = 3 }..enu
2a5e0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 4e 5f 53  m : uint { LBN_S
2a5f0 45 54 46 4f 43 55 53 20 3d 20 34 20 7d 0d 0a 65  ETFOCUS = 4 }..e
2a600 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 4e  num : uint { LBN
2a610 5f 4b 49 4c 4c 46 4f 43 55 53 20 3d 20 35 20 7d  _KILLFOCUS = 5 }
2a620 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e  ....// #ifndef N
2a630 4f 57 49 4e 4d 45 53 53 41 47 45 53 0d 0a 0d 0a  OWINMESSAGES....
2a640 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42  enum : uint { LB
2a650 5f 41 44 44 53 54 52 49 4e 47 20 3d 20 30 78 30  _ADDSTRING = 0x0
2a660 31 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  180 }..enum : ui
2a670 6e 74 20 7b 20 4c 42 5f 49 4e 53 45 52 54 53 54  nt { LB_INSERTST
2a680 52 49 4e 47 20 3d 20 30 78 30 31 38 31 20 7d 0d  RING = 0x0181 }.
2a690 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
2a6a0 42 5f 44 45 4c 45 54 45 53 54 52 49 4e 47 20 3d  B_DELETESTRING =
2a6b0 20 30 78 30 31 38 32 20 7d 0d 0a 65 6e 75 6d 20   0x0182 }..enum 
2a6c0 3a 20 75 69 6e 74 20 7b 20 4c 42 5f 53 45 4c 49  : uint { LB_SELI
2a6d0 54 45 4d 52 41 4e 47 45 45 58 20 3d 20 30 78 30  TEMRANGEEX = 0x0
2a6e0 31 38 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  183 }..enum : ui
2a6f0 6e 74 20 7b 20 4c 42 5f 52 45 53 45 54 43 4f 4e  nt { LB_RESETCON
2a700 54 45 4e 54 20 3d 20 30 78 30 31 38 34 20 7d 0d  TENT = 0x0184 }.
2a710 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
2a720 42 5f 53 45 54 53 45 4c 20 3d 20 30 78 30 31 38  B_SETSEL = 0x018
2a730 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
2a740 20 7b 20 4c 42 5f 53 45 54 43 55 52 53 45 4c 20   { LB_SETCURSEL 
2a750 3d 20 30 78 30 31 38 36 20 7d 0d 0a 65 6e 75 6d  = 0x0186 }..enum
2a760 20 3a 20 75 69 6e 74 20 7b 20 4c 42 5f 47 45 54   : uint { LB_GET
2a770 53 45 4c 20 3d 20 30 78 30 31 38 37 20 7d 0d 0a  SEL = 0x0187 }..
2a780 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42  enum : uint { LB
2a790 5f 47 45 54 43 55 52 53 45 4c 20 3d 20 30 78 30  _GETCURSEL = 0x0
2a7a0 31 38 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  188 }..enum : ui
2a7b0 6e 74 20 7b 20 4c 42 5f 47 45 54 54 45 58 54 20  nt { LB_GETTEXT 
2a7c0 3d 20 30 78 30 31 38 39 20 7d 0d 0a 65 6e 75 6d  = 0x0189 }..enum
2a7d0 20 3a 20 75 69 6e 74 20 7b 20 4c 42 5f 47 45 54   : uint { LB_GET
2a7e0 54 45 58 54 4c 45 4e 20 3d 20 30 78 30 31 38 41  TEXTLEN = 0x018A
2a7f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2a800 7b 20 4c 42 5f 47 45 54 43 4f 55 4e 54 20 3d 20  { LB_GETCOUNT = 
2a810 30 78 30 31 38 42 20 7d 0d 0a 65 6e 75 6d 20 3a  0x018B }..enum :
2a820 20 75 69 6e 74 20 7b 20 4c 42 5f 53 45 4c 45 43   uint { LB_SELEC
2a830 54 53 54 52 49 4e 47 20 3d 20 30 78 30 31 38 43  TSTRING = 0x018C
2a840 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2a850 7b 20 4c 42 5f 44 49 52 20 3d 20 30 78 30 31 38  { LB_DIR = 0x018
2a860 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  D }..enum : uint
2a870 20 7b 20 4c 42 5f 47 45 54 54 4f 50 49 4e 44 45   { LB_GETTOPINDE
2a880 58 20 3d 20 30 78 30 31 38 45 20 7d 0d 0a 65 6e  X = 0x018E }..en
2a890 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 5f 46  um : uint { LB_F
2a8a0 49 4e 44 53 54 52 49 4e 47 20 3d 20 30 78 30 31  INDSTRING = 0x01
2a8b0 38 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  8F }..enum : uin
2a8c0 74 20 7b 20 4c 42 5f 47 45 54 53 45 4c 43 4f 55  t { LB_GETSELCOU
2a8d0 4e 54 20 3d 20 30 78 30 31 39 30 20 7d 0d 0a 65  NT = 0x0190 }..e
2a8e0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 5f  num : uint { LB_
2a8f0 47 45 54 53 45 4c 49 54 45 4d 53 20 3d 20 30 78  GETSELITEMS = 0x
2a900 30 31 39 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0191 }..enum : u
2a910 69 6e 74 20 7b 20 4c 42 5f 53 45 54 54 41 42 53  int { LB_SETTABS
2a920 54 4f 50 53 20 3d 20 30 78 30 31 39 32 20 7d 0d  TOPS = 0x0192 }.
2a930 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
2a940 42 5f 47 45 54 48 4f 52 49 5a 4f 4e 54 41 4c 45  B_GETHORIZONTALE
2a950 58 54 45 4e 54 20 3d 20 30 78 30 31 39 33 20 7d  XTENT = 0x0193 }
2a960 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2a970 4c 42 5f 53 45 54 48 4f 52 49 5a 4f 4e 54 41 4c  LB_SETHORIZONTAL
2a980 45 58 54 45 4e 54 20 3d 20 30 78 30 31 39 34 20  EXTENT = 0x0194 
2a990 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2a9a0 20 4c 42 5f 53 45 54 43 4f 4c 55 4d 4e 57 49 44   LB_SETCOLUMNWID
2a9b0 54 48 20 3d 20 30 78 30 31 39 35 20 7d 0d 0a 65  TH = 0x0195 }..e
2a9c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 5f  num : uint { LB_
2a9d0 41 44 44 46 49 4c 45 20 3d 20 30 78 30 31 39 36  ADDFILE = 0x0196
2a9e0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2a9f0 7b 20 4c 42 5f 53 45 54 54 4f 50 49 4e 44 45 58  { LB_SETTOPINDEX
2aa00 20 3d 20 30 78 30 31 39 37 20 7d 0d 0a 65 6e 75   = 0x0197 }..enu
2aa10 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 5f 47 45  m : uint { LB_GE
2aa20 54 49 54 45 4d 52 45 43 54 20 3d 20 30 78 30 31  TITEMRECT = 0x01
2aa30 39 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  98 }..enum : uin
2aa40 74 20 7b 20 4c 42 5f 47 45 54 49 54 45 4d 44 41  t { LB_GETITEMDA
2aa50 54 41 20 3d 20 30 78 30 31 39 39 20 7d 0d 0a 65  TA = 0x0199 }..e
2aa60 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 5f  num : uint { LB_
2aa70 53 45 54 49 54 45 4d 44 41 54 41 20 3d 20 30 78  SETITEMDATA = 0x
2aa80 30 31 39 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  019A }..enum : u
2aa90 69 6e 74 20 7b 20 4c 42 5f 53 45 4c 49 54 45 4d  int { LB_SELITEM
2aaa0 52 41 4e 47 45 20 3d 20 30 78 30 31 39 42 20 7d  RANGE = 0x019B }
2aab0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2aac0 4c 42 5f 53 45 54 41 4e 43 48 4f 52 49 4e 44 45  LB_SETANCHORINDE
2aad0 58 20 3d 20 30 78 30 31 39 43 20 7d 0d 0a 65 6e  X = 0x019C }..en
2aae0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 5f 47  um : uint { LB_G
2aaf0 45 54 41 4e 43 48 4f 52 49 4e 44 45 58 20 3d 20  ETANCHORINDEX = 
2ab00 30 78 30 31 39 44 20 7d 0d 0a 65 6e 75 6d 20 3a  0x019D }..enum :
2ab10 20 75 69 6e 74 20 7b 20 4c 42 5f 53 45 54 43 41   uint { LB_SETCA
2ab20 52 45 54 49 4e 44 45 58 20 3d 20 30 78 30 31 39  RETINDEX = 0x019
2ab30 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  E }..enum : uint
2ab40 20 7b 20 4c 42 5f 47 45 54 43 41 52 45 54 49 4e   { LB_GETCARETIN
2ab50 44 45 58 20 3d 20 30 78 30 31 39 46 20 7d 0d 0a  DEX = 0x019F }..
2ab60 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42  enum : uint { LB
2ab70 5f 53 45 54 49 54 45 4d 48 45 49 47 48 54 20 3d  _SETITEMHEIGHT =
2ab80 20 30 78 30 31 41 30 20 7d 0d 0a 65 6e 75 6d 20   0x01A0 }..enum 
2ab90 3a 20 75 69 6e 74 20 7b 20 4c 42 5f 47 45 54 49  : uint { LB_GETI
2aba0 54 45 4d 48 45 49 47 48 54 20 3d 20 30 78 30 31  TEMHEIGHT = 0x01
2abb0 41 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  A1 }..enum : uin
2abc0 74 20 7b 20 4c 42 5f 46 49 4e 44 53 54 52 49 4e  t { LB_FINDSTRIN
2abd0 47 45 58 41 43 54 20 3d 20 30 78 30 31 41 32 20  GEXACT = 0x01A2 
2abe0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2abf0 20 4c 42 5f 53 45 54 4c 4f 43 41 4c 45 20 3d 20   LB_SETLOCALE = 
2ac00 30 78 30 31 41 35 20 7d 0d 0a 65 6e 75 6d 20 3a  0x01A5 }..enum :
2ac10 20 75 69 6e 74 20 7b 20 4c 42 5f 47 45 54 4c 4f   uint { LB_GETLO
2ac20 43 41 4c 45 20 3d 20 30 78 30 31 41 36 20 7d 0d  CALE = 0x01A6 }.
2ac30 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
2ac40 42 5f 53 45 54 43 4f 55 4e 54 20 3d 20 30 78 30  B_SETCOUNT = 0x0
2ac50 31 41 37 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49  1A7 }..// #if(WI
2ac60 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d  NVER >= 0x0400).
2ac70 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
2ac80 42 5f 49 4e 49 54 53 54 4f 52 41 47 45 20 3d 20  B_INITSTORAGE = 
2ac90 30 78 30 31 41 38 20 7d 0d 0a 65 6e 75 6d 20 3a  0x01A8 }..enum :
2aca0 20 75 69 6e 74 20 7b 20 4c 42 5f 49 54 45 4d 46   uint { LB_ITEMF
2acb0 52 4f 4d 50 4f 49 4e 54 20 3d 20 30 78 30 31 41  ROMPOINT = 0x01A
2acc0 39 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  9 }..// #endif /
2acd0 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  * WINVER >= 0x04
2ace0 30 30 20 2a 2f 0d 0a 2f 2f 20 23 69 66 28 5f 57  00 */..// #if(_W
2acf0 49 4e 33 32 5f 57 43 45 20 3e 3d 20 30 78 30 34  IN32_WCE >= 0x04
2ad00 30 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  00)..// #.....//
2ad10 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69   #endif....// #i
2ad20 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e  f(_WIN32_WINNT >
2ad30 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20  = 0x0501)..enum 
2ad40 3a 20 75 69 6e 74 20 7b 20 4c 42 5f 47 45 54 4c  : uint { LB_GETL
2ad50 49 53 54 42 4f 58 49 4e 46 4f 20 3d 20 30 78 30  ISTBOXINFO = 0x0
2ad60 31 42 32 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  1B2 }..// #endif
2ad70 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54   /* _WIN32_WINNT
2ad80 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f 0d 0a 0d   >= 0x0501 */...
2ad90 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57  .// #if(_WIN32_W
2ada0 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d  INNT >= 0x0501).
2adb0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
2adc0 42 5f 4d 53 47 4d 41 58 20 3d 20 30 78 30 31 42  B_MSGMAX = 0x01B
2add0 33 20 7d 0d 0a 2f 2f 20 23 65 6c 69 66 28 5f 57  3 }..// #elif(_W
2ade0 49 4e 33 32 5f 57 43 45 20 3e 3d 20 30 78 30 34  IN32_WCE >= 0x04
2adf0 30 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  00)..// #.....//
2ae00 20 23 65 6c 69 66 28 57 49 4e 56 45 52 20 3e 3d   #elif(WINVER >=
2ae10 20 30 78 30 34 30 30 29 0d 0a 2f 2f 20 23 2e 2e   0x0400)..// #..
2ae20 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ...// #else..// 
2ae30 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
2ae40 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
2ae50 21 4e 4f 57 49 4e 4d 45 53 53 41 47 45 53 20 2a  !NOWINMESSAGES *
2ae60 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  /....// #ifndef 
2ae70 4e 4f 57 49 4e 53 54 59 4c 45 53 0d 0a 0d 0a 65  NOWINSTYLES....e
2ae80 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 53  num : uint { LBS
2ae90 5f 4e 4f 54 49 46 59 20 3d 20 30 78 30 30 30 31  _NOTIFY = 0x0001
2aea0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2aeb0 7b 20 4c 42 53 5f 53 4f 52 54 20 3d 20 30 78 30  { LBS_SORT = 0x0
2aec0 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
2aed0 6e 74 20 7b 20 4c 42 53 5f 4e 4f 52 45 44 52 41  nt { LBS_NOREDRA
2aee0 57 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e  W = 0x0004 }..en
2aef0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 53 5f  um : uint { LBS_
2af00 4d 55 4c 54 49 50 4c 45 53 45 4c 20 3d 20 30 78  MULTIPLESEL = 0x
2af10 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
2af20 69 6e 74 20 7b 20 4c 42 53 5f 4f 57 4e 45 52 44  int { LBS_OWNERD
2af30 52 41 57 46 49 58 45 44 20 3d 20 30 78 30 30 31  RAWFIXED = 0x001
2af40 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
2af50 20 7b 20 4c 42 53 5f 4f 57 4e 45 52 44 52 41 57   { LBS_OWNERDRAW
2af60 56 41 52 49 41 42 4c 45 20 3d 20 30 78 30 30 32  VARIABLE = 0x002
2af70 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
2af80 20 7b 20 4c 42 53 5f 48 41 53 53 54 52 49 4e 47   { LBS_HASSTRING
2af90 53 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 65 6e  S = 0x0040 }..en
2afa0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 53 5f  um : uint { LBS_
2afb0 55 53 45 54 41 42 53 54 4f 50 53 20 3d 20 30 78  USETABSTOPS = 0x
2afc0 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0080 }..enum : u
2afd0 69 6e 74 20 7b 20 4c 42 53 5f 4e 4f 49 4e 54 45  int { LBS_NOINTE
2afe0 47 52 41 4c 48 45 49 47 48 54 20 3d 20 30 78 30  GRALHEIGHT = 0x0
2aff0 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  100 }..enum : ui
2b000 6e 74 20 7b 20 4c 42 53 5f 4d 55 4c 54 49 43 4f  nt { LBS_MULTICO
2b010 4c 55 4d 4e 20 3d 20 30 78 30 32 30 30 20 7d 0d  LUMN = 0x0200 }.
2b020 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
2b030 42 53 5f 57 41 4e 54 4b 45 59 42 4f 41 52 44 49  BS_WANTKEYBOARDI
2b040 4e 50 55 54 20 3d 20 30 78 30 34 30 30 20 7d 0d  NPUT = 0x0400 }.
2b050 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
2b060 42 53 5f 45 58 54 45 4e 44 45 44 53 45 4c 20 3d  BS_EXTENDEDSEL =
2b070 20 30 78 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x0800 }..enum 
2b080 3a 20 75 69 6e 74 20 7b 20 4c 42 53 5f 44 49 53  : uint { LBS_DIS
2b090 41 42 4c 45 4e 4f 53 43 52 4f 4c 4c 20 3d 20 30  ABLENOSCROLL = 0
2b0a0 78 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x1000 }..enum : 
2b0b0 75 69 6e 74 20 7b 20 4c 42 53 5f 4e 4f 44 41 54  uint { LBS_NODAT
2b0c0 41 20 3d 20 30 78 32 30 30 30 20 7d 0d 0a 2f 2f  A = 0x2000 }..//
2b0d0 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
2b0e0 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0400)..enum : u
2b0f0 69 6e 74 20 7b 20 4c 42 53 5f 4e 4f 53 45 4c 20  int { LBS_NOSEL 
2b100 3d 20 30 78 34 30 30 30 20 7d 0d 0a 2f 2f 20 23  = 0x4000 }..// #
2b110 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
2b120 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 65 6e  >= 0x0400 */..en
2b130 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 53 5f  um : uint { LBS_
2b140 53 54 41 4e 44 41 52 44 20 3d 20 4c 42 53 5f 4e  STANDARD = LBS_N
2b150 4f 54 49 46 59 20 7c 20 4c 42 53 5f 53 4f 52 54  OTIFY | LBS_SORT
2b160 20 7c 20 57 53 5f 56 53 43 52 4f 4c 4c 20 7c 20   | WS_VSCROLL | 
2b170 57 53 5f 42 4f 52 44 45 52 20 7d 0d 0a 0d 0a 2f  WS_BORDER }..../
2b180 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 57  / #endif /* !NOW
2b190 49 4e 53 54 59 4c 45 53 20 2a 2f 0d 0a 0d 0a 65  INSTYLES */....e
2b1a0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 5f  num : uint { CB_
2b1b0 4f 4b 41 59 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d  OKAY = 0 }..enum
2b1c0 20 7b 20 43 42 5f 45 52 52 20 3d 20 2d 31 20 7d   { CB_ERR = -1 }
2b1d0 0d 0a 65 6e 75 6d 20 7b 20 43 42 5f 45 52 52 53  ..enum { CB_ERRS
2b1e0 50 41 43 45 20 3d 20 2d 32 20 7d 0d 0a 0d 0a 65  PACE = -2 }....e
2b1f0 6e 75 6d 20 7b 20 43 42 4e 5f 45 52 52 53 50 41  num { CBN_ERRSPA
2b200 43 45 20 3d 20 2d 31 20 7d 0d 0a 65 6e 75 6d 20  CE = -1 }..enum 
2b210 3a 20 75 69 6e 74 20 7b 20 43 42 4e 5f 53 45 4c  : uint { CBN_SEL
2b220 43 48 41 4e 47 45 20 3d 20 31 20 7d 0d 0a 65 6e  CHANGE = 1 }..en
2b230 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 4e 5f  um : uint { CBN_
2b240 44 42 4c 43 4c 4b 20 3d 20 32 20 7d 0d 0a 65 6e  DBLCLK = 2 }..en
2b250 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 4e 5f  um : uint { CBN_
2b260 53 45 54 46 4f 43 55 53 20 3d 20 33 20 7d 0d 0a  SETFOCUS = 3 }..
2b270 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42  enum : uint { CB
2b280 4e 5f 4b 49 4c 4c 46 4f 43 55 53 20 3d 20 34 20  N_KILLFOCUS = 4 
2b290 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2b2a0 20 43 42 4e 5f 45 44 49 54 43 48 41 4e 47 45 20   CBN_EDITCHANGE 
2b2b0 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 5 }..enum : ui
2b2c0 6e 74 20 7b 20 43 42 4e 5f 45 44 49 54 55 50 44  nt { CBN_EDITUPD
2b2d0 41 54 45 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20  ATE = 6 }..enum 
2b2e0 3a 20 75 69 6e 74 20 7b 20 43 42 4e 5f 44 52 4f  : uint { CBN_DRO
2b2f0 50 44 4f 57 4e 20 3d 20 37 20 7d 0d 0a 65 6e 75  PDOWN = 7 }..enu
2b300 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 4e 5f 43  m : uint { CBN_C
2b310 4c 4f 53 45 55 50 20 3d 20 38 20 7d 0d 0a 65 6e  LOSEUP = 8 }..en
2b320 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 4e 5f  um : uint { CBN_
2b330 53 45 4c 45 4e 44 4f 4b 20 3d 20 39 20 7d 0d 0a  SELENDOK = 9 }..
2b340 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42  enum : uint { CB
2b350 4e 5f 53 45 4c 45 4e 44 43 41 4e 43 45 4c 20 3d  N_SELENDCANCEL =
2b360 20 31 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 6e   10 }....// #ifn
2b370 64 65 66 20 4e 4f 57 49 4e 53 54 59 4c 45 53 0d  def NOWINSTYLES.
2b380 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2b390 20 43 42 53 5f 53 49 4d 50 4c 45 20 3d 20 30 78   CBS_SIMPLE = 0x
2b3a0 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
2b3b0 69 6e 74 20 7b 20 43 42 53 5f 44 52 4f 50 44 4f  int { CBS_DROPDO
2b3c0 57 4e 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65  WN = 0x0002 }..e
2b3d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 53  num : uint { CBS
2b3e0 5f 44 52 4f 50 44 4f 57 4e 4c 49 53 54 20 3d 20  _DROPDOWNLIST = 
2b3f0 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0003 }..enum :
2b400 20 75 69 6e 74 20 7b 20 43 42 53 5f 4f 57 4e 45   uint { CBS_OWNE
2b410 52 44 52 41 57 46 49 58 45 44 20 3d 20 30 78 30  RDRAWFIXED = 0x0
2b420 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
2b430 6e 74 20 7b 20 43 42 53 5f 4f 57 4e 45 52 44 52  nt { CBS_OWNERDR
2b440 41 57 56 41 52 49 41 42 4c 45 20 3d 20 30 78 30  AWVARIABLE = 0x0
2b450 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  020 }..enum : ui
2b460 6e 74 20 7b 20 43 42 53 5f 41 55 54 4f 48 53 43  nt { CBS_AUTOHSC
2b470 52 4f 4c 4c 20 3d 20 30 78 30 30 34 30 20 7d 0d  ROLL = 0x0040 }.
2b480 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
2b490 42 53 5f 4f 45 4d 43 4f 4e 56 45 52 54 20 3d 20  BS_OEMCONVERT = 
2b4a0 30 78 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0080 }..enum :
2b4b0 20 75 69 6e 74 20 7b 20 43 42 53 5f 53 4f 52 54   uint { CBS_SORT
2b4c0 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 65 6e 75   = 0x0100 }..enu
2b4d0 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 53 5f 48  m : uint { CBS_H
2b4e0 41 53 53 54 52 49 4e 47 53 20 3d 20 30 78 30 32  ASSTRINGS = 0x02
2b4f0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
2b500 74 20 7b 20 43 42 53 5f 4e 4f 49 4e 54 45 47 52  t { CBS_NOINTEGR
2b510 41 4c 48 45 49 47 48 54 20 3d 20 30 78 30 34 30  ALHEIGHT = 0x040
2b520 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
2b530 20 7b 20 43 42 53 5f 44 49 53 41 42 4c 45 4e 4f   { CBS_DISABLENO
2b540 53 43 52 4f 4c 4c 20 3d 20 30 78 30 38 30 30 20  SCROLL = 0x0800 
2b550 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  }..// #if(WINVER
2b560 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75   >= 0x0400)..enu
2b570 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 53 5f 55  m : uint { CBS_U
2b580 50 50 45 52 43 41 53 45 20 3d 20 30 78 32 30 30  PPERCASE = 0x200
2b590 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
2b5a0 20 7b 20 43 42 53 5f 4c 4f 57 45 52 43 41 53 45   { CBS_LOWERCASE
2b5b0 20 3d 20 30 78 34 30 30 30 20 7d 0d 0a 2f 2f 20   = 0x4000 }..// 
2b5c0 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52  #endif /* WINVER
2b5d0 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d   >= 0x0400 */...
2b5e0 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2a 20 21  .// #endif  /* !
2b5f0 4e 4f 57 49 4e 53 54 59 4c 45 53 20 2a 2f 0d 0a  NOWINSTYLES */..
2b600 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 57  ..// #ifndef NOW
2b610 49 4e 4d 45 53 53 41 47 45 53 0d 0a 65 6e 75 6d  INMESSAGES..enum
2b620 20 3a 20 75 69 6e 74 20 7b 20 43 42 5f 47 45 54   : uint { CB_GET
2b630 45 44 49 54 53 45 4c 20 3d 20 30 78 30 31 34 30  EDITSEL = 0x0140
2b640 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2b650 7b 20 43 42 5f 4c 49 4d 49 54 54 45 58 54 20 3d  { CB_LIMITTEXT =
2b660 20 30 78 30 31 34 31 20 7d 0d 0a 65 6e 75 6d 20   0x0141 }..enum 
2b670 3a 20 75 69 6e 74 20 7b 20 43 42 5f 53 45 54 45  : uint { CB_SETE
2b680 44 49 54 53 45 4c 20 3d 20 30 78 30 31 34 32 20  DITSEL = 0x0142 
2b690 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2b6a0 20 43 42 5f 41 44 44 53 54 52 49 4e 47 20 3d 20   CB_ADDSTRING = 
2b6b0 30 78 30 31 34 33 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0143 }..enum :
2b6c0 20 75 69 6e 74 20 7b 20 43 42 5f 44 45 4c 45 54   uint { CB_DELET
2b6d0 45 53 54 52 49 4e 47 20 3d 20 30 78 30 31 34 34  ESTRING = 0x0144
2b6e0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2b6f0 7b 20 43 42 5f 44 49 52 20 3d 20 30 78 30 31 34  { CB_DIR = 0x014
2b700 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
2b710 20 7b 20 43 42 5f 47 45 54 43 4f 55 4e 54 20 3d   { CB_GETCOUNT =
2b720 20 30 78 30 31 34 36 20 7d 0d 0a 65 6e 75 6d 20   0x0146 }..enum 
2b730 3a 20 75 69 6e 74 20 7b 20 43 42 5f 47 45 54 43  : uint { CB_GETC
2b740 55 52 53 45 4c 20 3d 20 30 78 30 31 34 37 20 7d  URSEL = 0x0147 }
2b750 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2b760 43 42 5f 47 45 54 4c 42 54 45 58 54 20 3d 20 30  CB_GETLBTEXT = 0
2b770 78 30 31 34 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0148 }..enum : 
2b780 75 69 6e 74 20 7b 20 43 42 5f 47 45 54 4c 42 54  uint { CB_GETLBT
2b790 45 58 54 4c 45 4e 20 3d 20 30 78 30 31 34 39 20  EXTLEN = 0x0149 
2b7a0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2b7b0 20 43 42 5f 49 4e 53 45 52 54 53 54 52 49 4e 47   CB_INSERTSTRING
2b7c0 20 3d 20 30 78 30 31 34 41 20 7d 0d 0a 65 6e 75   = 0x014A }..enu
2b7d0 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 5f 52 45  m : uint { CB_RE
2b7e0 53 45 54 43 4f 4e 54 45 4e 54 20 3d 20 30 78 30  SETCONTENT = 0x0
2b7f0 31 34 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  14B }..enum : ui
2b800 6e 74 20 7b 20 43 42 5f 46 49 4e 44 53 54 52 49  nt { CB_FINDSTRI
2b810 4e 47 20 3d 20 30 78 30 31 34 43 20 7d 0d 0a 65  NG = 0x014C }..e
2b820 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 5f  num : uint { CB_
2b830 53 45 4c 45 43 54 53 54 52 49 4e 47 20 3d 20 30  SELECTSTRING = 0
2b840 78 30 31 34 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x014D }..enum : 
2b850 75 69 6e 74 20 7b 20 43 42 5f 53 45 54 43 55 52  uint { CB_SETCUR
2b860 53 45 4c 20 3d 20 30 78 30 31 34 45 20 7d 0d 0a  SEL = 0x014E }..
2b870 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42  enum : uint { CB
2b880 5f 53 48 4f 57 44 52 4f 50 44 4f 57 4e 20 3d 20  _SHOWDROPDOWN = 
2b890 30 78 30 31 34 46 20 7d 0d 0a 65 6e 75 6d 20 3a  0x014F }..enum :
2b8a0 20 75 69 6e 74 20 7b 20 43 42 5f 47 45 54 49 54   uint { CB_GETIT
2b8b0 45 4d 44 41 54 41 20 3d 20 30 78 30 31 35 30 20  EMDATA = 0x0150 
2b8c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2b8d0 20 43 42 5f 53 45 54 49 54 45 4d 44 41 54 41 20   CB_SETITEMDATA 
2b8e0 3d 20 30 78 30 31 35 31 20 7d 0d 0a 65 6e 75 6d  = 0x0151 }..enum
2b8f0 20 3a 20 75 69 6e 74 20 7b 20 43 42 5f 47 45 54   : uint { CB_GET
2b900 44 52 4f 50 50 45 44 43 4f 4e 54 52 4f 4c 52 45  DROPPEDCONTROLRE
2b910 43 54 20 3d 20 30 78 30 31 35 32 20 7d 0d 0a 65  CT = 0x0152 }..e
2b920 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 5f  num : uint { CB_
2b930 53 45 54 49 54 45 4d 48 45 49 47 48 54 20 3d 20  SETITEMHEIGHT = 
2b940 30 78 30 31 35 33 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0153 }..enum :
2b950 20 75 69 6e 74 20 7b 20 43 42 5f 47 45 54 49 54   uint { CB_GETIT
2b960 45 4d 48 45 49 47 48 54 20 3d 20 30 78 30 31 35  EMHEIGHT = 0x015
2b970 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
2b980 20 7b 20 43 42 5f 53 45 54 45 58 54 45 4e 44 45   { CB_SETEXTENDE
2b990 44 55 49 20 3d 20 30 78 30 31 35 35 20 7d 0d 0a  DUI = 0x0155 }..
2b9a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42  enum : uint { CB
2b9b0 5f 47 45 54 45 58 54 45 4e 44 45 44 55 49 20 3d  _GETEXTENDEDUI =
2b9c0 20 30 78 30 31 35 36 20 7d 0d 0a 65 6e 75 6d 20   0x0156 }..enum 
2b9d0 3a 20 75 69 6e 74 20 7b 20 43 42 5f 47 45 54 44  : uint { CB_GETD
2b9e0 52 4f 50 50 45 44 53 54 41 54 45 20 3d 20 30 78  ROPPEDSTATE = 0x
2b9f0 30 31 35 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0157 }..enum : u
2ba00 69 6e 74 20 7b 20 43 42 5f 46 49 4e 44 53 54 52  int { CB_FINDSTR
2ba10 49 4e 47 45 58 41 43 54 20 3d 20 30 78 30 31 35  INGEXACT = 0x015
2ba20 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
2ba30 20 7b 20 43 42 5f 53 45 54 4c 4f 43 41 4c 45 20   { CB_SETLOCALE 
2ba40 3d 20 30 78 30 31 35 39 20 7d 0d 0a 65 6e 75 6d  = 0x0159 }..enum
2ba50 20 3a 20 75 69 6e 74 20 7b 20 43 42 5f 47 45 54   : uint { CB_GET
2ba60 4c 4f 43 41 4c 45 20 3d 20 30 78 30 31 35 41 20  LOCALE = 0x015A 
2ba70 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  }..// #if(WINVER
2ba80 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75   >= 0x0400)..enu
2ba90 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 5f 47 45  m : uint { CB_GE
2baa0 54 54 4f 50 49 4e 44 45 58 20 3d 20 30 78 30 31  TTOPINDEX = 0x01
2bab0 35 62 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  5b }..enum : uin
2bac0 74 20 7b 20 43 42 5f 53 45 54 54 4f 50 49 4e 44  t { CB_SETTOPIND
2bad0 45 58 20 3d 20 30 78 30 31 35 63 20 7d 0d 0a 65  EX = 0x015c }..e
2bae0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 5f  num : uint { CB_
2baf0 47 45 54 48 4f 52 49 5a 4f 4e 54 41 4c 45 58 54  GETHORIZONTALEXT
2bb00 45 4e 54 20 3d 20 30 78 30 31 35 64 20 7d 0d 0a  ENT = 0x015d }..
2bb10 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42  enum : uint { CB
2bb20 5f 53 45 54 48 4f 52 49 5a 4f 4e 54 41 4c 45 58  _SETHORIZONTALEX
2bb30 54 45 4e 54 20 3d 20 30 78 30 31 35 65 20 7d 0d  TENT = 0x015e }.
2bb40 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
2bb50 42 5f 47 45 54 44 52 4f 50 50 45 44 57 49 44 54  B_GETDROPPEDWIDT
2bb60 48 20 3d 20 30 78 30 31 35 66 20 7d 0d 0a 65 6e  H = 0x015f }..en
2bb70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 5f 53  um : uint { CB_S
2bb80 45 54 44 52 4f 50 50 45 44 57 49 44 54 48 20 3d  ETDROPPEDWIDTH =
2bb90 20 30 78 30 31 36 30 20 7d 0d 0a 65 6e 75 6d 20   0x0160 }..enum 
2bba0 3a 20 75 69 6e 74 20 7b 20 43 42 5f 49 4e 49 54  : uint { CB_INIT
2bbb0 53 54 4f 52 41 47 45 20 3d 20 30 78 30 31 36 31  STORAGE = 0x0161
2bbc0 20 7d 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33   }..// #if(_WIN3
2bbd0 32 5f 57 43 45 20 3e 3d 20 30 78 30 34 30 30 29  2_WCE >= 0x0400)
2bbe0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
2bbf0 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  ndif..// #endif 
2bc00 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
2bc10 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66  400 */....// #if
2bc20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
2bc30 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 3a   0x0501)..enum :
2bc40 20 75 69 6e 74 20 7b 20 43 42 5f 47 45 54 43 4f   uint { CB_GETCO
2bc50 4d 42 4f 42 4f 58 49 4e 46 4f 20 3d 20 30 78 30  MBOBOXINFO = 0x0
2bc60 31 36 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  164 }..// #endif
2bc70 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54   /* _WIN32_WINNT
2bc80 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f 0d 0a 0d   >= 0x0501 */...
2bc90 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57  .// #if(_WIN32_W
2bca0 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d  INNT >= 0x0501).
2bcb0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
2bcc0 42 5f 4d 53 47 4d 41 58 20 3d 20 30 78 30 31 36  B_MSGMAX = 0x016
2bcd0 35 20 7d 0d 0a 2f 2f 20 23 65 6c 69 66 28 5f 57  5 }..// #elif(_W
2bce0 49 4e 33 32 5f 57 43 45 20 3e 3d 20 30 78 30 34  IN32_WCE >= 0x04
2bcf0 30 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  00)..// #.....//
2bd00 20 23 65 6c 69 66 28 57 49 4e 56 45 52 20 3e 3d   #elif(WINVER >=
2bd10 20 30 78 30 34 30 30 29 0d 0a 2f 2f 20 23 2e 2e   0x0400)..// #..
2bd20 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ...// #else..// 
2bd30 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
2bd40 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2a 20 21  .// #endif  /* !
2bd50 4e 4f 57 49 4e 4d 45 53 53 41 47 45 53 20 2a 2f  NOWINMESSAGES */
2bd60 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e  ....// #ifndef N
2bd70 4f 57 49 4e 53 54 59 4c 45 53 0d 0a 0d 0a 65 6e  OWINSTYLES....en
2bd80 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 53 5f  um : uint { SBS_
2bd90 48 4f 52 5a 20 3d 20 30 78 30 30 30 30 20 7d 0d  HORZ = 0x0000 }.
2bda0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2bdb0 42 53 5f 56 45 52 54 20 3d 20 30 78 30 30 30 31  BS_VERT = 0x0001
2bdc0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2bdd0 7b 20 53 42 53 5f 54 4f 50 41 4c 49 47 4e 20 3d  { SBS_TOPALIGN =
2bde0 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20   0x0002 }..enum 
2bdf0 3a 20 75 69 6e 74 20 7b 20 53 42 53 5f 4c 45 46  : uint { SBS_LEF
2be00 54 41 4c 49 47 4e 20 3d 20 30 78 30 30 30 32 20  TALIGN = 0x0002 
2be10 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2be20 20 53 42 53 5f 42 4f 54 54 4f 4d 41 4c 49 47 4e   SBS_BOTTOMALIGN
2be30 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75   = 0x0004 }..enu
2be40 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 53 5f 52  m : uint { SBS_R
2be50 49 47 48 54 41 4c 49 47 4e 20 3d 20 30 78 30 30  IGHTALIGN = 0x00
2be60 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
2be70 74 20 7b 20 53 42 53 5f 53 49 5a 45 42 4f 58 54  t { SBS_SIZEBOXT
2be80 4f 50 4c 45 46 54 41 4c 49 47 4e 20 3d 20 30 78  OPLEFTALIGN = 0x
2be90 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
2bea0 69 6e 74 20 7b 20 53 42 53 5f 53 49 5a 45 42 4f  int { SBS_SIZEBO
2beb0 58 42 4f 54 54 4f 4d 52 49 47 48 54 41 4c 49 47  XBOTTOMRIGHTALIG
2bec0 4e 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e  N = 0x0004 }..en
2bed0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 53 5f  um : uint { SBS_
2bee0 53 49 5a 45 42 4f 58 20 3d 20 30 78 30 30 30 38  SIZEBOX = 0x0008
2bef0 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45   }..// #if(WINVE
2bf00 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  R >= 0x0400)..en
2bf10 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 53 5f  um : uint { SBS_
2bf20 53 49 5a 45 47 52 49 50 20 3d 20 30 78 30 30 31  SIZEGRIP = 0x001
2bf30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  0 }..// #endif /
2bf40 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  * WINVER >= 0x04
2bf50 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  00 */....// #end
2bf60 69 66 20 2f 2a 20 21 4e 4f 57 49 4e 53 54 59 4c  if /* !NOWINSTYL
2bf70 45 53 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  ES */....// #ifn
2bf80 64 65 66 20 4e 4f 57 49 4e 4d 45 53 53 41 47 45  def NOWINMESSAGE
2bf90 53 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  S..enum : uint {
2bfa0 20 53 42 4d 5f 53 45 54 50 4f 53 20 3d 20 30 78   SBM_SETPOS = 0x
2bfb0 30 30 45 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  00E0 }..enum : u
2bfc0 69 6e 74 20 7b 20 53 42 4d 5f 47 45 54 50 4f 53  int { SBM_GETPOS
2bfd0 20 3d 20 30 78 30 30 45 31 20 7d 0d 0a 65 6e 75   = 0x00E1 }..enu
2bfe0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 4d 5f 53  m : uint { SBM_S
2bff0 45 54 52 41 4e 47 45 20 3d 20 30 78 30 30 45 32  ETRANGE = 0x00E2
2c000 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2c010 7b 20 53 42 4d 5f 53 45 54 52 41 4e 47 45 52 45  { SBM_SETRANGERE
2c020 44 52 41 57 20 3d 20 30 78 30 30 45 36 20 7d 0d  DRAW = 0x00E6 }.
2c030 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2c040 42 4d 5f 47 45 54 52 41 4e 47 45 20 3d 20 30 78  BM_GETRANGE = 0x
2c050 30 30 45 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  00E3 }..enum : u
2c060 69 6e 74 20 7b 20 53 42 4d 5f 45 4e 41 42 4c 45  int { SBM_ENABLE
2c070 5f 41 52 52 4f 57 53 20 3d 20 30 78 30 30 45 34  _ARROWS = 0x00E4
2c080 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45   }..// #if(WINVE
2c090 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  R >= 0x0400)..en
2c0a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 4d 5f  um : uint { SBM_
2c0b0 53 45 54 53 43 52 4f 4c 4c 49 4e 46 4f 20 3d 20  SETSCROLLINFO = 
2c0c0 30 78 30 30 45 39 20 7d 0d 0a 65 6e 75 6d 20 3a  0x00E9 }..enum :
2c0d0 20 75 69 6e 74 20 7b 20 53 42 4d 5f 47 45 54 53   uint { SBM_GETS
2c0e0 43 52 4f 4c 4c 49 4e 46 4f 20 3d 20 30 78 30 30  CROLLINFO = 0x00
2c0f0 45 41 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  EA }..// #endif 
2c100 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
2c110 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66  400 */....// #if
2c120 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
2c130 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 3a   0x0501)..enum :
2c140 20 75 69 6e 74 20 7b 20 53 42 4d 5f 47 45 54 53   uint { SBM_GETS
2c150 43 52 4f 4c 4c 42 41 52 49 4e 46 4f 20 3d 20 30  CROLLBARINFO = 0
2c160 78 30 30 45 42 20 7d 0d 0a 2f 2f 20 23 65 6e 64  x00EB }..// #end
2c170 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e  if /* _WIN32_WIN
2c180 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f 0d  NT >= 0x0501 */.
2c190 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  ...// #if(WINVER
2c1a0 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75   >= 0x0400)..enu
2c1b0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 49 46 5f 52  m : uint { SIF_R
2c1c0 41 4e 47 45 20 3d 20 30 78 30 30 30 31 20 7d 0d  ANGE = 0x0001 }.
2c1d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2c1e0 49 46 5f 50 41 47 45 20 3d 20 30 78 30 30 30 32  IF_PAGE = 0x0002
2c1f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2c200 7b 20 53 49 46 5f 50 4f 53 20 3d 20 30 78 30 30  { SIF_POS = 0x00
2c210 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
2c220 74 20 7b 20 53 49 46 5f 44 49 53 41 42 4c 45 4e  t { SIF_DISABLEN
2c230 4f 53 43 52 4f 4c 4c 20 3d 20 30 78 30 30 30 38  OSCROLL = 0x0008
2c240 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2c250 7b 20 53 49 46 5f 54 52 41 43 4b 50 4f 53 20 3d  { SIF_TRACKPOS =
2c260 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20   0x0010 }..enum 
2c270 3a 20 75 69 6e 74 20 7b 20 53 49 46 5f 41 4c 4c  : uint { SIF_ALL
2c280 20 3d 20 53 49 46 5f 52 41 4e 47 45 20 7c 20 53   = SIF_RANGE | S
2c290 49 46 5f 50 41 47 45 20 7c 20 53 49 46 5f 50 4f  IF_PAGE | SIF_PO
2c2a0 53 20 7c 20 53 49 46 5f 54 52 41 43 4b 50 4f 53  S | SIF_TRACKPOS
2c2b0 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67   }....struct tag
2c2c0 53 43 52 4f 4c 4c 49 4e 46 4f 20 7b 0d 0a 20 20  SCROLLINFO {..  
2c2d0 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20  UINT cbSize;..  
2c2e0 55 49 4e 54 20 66 4d 61 73 6b 3b 0d 0a 20 20 69  UINT fMask;..  i
2c2f0 6e 74 20 6e 4d 69 6e 3b 0d 0a 20 20 69 6e 74 20  nt nMin;..  int 
2c300 6e 4d 61 78 3b 0d 0a 20 20 55 49 4e 54 20 6e 50  nMax;..  UINT nP
2c310 61 67 65 3b 0d 0a 20 20 69 6e 74 20 6e 50 6f 73  age;..  int nPos
2c320 3b 0d 0a 20 20 69 6e 74 20 6e 54 72 61 63 6b 50  ;..  int nTrackP
2c330 6f 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  os;..}..alias ta
2c340 67 53 43 52 4f 4c 4c 49 4e 46 4f 20 53 43 52 4f  gSCROLLINFO SCRO
2c350 4c 4c 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74  LLINFO;..alias t
2c360 61 67 53 43 52 4f 4c 4c 49 4e 46 4f 2a 20 4c 50  agSCROLLINFO* LP
2c370 53 43 52 4f 4c 4c 49 4e 46 4f 3b 0d 0a 0d 0a 61  SCROLLINFO;....a
2c380 6c 69 61 73 20 53 43 52 4f 4c 4c 49 4e 46 4f 2a  lias SCROLLINFO*
2c390 20 4c 50 43 53 43 52 4f 4c 4c 49 4e 46 4f 3b 0d   LPCSCROLLINFO;.
2c3a0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
2c3b0 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 53 65  s) export int Se
2c3c0 74 53 63 72 6f 6c 6c 49 6e 66 6f 28 48 57 4e 44  tScrollInfo(HWND
2c3d0 2c 20 69 6e 74 2c 20 4c 50 43 53 43 52 4f 4c 4c  , int, LPCSCROLL
2c3e0 49 4e 46 4f 2c 20 42 4f 4f 4c 29 3b 0d 0a 65 78  INFO, BOOL);..ex
2c3f0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
2c400 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 53 63 72  port BOOL GetScr
2c410 6f 6c 6c 49 6e 66 6f 28 48 57 4e 44 2c 20 69 6e  ollInfo(HWND, in
2c420 74 2c 20 4c 50 53 43 52 4f 4c 4c 49 4e 46 4f 29  t, LPSCROLLINFO)
2c430 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  ;....// #endif /
2c440 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  * WINVER >= 0x04
2c450 30 30 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69 66  00 */..// #endif
2c460 20 2f 2a 20 21 4e 4f 57 49 4e 4d 45 53 53 41 47   /* !NOWINMESSAG
2c470 45 53 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69 66  ES */..// #endif
2c480 20 2f 2a 20 21 4e 4f 43 54 4c 4d 47 52 20 2a 2f   /* !NOCTLMGR */
2c490 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e  ....// #ifndef N
2c4a0 4f 4d 44 49 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  OMDI....enum : u
2c4b0 69 6e 74 20 7b 20 4d 44 49 53 5f 41 4c 4c 43 48  int { MDIS_ALLCH
2c4c0 49 4c 44 53 54 59 4c 45 53 20 3d 20 30 78 30 30  ILDSTYLES = 0x00
2c4d0 30 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  01 }....enum : u
2c4e0 69 6e 74 20 7b 20 4d 44 49 54 49 4c 45 5f 56 45  int { MDITILE_VE
2c4f0 52 54 49 43 41 4c 20 3d 20 30 78 30 30 30 30 20  RTICAL = 0x0000 
2c500 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2c510 20 4d 44 49 54 49 4c 45 5f 48 4f 52 49 5a 4f 4e   MDITILE_HORIZON
2c520 54 41 4c 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a  TAL = 0x0001 }..
2c530 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 44  enum : uint { MD
2c540 49 54 49 4c 45 5f 53 4b 49 50 44 49 53 41 42 4c  ITILE_SKIPDISABL
2c550 45 44 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 2f  ED = 0x0002 }../
2c560 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e  / #if(_WIN32_WIN
2c570 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65  NT >= 0x0500)..e
2c580 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 44 49  num : uint { MDI
2c590 54 49 4c 45 5f 5a 4f 52 44 45 52 20 3d 20 30 78  TILE_ZORDER = 0x
2c5a0 30 30 30 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0004 }..// #endi
2c5b0 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e  f /* _WIN32_WINN
2c5c0 54 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a  T >= 0x0500 */..
2c5d0 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 44 49 43  ..struct tagMDIC
2c5e0 52 45 41 54 45 53 54 52 55 43 54 41 20 7b 0d 0a  REATESTRUCTA {..
2c5f0 20 20 4c 50 43 53 54 52 20 73 7a 43 6c 61 73 73    LPCSTR szClass
2c600 3b 0d 0a 20 20 4c 50 43 53 54 52 20 73 7a 54 69  ;..  LPCSTR szTi
2c610 74 6c 65 3b 0d 0a 20 20 48 41 4e 44 4c 45 20 68  tle;..  HANDLE h
2c620 4f 77 6e 65 72 3b 0d 0a 20 20 69 6e 74 20 78 3b  Owner;..  int x;
2c630 0d 0a 20 20 69 6e 74 20 79 3b 0d 0a 20 20 69 6e  ..  int y;..  in
2c640 74 20 63 78 3b 0d 0a 20 20 69 6e 74 20 63 79 3b  t cx;..  int cy;
2c650 0d 0a 20 20 44 57 4f 52 44 20 73 74 79 6c 65 3b  ..  DWORD style;
2c660 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61  ..  LPARAM lPara
2c670 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  m;..}..alias tag
2c680 4d 44 49 43 52 45 41 54 45 53 54 52 55 43 54 41  MDICREATESTRUCTA
2c690 20 4d 44 49 43 52 45 41 54 45 53 54 52 55 43 54   MDICREATESTRUCT
2c6a0 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 44 49  A;..alias tagMDI
2c6b0 43 52 45 41 54 45 53 54 52 55 43 54 41 2a 20 4c  CREATESTRUCTA* L
2c6c0 50 4d 44 49 43 52 45 41 54 45 53 54 52 55 43 54  PMDICREATESTRUCT
2c6d0 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  A;....struct tag
2c6e0 4d 44 49 43 52 45 41 54 45 53 54 52 55 43 54 57  MDICREATESTRUCTW
2c6f0 20 7b 0d 0a 20 20 4c 50 43 57 53 54 52 20 73 7a   {..  LPCWSTR sz
2c700 43 6c 61 73 73 3b 0d 0a 20 20 4c 50 43 57 53 54  Class;..  LPCWST
2c710 52 20 73 7a 54 69 74 6c 65 3b 0d 0a 20 20 48 41  R szTitle;..  HA
2c720 4e 44 4c 45 20 68 4f 77 6e 65 72 3b 0d 0a 20 20  NDLE hOwner;..  
2c730 69 6e 74 20 78 3b 0d 0a 20 20 69 6e 74 20 79 3b  int x;..  int y;
2c740 0d 0a 20 20 69 6e 74 20 63 78 3b 0d 0a 20 20 69  ..  int cx;..  i
2c750 6e 74 20 63 79 3b 0d 0a 20 20 44 57 4f 52 44 20  nt cy;..  DWORD 
2c760 73 74 79 6c 65 3b 0d 0a 20 20 4c 50 41 52 41 4d  style;..  LPARAM
2c770 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69   lParam;..}..ali
2c780 61 73 20 74 61 67 4d 44 49 43 52 45 41 54 45 53  as tagMDICREATES
2c790 54 52 55 43 54 57 20 4d 44 49 43 52 45 41 54 45  TRUCTW MDICREATE
2c7a0 53 54 52 55 43 54 57 3b 0d 0a 61 6c 69 61 73 20  STRUCTW;..alias 
2c7b0 74 61 67 4d 44 49 43 52 45 41 54 45 53 54 52 55  tagMDICREATESTRU
2c7c0 43 54 57 2a 20 4c 50 4d 44 49 43 52 45 41 54 45  CTW* LPMDICREATE
2c7d0 53 54 52 55 43 54 57 3b 0d 0a 0d 0a 2f 2f 20 23  STRUCTW;....// #
2c7e0 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
2c7f0 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d  / .....// #else.
2c800 0a 61 6c 69 61 73 20 4d 44 49 43 52 45 41 54 45  .alias MDICREATE
2c810 53 54 52 55 43 54 41 20 4d 44 49 43 52 45 41 54  STRUCTA MDICREAT
2c820 45 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20  ESTRUCT;..alias 
2c830 4c 50 4d 44 49 43 52 45 41 54 45 53 54 52 55 43  LPMDICREATESTRUC
2c840 54 41 20 4c 50 4d 44 49 43 52 45 41 54 45 53 54  TA LPMDICREATEST
2c850 52 55 43 54 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  RUCT;..// #endif
2c860 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 73   // UNICODE....s
2c870 74 72 75 63 74 20 74 61 67 43 4c 49 45 4e 54 43  truct tagCLIENTC
2c880 52 45 41 54 45 53 54 52 55 43 54 20 7b 0d 0a 20  REATESTRUCT {.. 
2c890 20 48 41 4e 44 4c 45 20 68 57 69 6e 64 6f 77 4d   HANDLE hWindowM
2c8a0 65 6e 75 3b 0d 0a 20 20 55 49 4e 54 20 69 64 46  enu;..  UINT idF
2c8b0 69 72 73 74 43 68 69 6c 64 3b 0d 0a 7d 0d 0a 61  irstChild;..}..a
2c8c0 6c 69 61 73 20 74 61 67 43 4c 49 45 4e 54 43 52  lias tagCLIENTCR
2c8d0 45 41 54 45 53 54 52 55 43 54 20 43 4c 49 45 4e  EATESTRUCT CLIEN
2c8e0 54 43 52 45 41 54 45 53 54 52 55 43 54 3b 0d 0a  TCREATESTRUCT;..
2c8f0 61 6c 69 61 73 20 74 61 67 43 4c 49 45 4e 54 43  alias tagCLIENTC
2c900 52 45 41 54 45 53 54 52 55 43 54 2a 20 4c 50 43  REATESTRUCT* LPC
2c910 4c 49 45 4e 54 43 52 45 41 54 45 53 54 52 55 43  LIENTCREATESTRUC
2c920 54 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  T;....extern(Win
2c930 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4c 52 45  dows) export LRE
2c940 53 55 4c 54 20 44 65 66 46 72 61 6d 65 50 72 6f  SULT DefFramePro
2c950 63 41 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  cA(..  HWND hWnd
2c960 2c 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 4d 44  ,..  HWND hWndMD
2c970 49 43 6c 69 65 6e 74 2c 0d 0a 20 20 55 49 4e 54  IClient,..  UINT
2c980 20 75 4d 73 67 2c 0d 0a 20 20 57 50 41 52 41 4d   uMsg,..  WPARAM
2c990 20 77 50 61 72 61 6d 2c 0d 0a 20 20 4c 50 41 52   wParam,..  LPAR
2c9a0 41 4d 20 6c 50 61 72 61 6d 29 3b 0d 0a 65 78 74  AM lParam);..ext
2c9b0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
2c9c0 6f 72 74 20 4c 52 45 53 55 4c 54 20 44 65 66 46  ort LRESULT DefF
2c9d0 72 61 6d 65 50 72 6f 63 57 28 0d 0a 20 20 48 57  rameProcW(..  HW
2c9e0 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 48 57 4e 44  ND hWnd,..  HWND
2c9f0 20 68 57 6e 64 4d 44 49 43 6c 69 65 6e 74 2c 0d   hWndMDIClient,.
2ca00 0a 20 20 55 49 4e 54 20 75 4d 73 67 2c 0d 0a 20  .  UINT uMsg,.. 
2ca10 20 57 50 41 52 41 4d 20 77 50 61 72 61 6d 2c 0d   WPARAM wParam,.
2ca20 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d  .  LPARAM lParam
2ca30 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
2ca40 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ICODE..// #.....
2ca50 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
2ca60 44 65 66 46 72 61 6d 65 50 72 6f 63 41 20 44 65  DefFrameProcA De
2ca70 66 46 72 61 6d 65 50 72 6f 63 3b 0d 0a 2f 2f 20  fFrameProc;..// 
2ca80 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
2ca90 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
2caa0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4c 52 45  dows) export LRE
2cab0 53 55 4c 54 20 44 65 66 4d 44 49 43 68 69 6c 64  SULT DefMDIChild
2cac0 50 72 6f 63 41 28 48 57 4e 44 20 68 57 6e 64 2c  ProcA(HWND hWnd,
2cad0 20 55 49 4e 54 20 4d 73 67 2c 20 57 50 41 52 41   UINT Msg, WPARA
2cae0 4d 20 77 50 61 72 61 6d 2c 20 4c 50 41 52 41 4d  M wParam, LPARAM
2caf0 20 6c 50 61 72 61 6d 29 3b 0d 0a 65 78 74 65 72   lParam);..exter
2cb00 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
2cb10 74 20 4c 52 45 53 55 4c 54 20 44 65 66 4d 44 49  t LRESULT DefMDI
2cb20 43 68 69 6c 64 50 72 6f 63 57 28 48 57 4e 44 20  ChildProcW(HWND 
2cb30 68 57 6e 64 2c 20 55 49 4e 54 20 4d 73 67 2c 20  hWnd, UINT Msg, 
2cb40 57 50 41 52 41 4d 20 77 50 61 72 61 6d 2c 20 4c  WPARAM wParam, L
2cb50 50 41 52 41 4d 20 6c 50 61 72 61 6d 29 3b 0d 0a  PARAM lParam);..
2cb60 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
2cb70 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
2cb80 65 6c 73 65 0d 0a 61 6c 69 61 73 20 44 65 66 4d  else..alias DefM
2cb90 44 49 43 68 69 6c 64 50 72 6f 63 41 20 44 65 66  DIChildProcA Def
2cba0 4d 44 49 43 68 69 6c 64 50 72 6f 63 3b 0d 0a 2f  MDIChildProc;../
2cbb0 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
2cbc0 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  CODE....// #ifnd
2cbd0 65 66 20 4e 4f 4d 53 47 0d 0a 0d 0a 65 78 74 65  ef NOMSG....exte
2cbe0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
2cbf0 72 74 20 42 4f 4f 4c 20 54 72 61 6e 73 6c 61 74  rt BOOL Translat
2cc00 65 4d 44 49 53 79 73 41 63 63 65 6c 28 0d 0a 20  eMDISysAccel(.. 
2cc10 20 48 57 4e 44 20 68 57 6e 64 43 6c 69 65 6e 74   HWND hWndClient
2cc20 2c 0d 0a 20 20 4c 50 4d 53 47 20 6c 70 4d 73 67  ,..  LPMSG lpMsg
2cc30 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  );....// #endif 
2cc40 2f 2a 20 21 4e 4f 4d 53 47 20 2a 2f 0d 0a 0d 0a  /* !NOMSG */....
2cc50 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
2cc60 65 78 70 6f 72 74 20 55 49 4e 54 20 41 72 72 61  export UINT Arra
2cc70 6e 67 65 49 63 6f 6e 69 63 57 69 6e 64 6f 77 73  ngeIconicWindows
2cc80 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 29 3b  (..  HWND hWnd);
2cc90 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
2cca0 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20  ws) export HWND 
2ccb0 43 72 65 61 74 65 4d 44 49 57 69 6e 64 6f 77 41  CreateMDIWindowA
2ccc0 28 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 43 6c  (..  LPCSTR lpCl
2ccd0 61 73 73 4e 61 6d 65 2c 0d 0a 20 20 4c 50 43 53  assName,..  LPCS
2cce0 54 52 20 6c 70 57 69 6e 64 6f 77 4e 61 6d 65 2c  TR lpWindowName,
2ccf0 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 74 79 6c  ..  DWORD dwStyl
2cd00 65 2c 0d 0a 20 20 69 6e 74 20 58 2c 0d 0a 20 20  e,..  int X,..  
2cd10 69 6e 74 20 59 2c 0d 0a 20 20 69 6e 74 20 6e 57  int Y,..  int nW
2cd20 69 64 74 68 2c 0d 0a 20 20 69 6e 74 20 6e 48 65  idth,..  int nHe
2cd30 69 67 68 74 2c 0d 0a 20 20 48 57 4e 44 20 68 57  ight,..  HWND hW
2cd40 6e 64 50 61 72 65 6e 74 2c 0d 0a 20 20 48 49 4e  ndParent,..  HIN
2cd50 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65  STANCE hInstance
2cd60 2c 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72  ,..  LPARAM lPar
2cd70 61 6d 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  am);..extern(Win
2cd80 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e  dows) export HWN
2cd90 44 20 43 72 65 61 74 65 4d 44 49 57 69 6e 64 6f  D CreateMDIWindo
2cda0 77 57 28 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c  wW(..  LPCWSTR l
2cdb0 70 43 6c 61 73 73 4e 61 6d 65 2c 0d 0a 20 20 4c  pClassName,..  L
2cdc0 50 43 57 53 54 52 20 6c 70 57 69 6e 64 6f 77 4e  PCWSTR lpWindowN
2cdd0 61 6d 65 2c 0d 0a 20 20 44 57 4f 52 44 20 64 77  ame,..  DWORD dw
2cde0 53 74 79 6c 65 2c 0d 0a 20 20 69 6e 74 20 58 2c  Style,..  int X,
2cdf0 0d 0a 20 20 69 6e 74 20 59 2c 0d 0a 20 20 69 6e  ..  int Y,..  in
2ce00 74 20 6e 57 69 64 74 68 2c 0d 0a 20 20 69 6e 74  t nWidth,..  int
2ce10 20 6e 48 65 69 67 68 74 2c 0d 0a 20 20 48 57 4e   nHeight,..  HWN
2ce20 44 20 68 57 6e 64 50 61 72 65 6e 74 2c 0d 0a 20  D hWndParent,.. 
2ce30 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74   HINSTANCE hInst
2ce40 61 6e 63 65 2c 0d 0a 20 20 4c 50 41 52 41 4d 20  ance,..  LPARAM 
2ce50 6c 50 61 72 61 6d 29 3b 0d 0a 2f 2f 20 23 69 66  lParam);..// #if
2ce60 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
2ce70 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
2ce80 61 6c 69 61 73 20 43 72 65 61 74 65 4d 44 49 57  alias CreateMDIW
2ce90 69 6e 64 6f 77 41 20 43 72 65 61 74 65 4d 44 49  indowA CreateMDI
2cea0 57 69 6e 64 6f 77 3b 0d 0a 2f 2f 20 23 65 6e 64  Window;..// #end
2ceb0 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
2cec0 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20  ..// #if(WINVER 
2ced0 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 78 74 65  >= 0x0400)..exte
2cee0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
2cef0 72 74 20 57 4f 52 44 20 54 69 6c 65 57 69 6e 64  rt WORD TileWind
2cf00 6f 77 73 28 48 57 4e 44 20 68 77 6e 64 50 61 72  ows(HWND hwndPar
2cf10 65 6e 74 2c 20 55 49 4e 54 20 77 48 6f 77 2c 20  ent, UINT wHow, 
2cf20 52 45 43 54 20 2a 20 6c 70 52 65 63 74 2c 20 55  RECT * lpRect, U
2cf30 49 4e 54 20 63 4b 69 64 73 2c 20 48 57 4e 44 20  INT cKids, HWND 
2cf40 2a 20 6c 70 4b 69 64 73 29 3b 0d 0a 65 78 74 65  * lpKids);..exte
2cf50 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
2cf60 72 74 20 57 4f 52 44 20 43 61 73 63 61 64 65 57  rt WORD CascadeW
2cf70 69 6e 64 6f 77 73 28 48 57 4e 44 20 68 77 6e 64  indows(HWND hwnd
2cf80 50 61 72 65 6e 74 2c 20 55 49 4e 54 20 77 48 6f  Parent, UINT wHo
2cf90 77 2c 20 52 45 43 54 20 2a 20 6c 70 52 65 63 74  w, RECT * lpRect
2cfa0 2c 20 55 49 4e 54 20 63 4b 69 64 73 2c 20 48 57  , UINT cKids, HW
2cfb0 4e 44 20 2a 20 6c 70 4b 69 64 73 29 3b 0d 0a 2f  ND * lpKids);../
2cfc0 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
2cfd0 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  ER >= 0x0400 */.
2cfe0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e  .// #endif /* !N
2cff0 4f 4d 44 49 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 65  OMDI */....// #e
2d000 6e 64 69 66 20 2f 2a 20 21 4e 4f 55 53 45 52 20  ndif /* !NOUSER 
2d010 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  */....// #ifndef
2d020 20 4e 4f 48 45 4c 50 0d 0a 0d 0a 61 6c 69 61 73   NOHELP....alias
2d030 20 44 57 4f 52 44 20 48 45 4c 50 50 4f 4c 59 3b   DWORD HELPPOLY;
2d040 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 55 4c 54  ..struct tagMULT
2d050 49 4b 45 59 48 45 4c 50 41 20 7b 0d 0a 2f 2f 20  IKEYHELPA {..// 
2d060 23 69 66 6e 64 65 66 20 5f 4d 41 43 0d 0a 20 20  #ifndef _MAC..  
2d070 44 57 4f 52 44 20 6d 6b 53 69 7a 65 3b 0d 0a 2f  DWORD mkSize;../
2d080 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
2d090 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 20 20 43 48  .// #endif..  CH
2d0a0 41 52 20 6d 6b 4b 65 79 6c 69 73 74 3b 0d 0a 20  AR mkKeylist;.. 
2d0b0 20 43 48 41 52 20 73 7a 4b 65 79 70 68 72 61 73   CHAR szKeyphras
2d0c0 65 5b 31 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  e[1];..}..alias 
2d0d0 74 61 67 4d 55 4c 54 49 4b 45 59 48 45 4c 50 41  tagMULTIKEYHELPA
2d0e0 20 4d 55 4c 54 49 4b 45 59 48 45 4c 50 41 3b 0d   MULTIKEYHELPA;.
2d0f0 0a 61 6c 69 61 73 20 74 61 67 4d 55 4c 54 49 4b  .alias tagMULTIK
2d100 45 59 48 45 4c 50 41 2a 20 50 4d 55 4c 54 49 4b  EYHELPA* PMULTIK
2d110 45 59 48 45 4c 50 41 3b 0d 0a 61 6c 69 61 73 20  EYHELPA;..alias 
2d120 74 61 67 4d 55 4c 54 49 4b 45 59 48 45 4c 50 41  tagMULTIKEYHELPA
2d130 2a 20 4c 50 4d 55 4c 54 49 4b 45 59 48 45 4c 50  * LPMULTIKEYHELP
2d140 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  A;....struct tag
2d150 4d 55 4c 54 49 4b 45 59 48 45 4c 50 57 20 7b 0d  MULTIKEYHELPW {.
2d160 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f 4d 41 43  .// #ifndef _MAC
2d170 0d 0a 20 20 44 57 4f 52 44 20 6d 6b 53 69 7a 65  ..  DWORD mkSize
2d180 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
2d190 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
2d1a0 20 20 57 43 48 41 52 20 6d 6b 4b 65 79 6c 69 73    WCHAR mkKeylis
2d1b0 74 3b 0d 0a 20 20 57 43 48 41 52 20 73 7a 4b 65  t;..  WCHAR szKe
2d1c0 79 70 68 72 61 73 65 5b 31 5d 3b 0d 0a 7d 0d 0a  yphrase[1];..}..
2d1d0 61 6c 69 61 73 20 74 61 67 4d 55 4c 54 49 4b 45  alias tagMULTIKE
2d1e0 59 48 45 4c 50 57 20 4d 55 4c 54 49 4b 45 59 48  YHELPW MULTIKEYH
2d1f0 45 4c 50 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67  ELPW;..alias tag
2d200 4d 55 4c 54 49 4b 45 59 48 45 4c 50 57 2a 20 50  MULTIKEYHELPW* P
2d210 4d 55 4c 54 49 4b 45 59 48 45 4c 50 57 3b 0d 0a  MULTIKEYHELPW;..
2d220 61 6c 69 61 73 20 74 61 67 4d 55 4c 54 49 4b 45  alias tagMULTIKE
2d230 59 48 45 4c 50 57 2a 20 4c 50 4d 55 4c 54 49 4b  YHELPW* LPMULTIK
2d240 45 59 48 45 4c 50 57 3b 0d 0a 0d 0a 2f 2f 20 23  EYHELPW;....// #
2d250 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
2d260 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d  / .....// #else.
2d270 0a 61 6c 69 61 73 20 4d 55 4c 54 49 4b 45 59 48  .alias MULTIKEYH
2d280 45 4c 50 41 20 4d 55 4c 54 49 4b 45 59 48 45 4c  ELPA MULTIKEYHEL
2d290 50 3b 0d 0a 61 6c 69 61 73 20 50 4d 55 4c 54 49  P;..alias PMULTI
2d2a0 4b 45 59 48 45 4c 50 41 20 50 4d 55 4c 54 49 4b  KEYHELPA PMULTIK
2d2b0 45 59 48 45 4c 50 3b 0d 0a 61 6c 69 61 73 20 4c  EYHELP;..alias L
2d2c0 50 4d 55 4c 54 49 4b 45 59 48 45 4c 50 41 20 4c  PMULTIKEYHELPA L
2d2d0 50 4d 55 4c 54 49 4b 45 59 48 45 4c 50 3b 0d 0a  PMULTIKEYHELP;..
2d2e0 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49  // #endif // UNI
2d2f0 43 4f 44 45 0d 0a 0d 0a 73 74 72 75 63 74 20 74  CODE....struct t
2d300 61 67 48 45 4c 50 57 49 4e 49 4e 46 4f 41 20 7b  agHELPWININFOA {
2d310 0d 0a 20 20 69 6e 74 20 77 53 74 72 75 63 74 53  ..  int wStructS
2d320 69 7a 65 3b 0d 0a 20 20 69 6e 74 20 78 3b 0d 0a  ize;..  int x;..
2d330 20 20 69 6e 74 20 79 3b 0d 0a 20 20 69 6e 74 20    int y;..  int 
2d340 64 78 3b 0d 0a 20 20 69 6e 74 20 64 79 3b 0d 0a  dx;..  int dy;..
2d350 20 20 69 6e 74 20 77 4d 61 78 3b 0d 0a 20 20 43    int wMax;..  C
2d360 48 41 52 20 72 67 63 68 4d 65 6d 62 65 72 5b 32  HAR rgchMember[2
2d370 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  ];..}..alias tag
2d380 48 45 4c 50 57 49 4e 49 4e 46 4f 41 20 48 45 4c  HELPWININFOA HEL
2d390 50 57 49 4e 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61  PWININFOA;..alia
2d3a0 73 20 74 61 67 48 45 4c 50 57 49 4e 49 4e 46 4f  s tagHELPWININFO
2d3b0 41 2a 20 50 48 45 4c 50 57 49 4e 49 4e 46 4f 41  A* PHELPWININFOA
2d3c0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 48 45 4c 50  ;..alias tagHELP
2d3d0 57 49 4e 49 4e 46 4f 41 2a 20 4c 50 48 45 4c 50  WININFOA* LPHELP
2d3e0 57 49 4e 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 74 72  WININFOA;....str
2d3f0 75 63 74 20 74 61 67 48 45 4c 50 57 49 4e 49 4e  uct tagHELPWININ
2d400 46 4f 57 20 7b 0d 0a 20 20 69 6e 74 20 77 53 74  FOW {..  int wSt
2d410 72 75 63 74 53 69 7a 65 3b 0d 0a 20 20 69 6e 74  ructSize;..  int
2d420 20 78 3b 0d 0a 20 20 69 6e 74 20 79 3b 0d 0a 20   x;..  int y;.. 
2d430 20 69 6e 74 20 64 78 3b 0d 0a 20 20 69 6e 74 20   int dx;..  int 
2d440 64 79 3b 0d 0a 20 20 69 6e 74 20 77 4d 61 78 3b  dy;..  int wMax;
2d450 0d 0a 20 20 57 43 48 41 52 20 72 67 63 68 4d 65  ..  WCHAR rgchMe
2d460 6d 62 65 72 5b 32 5d 3b 0d 0a 7d 0d 0a 61 6c 69  mber[2];..}..ali
2d470 61 73 20 74 61 67 48 45 4c 50 57 49 4e 49 4e 46  as tagHELPWININF
2d480 4f 57 20 48 45 4c 50 57 49 4e 49 4e 46 4f 57 3b  OW HELPWININFOW;
2d490 0d 0a 61 6c 69 61 73 20 74 61 67 48 45 4c 50 57  ..alias tagHELPW
2d4a0 49 4e 49 4e 46 4f 57 2a 20 50 48 45 4c 50 57 49  ININFOW* PHELPWI
2d4b0 4e 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20 74  NINFOW;..alias t
2d4c0 61 67 48 45 4c 50 57 49 4e 49 4e 46 4f 57 2a 20  agHELPWININFOW* 
2d4d0 4c 50 48 45 4c 50 57 49 4e 49 4e 46 4f 57 3b 0d  LPHELPWININFOW;.
2d4e0 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
2d4f0 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  CODE..// .....//
2d500 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 48 45   #else..alias HE
2d510 4c 50 57 49 4e 49 4e 46 4f 41 20 48 45 4c 50 57  LPWININFOA HELPW
2d520 49 4e 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 50  ININFO;..alias P
2d530 48 45 4c 50 57 49 4e 49 4e 46 4f 41 20 50 48 45  HELPWININFOA PHE
2d540 4c 50 57 49 4e 49 4e 46 4f 3b 0d 0a 61 6c 69 61  LPWININFO;..alia
2d550 73 20 4c 50 48 45 4c 50 57 49 4e 49 4e 46 4f 41  s LPHELPWININFOA
2d560 20 4c 50 48 45 4c 50 57 49 4e 49 4e 46 4f 3b 0d   LPHELPWININFO;.
2d570 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e  .// #endif // UN
2d580 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  ICODE....enum : 
2d590 75 69 6e 74 20 7b 20 48 45 4c 50 5f 43 4f 4e 54  uint { HELP_CONT
2d5a0 45 58 54 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a  EXT = 0x0001 }..
2d5b0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 45  enum : uint { HE
2d5c0 4c 50 5f 51 55 49 54 20 3d 20 30 78 30 30 30 32  LP_QUIT = 0x0002
2d5d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2d5e0 7b 20 48 45 4c 50 5f 49 4e 44 45 58 20 3d 20 30  { HELP_INDEX = 0
2d5f0 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0003 }..enum : 
2d600 75 69 6e 74 20 7b 20 48 45 4c 50 5f 43 4f 4e 54  uint { HELP_CONT
2d610 45 4e 54 53 20 3d 20 30 78 30 30 30 33 20 7d 0d  ENTS = 0x0003 }.
2d620 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
2d630 45 4c 50 5f 48 45 4c 50 4f 4e 48 45 4c 50 20 3d  ELP_HELPONHELP =
2d640 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20   0x0004 }..enum 
2d650 3a 20 75 69 6e 74 20 7b 20 48 45 4c 50 5f 53 45  : uint { HELP_SE
2d660 54 49 4e 44 45 58 20 3d 20 30 78 30 30 30 35 20  TINDEX = 0x0005 
2d670 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2d680 20 48 45 4c 50 5f 53 45 54 43 4f 4e 54 45 4e 54   HELP_SETCONTENT
2d690 53 20 3d 20 30 78 30 30 30 35 20 7d 0d 0a 65 6e  S = 0x0005 }..en
2d6a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 45 4c 50  um : uint { HELP
2d6b0 5f 43 4f 4e 54 45 58 54 50 4f 50 55 50 20 3d 20  _CONTEXTPOPUP = 
2d6c0 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0008 }..enum :
2d6d0 20 75 69 6e 74 20 7b 20 48 45 4c 50 5f 46 4f 52   uint { HELP_FOR
2d6e0 43 45 46 49 4c 45 20 3d 20 30 78 30 30 30 39 20  CEFILE = 0x0009 
2d6f0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2d700 20 48 45 4c 50 5f 4b 45 59 20 3d 20 30 78 30 31   HELP_KEY = 0x01
2d710 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
2d720 74 20 7b 20 48 45 4c 50 5f 43 4f 4d 4d 41 4e 44  t { HELP_COMMAND
2d730 20 3d 20 30 78 30 31 30 32 20 7d 0d 0a 65 6e 75   = 0x0102 }..enu
2d740 6d 20 3a 20 75 69 6e 74 20 7b 20 48 45 4c 50 5f  m : uint { HELP_
2d750 50 41 52 54 49 41 4c 4b 45 59 20 3d 20 30 78 30  PARTIALKEY = 0x0
2d760 31 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  105 }..enum : ui
2d770 6e 74 20 7b 20 48 45 4c 50 5f 4d 55 4c 54 49 4b  nt { HELP_MULTIK
2d780 45 59 20 3d 20 30 78 30 32 30 31 20 7d 0d 0a 65  EY = 0x0201 }..e
2d790 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 45 4c  num : uint { HEL
2d7a0 50 5f 53 45 54 57 49 4e 50 4f 53 20 3d 20 30 78  P_SETWINPOS = 0x
2d7b0 30 32 30 33 20 7d 0d 0a 2f 2f 20 23 69 66 28 57  0203 }..// #if(W
2d7c0 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
2d7d0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2d7e0 48 45 4c 50 5f 43 4f 4e 54 45 58 54 4d 45 4e 55  HELP_CONTEXTMENU
2d7f0 20 3d 20 30 78 30 30 30 61 20 7d 0d 0a 65 6e 75   = 0x000a }..enu
2d800 6d 20 3a 20 75 69 6e 74 20 7b 20 48 45 4c 50 5f  m : uint { HELP_
2d810 46 49 4e 44 45 52 20 3d 20 30 78 30 30 30 62 20  FINDER = 0x000b 
2d820 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2d830 20 48 45 4c 50 5f 57 4d 5f 48 45 4c 50 20 3d 20   HELP_WM_HELP = 
2d840 30 78 30 30 30 63 20 7d 0d 0a 65 6e 75 6d 20 3a  0x000c }..enum :
2d850 20 75 69 6e 74 20 7b 20 48 45 4c 50 5f 53 45 54   uint { HELP_SET
2d860 50 4f 50 55 50 5f 50 4f 53 20 3d 20 30 78 30 30  POPUP_POS = 0x00
2d870 30 64 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  0d }....enum : u
2d880 69 6e 74 20 7b 20 48 45 4c 50 5f 54 43 41 52 44  int { HELP_TCARD
2d890 20 3d 20 30 78 38 30 30 30 20 7d 0d 0a 65 6e 75   = 0x8000 }..enu
2d8a0 6d 20 3a 20 75 69 6e 74 20 7b 20 48 45 4c 50 5f  m : uint { HELP_
2d8b0 54 43 41 52 44 5f 44 41 54 41 20 3d 20 30 78 30  TCARD_DATA = 0x0
2d8c0 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
2d8d0 6e 74 20 7b 20 48 45 4c 50 5f 54 43 41 52 44 5f  nt { HELP_TCARD_
2d8e0 4f 54 48 45 52 5f 43 41 4c 4c 45 52 20 3d 20 30  OTHER_CALLER = 0
2d8f0 78 30 30 31 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x0011 }....enum 
2d900 3a 20 75 69 6e 74 20 7b 20 49 44 48 5f 4e 4f 5f  : uint { IDH_NO_
2d910 48 45 4c 50 20 3d 20 32 38 34 34 30 20 7d 0d 0a  HELP = 28440 }..
2d920 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44  enum : uint { ID
2d930 48 5f 4d 49 53 53 49 4e 47 5f 43 4f 4e 54 45 58  H_MISSING_CONTEX
2d940 54 20 3d 20 32 38 34 34 31 20 7d 0d 0a 65 6e 75  T = 28441 }..enu
2d950 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44 48 5f 47  m : uint { IDH_G
2d960 45 4e 45 52 49 43 5f 48 45 4c 50 5f 42 55 54 54  ENERIC_HELP_BUTT
2d970 4f 4e 20 3d 20 32 38 34 34 32 20 7d 0d 0a 65 6e  ON = 28442 }..en
2d980 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44 48 5f  um : uint { IDH_
2d990 4f 4b 20 3d 20 32 38 34 34 33 20 7d 0d 0a 65 6e  OK = 28443 }..en
2d9a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44 48 5f  um : uint { IDH_
2d9b0 43 41 4e 43 45 4c 20 3d 20 32 38 34 34 34 20 7d  CANCEL = 28444 }
2d9c0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2d9d0 49 44 48 5f 48 45 4c 50 20 3d 20 32 38 34 34 35  IDH_HELP = 28445
2d9e0 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20   }....// #endif 
2d9f0 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
2da00 34 30 30 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e  400 */....extern
2da10 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
2da20 20 42 4f 4f 4c 20 57 69 6e 48 65 6c 70 41 28 0d   BOOL WinHelpA(.
2da30 0a 20 20 48 57 4e 44 20 68 57 6e 64 4d 61 69 6e  .  HWND hWndMain
2da40 2c 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 7a  ,..  LPCSTR lpsz
2da50 48 65 6c 70 2c 0d 0a 20 20 55 49 4e 54 20 75 43  Help,..  UINT uC
2da60 6f 6d 6d 61 6e 64 2c 0d 0a 20 20 55 4c 4f 4e 47  ommand,..  ULONG
2da70 5f 50 54 52 20 64 77 44 61 74 61 29 3b 0d 0a 65  _PTR dwData);..e
2da80 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
2da90 78 70 6f 72 74 20 42 4f 4f 4c 20 57 69 6e 48 65  xport BOOL WinHe
2daa0 6c 70 57 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  lpW(..  HWND hWn
2dab0 64 4d 61 69 6e 2c 0d 0a 20 20 4c 50 43 57 53 54  dMain,..  LPCWST
2dac0 52 20 6c 70 73 7a 48 65 6c 70 2c 0d 0a 20 20 55  R lpszHelp,..  U
2dad0 49 4e 54 20 75 43 6f 6d 6d 61 6e 64 2c 0d 0a 20  INT uCommand,.. 
2dae0 20 55 4c 4f 4e 47 5f 50 54 52 20 64 77 44 61 74   ULONG_PTR dwDat
2daf0 61 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  a);..// #ifdef U
2db00 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
2db10 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
2db20 20 57 69 6e 48 65 6c 70 41 20 57 69 6e 48 65 6c   WinHelpA WinHel
2db30 70 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  p;..// #endif //
2db40 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20   !UNICODE....// 
2db50 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 48 45 4c  #endif /* !NOHEL
2db60 50 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57  P */....// #if(W
2db70 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29  INVER >= 0x0500)
2db80 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
2db90 7b 20 47 52 5f 47 44 49 4f 42 4a 45 43 54 53 20  { GR_GDIOBJECTS 
2dba0 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 0 }..enum : ui
2dbb0 6e 74 20 7b 20 47 52 5f 55 53 45 52 4f 42 4a 45  nt { GR_USEROBJE
2dbc0 43 54 53 20 3d 20 31 20 7d 0d 0a 0d 0a 65 78 74  CTS = 1 }....ext
2dbd0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
2dbe0 6f 72 74 20 44 57 4f 52 44 20 47 65 74 47 75 69  ort DWORD GetGui
2dbf0 52 65 73 6f 75 72 63 65 73 28 0d 0a 20 20 48 41  Resources(..  HA
2dc00 4e 44 4c 45 20 68 50 72 6f 63 65 73 73 2c 0d 0a  NDLE hProcess,..
2dc10 20 20 44 57 4f 52 44 20 75 69 46 6c 61 67 73 29    DWORD uiFlags)
2dc20 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  ;....// #endif /
2dc30 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35  * WINVER >= 0x05
2dc40 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  00 */....// #ifn
2dc50 64 65 66 20 4e 4f 53 59 53 50 41 52 41 4d 53 49  def NOSYSPARAMSI
2dc60 4e 46 4f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  NFO....enum : ui
2dc70 6e 74 20 7b 20 53 50 49 5f 47 45 54 42 45 45 50  nt { SPI_GETBEEP
2dc80 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75   = 0x0001 }..enu
2dc90 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53  m : uint { SPI_S
2dca0 45 54 42 45 45 50 20 3d 20 30 78 30 30 30 32 20  ETBEEP = 0x0002 
2dcb0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2dcc0 20 53 50 49 5f 47 45 54 4d 4f 55 53 45 20 3d 20   SPI_GETMOUSE = 
2dcd0 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0003 }..enum :
2dce0 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 4d   uint { SPI_SETM
2dcf0 4f 55 53 45 20 3d 20 30 78 30 30 30 34 20 7d 0d  OUSE = 0x0004 }.
2dd00 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2dd10 50 49 5f 47 45 54 42 4f 52 44 45 52 20 3d 20 30  PI_GETBORDER = 0
2dd20 78 30 30 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0005 }..enum : 
2dd30 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 42 4f  uint { SPI_SETBO
2dd40 52 44 45 52 20 3d 20 30 78 30 30 30 36 20 7d 0d  RDER = 0x0006 }.
2dd50 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2dd60 50 49 5f 47 45 54 4b 45 59 42 4f 41 52 44 53 50  PI_GETKEYBOARDSP
2dd70 45 45 44 20 3d 20 30 78 30 30 30 41 20 7d 0d 0a  EED = 0x000A }..
2dd80 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50  enum : uint { SP
2dd90 49 5f 53 45 54 4b 45 59 42 4f 41 52 44 53 50 45  I_SETKEYBOARDSPE
2dda0 45 44 20 3d 20 30 78 30 30 30 42 20 7d 0d 0a 65  ED = 0x000B }..e
2ddb0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49  num : uint { SPI
2ddc0 5f 4c 41 4e 47 44 52 49 56 45 52 20 3d 20 30 78  _LANGDRIVER = 0x
2ddd0 30 30 30 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  000C }..enum : u
2dde0 69 6e 74 20 7b 20 53 50 49 5f 49 43 4f 4e 48 4f  int { SPI_ICONHO
2ddf0 52 49 5a 4f 4e 54 41 4c 53 50 41 43 49 4e 47 20  RIZONTALSPACING 
2de00 3d 20 30 78 30 30 30 44 20 7d 0d 0a 65 6e 75 6d  = 0x000D }..enum
2de10 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45   : uint { SPI_GE
2de20 54 53 43 52 45 45 4e 53 41 56 45 54 49 4d 45 4f  TSCREENSAVETIMEO
2de30 55 54 20 3d 20 30 78 30 30 30 45 20 7d 0d 0a 65  UT = 0x000E }..e
2de40 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49  num : uint { SPI
2de50 5f 53 45 54 53 43 52 45 45 4e 53 41 56 45 54 49  _SETSCREENSAVETI
2de60 4d 45 4f 55 54 20 3d 20 30 78 30 30 30 46 20 7d  MEOUT = 0x000F }
2de70 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2de80 53 50 49 5f 47 45 54 53 43 52 45 45 4e 53 41 56  SPI_GETSCREENSAV
2de90 45 41 43 54 49 56 45 20 3d 20 30 78 30 30 31 30  EACTIVE = 0x0010
2dea0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2deb0 7b 20 53 50 49 5f 53 45 54 53 43 52 45 45 4e 53  { SPI_SETSCREENS
2dec0 41 56 45 41 43 54 49 56 45 20 3d 20 30 78 30 30  AVEACTIVE = 0x00
2ded0 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  11 }..enum : uin
2dee0 74 20 7b 20 53 50 49 5f 47 45 54 47 52 49 44 47  t { SPI_GETGRIDG
2def0 52 41 4e 55 4c 41 52 49 54 59 20 3d 20 30 78 30  RANULARITY = 0x0
2df00 30 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  012 }..enum : ui
2df10 6e 74 20 7b 20 53 50 49 5f 53 45 54 47 52 49 44  nt { SPI_SETGRID
2df20 47 52 41 4e 55 4c 41 52 49 54 59 20 3d 20 30 78  GRANULARITY = 0x
2df30 30 30 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0013 }..enum : u
2df40 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 44 45 53  int { SPI_SETDES
2df50 4b 57 41 4c 4c 50 41 50 45 52 20 3d 20 30 78 30  KWALLPAPER = 0x0
2df60 30 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  014 }..enum : ui
2df70 6e 74 20 7b 20 53 50 49 5f 53 45 54 44 45 53 4b  nt { SPI_SETDESK
2df80 50 41 54 54 45 52 4e 20 3d 20 30 78 30 30 31 35  PATTERN = 0x0015
2df90 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2dfa0 7b 20 53 50 49 5f 47 45 54 4b 45 59 42 4f 41 52  { SPI_GETKEYBOAR
2dfb0 44 44 45 4c 41 59 20 3d 20 30 78 30 30 31 36 20  DDELAY = 0x0016 
2dfc0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2dfd0 20 53 50 49 5f 53 45 54 4b 45 59 42 4f 41 52 44   SPI_SETKEYBOARD
2dfe0 44 45 4c 41 59 20 3d 20 30 78 30 30 31 37 20 7d  DELAY = 0x0017 }
2dff0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2e000 53 50 49 5f 49 43 4f 4e 56 45 52 54 49 43 41 4c  SPI_ICONVERTICAL
2e010 53 50 41 43 49 4e 47 20 3d 20 30 78 30 30 31 38  SPACING = 0x0018
2e020 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2e030 7b 20 53 50 49 5f 47 45 54 49 43 4f 4e 54 49 54  { SPI_GETICONTIT
2e040 4c 45 57 52 41 50 20 3d 20 30 78 30 30 31 39 20  LEWRAP = 0x0019 
2e050 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2e060 20 53 50 49 5f 53 45 54 49 43 4f 4e 54 49 54 4c   SPI_SETICONTITL
2e070 45 57 52 41 50 20 3d 20 30 78 30 30 31 41 20 7d  EWRAP = 0x001A }
2e080 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2e090 53 50 49 5f 47 45 54 4d 45 4e 55 44 52 4f 50 41  SPI_GETMENUDROPA
2e0a0 4c 49 47 4e 4d 45 4e 54 20 3d 20 30 78 30 30 31  LIGNMENT = 0x001
2e0b0 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  B }..enum : uint
2e0c0 20 7b 20 53 50 49 5f 53 45 54 4d 45 4e 55 44 52   { SPI_SETMENUDR
2e0d0 4f 50 41 4c 49 47 4e 4d 45 4e 54 20 3d 20 30 78  OPALIGNMENT = 0x
2e0e0 30 30 31 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  001C }..enum : u
2e0f0 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 44 4f 55  int { SPI_SETDOU
2e100 42 4c 45 43 4c 4b 57 49 44 54 48 20 3d 20 30 78  BLECLKWIDTH = 0x
2e110 30 30 31 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  001D }..enum : u
2e120 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 44 4f 55  int { SPI_SETDOU
2e130 42 4c 45 43 4c 4b 48 45 49 47 48 54 20 3d 20 30  BLECLKHEIGHT = 0
2e140 78 30 30 31 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x001E }..enum : 
2e150 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 49 43  uint { SPI_GETIC
2e160 4f 4e 54 49 54 4c 45 4c 4f 47 46 4f 4e 54 20 3d  ONTITLELOGFONT =
2e170 20 30 78 30 30 31 46 20 7d 0d 0a 65 6e 75 6d 20   0x001F }..enum 
2e180 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54  : uint { SPI_SET
2e190 44 4f 55 42 4c 45 43 4c 49 43 4b 54 49 4d 45 20  DOUBLECLICKTIME 
2e1a0 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d  = 0x0020 }..enum
2e1b0 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45   : uint { SPI_SE
2e1c0 54 4d 4f 55 53 45 42 55 54 54 4f 4e 53 57 41 50  TMOUSEBUTTONSWAP
2e1d0 20 3d 20 30 78 30 30 32 31 20 7d 0d 0a 65 6e 75   = 0x0021 }..enu
2e1e0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53  m : uint { SPI_S
2e1f0 45 54 49 43 4f 4e 54 49 54 4c 45 4c 4f 47 46 4f  ETICONTITLELOGFO
2e200 4e 54 20 3d 20 30 78 30 30 32 32 20 7d 0d 0a 65  NT = 0x0022 }..e
2e210 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49  num : uint { SPI
2e220 5f 47 45 54 46 41 53 54 54 41 53 4b 53 57 49 54  _GETFASTTASKSWIT
2e230 43 48 20 3d 20 30 78 30 30 32 33 20 7d 0d 0a 65  CH = 0x0023 }..e
2e240 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49  num : uint { SPI
2e250 5f 53 45 54 46 41 53 54 54 41 53 4b 53 57 49 54  _SETFASTTASKSWIT
2e260 43 48 20 3d 20 30 78 30 30 32 34 20 7d 0d 0a 2f  CH = 0x0024 }../
2e270 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
2e280 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0400)..enum : 
2e290 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 44 52  uint { SPI_SETDR
2e2a0 41 47 46 55 4c 4c 57 49 4e 44 4f 57 53 20 3d 20  AGFULLWINDOWS = 
2e2b0 30 78 30 30 32 35 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0025 }..enum :
2e2c0 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 44   uint { SPI_GETD
2e2d0 52 41 47 46 55 4c 4c 57 49 4e 44 4f 57 53 20 3d  RAGFULLWINDOWS =
2e2e0 20 30 78 30 30 32 36 20 7d 0d 0a 65 6e 75 6d 20   0x0026 }..enum 
2e2f0 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54  : uint { SPI_GET
2e300 4e 4f 4e 43 4c 49 45 4e 54 4d 45 54 52 49 43 53  NONCLIENTMETRICS
2e310 20 3d 20 30 78 30 30 32 39 20 7d 0d 0a 65 6e 75   = 0x0029 }..enu
2e320 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53  m : uint { SPI_S
2e330 45 54 4e 4f 4e 43 4c 49 45 4e 54 4d 45 54 52 49  ETNONCLIENTMETRI
2e340 43 53 20 3d 20 30 78 30 30 32 41 20 7d 0d 0a 65  CS = 0x002A }..e
2e350 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49  num : uint { SPI
2e360 5f 47 45 54 4d 49 4e 49 4d 49 5a 45 44 4d 45 54  _GETMINIMIZEDMET
2e370 52 49 43 53 20 3d 20 30 78 30 30 32 42 20 7d 0d  RICS = 0x002B }.
2e380 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2e390 50 49 5f 53 45 54 4d 49 4e 49 4d 49 5a 45 44 4d  PI_SETMINIMIZEDM
2e3a0 45 54 52 49 43 53 20 3d 20 30 78 30 30 32 43 20  ETRICS = 0x002C 
2e3b0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2e3c0 20 53 50 49 5f 47 45 54 49 43 4f 4e 4d 45 54 52   SPI_GETICONMETR
2e3d0 49 43 53 20 3d 20 30 78 30 30 32 44 20 7d 0d 0a  ICS = 0x002D }..
2e3e0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50  enum : uint { SP
2e3f0 49 5f 53 45 54 49 43 4f 4e 4d 45 54 52 49 43 53  I_SETICONMETRICS
2e400 20 3d 20 30 78 30 30 32 45 20 7d 0d 0a 65 6e 75   = 0x002E }..enu
2e410 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53  m : uint { SPI_S
2e420 45 54 57 4f 52 4b 41 52 45 41 20 3d 20 30 78 30  ETWORKAREA = 0x0
2e430 30 32 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  02F }..enum : ui
2e440 6e 74 20 7b 20 53 50 49 5f 47 45 54 57 4f 52 4b  nt { SPI_GETWORK
2e450 41 52 45 41 20 3d 20 30 78 30 30 33 30 20 7d 0d  AREA = 0x0030 }.
2e460 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2e470 50 49 5f 53 45 54 50 45 4e 57 49 4e 44 4f 57 53  PI_SETPENWINDOWS
2e480 20 3d 20 30 78 30 30 33 31 20 7d 0d 0a 0d 0a 65   = 0x0031 }....e
2e490 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49  num : uint { SPI
2e4a0 5f 47 45 54 48 49 47 48 43 4f 4e 54 52 41 53 54  _GETHIGHCONTRAST
2e4b0 20 3d 20 30 78 30 30 34 32 20 7d 0d 0a 65 6e 75   = 0x0042 }..enu
2e4c0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53  m : uint { SPI_S
2e4d0 45 54 48 49 47 48 43 4f 4e 54 52 41 53 54 20 3d  ETHIGHCONTRAST =
2e4e0 20 30 78 30 30 34 33 20 7d 0d 0a 65 6e 75 6d 20   0x0043 }..enum 
2e4f0 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54  : uint { SPI_GET
2e500 4b 45 59 42 4f 41 52 44 50 52 45 46 20 3d 20 30  KEYBOARDPREF = 0
2e510 78 30 30 34 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0044 }..enum : 
2e520 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 4b 45  uint { SPI_SETKE
2e530 59 42 4f 41 52 44 50 52 45 46 20 3d 20 30 78 30  YBOARDPREF = 0x0
2e540 30 34 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  045 }..enum : ui
2e550 6e 74 20 7b 20 53 50 49 5f 47 45 54 53 43 52 45  nt { SPI_GETSCRE
2e560 45 4e 52 45 41 44 45 52 20 3d 20 30 78 30 30 34  ENREADER = 0x004
2e570 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
2e580 20 7b 20 53 50 49 5f 53 45 54 53 43 52 45 45 4e   { SPI_SETSCREEN
2e590 52 45 41 44 45 52 20 3d 20 30 78 30 30 34 37 20  READER = 0x0047 
2e5a0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2e5b0 20 53 50 49 5f 47 45 54 41 4e 49 4d 41 54 49 4f   SPI_GETANIMATIO
2e5c0 4e 20 3d 20 30 78 30 30 34 38 20 7d 0d 0a 65 6e  N = 0x0048 }..en
2e5d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f  um : uint { SPI_
2e5e0 53 45 54 41 4e 49 4d 41 54 49 4f 4e 20 3d 20 30  SETANIMATION = 0
2e5f0 78 30 30 34 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0049 }..enum : 
2e600 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 46 4f  uint { SPI_GETFO
2e610 4e 54 53 4d 4f 4f 54 48 49 4e 47 20 3d 20 30 78  NTSMOOTHING = 0x
2e620 30 30 34 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  004A }..enum : u
2e630 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 46 4f 4e  int { SPI_SETFON
2e640 54 53 4d 4f 4f 54 48 49 4e 47 20 3d 20 30 78 30  TSMOOTHING = 0x0
2e650 30 34 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  04B }..enum : ui
2e660 6e 74 20 7b 20 53 50 49 5f 53 45 54 44 52 41 47  nt { SPI_SETDRAG
2e670 57 49 44 54 48 20 3d 20 30 78 30 30 34 43 20 7d  WIDTH = 0x004C }
2e680 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2e690 53 50 49 5f 53 45 54 44 52 41 47 48 45 49 47 48  SPI_SETDRAGHEIGH
2e6a0 54 20 3d 20 30 78 30 30 34 44 20 7d 0d 0a 65 6e  T = 0x004D }..en
2e6b0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f  um : uint { SPI_
2e6c0 53 45 54 48 41 4e 44 48 45 4c 44 20 3d 20 30 78  SETHANDHELD = 0x
2e6d0 30 30 34 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  004E }..enum : u
2e6e0 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 4c 4f 57  int { SPI_GETLOW
2e6f0 50 4f 57 45 52 54 49 4d 45 4f 55 54 20 3d 20 30  POWERTIMEOUT = 0
2e700 78 30 30 34 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x004F }..enum : 
2e710 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 50 4f  uint { SPI_GETPO
2e720 57 45 52 4f 46 46 54 49 4d 45 4f 55 54 20 3d 20  WEROFFTIMEOUT = 
2e730 30 78 30 30 35 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0050 }..enum :
2e740 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 4c   uint { SPI_SETL
2e750 4f 57 50 4f 57 45 52 54 49 4d 45 4f 55 54 20 3d  OWPOWERTIMEOUT =
2e760 20 30 78 30 30 35 31 20 7d 0d 0a 65 6e 75 6d 20   0x0051 }..enum 
2e770 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54  : uint { SPI_SET
2e780 50 4f 57 45 52 4f 46 46 54 49 4d 45 4f 55 54 20  POWEROFFTIMEOUT 
2e790 3d 20 30 78 30 30 35 32 20 7d 0d 0a 65 6e 75 6d  = 0x0052 }..enum
2e7a0 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45   : uint { SPI_GE
2e7b0 54 4c 4f 57 50 4f 57 45 52 41 43 54 49 56 45 20  TLOWPOWERACTIVE 
2e7c0 3d 20 30 78 30 30 35 33 20 7d 0d 0a 65 6e 75 6d  = 0x0053 }..enum
2e7d0 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45   : uint { SPI_GE
2e7e0 54 50 4f 57 45 52 4f 46 46 41 43 54 49 56 45 20  TPOWEROFFACTIVE 
2e7f0 3d 20 30 78 30 30 35 34 20 7d 0d 0a 65 6e 75 6d  = 0x0054 }..enum
2e800 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45   : uint { SPI_SE
2e810 54 4c 4f 57 50 4f 57 45 52 41 43 54 49 56 45 20  TLOWPOWERACTIVE 
2e820 3d 20 30 78 30 30 35 35 20 7d 0d 0a 65 6e 75 6d  = 0x0055 }..enum
2e830 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45   : uint { SPI_SE
2e840 54 50 4f 57 45 52 4f 46 46 41 43 54 49 56 45 20  TPOWEROFFACTIVE 
2e850 3d 20 30 78 30 30 35 36 20 7d 0d 0a 65 6e 75 6d  = 0x0056 }..enum
2e860 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45   : uint { SPI_SE
2e870 54 43 55 52 53 4f 52 53 20 3d 20 30 78 30 30 35  TCURSORS = 0x005
2e880 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
2e890 20 7b 20 53 50 49 5f 53 45 54 49 43 4f 4e 53 20   { SPI_SETICONS 
2e8a0 3d 20 30 78 30 30 35 38 20 7d 0d 0a 65 6e 75 6d  = 0x0058 }..enum
2e8b0 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45   : uint { SPI_GE
2e8c0 54 44 45 46 41 55 4c 54 49 4e 50 55 54 4c 41 4e  TDEFAULTINPUTLAN
2e8d0 47 20 3d 20 30 78 30 30 35 39 20 7d 0d 0a 65 6e  G = 0x0059 }..en
2e8e0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f  um : uint { SPI_
2e8f0 53 45 54 44 45 46 41 55 4c 54 49 4e 50 55 54 4c  SETDEFAULTINPUTL
2e900 41 4e 47 20 3d 20 30 78 30 30 35 41 20 7d 0d 0a  ANG = 0x005A }..
2e910 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50  enum : uint { SP
2e920 49 5f 53 45 54 4c 41 4e 47 54 4f 47 47 4c 45 20  I_SETLANGTOGGLE 
2e930 3d 20 30 78 30 30 35 42 20 7d 0d 0a 65 6e 75 6d  = 0x005B }..enum
2e940 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45   : uint { SPI_GE
2e950 54 57 49 4e 44 4f 57 53 45 58 54 45 4e 53 49 4f  TWINDOWSEXTENSIO
2e960 4e 20 3d 20 30 78 30 30 35 43 20 7d 0d 0a 65 6e  N = 0x005C }..en
2e970 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f  um : uint { SPI_
2e980 53 45 54 4d 4f 55 53 45 54 52 41 49 4c 53 20 3d  SETMOUSETRAILS =
2e990 20 30 78 30 30 35 44 20 7d 0d 0a 65 6e 75 6d 20   0x005D }..enum 
2e9a0 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54  : uint { SPI_GET
2e9b0 4d 4f 55 53 45 54 52 41 49 4c 53 20 3d 20 30 78  MOUSETRAILS = 0x
2e9c0 30 30 35 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  005E }..enum : u
2e9d0 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 53 43 52  int { SPI_SETSCR
2e9e0 45 45 4e 53 41 56 45 52 52 55 4e 4e 49 4e 47 20  EENSAVERRUNNING 
2e9f0 3d 20 30 78 30 30 36 31 20 7d 0d 0a 61 6c 69 61  = 0x0061 }..alia
2ea00 73 20 53 50 49 5f 53 45 54 53 43 52 45 45 4e 53  s SPI_SETSCREENS
2ea10 41 56 45 52 52 55 4e 4e 49 4e 47 20 53 50 49 5f  AVERRUNNING SPI_
2ea20 53 43 52 45 45 4e 53 41 56 45 52 52 55 4e 4e 49  SCREENSAVERRUNNI
2ea30 4e 47 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  NG;..// #endif /
2ea40 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  * WINVER >= 0x04
2ea50 30 30 20 2a 2f 0d 0a 65 6e 75 6d 20 3a 20 75 69  00 */..enum : ui
2ea60 6e 74 20 7b 20 53 50 49 5f 47 45 54 46 49 4c 54  nt { SPI_GETFILT
2ea70 45 52 4b 45 59 53 20 3d 20 30 78 30 30 33 32 20  ERKEYS = 0x0032 
2ea80 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2ea90 20 53 50 49 5f 53 45 54 46 49 4c 54 45 52 4b 45   SPI_SETFILTERKE
2eaa0 59 53 20 3d 20 30 78 30 30 33 33 20 7d 0d 0a 65  YS = 0x0033 }..e
2eab0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49  num : uint { SPI
2eac0 5f 47 45 54 54 4f 47 47 4c 45 4b 45 59 53 20 3d  _GETTOGGLEKEYS =
2ead0 20 30 78 30 30 33 34 20 7d 0d 0a 65 6e 75 6d 20   0x0034 }..enum 
2eae0 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54  : uint { SPI_SET
2eaf0 54 4f 47 47 4c 45 4b 45 59 53 20 3d 20 30 78 30  TOGGLEKEYS = 0x0
2eb00 30 33 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  035 }..enum : ui
2eb10 6e 74 20 7b 20 53 50 49 5f 47 45 54 4d 4f 55 53  nt { SPI_GETMOUS
2eb20 45 4b 45 59 53 20 3d 20 30 78 30 30 33 36 20 7d  EKEYS = 0x0036 }
2eb30 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2eb40 53 50 49 5f 53 45 54 4d 4f 55 53 45 4b 45 59 53  SPI_SETMOUSEKEYS
2eb50 20 3d 20 30 78 30 30 33 37 20 7d 0d 0a 65 6e 75   = 0x0037 }..enu
2eb60 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47  m : uint { SPI_G
2eb70 45 54 53 48 4f 57 53 4f 55 4e 44 53 20 3d 20 30  ETSHOWSOUNDS = 0
2eb80 78 30 30 33 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0038 }..enum : 
2eb90 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 53 48  uint { SPI_SETSH
2eba0 4f 57 53 4f 55 4e 44 53 20 3d 20 30 78 30 30 33  OWSOUNDS = 0x003
2ebb0 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  9 }..enum : uint
2ebc0 20 7b 20 53 50 49 5f 47 45 54 53 54 49 43 4b 59   { SPI_GETSTICKY
2ebd0 4b 45 59 53 20 3d 20 30 78 30 30 33 41 20 7d 0d  KEYS = 0x003A }.
2ebe0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2ebf0 50 49 5f 53 45 54 53 54 49 43 4b 59 4b 45 59 53  PI_SETSTICKYKEYS
2ec00 20 3d 20 30 78 30 30 33 42 20 7d 0d 0a 65 6e 75   = 0x003B }..enu
2ec10 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47  m : uint { SPI_G
2ec20 45 54 41 43 43 45 53 53 54 49 4d 45 4f 55 54 20  ETACCESSTIMEOUT 
2ec30 3d 20 30 78 30 30 33 43 20 7d 0d 0a 65 6e 75 6d  = 0x003C }..enum
2ec40 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45   : uint { SPI_SE
2ec50 54 41 43 43 45 53 53 54 49 4d 45 4f 55 54 20 3d  TACCESSTIMEOUT =
2ec60 20 30 78 30 30 33 44 20 7d 0d 0a 2f 2f 20 23 69   0x003D }..// #i
2ec70 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
2ec80 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
2ec90 20 7b 20 53 50 49 5f 47 45 54 53 45 52 49 41 4c   { SPI_GETSERIAL
2eca0 4b 45 59 53 20 3d 20 30 78 30 30 33 45 20 7d 0d  KEYS = 0x003E }.
2ecb0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2ecc0 50 49 5f 53 45 54 53 45 52 49 41 4c 4b 45 59 53  PI_SETSERIALKEYS
2ecd0 20 3d 20 30 78 30 30 33 46 20 7d 0d 0a 2f 2f 20   = 0x003F }..// 
2ece0 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52  #endif /* WINVER
2ecf0 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 65   >= 0x0400 */..e
2ed00 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49  num : uint { SPI
2ed10 5f 47 45 54 53 4f 55 4e 44 53 45 4e 54 52 59 20  _GETSOUNDSENTRY 
2ed20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 65 6e 75 6d  = 0x0040 }..enum
2ed30 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45   : uint { SPI_SE
2ed40 54 53 4f 55 4e 44 53 45 4e 54 52 59 20 3d 20 30  TSOUNDSENTRY = 0
2ed50 78 30 30 34 31 20 7d 0d 0a 2f 2f 20 23 69 66 28  x0041 }..// #if(
2ed60 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
2ed70 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0400)..enum : 
2ed80 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 53 4e  uint { SPI_GETSN
2ed90 41 50 54 4f 44 45 46 42 55 54 54 4f 4e 20 3d 20  APTODEFBUTTON = 
2eda0 30 78 30 30 35 46 20 7d 0d 0a 65 6e 75 6d 20 3a  0x005F }..enum :
2edb0 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 53   uint { SPI_SETS
2edc0 4e 41 50 54 4f 44 45 46 42 55 54 54 4f 4e 20 3d  NAPTODEFBUTTON =
2edd0 20 30 78 30 30 36 30 20 7d 0d 0a 2f 2f 20 23 65   0x0060 }..// #e
2ede0 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57  ndif /* _WIN32_W
2edf0 49 4e 4e 54 20 3e 3d 20 30 78 30 34 30 30 20 2a  INNT >= 0x0400 *
2ee00 2f 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  /..// #if (_WIN3
2ee10 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 34 30  2_WINNT >= 0x040
2ee20 30 29 20 7c 7c 20 28 5f 57 49 4e 33 32 5f 57 49  0) || (_WIN32_WI
2ee30 4e 44 4f 57 53 20 3e 20 30 78 30 34 30 30 29 0d  NDOWS > 0x0400).
2ee40 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2ee50 50 49 5f 47 45 54 4d 4f 55 53 45 48 4f 56 45 52  PI_GETMOUSEHOVER
2ee60 57 49 44 54 48 20 3d 20 30 78 30 30 36 32 20 7d  WIDTH = 0x0062 }
2ee70 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2ee80 53 50 49 5f 53 45 54 4d 4f 55 53 45 48 4f 56 45  SPI_SETMOUSEHOVE
2ee90 52 57 49 44 54 48 20 3d 20 30 78 30 30 36 33 20  RWIDTH = 0x0063 
2eea0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2eeb0 20 53 50 49 5f 47 45 54 4d 4f 55 53 45 48 4f 56   SPI_GETMOUSEHOV
2eec0 45 52 48 45 49 47 48 54 20 3d 20 30 78 30 30 36  ERHEIGHT = 0x006
2eed0 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
2eee0 20 7b 20 53 50 49 5f 53 45 54 4d 4f 55 53 45 48   { SPI_SETMOUSEH
2eef0 4f 56 45 52 48 45 49 47 48 54 20 3d 20 30 78 30  OVERHEIGHT = 0x0
2ef00 30 36 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  065 }..enum : ui
2ef10 6e 74 20 7b 20 53 50 49 5f 47 45 54 4d 4f 55 53  nt { SPI_GETMOUS
2ef20 45 48 4f 56 45 52 54 49 4d 45 20 3d 20 30 78 30  EHOVERTIME = 0x0
2ef30 30 36 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  066 }..enum : ui
2ef40 6e 74 20 7b 20 53 50 49 5f 53 45 54 4d 4f 55 53  nt { SPI_SETMOUS
2ef50 45 48 4f 56 45 52 54 49 4d 45 20 3d 20 30 78 30  EHOVERTIME = 0x0
2ef60 30 36 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  067 }..enum : ui
2ef70 6e 74 20 7b 20 53 50 49 5f 47 45 54 57 48 45 45  nt { SPI_GETWHEE
2ef80 4c 53 43 52 4f 4c 4c 4c 49 4e 45 53 20 3d 20 30  LSCROLLLINES = 0
2ef90 78 30 30 36 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0068 }..enum : 
2efa0 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 57 48  uint { SPI_SETWH
2efb0 45 45 4c 53 43 52 4f 4c 4c 4c 49 4e 45 53 20 3d  EELSCROLLLINES =
2efc0 20 30 78 30 30 36 39 20 7d 0d 0a 65 6e 75 6d 20   0x0069 }..enum 
2efd0 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54  : uint { SPI_GET
2efe0 4d 45 4e 55 53 48 4f 57 44 45 4c 41 59 20 3d 20  MENUSHOWDELAY = 
2eff0 30 78 30 30 36 41 20 7d 0d 0a 65 6e 75 6d 20 3a  0x006A }..enum :
2f000 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 4d   uint { SPI_SETM
2f010 45 4e 55 53 48 4f 57 44 45 4c 41 59 20 3d 20 30  ENUSHOWDELAY = 0
2f020 78 30 30 36 42 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x006B }....enum 
2f030 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54  : uint { SPI_GET
2f040 53 48 4f 57 49 4d 45 55 49 20 3d 20 30 78 30 30  SHOWIMEUI = 0x00
2f050 36 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  6E }..enum : uin
2f060 74 20 7b 20 53 50 49 5f 53 45 54 53 48 4f 57 49  t { SPI_SETSHOWI
2f070 4d 45 55 49 20 3d 20 30 78 30 30 36 46 20 7d 0d  MEUI = 0x006F }.
2f080 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
2f090 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
2f0a0 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0500)..enum : u
2f0b0 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 4d 4f 55  int { SPI_GETMOU
2f0c0 53 45 53 50 45 45 44 20 3d 20 30 78 30 30 37 30  SESPEED = 0x0070
2f0d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2f0e0 7b 20 53 50 49 5f 53 45 54 4d 4f 55 53 45 53 50  { SPI_SETMOUSESP
2f0f0 45 45 44 20 3d 20 30 78 30 30 37 31 20 7d 0d 0a  EED = 0x0071 }..
2f100 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50  enum : uint { SP
2f110 49 5f 47 45 54 53 43 52 45 45 4e 53 41 56 45 52  I_GETSCREENSAVER
2f120 52 55 4e 4e 49 4e 47 20 3d 20 30 78 30 30 37 32  RUNNING = 0x0072
2f130 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2f140 7b 20 53 50 49 5f 47 45 54 44 45 53 4b 57 41 4c  { SPI_GETDESKWAL
2f150 4c 50 41 50 45 52 20 3d 20 30 78 30 30 37 33 20  LPAPER = 0x0073 
2f160 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  }..// #endif /* 
2f170 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30  WINVER >= 0x0500
2f180 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49   */....// #if(WI
2f190 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d  NVER >= 0x0500).
2f1a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2f1b0 50 49 5f 47 45 54 41 43 54 49 56 45 57 49 4e 44  PI_GETACTIVEWIND
2f1c0 4f 57 54 52 41 43 4b 49 4e 47 20 3d 20 30 78 31  OWTRACKING = 0x1
2f1d0 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
2f1e0 6e 74 20 7b 20 53 50 49 5f 53 45 54 41 43 54 49  nt { SPI_SETACTI
2f1f0 56 45 57 49 4e 44 4f 57 54 52 41 43 4b 49 4e 47  VEWINDOWTRACKING
2f200 20 3d 20 30 78 31 30 30 31 20 7d 0d 0a 65 6e 75   = 0x1001 }..enu
2f210 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47  m : uint { SPI_G
2f220 45 54 4d 45 4e 55 41 4e 49 4d 41 54 49 4f 4e 20  ETMENUANIMATION 
2f230 3d 20 30 78 31 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x1002 }..enum
2f240 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45   : uint { SPI_SE
2f250 54 4d 45 4e 55 41 4e 49 4d 41 54 49 4f 4e 20 3d  TMENUANIMATION =
2f260 20 30 78 31 30 30 33 20 7d 0d 0a 65 6e 75 6d 20   0x1003 }..enum 
2f270 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54  : uint { SPI_GET
2f280 43 4f 4d 42 4f 42 4f 58 41 4e 49 4d 41 54 49 4f  COMBOBOXANIMATIO
2f290 4e 20 3d 20 30 78 31 30 30 34 20 7d 0d 0a 65 6e  N = 0x1004 }..en
2f2a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f  um : uint { SPI_
2f2b0 53 45 54 43 4f 4d 42 4f 42 4f 58 41 4e 49 4d 41  SETCOMBOBOXANIMA
2f2c0 54 49 4f 4e 20 3d 20 30 78 31 30 30 35 20 7d 0d  TION = 0x1005 }.
2f2d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2f2e0 50 49 5f 47 45 54 4c 49 53 54 42 4f 58 53 4d 4f  PI_GETLISTBOXSMO
2f2f0 4f 54 48 53 43 52 4f 4c 4c 49 4e 47 20 3d 20 30  OTHSCROLLING = 0
2f300 78 31 30 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x1006 }..enum : 
2f310 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 4c 49  uint { SPI_SETLI
2f320 53 54 42 4f 58 53 4d 4f 4f 54 48 53 43 52 4f 4c  STBOXSMOOTHSCROL
2f330 4c 49 4e 47 20 3d 20 30 78 31 30 30 37 20 7d 0d  LING = 0x1007 }.
2f340 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2f350 50 49 5f 47 45 54 47 52 41 44 49 45 4e 54 43 41  PI_GETGRADIENTCA
2f360 50 54 49 4f 4e 53 20 3d 20 30 78 31 30 30 38 20  PTIONS = 0x1008 
2f370 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2f380 20 53 50 49 5f 53 45 54 47 52 41 44 49 45 4e 54   SPI_SETGRADIENT
2f390 43 41 50 54 49 4f 4e 53 20 3d 20 30 78 31 30 30  CAPTIONS = 0x100
2f3a0 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  9 }..enum : uint
2f3b0 20 7b 20 53 50 49 5f 47 45 54 4b 45 59 42 4f 41   { SPI_GETKEYBOA
2f3c0 52 44 43 55 45 53 20 3d 20 30 78 31 30 30 41 20  RDCUES = 0x100A 
2f3d0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2f3e0 20 53 50 49 5f 53 45 54 4b 45 59 42 4f 41 52 44   SPI_SETKEYBOARD
2f3f0 43 55 45 53 20 3d 20 30 78 31 30 30 42 20 7d 0d  CUES = 0x100B }.
2f400 0a 61 6c 69 61 73 20 53 50 49 5f 47 45 54 4b 45  .alias SPI_GETKE
2f410 59 42 4f 41 52 44 43 55 45 53 20 53 50 49 5f 47  YBOARDCUES SPI_G
2f420 45 54 4d 45 4e 55 55 4e 44 45 52 4c 49 4e 45 53  ETMENUUNDERLINES
2f430 3b 0d 0a 61 6c 69 61 73 20 53 50 49 5f 53 45 54  ;..alias SPI_SET
2f440 4b 45 59 42 4f 41 52 44 43 55 45 53 20 53 50 49  KEYBOARDCUES SPI
2f450 5f 53 45 54 4d 45 4e 55 55 4e 44 45 52 4c 49 4e  _SETMENUUNDERLIN
2f460 45 53 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  ES;..enum : uint
2f470 20 7b 20 53 50 49 5f 47 45 54 41 43 54 49 56 45   { SPI_GETACTIVE
2f480 57 4e 44 54 52 4b 5a 4f 52 44 45 52 20 3d 20 30  WNDTRKZORDER = 0
2f490 78 31 30 30 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x100C }..enum : 
2f4a0 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 41 43  uint { SPI_SETAC
2f4b0 54 49 56 45 57 4e 44 54 52 4b 5a 4f 52 44 45 52  TIVEWNDTRKZORDER
2f4c0 20 3d 20 30 78 31 30 30 44 20 7d 0d 0a 65 6e 75   = 0x100D }..enu
2f4d0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47  m : uint { SPI_G
2f4e0 45 54 48 4f 54 54 52 41 43 4b 49 4e 47 20 3d 20  ETHOTTRACKING = 
2f4f0 30 78 31 30 30 45 20 7d 0d 0a 65 6e 75 6d 20 3a  0x100E }..enum :
2f500 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 48   uint { SPI_SETH
2f510 4f 54 54 52 41 43 4b 49 4e 47 20 3d 20 30 78 31  OTTRACKING = 0x1
2f520 30 30 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  00F }..enum : ui
2f530 6e 74 20 7b 20 53 50 49 5f 47 45 54 4d 45 4e 55  nt { SPI_GETMENU
2f540 46 41 44 45 20 3d 20 30 78 31 30 31 32 20 7d 0d  FADE = 0x1012 }.
2f550 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2f560 50 49 5f 53 45 54 4d 45 4e 55 46 41 44 45 20 3d  PI_SETMENUFADE =
2f570 20 30 78 31 30 31 33 20 7d 0d 0a 65 6e 75 6d 20   0x1013 }..enum 
2f580 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54  : uint { SPI_GET
2f590 53 45 4c 45 43 54 49 4f 4e 46 41 44 45 20 3d 20  SELECTIONFADE = 
2f5a0 30 78 31 30 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a  0x1014 }..enum :
2f5b0 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 53   uint { SPI_SETS
2f5c0 45 4c 45 43 54 49 4f 4e 46 41 44 45 20 3d 20 30  ELECTIONFADE = 0
2f5d0 78 31 30 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x1015 }..enum : 
2f5e0 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 54 4f  uint { SPI_GETTO
2f5f0 4f 4c 54 49 50 41 4e 49 4d 41 54 49 4f 4e 20 3d  OLTIPANIMATION =
2f600 20 30 78 31 30 31 36 20 7d 0d 0a 65 6e 75 6d 20   0x1016 }..enum 
2f610 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54  : uint { SPI_SET
2f620 54 4f 4f 4c 54 49 50 41 4e 49 4d 41 54 49 4f 4e  TOOLTIPANIMATION
2f630 20 3d 20 30 78 31 30 31 37 20 7d 0d 0a 65 6e 75   = 0x1017 }..enu
2f640 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47  m : uint { SPI_G
2f650 45 54 54 4f 4f 4c 54 49 50 46 41 44 45 20 3d 20  ETTOOLTIPFADE = 
2f660 30 78 31 30 31 38 20 7d 0d 0a 65 6e 75 6d 20 3a  0x1018 }..enum :
2f670 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 54   uint { SPI_SETT
2f680 4f 4f 4c 54 49 50 46 41 44 45 20 3d 20 30 78 31  OOLTIPFADE = 0x1
2f690 30 31 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  019 }..enum : ui
2f6a0 6e 74 20 7b 20 53 50 49 5f 47 45 54 43 55 52 53  nt { SPI_GETCURS
2f6b0 4f 52 53 48 41 44 4f 57 20 3d 20 30 78 31 30 31  ORSHADOW = 0x101
2f6c0 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  A }..enum : uint
2f6d0 20 7b 20 53 50 49 5f 53 45 54 43 55 52 53 4f 52   { SPI_SETCURSOR
2f6e0 53 48 41 44 4f 57 20 3d 20 30 78 31 30 31 42 20  SHADOW = 0x101B 
2f6f0 7d 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32  }..// #if(_WIN32
2f700 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31  _WINNT >= 0x0501
2f710 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
2f720 20 53 50 49 5f 47 45 54 4d 4f 55 53 45 53 4f 4e   SPI_GETMOUSESON
2f730 41 52 20 3d 20 30 78 31 30 31 43 20 7d 0d 0a 65  AR = 0x101C }..e
2f740 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49  num : uint { SPI
2f750 5f 53 45 54 4d 4f 55 53 45 53 4f 4e 41 52 20 3d  _SETMOUSESONAR =
2f760 20 30 78 31 30 31 44 20 7d 0d 0a 65 6e 75 6d 20   0x101D }..enum 
2f770 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54  : uint { SPI_GET
2f780 4d 4f 55 53 45 43 4c 49 43 4b 4c 4f 43 4b 20 3d  MOUSECLICKLOCK =
2f790 20 30 78 31 30 31 45 20 7d 0d 0a 65 6e 75 6d 20   0x101E }..enum 
2f7a0 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54  : uint { SPI_SET
2f7b0 4d 4f 55 53 45 43 4c 49 43 4b 4c 4f 43 4b 20 3d  MOUSECLICKLOCK =
2f7c0 20 30 78 31 30 31 46 20 7d 0d 0a 65 6e 75 6d 20   0x101F }..enum 
2f7d0 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54  : uint { SPI_GET
2f7e0 4d 4f 55 53 45 56 41 4e 49 53 48 20 3d 20 30 78  MOUSEVANISH = 0x
2f7f0 31 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  1020 }..enum : u
2f800 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 4d 4f 55  int { SPI_SETMOU
2f810 53 45 56 41 4e 49 53 48 20 3d 20 30 78 31 30 32  SEVANISH = 0x102
2f820 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
2f830 20 7b 20 53 50 49 5f 47 45 54 46 4c 41 54 4d 45   { SPI_GETFLATME
2f840 4e 55 20 3d 20 30 78 31 30 32 32 20 7d 0d 0a 65  NU = 0x1022 }..e
2f850 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49  num : uint { SPI
2f860 5f 53 45 54 46 4c 41 54 4d 45 4e 55 20 3d 20 30  _SETFLATMENU = 0
2f870 78 31 30 32 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x1023 }..enum : 
2f880 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 44 52  uint { SPI_GETDR
2f890 4f 50 53 48 41 44 4f 57 20 3d 20 30 78 31 30 32  OPSHADOW = 0x102
2f8a0 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
2f8b0 20 7b 20 53 50 49 5f 53 45 54 44 52 4f 50 53 48   { SPI_SETDROPSH
2f8c0 41 44 4f 57 20 3d 20 30 78 31 30 32 35 20 7d 0d  ADOW = 0x1025 }.
2f8d0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57  .// #endif /* _W
2f8e0 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
2f8f0 30 35 30 31 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20  0501 */....enum 
2f900 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54  : uint { SPI_GET
2f910 55 49 45 46 46 45 43 54 53 20 3d 20 30 78 31 30  UIEFFECTS = 0x10
2f920 33 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  3E }..enum : uin
2f930 74 20 7b 20 53 50 49 5f 53 45 54 55 49 45 46 46  t { SPI_SETUIEFF
2f940 45 43 54 53 20 3d 20 30 78 31 30 33 46 20 7d 0d  ECTS = 0x103F }.
2f950 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2f960 20 53 50 49 5f 47 45 54 46 4f 52 45 47 52 4f 55   SPI_GETFOREGROU
2f970 4e 44 4c 4f 43 4b 54 49 4d 45 4f 55 54 20 3d 20  NDLOCKTIMEOUT = 
2f980 30 78 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x2000 }..enum :
2f990 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 46   uint { SPI_SETF
2f9a0 4f 52 45 47 52 4f 55 4e 44 4c 4f 43 4b 54 49 4d  OREGROUNDLOCKTIM
2f9b0 45 4f 55 54 20 3d 20 30 78 32 30 30 31 20 7d 0d  EOUT = 0x2001 }.
2f9c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2f9d0 50 49 5f 47 45 54 41 43 54 49 56 45 57 4e 44 54  PI_GETACTIVEWNDT
2f9e0 52 4b 54 49 4d 45 4f 55 54 20 3d 20 30 78 32 30  RKTIMEOUT = 0x20
2f9f0 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
2fa00 74 20 7b 20 53 50 49 5f 53 45 54 41 43 54 49 56  t { SPI_SETACTIV
2fa10 45 57 4e 44 54 52 4b 54 49 4d 45 4f 55 54 20 3d  EWNDTRKTIMEOUT =
2fa20 20 30 78 32 30 30 33 20 7d 0d 0a 65 6e 75 6d 20   0x2003 }..enum 
2fa30 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54  : uint { SPI_GET
2fa40 46 4f 52 45 47 52 4f 55 4e 44 46 4c 41 53 48 43  FOREGROUNDFLASHC
2fa50 4f 55 4e 54 20 3d 20 30 78 32 30 30 34 20 7d 0d  OUNT = 0x2004 }.
2fa60 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2fa70 50 49 5f 53 45 54 46 4f 52 45 47 52 4f 55 4e 44  PI_SETFOREGROUND
2fa80 46 4c 41 53 48 43 4f 55 4e 54 20 3d 20 30 78 32  FLASHCOUNT = 0x2
2fa90 30 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  005 }..enum : ui
2faa0 6e 74 20 7b 20 53 50 49 5f 47 45 54 43 41 52 45  nt { SPI_GETCARE
2fab0 54 57 49 44 54 48 20 3d 20 30 78 32 30 30 36 20  TWIDTH = 0x2006 
2fac0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2fad0 20 53 50 49 5f 53 45 54 43 41 52 45 54 57 49 44   SPI_SETCARETWID
2fae0 54 48 20 3d 20 30 78 32 30 30 37 20 7d 0d 0a 0d  TH = 0x2007 }...
2faf0 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57  .// #if(_WIN32_W
2fb00 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d  INNT >= 0x0501).
2fb10 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2fb20 50 49 5f 47 45 54 4d 4f 55 53 45 43 4c 49 43 4b  PI_GETMOUSECLICK
2fb30 4c 4f 43 4b 54 49 4d 45 20 3d 20 30 78 32 30 30  LOCKTIME = 0x200
2fb40 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
2fb50 20 7b 20 53 50 49 5f 53 45 54 4d 4f 55 53 45 43   { SPI_SETMOUSEC
2fb60 4c 49 43 4b 4c 4f 43 4b 54 49 4d 45 20 3d 20 30  LICKLOCKTIME = 0
2fb70 78 32 30 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x2009 }..enum : 
2fb80 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 46 4f  uint { SPI_GETFO
2fb90 4e 54 53 4d 4f 4f 54 48 49 4e 47 54 59 50 45 20  NTSMOOTHINGTYPE 
2fba0 3d 20 30 78 32 30 30 41 20 7d 0d 0a 65 6e 75 6d  = 0x200A }..enum
2fbb0 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45   : uint { SPI_SE
2fbc0 54 46 4f 4e 54 53 4d 4f 4f 54 48 49 4e 47 54 59  TFONTSMOOTHINGTY
2fbd0 50 45 20 3d 20 30 78 32 30 30 42 20 7d 0d 0a 0d  PE = 0x200B }...
2fbe0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46  .enum : uint { F
2fbf0 45 5f 46 4f 4e 54 53 4d 4f 4f 54 48 49 4e 47 53  E_FONTSMOOTHINGS
2fc00 54 41 4e 44 41 52 44 20 3d 20 30 78 30 30 30 31  TANDARD = 0x0001
2fc10 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2fc20 7b 20 46 45 5f 46 4f 4e 54 53 4d 4f 4f 54 48 49  { FE_FONTSMOOTHI
2fc30 4e 47 43 4c 45 41 52 54 59 50 45 20 3d 20 30 78  NGCLEARTYPE = 0x
2fc40 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
2fc50 69 6e 74 20 7b 20 46 45 5f 46 4f 4e 54 53 4d 4f  int { FE_FONTSMO
2fc60 4f 54 48 49 4e 47 44 4f 43 4b 49 4e 47 20 3d 20  OTHINGDOCKING = 
2fc70 30 78 38 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  0x8000 }....enum
2fc80 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45   : uint { SPI_GE
2fc90 54 46 4f 4e 54 53 4d 4f 4f 54 48 49 4e 47 43 4f  TFONTSMOOTHINGCO
2fca0 4e 54 52 41 53 54 20 3d 20 30 78 32 30 30 43 20  NTRAST = 0x200C 
2fcb0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2fcc0 20 53 50 49 5f 53 45 54 46 4f 4e 54 53 4d 4f 4f   SPI_SETFONTSMOO
2fcd0 54 48 49 4e 47 43 4f 4e 54 52 41 53 54 20 3d 20  THINGCONTRAST = 
2fce0 30 78 32 30 30 44 20 7d 0d 0a 0d 0a 65 6e 75 6d  0x200D }....enum
2fcf0 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45   : uint { SPI_GE
2fd00 54 46 4f 43 55 53 42 4f 52 44 45 52 57 49 44 54  TFOCUSBORDERWIDT
2fd10 48 20 3d 20 30 78 32 30 30 45 20 7d 0d 0a 65 6e  H = 0x200E }..en
2fd20 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f  um : uint { SPI_
2fd30 53 45 54 46 4f 43 55 53 42 4f 52 44 45 52 57 49  SETFOCUSBORDERWI
2fd40 44 54 48 20 3d 20 30 78 32 30 30 46 20 7d 0d 0a  DTH = 0x200F }..
2fd50 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50  enum : uint { SP
2fd60 49 5f 47 45 54 46 4f 43 55 53 42 4f 52 44 45 52  I_GETFOCUSBORDER
2fd70 48 45 49 47 48 54 20 3d 20 30 78 32 30 31 30 20  HEIGHT = 0x2010 
2fd80 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2fd90 20 53 50 49 5f 53 45 54 46 4f 43 55 53 42 4f 52   SPI_SETFOCUSBOR
2fda0 44 45 52 48 45 49 47 48 54 20 3d 20 30 78 32 30  DERHEIGHT = 0x20
2fdb0 31 31 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  11 }..// #endif 
2fdc0 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  /* _WIN32_WINNT 
2fdd0 3e 3d 20 30 78 30 35 30 31 20 2a 2f 0d 0a 0d 0a  >= 0x0501 */....
2fde0 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
2fdf0 56 45 52 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f  VER >= 0x0500 */
2fe00 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
2fe10 7b 20 53 50 49 46 5f 55 50 44 41 54 45 49 4e 49  { SPIF_UPDATEINI
2fe20 46 49 4c 45 20 3d 20 30 78 30 30 30 31 20 7d 0d  FILE = 0x0001 }.
2fe30 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2fe40 50 49 46 5f 53 45 4e 44 57 49 4e 49 4e 49 43 48  PIF_SENDWININICH
2fe50 41 4e 47 45 20 3d 20 30 78 30 30 30 32 20 7d 0d  ANGE = 0x0002 }.
2fe60 0a 61 6c 69 61 73 20 53 50 49 46 5f 53 45 4e 44  .alias SPIF_SEND
2fe70 57 49 4e 49 4e 49 43 48 41 4e 47 45 20 53 50 49  WININICHANGE SPI
2fe80 46 5f 53 45 4e 44 43 48 41 4e 47 45 3b 0d 0a 0d  F_SENDCHANGE;...
2fe90 0a 65 6e 75 6d 20 7b 20 4d 45 54 52 49 43 53 5f  .enum { METRICS_
2fea0 55 53 45 44 45 46 41 55 4c 54 20 3d 20 2d 31 20  USEDEFAULT = -1 
2feb0 7d 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49  }..// #ifdef _WI
2fec0 4e 47 44 49 5f 0d 0a 2f 2f 20 23 69 66 6e 64 65  NGDI_..// #ifnde
2fed0 66 20 4e 4f 47 44 49 0d 0a 2f 2f 20 2e 2e 2e 0d  f NOGDI..// ....
2fee0 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
2fef0 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  DE..// .....// #
2ff00 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  else..// .....//
2ff10 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f   #endif // UNICO
2ff20 44 45 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  DE..// #endif /*
2ff30 20 4e 4f 47 44 49 20 2a 2f 0d 0a 2f 2f 20 23 65   NOGDI */..// #e
2ff40 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 47 44 49 5f  ndif /* _WINGDI_
2ff50 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   */....enum : ui
2ff60 6e 74 20 7b 20 41 52 57 5f 42 4f 54 54 4f 4d 4c  nt { ARW_BOTTOML
2ff70 45 46 54 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a  EFT = 0x0000 }..
2ff80 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 52  enum : uint { AR
2ff90 57 5f 42 4f 54 54 4f 4d 52 49 47 48 54 20 3d 20  W_BOTTOMRIGHT = 
2ffa0 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0001 }..enum :
2ffb0 20 75 69 6e 74 20 7b 20 41 52 57 5f 54 4f 50 4c   uint { ARW_TOPL
2ffc0 45 46 54 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a  EFT = 0x0002 }..
2ffd0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 52  enum : uint { AR
2ffe0 57 5f 54 4f 50 52 49 47 48 54 20 3d 20 30 78 30  W_TOPRIGHT = 0x0
2fff0 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  003 }..enum : ui
30000 6e 74 20 7b 20 41 52 57 5f 53 54 41 52 54 4d 41  nt { ARW_STARTMA
30010 53 4b 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a 65  SK = 0x0003 }..e
30020 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 52 57  num : uint { ARW
30030 5f 53 54 41 52 54 52 49 47 48 54 20 3d 20 30 78  _STARTRIGHT = 0x
30040 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
30050 69 6e 74 20 7b 20 41 52 57 5f 53 54 41 52 54 54  int { ARW_STARTT
30060 4f 50 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 0d  OP = 0x0002 }...
30070 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41  .enum : uint { A
30080 52 57 5f 4c 45 46 54 20 3d 20 30 78 30 30 30 30  RW_LEFT = 0x0000
30090 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
300a0 7b 20 41 52 57 5f 52 49 47 48 54 20 3d 20 30 78  { ARW_RIGHT = 0x
300b0 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
300c0 69 6e 74 20 7b 20 41 52 57 5f 55 50 20 3d 20 30  int { ARW_UP = 0
300d0 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0004 }..enum : 
300e0 75 69 6e 74 20 7b 20 41 52 57 5f 44 4f 57 4e 20  uint { ARW_DOWN 
300f0 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d  = 0x0004 }..enum
30100 20 3a 20 75 69 6e 74 20 7b 20 41 52 57 5f 48 49   : uint { ARW_HI
30110 44 45 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 0d  DE = 0x0008 }...
30120 0a 73 74 72 75 63 74 20 74 61 67 4d 49 4e 49 4d  .struct tagMINIM
30130 49 5a 45 44 4d 45 54 52 49 43 53 20 7b 0d 0a 20  IZEDMETRICS {.. 
30140 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20   UINT cbSize;.. 
30150 20 69 6e 74 20 69 57 69 64 74 68 3b 0d 0a 20 20   int iWidth;..  
30160 69 6e 74 20 69 48 6f 72 7a 47 61 70 3b 0d 0a 20  int iHorzGap;.. 
30170 20 69 6e 74 20 69 56 65 72 74 47 61 70 3b 0d 0a   int iVertGap;..
30180 20 20 69 6e 74 20 69 41 72 72 61 6e 67 65 3b 0d    int iArrange;.
30190 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 4e  .}..alias tagMIN
301a0 49 4d 49 5a 45 44 4d 45 54 52 49 43 53 20 4d 49  IMIZEDMETRICS MI
301b0 4e 49 4d 49 5a 45 44 4d 45 54 52 49 43 53 3b 0d  NIMIZEDMETRICS;.
301c0 0a 61 6c 69 61 73 20 74 61 67 4d 49 4e 49 4d 49  .alias tagMINIMI
301d0 5a 45 44 4d 45 54 52 49 43 53 2a 20 50 4d 49 4e  ZEDMETRICS* PMIN
301e0 49 4d 49 5a 45 44 4d 45 54 52 49 43 53 3b 0d 0a  IMIZEDMETRICS;..
301f0 61 6c 69 61 73 20 74 61 67 4d 49 4e 49 4d 49 5a  alias tagMINIMIZ
30200 45 44 4d 45 54 52 49 43 53 2a 20 4c 50 4d 49 4e  EDMETRICS* LPMIN
30210 49 4d 49 5a 45 44 4d 45 54 52 49 43 53 3b 0d 0a  IMIZEDMETRICS;..
30220 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e  ..// #ifdef _WIN
30230 47 44 49 5f 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  GDI_..// #ifndef
30240 20 4e 4f 47 44 49 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   NOGDI..// .....
30250 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
30260 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  E..// .....// #e
30270 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  lse..// .....// 
30280 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44  #endif // UNICOD
30290 45 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  E..// #endif /* 
302a0 4e 4f 47 44 49 20 2a 2f 0d 0a 2f 2f 20 23 65 6e  NOGDI */..// #en
302b0 64 69 66 20 2f 2a 20 5f 57 49 4e 47 44 49 5f 20  dif /* _WINGDI_ 
302c0 2a 2f 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  */....struct tag
302d0 41 4e 49 4d 41 54 49 4f 4e 49 4e 46 4f 20 7b 0d  ANIMATIONINFO {.
302e0 0a 20 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d  .  UINT cbSize;.
302f0 0a 20 20 69 6e 74 20 69 4d 69 6e 41 6e 69 6d 61  .  int iMinAnima
30300 74 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  te;..}..alias ta
30310 67 41 4e 49 4d 41 54 49 4f 4e 49 4e 46 4f 20 41  gANIMATIONINFO A
30320 4e 49 4d 41 54 49 4f 4e 49 4e 46 4f 3b 0d 0a 61  NIMATIONINFO;..a
30330 6c 69 61 73 20 74 61 67 41 4e 49 4d 41 54 49 4f  lias tagANIMATIO
30340 4e 49 4e 46 4f 2a 20 4c 50 41 4e 49 4d 41 54 49  NINFO* LPANIMATI
30350 4f 4e 49 4e 46 4f 3b 0d 0a 0d 0a 73 74 72 75 63  ONINFO;....struc
30360 74 20 74 61 67 53 45 52 49 41 4c 4b 45 59 53 41  t tagSERIALKEYSA
30370 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53 69 7a   {..  UINT cbSiz
30380 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c  e;..  DWORD dwFl
30390 61 67 73 3b 0d 0a 20 20 4c 50 53 54 52 20 6c 70  ags;..  LPSTR lp
303a0 73 7a 41 63 74 69 76 65 50 6f 72 74 3b 0d 0a 20  szActivePort;.. 
303b0 20 4c 50 53 54 52 20 6c 70 73 7a 50 6f 72 74 3b   LPSTR lpszPort;
303c0 0d 0a 20 20 55 49 4e 54 20 69 42 61 75 64 52 61  ..  UINT iBaudRa
303d0 74 65 3b 0d 0a 20 20 55 49 4e 54 20 69 50 6f 72  te;..  UINT iPor
303e0 74 53 74 61 74 65 3b 0d 0a 20 20 55 49 4e 54 20  tState;..  UINT 
303f0 69 41 63 74 69 76 65 3b 0d 0a 7d 0d 0a 61 6c 69  iActive;..}..ali
30400 61 73 20 74 61 67 53 45 52 49 41 4c 4b 45 59 53  as tagSERIALKEYS
30410 41 20 53 45 52 49 41 4c 4b 45 59 53 41 3b 0d 0a  A SERIALKEYSA;..
30420 61 6c 69 61 73 20 74 61 67 53 45 52 49 41 4c 4b  alias tagSERIALK
30430 45 59 53 41 2a 20 4c 50 53 45 52 49 41 4c 4b 45  EYSA* LPSERIALKE
30440 59 53 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74  YSA;....struct t
30450 61 67 53 45 52 49 41 4c 4b 45 59 53 57 20 7b 0d  agSERIALKEYSW {.
30460 0a 20 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d  .  UINT cbSize;.
30470 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73  .  DWORD dwFlags
30480 3b 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70 73 7a  ;..  LPWSTR lpsz
30490 41 63 74 69 76 65 50 6f 72 74 3b 0d 0a 20 20 4c  ActivePort;..  L
304a0 50 57 53 54 52 20 6c 70 73 7a 50 6f 72 74 3b 0d  PWSTR lpszPort;.
304b0 0a 20 20 55 49 4e 54 20 69 42 61 75 64 52 61 74  .  UINT iBaudRat
304c0 65 3b 0d 0a 20 20 55 49 4e 54 20 69 50 6f 72 74  e;..  UINT iPort
304d0 53 74 61 74 65 3b 0d 0a 20 20 55 49 4e 54 20 69  State;..  UINT i
304e0 41 63 74 69 76 65 3b 0d 0a 7d 0d 0a 61 6c 69 61  Active;..}..alia
304f0 73 20 74 61 67 53 45 52 49 41 4c 4b 45 59 53 57  s tagSERIALKEYSW
30500 20 53 45 52 49 41 4c 4b 45 59 53 57 3b 0d 0a 61   SERIALKEYSW;..a
30510 6c 69 61 73 20 74 61 67 53 45 52 49 41 4c 4b 45  lias tagSERIALKE
30520 59 53 57 2a 20 4c 50 53 45 52 49 41 4c 4b 45 59  YSW* LPSERIALKEY
30530 53 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  SW;....// #ifdef
30540 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e   UNICODE..// ...
30550 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
30560 73 20 53 45 52 49 41 4c 4b 45 59 53 41 20 53 45  s SERIALKEYSA SE
30570 52 49 41 4c 4b 45 59 53 3b 0d 0a 61 6c 69 61 73  RIALKEYS;..alias
30580 20 4c 50 53 45 52 49 41 4c 4b 45 59 53 41 20 4c   LPSERIALKEYSA L
30590 50 53 45 52 49 41 4c 4b 45 59 53 3b 0d 0a 2f 2f  PSERIALKEYS;..//
305a0 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f   #endif // UNICO
305b0 44 45 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  DE....enum : uin
305c0 74 20 7b 20 53 45 52 4b 46 5f 53 45 52 49 41 4c  t { SERKF_SERIAL
305d0 4b 45 59 53 4f 4e 20 3d 20 30 78 30 30 30 30 30  KEYSON = 0x00000
305e0 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
305f0 6e 74 20 7b 20 53 45 52 4b 46 5f 41 56 41 49 4c  nt { SERKF_AVAIL
30600 41 42 4c 45 20 3d 20 30 78 30 30 30 30 30 30 30  ABLE = 0x0000000
30610 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
30620 20 7b 20 53 45 52 4b 46 5f 49 4e 44 49 43 41 54   { SERKF_INDICAT
30630 4f 52 20 3d 20 30 78 30 30 30 30 30 30 30 34 20  OR = 0x00000004 
30640 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 48  }....struct tagH
30650 49 47 48 43 4f 4e 54 52 41 53 54 41 20 7b 0d 0a  IGHCONTRASTA {..
30660 20 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a    UINT cbSize;..
30670 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b    DWORD dwFlags;
30680 0d 0a 20 20 4c 50 53 54 52 20 6c 70 73 7a 44 65  ..  LPSTR lpszDe
30690 66 61 75 6c 74 53 63 68 65 6d 65 3b 0d 0a 7d 0d  faultScheme;..}.
306a0 0a 61 6c 69 61 73 20 74 61 67 48 49 47 48 43 4f  .alias tagHIGHCO
306b0 4e 54 52 41 53 54 41 20 48 49 47 48 43 4f 4e 54  NTRASTA HIGHCONT
306c0 52 41 53 54 41 3b 0d 0a 61 6c 69 61 73 20 74 61  RASTA;..alias ta
306d0 67 48 49 47 48 43 4f 4e 54 52 41 53 54 41 2a 20  gHIGHCONTRASTA* 
306e0 4c 50 48 49 47 48 43 4f 4e 54 52 41 53 54 41 3b  LPHIGHCONTRASTA;
306f0 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 48 49  ....struct tagHI
30700 47 48 43 4f 4e 54 52 41 53 54 57 20 7b 0d 0a 20  GHCONTRASTW {.. 
30710 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20   UINT cbSize;.. 
30720 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d   DWORD dwFlags;.
30730 0a 20 20 4c 50 57 53 54 52 20 6c 70 73 7a 44 65  .  LPWSTR lpszDe
30740 66 61 75 6c 74 53 63 68 65 6d 65 3b 0d 0a 7d 0d  faultScheme;..}.
30750 0a 61 6c 69 61 73 20 74 61 67 48 49 47 48 43 4f  .alias tagHIGHCO
30760 4e 54 52 41 53 54 57 20 48 49 47 48 43 4f 4e 54  NTRASTW HIGHCONT
30770 52 41 53 54 57 3b 0d 0a 61 6c 69 61 73 20 74 61  RASTW;..alias ta
30780 67 48 49 47 48 43 4f 4e 54 52 41 53 54 57 2a 20  gHIGHCONTRASTW* 
30790 4c 50 48 49 47 48 43 4f 4e 54 52 41 53 54 57 3b  LPHIGHCONTRASTW;
307a0 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
307b0 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  ICODE..// ...../
307c0 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 48  / #else..alias H
307d0 49 47 48 43 4f 4e 54 52 41 53 54 41 20 48 49 47  IGHCONTRASTA HIG
307e0 48 43 4f 4e 54 52 41 53 54 3b 0d 0a 61 6c 69 61  HCONTRAST;..alia
307f0 73 20 4c 50 48 49 47 48 43 4f 4e 54 52 41 53 54  s LPHIGHCONTRAST
30800 41 20 4c 50 48 49 47 48 43 4f 4e 54 52 41 53 54  A LPHIGHCONTRAST
30810 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
30820 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20  UNICODE....enum 
30830 3a 20 75 69 6e 74 20 7b 20 48 43 46 5f 48 49 47  : uint { HCF_HIG
30840 48 43 4f 4e 54 52 41 53 54 4f 4e 20 3d 20 30 78  HCONTRASTON = 0x
30850 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  00000001 }..enum
30860 20 3a 20 75 69 6e 74 20 7b 20 48 43 46 5f 41 56   : uint { HCF_AV
30870 41 49 4c 41 42 4c 45 20 3d 20 30 78 30 30 30 30  AILABLE = 0x0000
30880 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
30890 69 6e 74 20 7b 20 48 43 46 5f 48 4f 54 4b 45 59  int { HCF_HOTKEY
308a0 41 43 54 49 56 45 20 3d 20 30 78 30 30 30 30 30  ACTIVE = 0x00000
308b0 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
308c0 6e 74 20 7b 20 48 43 46 5f 43 4f 4e 46 49 52 4d  nt { HCF_CONFIRM
308d0 48 4f 54 4b 45 59 20 3d 20 30 78 30 30 30 30 30  HOTKEY = 0x00000
308e0 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
308f0 6e 74 20 7b 20 48 43 46 5f 48 4f 54 4b 45 59 53  nt { HCF_HOTKEYS
30900 4f 55 4e 44 20 3d 20 30 78 30 30 30 30 30 30 31  OUND = 0x0000001
30910 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
30920 20 7b 20 48 43 46 5f 49 4e 44 49 43 41 54 4f 52   { HCF_INDICATOR
30930 20 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d   = 0x00000020 }.
30940 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
30950 43 46 5f 48 4f 54 4b 45 59 41 56 41 49 4c 41 42  CF_HOTKEYAVAILAB
30960 4c 45 20 3d 20 30 78 30 30 30 30 30 30 34 30 20  LE = 0x00000040 
30970 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
30980 20 7b 20 43 44 53 5f 55 50 44 41 54 45 52 45 47   { CDS_UPDATEREG
30990 49 53 54 52 59 20 3d 20 30 78 30 30 30 30 30 30  ISTRY = 0x000000
309a0 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
309b0 74 20 7b 20 43 44 53 5f 54 45 53 54 20 3d 20 30  t { CDS_TEST = 0
309c0 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75  x00000002 }..enu
309d0 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 53 5f 46  m : uint { CDS_F
309e0 55 4c 4c 53 43 52 45 45 4e 20 3d 20 30 78 30 30  ULLSCREEN = 0x00
309f0 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a  000004 }..enum :
30a00 20 75 69 6e 74 20 7b 20 43 44 53 5f 47 4c 4f 42   uint { CDS_GLOB
30a10 41 4c 20 3d 20 30 78 30 30 30 30 30 30 30 38 20  AL = 0x00000008 
30a20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
30a30 20 43 44 53 5f 53 45 54 5f 50 52 49 4d 41 52 59   CDS_SET_PRIMARY
30a40 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d   = 0x00000010 }.
30a50 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
30a60 44 53 5f 56 49 44 45 4f 50 41 52 41 4d 45 54 45  DS_VIDEOPARAMETE
30a70 52 53 20 3d 20 30 78 30 30 30 30 30 30 32 30 20  RS = 0x00000020 
30a80 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
30a90 20 43 44 53 5f 52 45 53 45 54 20 3d 20 30 78 34   CDS_RESET = 0x4
30aa0 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000000 }..enum 
30ab0 3a 20 75 69 6e 74 20 7b 20 43 44 53 5f 4e 4f 52  : uint { CDS_NOR
30ac0 45 53 45 54 20 3d 20 30 78 31 30 30 30 30 30 30  ESET = 0x1000000
30ad0 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 6e 63 6c 75  0 }....// #inclu
30ae0 64 65 20 3c 74 76 6f 75 74 2e 68 3e 0d 0a 0d 0a  de <tvout.h>....
30af0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 49  enum : uint { DI
30b00 53 50 5f 43 48 41 4e 47 45 5f 53 55 43 43 45 53  SP_CHANGE_SUCCES
30b10 53 46 55 4c 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d  SFUL = 0 }..enum
30b20 20 3a 20 75 69 6e 74 20 7b 20 44 49 53 50 5f 43   : uint { DISP_C
30b30 48 41 4e 47 45 5f 52 45 53 54 41 52 54 20 3d 20  HANGE_RESTART = 
30b40 31 20 7d 0d 0a 65 6e 75 6d 20 7b 20 44 49 53 50  1 }..enum { DISP
30b50 5f 43 48 41 4e 47 45 5f 46 41 49 4c 45 44 20 3d  _CHANGE_FAILED =
30b60 20 2d 31 20 7d 0d 0a 65 6e 75 6d 20 7b 20 44 49   -1 }..enum { DI
30b70 53 50 5f 43 48 41 4e 47 45 5f 42 41 44 4d 4f 44  SP_CHANGE_BADMOD
30b80 45 20 3d 20 2d 32 20 7d 0d 0a 65 6e 75 6d 20 7b  E = -2 }..enum {
30b90 20 44 49 53 50 5f 43 48 41 4e 47 45 5f 4e 4f 54   DISP_CHANGE_NOT
30ba0 55 50 44 41 54 45 44 20 3d 20 2d 33 20 7d 0d 0a  UPDATED = -3 }..
30bb0 65 6e 75 6d 20 7b 20 44 49 53 50 5f 43 48 41 4e  enum { DISP_CHAN
30bc0 47 45 5f 42 41 44 46 4c 41 47 53 20 3d 20 2d 34  GE_BADFLAGS = -4
30bd0 20 7d 0d 0a 65 6e 75 6d 20 7b 20 44 49 53 50 5f   }..enum { DISP_
30be0 43 48 41 4e 47 45 5f 42 41 44 50 41 52 41 4d 20  CHANGE_BADPARAM 
30bf0 3d 20 2d 35 20 7d 0d 0a 2f 2f 20 23 69 66 28 5f  = -5 }..// #if(_
30c00 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
30c10 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 7b 20 44  x0501)..enum { D
30c20 49 53 50 5f 43 48 41 4e 47 45 5f 42 41 44 44 55  ISP_CHANGE_BADDU
30c30 41 4c 56 49 45 57 20 3d 20 2d 36 20 7d 0d 0a 2f  ALVIEW = -6 }../
30c40 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e  / #endif /* _WIN
30c50 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35  32_WINNT >= 0x05
30c60 30 31 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 64  01 */....// #ifd
30c70 65 66 20 5f 57 49 4e 47 44 49 5f 0d 0a 2f 2f 20  ef _WINGDI_..// 
30c80 23 69 66 6e 64 65 66 20 4e 4f 47 44 49 0d 0a 0d  #ifndef NOGDI...
30c90 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 64  .// .....// #ifd
30ca0 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  ef UNICODE..// #
30cb0 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  .....// #else../
30cc0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
30cd0 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
30ce0 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 64  .// .....// #ifd
30cf0 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  ef UNICODE..// #
30d00 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  .....// #else../
30d10 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
30d20 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
30d30 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
30d40 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  .....// .....// 
30d50 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
30d60 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
30d70 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
30d80 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
30d90 45 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56  E....// #if(WINV
30da0 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d  ER >= 0x0500)...
30db0 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 64  .// .....// #ifd
30dc0 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  ef UNICODE..// #
30dd0 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  .....// #else../
30de0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
30df0 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
30e00 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  .// #.......// .
30e10 2e 2e 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
30e20 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ICODE..// #.....
30e30 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
30e40 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
30e50 21 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 65 6e  !UNICODE..// #en
30e60 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d  dif /* WINVER >=
30e70 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f   0x0500 */....//
30e80 20 23 65 6e 64 69 66 20 2f 2a 20 4e 4f 47 44 49   #endif /* NOGDI
30e90 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f   */..// #endif /
30ea0 2a 20 5f 57 49 4e 47 44 49 5f 20 2a 2f 0d 0a 0d  * _WINGDI_ */...
30eb0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
30ec0 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 79 73   export BOOL Sys
30ed0 74 65 6d 50 61 72 61 6d 65 74 65 72 73 49 6e 66  temParametersInf
30ee0 6f 41 28 0d 0a 20 20 55 49 4e 54 20 75 69 41 63  oA(..  UINT uiAc
30ef0 74 69 6f 6e 2c 0d 0a 20 20 55 49 4e 54 20 75 69  tion,..  UINT ui
30f00 50 61 72 61 6d 2c 0d 0a 20 20 50 56 4f 49 44 20  Param,..  PVOID 
30f10 70 76 50 61 72 61 6d 2c 0d 0a 20 20 55 49 4e 54  pvParam,..  UINT
30f20 20 66 57 69 6e 49 6e 69 29 3b 0d 0a 65 78 74 65   fWinIni);..exte
30f30 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
30f40 72 74 20 42 4f 4f 4c 20 53 79 73 74 65 6d 50 61  rt BOOL SystemPa
30f50 72 61 6d 65 74 65 72 73 49 6e 66 6f 57 28 0d 0a  rametersInfoW(..
30f60 20 20 55 49 4e 54 20 75 69 41 63 74 69 6f 6e 2c    UINT uiAction,
30f70 0d 0a 20 20 55 49 4e 54 20 75 69 50 61 72 61 6d  ..  UINT uiParam
30f80 2c 0d 0a 20 20 50 56 4f 49 44 20 70 76 50 61 72  ,..  PVOID pvPar
30f90 61 6d 2c 0d 0a 20 20 55 49 4e 54 20 66 57 69 6e  am,..  UINT fWin
30fa0 49 6e 69 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  Ini);..// #ifdef
30fb0 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e   UNICODE..// #..
30fc0 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
30fd0 61 73 20 53 79 73 74 65 6d 50 61 72 61 6d 65 74  as SystemParamet
30fe0 65 72 73 49 6e 66 6f 41 20 53 79 73 74 65 6d 50  ersInfoA SystemP
30ff0 61 72 61 6d 65 74 65 72 73 49 6e 66 6f 3b 0d 0a  arametersInfo;..
31000 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
31010 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  ICODE....// #end
31020 69 66 20 20 2f 2a 20 21 4e 4f 53 59 53 50 41 52  if  /* !NOSYSPAR
31030 41 4d 53 49 4e 46 4f 20 20 2a 2f 0d 0a 0d 0a 73  AMSINFO  */....s
31040 74 72 75 63 74 20 74 61 67 46 49 4c 54 45 52 4b  truct tagFILTERK
31050 45 59 53 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62  EYS {..  UINT cb
31060 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64  Size;..  DWORD d
31070 77 46 6c 61 67 73 3b 0d 0a 20 20 44 57 4f 52 44  wFlags;..  DWORD
31080 20 69 57 61 69 74 4d 53 65 63 3b 0d 0a 20 20 44   iWaitMSec;..  D
31090 57 4f 52 44 20 69 44 65 6c 61 79 4d 53 65 63 3b  WORD iDelayMSec;
310a0 0d 0a 20 20 44 57 4f 52 44 20 69 52 65 70 65 61  ..  DWORD iRepea
310b0 74 4d 53 65 63 3b 0d 0a 20 20 44 57 4f 52 44 20  tMSec;..  DWORD 
310c0 69 42 6f 75 6e 63 65 4d 53 65 63 3b 0d 0a 7d 0d  iBounceMSec;..}.
310d0 0a 61 6c 69 61 73 20 74 61 67 46 49 4c 54 45 52  .alias tagFILTER
310e0 4b 45 59 53 20 46 49 4c 54 45 52 4b 45 59 53 3b  KEYS FILTERKEYS;
310f0 0d 0a 61 6c 69 61 73 20 74 61 67 46 49 4c 54 45  ..alias tagFILTE
31100 52 4b 45 59 53 2a 20 4c 50 46 49 4c 54 45 52 4b  RKEYS* LPFILTERK
31110 45 59 53 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  EYS;....enum : u
31120 69 6e 74 20 7b 20 46 4b 46 5f 46 49 4c 54 45 52  int { FKF_FILTER
31130 4b 45 59 53 4f 4e 20 3d 20 30 78 30 30 30 30 30  KEYSON = 0x00000
31140 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
31150 6e 74 20 7b 20 46 4b 46 5f 41 56 41 49 4c 41 42  nt { FKF_AVAILAB
31160 4c 45 20 3d 20 30 78 30 30 30 30 30 30 30 32 20  LE = 0x00000002 
31170 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
31180 20 46 4b 46 5f 48 4f 54 4b 45 59 41 43 54 49 56   FKF_HOTKEYACTIV
31190 45 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d  E = 0x00000004 }
311a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
311b0 46 4b 46 5f 43 4f 4e 46 49 52 4d 48 4f 54 4b 45  FKF_CONFIRMHOTKE
311c0 59 20 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d  Y = 0x00000008 }
311d0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
311e0 46 4b 46 5f 48 4f 54 4b 45 59 53 4f 55 4e 44 20  FKF_HOTKEYSOUND 
311f0 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a  = 0x00000010 }..
31200 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 4b  enum : uint { FK
31210 46 5f 49 4e 44 49 43 41 54 4f 52 20 3d 20 30 78  F_INDICATOR = 0x
31220 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d  00000020 }..enum
31230 20 3a 20 75 69 6e 74 20 7b 20 46 4b 46 5f 43 4c   : uint { FKF_CL
31240 49 43 4b 4f 4e 20 3d 20 30 78 30 30 30 30 30 30  ICKON = 0x000000
31250 34 30 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74  40 }....struct t
31260 61 67 53 54 49 43 4b 59 4b 45 59 53 20 7b 0d 0a  agSTICKYKEYS {..
31270 20 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a    UINT cbSize;..
31280 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b    DWORD dwFlags;
31290 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 53 54  ..}..alias tagST
312a0 49 43 4b 59 4b 45 59 53 20 53 54 49 43 4b 59 4b  ICKYKEYS STICKYK
312b0 45 59 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67 53  EYS;..alias tagS
312c0 54 49 43 4b 59 4b 45 59 53 2a 20 4c 50 53 54 49  TICKYKEYS* LPSTI
312d0 43 4b 59 4b 45 59 53 3b 0d 0a 0d 0a 65 6e 75 6d  CKYKEYS;....enum
312e0 20 3a 20 75 69 6e 74 20 7b 20 53 4b 46 5f 53 54   : uint { SKF_ST
312f0 49 43 4b 59 4b 45 59 53 4f 4e 20 3d 20 30 78 30  ICKYKEYSON = 0x0
31300 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20  0000001 }..enum 
31310 3a 20 75 69 6e 74 20 7b 20 53 4b 46 5f 41 56 41  : uint { SKF_AVA
31320 49 4c 41 42 4c 45 20 3d 20 30 78 30 30 30 30 30  ILABLE = 0x00000
31330 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
31340 6e 74 20 7b 20 53 4b 46 5f 48 4f 54 4b 45 59 41  nt { SKF_HOTKEYA
31350 43 54 49 56 45 20 3d 20 30 78 30 30 30 30 30 30  CTIVE = 0x000000
31360 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
31370 74 20 7b 20 53 4b 46 5f 43 4f 4e 46 49 52 4d 48  t { SKF_CONFIRMH
31380 4f 54 4b 45 59 20 3d 20 30 78 30 30 30 30 30 30  OTKEY = 0x000000
31390 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
313a0 74 20 7b 20 53 4b 46 5f 48 4f 54 4b 45 59 53 4f  t { SKF_HOTKEYSO
313b0 55 4e 44 20 3d 20 30 78 30 30 30 30 30 30 31 30  UND = 0x00000010
313c0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
313d0 7b 20 53 4b 46 5f 49 4e 44 49 43 41 54 4f 52 20  { SKF_INDICATOR 
313e0 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a  = 0x00000020 }..
313f0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4b  enum : uint { SK
31400 46 5f 41 55 44 49 42 4c 45 46 45 45 44 42 41 43  F_AUDIBLEFEEDBAC
31410 4b 20 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d  K = 0x00000040 }
31420 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
31430 53 4b 46 5f 54 52 49 53 54 41 54 45 20 3d 20 30  SKF_TRISTATE = 0
31440 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75  x00000080 }..enu
31450 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4b 46 5f 54  m : uint { SKF_T
31460 57 4f 4b 45 59 53 4f 46 46 20 3d 20 30 78 30 30  WOKEYSOFF = 0x00
31470 30 30 30 31 30 30 20 7d 0d 0a 2f 2f 20 23 69 66  000100 }..// #if
31480 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
31490 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0500)..enum :
314a0 20 75 69 6e 74 20 7b 20 53 4b 46 5f 4c 41 4c 54   uint { SKF_LALT
314b0 4c 41 54 43 48 45 44 20 3d 20 30 78 31 30 30 30  LATCHED = 0x1000
314c0 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
314d0 69 6e 74 20 7b 20 53 4b 46 5f 4c 43 54 4c 4c 41  int { SKF_LCTLLA
314e0 54 43 48 45 44 20 3d 20 30 78 30 34 30 30 30 30  TCHED = 0x040000
314f0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
31500 74 20 7b 20 53 4b 46 5f 4c 53 48 49 46 54 4c 41  t { SKF_LSHIFTLA
31510 54 43 48 45 44 20 3d 20 30 78 30 31 30 30 30 30  TCHED = 0x010000
31520 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
31530 74 20 7b 20 53 4b 46 5f 52 41 4c 54 4c 41 54 43  t { SKF_RALTLATC
31540 48 45 44 20 3d 20 30 78 32 30 30 30 30 30 30 30  HED = 0x20000000
31550 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
31560 7b 20 53 4b 46 5f 52 43 54 4c 4c 41 54 43 48 45  { SKF_RCTLLATCHE
31570 44 20 3d 20 30 78 30 38 30 30 30 30 30 30 20 7d  D = 0x08000000 }
31580 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
31590 53 4b 46 5f 52 53 48 49 46 54 4c 41 54 43 48 45  SKF_RSHIFTLATCHE
315a0 44 20 3d 20 30 78 30 32 30 30 30 30 30 30 20 7d  D = 0x02000000 }
315b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
315c0 53 4b 46 5f 4c 57 49 4e 4c 41 54 43 48 45 44 20  SKF_LWINLATCHED 
315d0 3d 20 30 78 34 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x40000000 }..
315e0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4b  enum : uint { SK
315f0 46 5f 52 57 49 4e 4c 41 54 43 48 45 44 20 3d 20  F_RWINLATCHED = 
31600 30 78 38 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0x80000000 }..en
31610 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4b 46 5f  um : uint { SKF_
31620 4c 41 4c 54 4c 4f 43 4b 45 44 20 3d 20 30 78 30  LALTLOCKED = 0x0
31630 30 31 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0100000 }..enum 
31640 3a 20 75 69 6e 74 20 7b 20 53 4b 46 5f 4c 43 54  : uint { SKF_LCT
31650 4c 4c 4f 43 4b 45 44 20 3d 20 30 78 30 30 30 34  LLOCKED = 0x0004
31660 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
31670 69 6e 74 20 7b 20 53 4b 46 5f 4c 53 48 49 46 54  int { SKF_LSHIFT
31680 4c 4f 43 4b 45 44 20 3d 20 30 78 30 30 30 31 30  LOCKED = 0x00010
31690 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
316a0 6e 74 20 7b 20 53 4b 46 5f 52 41 4c 54 4c 4f 43  nt { SKF_RALTLOC
316b0 4b 45 44 20 3d 20 30 78 30 30 32 30 30 30 30 30  KED = 0x00200000
316c0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
316d0 7b 20 53 4b 46 5f 52 43 54 4c 4c 4f 43 4b 45 44  { SKF_RCTLLOCKED
316e0 20 3d 20 30 78 30 30 30 38 30 30 30 30 20 7d 0d   = 0x00080000 }.
316f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
31700 4b 46 5f 52 53 48 49 46 54 4c 4f 43 4b 45 44 20  KF_RSHIFTLOCKED 
31710 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a  = 0x00020000 }..
31720 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4b  enum : uint { SK
31730 46 5f 4c 57 49 4e 4c 4f 43 4b 45 44 20 3d 20 30  F_LWINLOCKED = 0
31740 78 30 30 34 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x00400000 }..enu
31750 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4b 46 5f 52  m : uint { SKF_R
31760 57 49 4e 4c 4f 43 4b 45 44 20 3d 20 30 78 30 30  WINLOCKED = 0x00
31770 38 30 30 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e  800000 }..// #en
31780 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49  dif /* _WIN32_WI
31790 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f  NNT >= 0x0500 */
317a0 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 4f  ....struct tagMO
317b0 55 53 45 4b 45 59 53 20 7b 0d 0a 20 20 55 49 4e  USEKEYS {..  UIN
317c0 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 44 57 4f  T cbSize;..  DWO
317d0 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a 20 20 44  RD dwFlags;..  D
317e0 57 4f 52 44 20 69 4d 61 78 53 70 65 65 64 3b 0d  WORD iMaxSpeed;.
317f0 0a 20 20 44 57 4f 52 44 20 69 54 69 6d 65 54 6f  .  DWORD iTimeTo
31800 4d 61 78 53 70 65 65 64 3b 0d 0a 20 20 44 57 4f  MaxSpeed;..  DWO
31810 52 44 20 69 43 74 72 6c 53 70 65 65 64 3b 0d 0a  RD iCtrlSpeed;..
31820 20 20 44 57 4f 52 44 20 64 77 52 65 73 65 72 76    DWORD dwReserv
31830 65 64 31 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  ed1;..  DWORD dw
31840 52 65 73 65 72 76 65 64 32 3b 0d 0a 7d 0d 0a 61  Reserved2;..}..a
31850 6c 69 61 73 20 74 61 67 4d 4f 55 53 45 4b 45 59  lias tagMOUSEKEY
31860 53 20 4d 4f 55 53 45 4b 45 59 53 3b 0d 0a 61 6c  S MOUSEKEYS;..al
31870 69 61 73 20 74 61 67 4d 4f 55 53 45 4b 45 59 53  ias tagMOUSEKEYS
31880 2a 20 4c 50 4d 4f 55 53 45 4b 45 59 53 3b 0d 0a  * LPMOUSEKEYS;..
31890 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
318a0 4d 4b 46 5f 4d 4f 55 53 45 4b 45 59 53 4f 4e 20  MKF_MOUSEKEYSON 
318b0 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a  = 0x00000001 }..
318c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4b  enum : uint { MK
318d0 46 5f 41 56 41 49 4c 41 42 4c 45 20 3d 20 30 78  F_AVAILABLE = 0x
318e0 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  00000002 }..enum
318f0 20 3a 20 75 69 6e 74 20 7b 20 4d 4b 46 5f 48 4f   : uint { MKF_HO
31900 54 4b 45 59 41 43 54 49 56 45 20 3d 20 30 78 30  TKEYACTIVE = 0x0
31910 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20  0000004 }..enum 
31920 3a 20 75 69 6e 74 20 7b 20 4d 4b 46 5f 43 4f 4e  : uint { MKF_CON
31930 46 49 52 4d 48 4f 54 4b 45 59 20 3d 20 30 78 30  FIRMHOTKEY = 0x0
31940 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20  0000008 }..enum 
31950 3a 20 75 69 6e 74 20 7b 20 4d 4b 46 5f 48 4f 54  : uint { MKF_HOT
31960 4b 45 59 53 4f 55 4e 44 20 3d 20 30 78 30 30 30  KEYSOUND = 0x000
31970 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00010 }..enum : 
31980 75 69 6e 74 20 7b 20 4d 4b 46 5f 49 4e 44 49 43  uint { MKF_INDIC
31990 41 54 4f 52 20 3d 20 30 78 30 30 30 30 30 30 32  ATOR = 0x0000002
319a0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
319b0 20 7b 20 4d 4b 46 5f 4d 4f 44 49 46 49 45 52 53   { MKF_MODIFIERS
319c0 20 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d 0d   = 0x00000040 }.
319d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
319e0 4b 46 5f 52 45 50 4c 41 43 45 4e 55 4d 42 45 52  KF_REPLACENUMBER
319f0 53 20 3d 20 30 78 30 30 30 30 30 30 38 30 20 7d  S = 0x00000080 }
31a00 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f  ..// #if(_WIN32_
31a10 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29  WINNT >= 0x0500)
31a20 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
31a30 4d 4b 46 5f 4c 45 46 54 42 55 54 54 4f 4e 53 45  MKF_LEFTBUTTONSE
31a40 4c 20 3d 20 30 78 31 30 30 30 30 30 30 30 20 7d  L = 0x10000000 }
31a50 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
31a60 4d 4b 46 5f 52 49 47 48 54 42 55 54 54 4f 4e 53  MKF_RIGHTBUTTONS
31a70 45 4c 20 3d 20 30 78 32 30 30 30 30 30 30 30 20  EL = 0x20000000 
31a80 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
31a90 20 4d 4b 46 5f 4c 45 46 54 42 55 54 54 4f 4e 44   MKF_LEFTBUTTOND
31aa0 4f 57 4e 20 3d 20 30 78 30 31 30 30 30 30 30 30  OWN = 0x01000000
31ab0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
31ac0 7b 20 4d 4b 46 5f 52 49 47 48 54 42 55 54 54 4f  { MKF_RIGHTBUTTO
31ad0 4e 44 4f 57 4e 20 3d 20 30 78 30 32 30 30 30 30  NDOWN = 0x020000
31ae0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
31af0 74 20 7b 20 4d 4b 46 5f 4d 4f 55 53 45 4d 4f 44  t { MKF_MOUSEMOD
31b00 45 20 3d 20 30 78 38 30 30 30 30 30 30 30 20 7d  E = 0x80000000 }
31b10 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f  ..// #endif /* _
31b20 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
31b30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 73 74 72 75  x0500 */....stru
31b40 63 74 20 74 61 67 41 43 43 45 53 53 54 49 4d 45  ct tagACCESSTIME
31b50 4f 55 54 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62  OUT {..  UINT cb
31b60 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64  Size;..  DWORD d
31b70 77 46 6c 61 67 73 3b 0d 0a 20 20 44 57 4f 52 44  wFlags;..  DWORD
31b80 20 69 54 69 6d 65 4f 75 74 4d 53 65 63 3b 0d 0a   iTimeOutMSec;..
31b90 7d 0d 0a 61 6c 69 61 73 20 74 61 67 41 43 43 45  }..alias tagACCE
31ba0 53 53 54 49 4d 45 4f 55 54 20 41 43 43 45 53 53  SSTIMEOUT ACCESS
31bb0 54 49 4d 45 4f 55 54 3b 0d 0a 61 6c 69 61 73 20  TIMEOUT;..alias 
31bc0 74 61 67 41 43 43 45 53 53 54 49 4d 45 4f 55 54  tagACCESSTIMEOUT
31bd0 2a 20 4c 50 41 43 43 45 53 53 54 49 4d 45 4f 55  * LPACCESSTIMEOU
31be0 54 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  T;....enum : uin
31bf0 74 20 7b 20 41 54 46 5f 54 49 4d 45 4f 55 54 4f  t { ATF_TIMEOUTO
31c00 4e 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d  N = 0x00000001 }
31c10 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
31c20 41 54 46 5f 4f 4e 4f 46 46 46 45 45 44 42 41 43  ATF_ONOFFFEEDBAC
31c30 4b 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d  K = 0x00000002 }
31c40 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
31c50 7b 20 53 53 47 46 5f 4e 4f 4e 45 20 3d 20 30 20  { SSGF_NONE = 0 
31c60 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
31c70 20 53 53 47 46 5f 44 49 53 50 4c 41 59 20 3d 20   SSGF_DISPLAY = 
31c80 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  3 }....enum : ui
31c90 6e 74 20 7b 20 53 53 54 46 5f 4e 4f 4e 45 20 3d  nt { SSTF_NONE =
31ca0 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   0 }..enum : uin
31cb0 74 20 7b 20 53 53 54 46 5f 43 48 41 52 53 20 3d  t { SSTF_CHARS =
31cc0 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
31cd0 74 20 7b 20 53 53 54 46 5f 42 4f 52 44 45 52 20  t { SSTF_BORDER 
31ce0 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 2 }..enum : ui
31cf0 6e 74 20 7b 20 53 53 54 46 5f 44 49 53 50 4c 41  nt { SSTF_DISPLA
31d00 59 20 3d 20 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  Y = 3 }....enum 
31d10 3a 20 75 69 6e 74 20 7b 20 53 53 57 46 5f 4e 4f  : uint { SSWF_NO
31d20 4e 45 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a  NE = 0 }..enum :
31d30 20 75 69 6e 74 20 7b 20 53 53 57 46 5f 54 49 54   uint { SSWF_TIT
31d40 4c 45 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  LE = 1 }..enum :
31d50 20 75 69 6e 74 20 7b 20 53 53 57 46 5f 57 49 4e   uint { SSWF_WIN
31d60 44 4f 57 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20  DOW = 2 }..enum 
31d70 3a 20 75 69 6e 74 20 7b 20 53 53 57 46 5f 44 49  : uint { SSWF_DI
31d80 53 50 4c 41 59 20 3d 20 33 20 7d 0d 0a 65 6e 75  SPLAY = 3 }..enu
31d90 6d 20 3a 20 75 69 6e 74 20 7b 20 53 53 57 46 5f  m : uint { SSWF_
31da0 43 55 53 54 4f 4d 20 3d 20 34 20 7d 0d 0a 0d 0a  CUSTOM = 4 }....
31db0 73 74 72 75 63 74 20 74 61 67 53 4f 55 4e 44 53  struct tagSOUNDS
31dc0 45 4e 54 52 59 41 20 7b 0d 0a 20 20 55 49 4e 54  ENTRYA {..  UINT
31dd0 20 63 62 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52   cbSize;..  DWOR
31de0 44 20 64 77 46 6c 61 67 73 3b 0d 0a 20 20 44 57  D dwFlags;..  DW
31df0 4f 52 44 20 69 46 53 54 65 78 74 45 66 66 65 63  ORD iFSTextEffec
31e00 74 3b 0d 0a 20 20 44 57 4f 52 44 20 69 46 53 54  t;..  DWORD iFST
31e10 65 78 74 45 66 66 65 63 74 4d 53 65 63 3b 0d 0a  extEffectMSec;..
31e20 20 20 44 57 4f 52 44 20 69 46 53 54 65 78 74 45    DWORD iFSTextE
31e30 66 66 65 63 74 43 6f 6c 6f 72 42 69 74 73 3b 0d  ffectColorBits;.
31e40 0a 20 20 44 57 4f 52 44 20 69 46 53 47 72 61 66  .  DWORD iFSGraf
31e50 45 66 66 65 63 74 3b 0d 0a 20 20 44 57 4f 52 44  Effect;..  DWORD
31e60 20 69 46 53 47 72 61 66 45 66 66 65 63 74 4d 53   iFSGrafEffectMS
31e70 65 63 3b 0d 0a 20 20 44 57 4f 52 44 20 69 46 53  ec;..  DWORD iFS
31e80 47 72 61 66 45 66 66 65 63 74 43 6f 6c 6f 72 3b  GrafEffectColor;
31e90 0d 0a 20 20 44 57 4f 52 44 20 69 57 69 6e 64 6f  ..  DWORD iWindo
31ea0 77 73 45 66 66 65 63 74 3b 0d 0a 20 20 44 57 4f  wsEffect;..  DWO
31eb0 52 44 20 69 57 69 6e 64 6f 77 73 45 66 66 65 63  RD iWindowsEffec
31ec0 74 4d 53 65 63 3b 0d 0a 20 20 4c 50 53 54 52 20  tMSec;..  LPSTR 
31ed0 6c 70 73 7a 57 69 6e 64 6f 77 73 45 66 66 65 63  lpszWindowsEffec
31ee0 74 44 4c 4c 3b 0d 0a 20 20 44 57 4f 52 44 20 69  tDLL;..  DWORD i
31ef0 57 69 6e 64 6f 77 73 45 66 66 65 63 74 4f 72 64  WindowsEffectOrd
31f00 69 6e 61 6c 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  inal;..}..alias 
31f10 74 61 67 53 4f 55 4e 44 53 45 4e 54 52 59 41 20  tagSOUNDSENTRYA 
31f20 53 4f 55 4e 44 53 45 4e 54 52 59 41 3b 0d 0a 61  SOUNDSENTRYA;..a
31f30 6c 69 61 73 20 74 61 67 53 4f 55 4e 44 53 45 4e  lias tagSOUNDSEN
31f40 54 52 59 41 2a 20 4c 50 53 4f 55 4e 44 53 45 4e  TRYA* LPSOUNDSEN
31f50 54 52 59 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  TRYA;....struct 
31f60 74 61 67 53 4f 55 4e 44 53 45 4e 54 52 59 57 20  tagSOUNDSENTRYW 
31f70 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53 69 7a 65  {..  UINT cbSize
31f80 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61  ;..  DWORD dwFla
31f90 67 73 3b 0d 0a 20 20 44 57 4f 52 44 20 69 46 53  gs;..  DWORD iFS
31fa0 54 65 78 74 45 66 66 65 63 74 3b 0d 0a 20 20 44  TextEffect;..  D
31fb0 57 4f 52 44 20 69 46 53 54 65 78 74 45 66 66 65  WORD iFSTextEffe
31fc0 63 74 4d 53 65 63 3b 0d 0a 20 20 44 57 4f 52 44  ctMSec;..  DWORD
31fd0 20 69 46 53 54 65 78 74 45 66 66 65 63 74 43 6f   iFSTextEffectCo
31fe0 6c 6f 72 42 69 74 73 3b 0d 0a 20 20 44 57 4f 52  lorBits;..  DWOR
31ff0 44 20 69 46 53 47 72 61 66 45 66 66 65 63 74 3b  D iFSGrafEffect;
32000 0d 0a 20 20 44 57 4f 52 44 20 69 46 53 47 72 61  ..  DWORD iFSGra
32010 66 45 66 66 65 63 74 4d 53 65 63 3b 0d 0a 20 20  fEffectMSec;..  
32020 44 57 4f 52 44 20 69 46 53 47 72 61 66 45 66 66  DWORD iFSGrafEff
32030 65 63 74 43 6f 6c 6f 72 3b 0d 0a 20 20 44 57 4f  ectColor;..  DWO
32040 52 44 20 69 57 69 6e 64 6f 77 73 45 66 66 65 63  RD iWindowsEffec
32050 74 3b 0d 0a 20 20 44 57 4f 52 44 20 69 57 69 6e  t;..  DWORD iWin
32060 64 6f 77 73 45 66 66 65 63 74 4d 53 65 63 3b 0d  dowsEffectMSec;.
32070 0a 20 20 4c 50 57 53 54 52 20 6c 70 73 7a 57 69  .  LPWSTR lpszWi
32080 6e 64 6f 77 73 45 66 66 65 63 74 44 4c 4c 3b 0d  ndowsEffectDLL;.
32090 0a 20 20 44 57 4f 52 44 20 69 57 69 6e 64 6f 77  .  DWORD iWindow
320a0 73 45 66 66 65 63 74 4f 72 64 69 6e 61 6c 3b 0d  sEffectOrdinal;.
320b0 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 53 4f 55  .}..alias tagSOU
320c0 4e 44 53 45 4e 54 52 59 57 20 53 4f 55 4e 44 53  NDSENTRYW SOUNDS
320d0 45 4e 54 52 59 57 3b 0d 0a 61 6c 69 61 73 20 74  ENTRYW;..alias t
320e0 61 67 53 4f 55 4e 44 53 45 4e 54 52 59 57 2a 20  agSOUNDSENTRYW* 
320f0 4c 50 53 4f 55 4e 44 53 45 4e 54 52 59 57 3b 0d  LPSOUNDSENTRYW;.
32100 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
32110 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  CODE..// .....//
32120 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 53 4f   #else..alias SO
32130 55 4e 44 53 45 4e 54 52 59 41 20 53 4f 55 4e 44  UNDSENTRYA SOUND
32140 53 45 4e 54 52 59 3b 0d 0a 61 6c 69 61 73 20 4c  SENTRY;..alias L
32150 50 53 4f 55 4e 44 53 45 4e 54 52 59 41 20 4c 50  PSOUNDSENTRYA LP
32160 53 4f 55 4e 44 53 45 4e 54 52 59 3b 0d 0a 2f 2f  SOUNDSENTRY;..//
32170 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f   #endif // UNICO
32180 44 45 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  DE....enum : uin
32190 74 20 7b 20 53 53 46 5f 53 4f 55 4e 44 53 45 4e  t { SSF_SOUNDSEN
321a0 54 52 59 4f 4e 20 3d 20 30 78 30 30 30 30 30 30  TRYON = 0x000000
321b0 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
321c0 74 20 7b 20 53 53 46 5f 41 56 41 49 4c 41 42 4c  t { SSF_AVAILABL
321d0 45 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d  E = 0x00000002 }
321e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
321f0 53 53 46 5f 49 4e 44 49 43 41 54 4f 52 20 3d 20  SSF_INDICATOR = 
32200 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 0d 0a  0x00000004 }....
32210 73 74 72 75 63 74 20 74 61 67 54 4f 47 47 4c 45  struct tagTOGGLE
32220 4b 45 59 53 20 7b 0d 0a 20 20 55 49 4e 54 20 63  KEYS {..  UINT c
32230 62 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20  bSize;..  DWORD 
32240 64 77 46 6c 61 67 73 3b 0d 0a 7d 0d 0a 61 6c 69  dwFlags;..}..ali
32250 61 73 20 74 61 67 54 4f 47 47 4c 45 4b 45 59 53  as tagTOGGLEKEYS
32260 20 54 4f 47 47 4c 45 4b 45 59 53 3b 0d 0a 61 6c   TOGGLEKEYS;..al
32270 69 61 73 20 74 61 67 54 4f 47 47 4c 45 4b 45 59  ias tagTOGGLEKEY
32280 53 2a 20 4c 50 54 4f 47 47 4c 45 4b 45 59 53 3b  S* LPTOGGLEKEYS;
32290 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
322a0 7b 20 54 4b 46 5f 54 4f 47 47 4c 45 4b 45 59 53  { TKF_TOGGLEKEYS
322b0 4f 4e 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  ON = 0x00000001 
322c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
322d0 20 54 4b 46 5f 41 56 41 49 4c 41 42 4c 45 20 3d   TKF_AVAILABLE =
322e0 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65   0x00000002 }..e
322f0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4b 46  num : uint { TKF
32300 5f 48 4f 54 4b 45 59 41 43 54 49 56 45 20 3d 20  _HOTKEYACTIVE = 
32310 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e  0x00000004 }..en
32320 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4b 46 5f  um : uint { TKF_
32330 43 4f 4e 46 49 52 4d 48 4f 54 4b 45 59 20 3d 20  CONFIRMHOTKEY = 
32340 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e  0x00000008 }..en
32350 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4b 46 5f  um : uint { TKF_
32360 48 4f 54 4b 45 59 53 4f 55 4e 44 20 3d 20 30 78  HOTKEYSOUND = 0x
32370 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d  00000010 }..enum
32380 20 3a 20 75 69 6e 74 20 7b 20 54 4b 46 5f 49 4e   : uint { TKF_IN
32390 44 49 43 41 54 4f 52 20 3d 20 30 78 30 30 30 30  DICATOR = 0x0000
323a0 30 30 32 30 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e  0020 }....extern
323b0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
323c0 20 56 4f 49 44 20 53 65 74 44 65 62 75 67 45 72   VOID SetDebugEr
323d0 72 6f 72 4c 65 76 65 6c 28 0d 0a 20 20 44 57 4f  rorLevel(..  DWO
323e0 52 44 20 64 77 4c 65 76 65 6c 29 3b 0d 0a 0d 0a  RD dwLevel);....
323f0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4c  enum : uint { SL
32400 45 5f 45 52 52 4f 52 20 3d 20 30 78 30 30 30 30  E_ERROR = 0x0000
32410 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
32420 69 6e 74 20 7b 20 53 4c 45 5f 4d 49 4e 4f 52 45  int { SLE_MINORE
32430 52 52 4f 52 20 3d 20 30 78 30 30 30 30 30 30 30  RROR = 0x0000000
32440 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
32450 20 7b 20 53 4c 45 5f 57 41 52 4e 49 4e 47 20 3d   { SLE_WARNING =
32460 20 30 78 30 30 30 30 30 30 30 33 20 7d 0d 0a 0d   0x00000003 }...
32470 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
32480 20 65 78 70 6f 72 74 20 56 4f 49 44 20 53 65 74   export VOID Set
32490 4c 61 73 74 45 72 72 6f 72 45 78 28 0d 0a 20 20  LastErrorEx(..  
324a0 44 57 4f 52 44 20 64 77 45 72 72 43 6f 64 65 2c  DWORD dwErrCode,
324b0 0d 0a 20 20 44 57 4f 52 44 20 64 77 54 79 70 65  ..  DWORD dwType
324c0 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e  );....// #if(WIN
324d0 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a  VER >= 0x0500)..
324e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
324f0 4d 4f 4e 49 54 4f 52 5f 44 45 46 41 55 4c 54 54  MONITOR_DEFAULTT
32500 4f 4e 55 4c 4c 20 3d 20 30 78 30 30 30 30 30 30  ONULL = 0x000000
32510 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
32520 74 20 7b 20 4d 4f 4e 49 54 4f 52 5f 44 45 46 41  t { MONITOR_DEFA
32530 55 4c 54 54 4f 50 52 49 4d 41 52 59 20 3d 20 30  ULTTOPRIMARY = 0
32540 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75  x00000001 }..enu
32550 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4f 4e 49 54  m : uint { MONIT
32560 4f 52 5f 44 45 46 41 55 4c 54 54 4f 4e 45 41 52  OR_DEFAULTTONEAR
32570 45 53 54 20 3d 20 30 78 30 30 30 30 30 30 30 32  EST = 0x00000002
32580 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e   }....extern(Win
32590 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 4d 4f  dows) export HMO
325a0 4e 49 54 4f 52 20 4d 6f 6e 69 74 6f 72 46 72 6f  NITOR MonitorFro
325b0 6d 50 6f 69 6e 74 28 0d 0a 20 20 50 4f 49 4e 54  mPoint(..  POINT
325c0 20 70 74 2c 0d 0a 20 20 44 57 4f 52 44 20 64 77   pt,..  DWORD dw
325d0 46 6c 61 67 73 29 3b 0d 0a 0d 0a 65 78 74 65 72  Flags);....exter
325e0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
325f0 74 20 48 4d 4f 4e 49 54 4f 52 20 4d 6f 6e 69 74  t HMONITOR Monit
32600 6f 72 46 72 6f 6d 52 65 63 74 28 0d 0a 20 20 4c  orFromRect(..  L
32610 50 43 52 45 43 54 20 6c 70 72 63 2c 0d 0a 20 20  PCRECT lprc,..  
32620 44 57 4f 52 44 20 64 77 46 6c 61 67 73 29 3b 0d  DWORD dwFlags);.
32630 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
32640 73 29 20 65 78 70 6f 72 74 20 48 4d 4f 4e 49 54  s) export HMONIT
32650 4f 52 20 4d 6f 6e 69 74 6f 72 46 72 6f 6d 57 69  OR MonitorFromWi
32660 6e 64 6f 77 28 48 57 4e 44 20 68 77 6e 64 2c 20  ndow(HWND hwnd, 
32670 44 57 4f 52 44 20 64 77 46 6c 61 67 73 29 3b 0d  DWORD dwFlags);.
32680 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
32690 20 4d 4f 4e 49 54 4f 52 49 4e 46 4f 46 5f 50 52   MONITORINFOF_PR
326a0 49 4d 41 52 59 20 3d 20 30 78 30 30 30 30 30 30  IMARY = 0x000000
326b0 30 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  01 }....// #ifnd
326c0 65 66 20 43 43 48 44 45 56 49 43 45 4e 41 4d 45  ef CCHDEVICENAME
326d0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
326e0 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 74  ndif....struct t
326f0 61 67 4d 4f 4e 49 54 4f 52 49 4e 46 4f 20 7b 0d  agMONITORINFO {.
32700 0a 20 20 44 57 4f 52 44 20 63 62 53 69 7a 65 3b  .  DWORD cbSize;
32710 0d 0a 20 20 52 45 43 54 20 72 63 4d 6f 6e 69 74  ..  RECT rcMonit
32720 6f 72 3b 0d 0a 20 20 52 45 43 54 20 72 63 57 6f  or;..  RECT rcWo
32730 72 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46  rk;..  DWORD dwF
32740 6c 61 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  lags;..}..alias 
32750 74 61 67 4d 4f 4e 49 54 4f 52 49 4e 46 4f 20 4d  tagMONITORINFO M
32760 4f 4e 49 54 4f 52 49 4e 46 4f 3b 0d 0a 61 6c 69  ONITORINFO;..ali
32770 61 73 20 74 61 67 4d 4f 4e 49 54 4f 52 49 4e 46  as tagMONITORINF
32780 4f 2a 20 4c 50 4d 4f 4e 49 54 4f 52 49 4e 46 4f  O* LPMONITORINFO
32790 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f  ;....// #ifdef _
327a0 5f 63 70 6c 75 73 70 6c 75 73 0d 0a 73 74 72 75  _cplusplus..stru
327b0 63 74 20 74 61 67 4d 4f 4e 49 54 4f 52 49 4e 46  ct tagMONITORINF
327c0 4f 45 58 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20  OEXA {..  DWORD 
327d0 20 20 63 62 53 69 7a 65 3b 0d 0a 20 20 52 45 43    cbSize;..  REC
327e0 54 20 20 20 20 72 63 4d 6f 6e 69 74 6f 72 3b 0d  T    rcMonitor;.
327f0 0a 20 20 52 45 43 54 20 20 20 20 72 63 57 6f 72  .  RECT    rcWor
32800 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 20 20 64 77  k;..  DWORD   dw
32810 46 6c 61 67 73 3b 0d 0a 20 20 43 48 41 52 20 73  Flags;..  CHAR s
32820 7a 44 65 76 69 63 65 5b 43 43 48 44 45 56 49 43  zDevice[CCHDEVIC
32830 45 4e 41 4d 45 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61  ENAME];..}..alia
32840 73 20 74 61 67 4d 4f 4e 49 54 4f 52 49 4e 46 4f  s tagMONITORINFO
32850 45 58 41 20 4d 4f 4e 49 54 4f 52 49 4e 46 4f 45  EXA MONITORINFOE
32860 58 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 4f  XA;..alias tagMO
32870 4e 49 54 4f 52 49 4e 46 4f 45 58 41 2a 20 4c 50  NITORINFOEXA* LP
32880 4d 4f 4e 49 54 4f 52 49 4e 46 4f 45 58 41 3b 0d  MONITORINFOEXA;.
32890 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 4f 4e  ...struct tagMON
328a0 49 54 4f 52 49 4e 46 4f 45 58 57 20 7b 0d 0a 20  ITORINFOEXW {.. 
328b0 20 44 57 4f 52 44 20 20 20 63 62 53 69 7a 65 3b   DWORD   cbSize;
328c0 0d 0a 20 20 52 45 43 54 20 20 20 20 72 63 4d 6f  ..  RECT    rcMo
328d0 6e 69 74 6f 72 3b 0d 0a 20 20 52 45 43 54 20 20  nitor;..  RECT  
328e0 20 20 72 63 57 6f 72 6b 3b 0d 0a 20 20 44 57 4f    rcWork;..  DWO
328f0 52 44 20 20 20 64 77 46 6c 61 67 73 3b 0d 0a 20  RD   dwFlags;.. 
32900 20 57 43 48 41 52 20 73 7a 44 65 76 69 63 65 5b   WCHAR szDevice[
32910 43 43 48 44 45 56 49 43 45 4e 41 4d 45 5d 3b 0d  CCHDEVICENAME];.
32920 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 4f 4e  .}..alias tagMON
32930 49 54 4f 52 49 4e 46 4f 45 58 57 20 4d 4f 4e 49  ITORINFOEXW MONI
32940 54 4f 52 49 4e 46 4f 45 58 57 3b 0d 0a 61 6c 69  TORINFOEXW;..ali
32950 61 73 20 74 61 67 4d 4f 4e 49 54 4f 52 49 4e 46  as tagMONITORINF
32960 4f 45 58 57 2a 20 4c 50 4d 4f 4e 49 54 4f 52 49  OEXW* LPMONITORI
32970 4e 46 4f 45 58 57 3b 0d 0a 0d 0a 2f 2f 20 23 69  NFOEXW;....// #i
32980 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
32990 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a   .....// #else..
329a0 61 6c 69 61 73 20 4d 4f 4e 49 54 4f 52 49 4e 46  alias MONITORINF
329b0 4f 45 58 41 20 4d 4f 4e 49 54 4f 52 49 4e 46 4f  OEXA MONITORINFO
329c0 45 58 3b 0d 0a 61 6c 69 61 73 20 4c 50 4d 4f 4e  EX;..alias LPMON
329d0 49 54 4f 52 49 4e 46 4f 45 58 41 20 4c 50 4d 4f  ITORINFOEXA LPMO
329e0 4e 49 54 4f 52 49 4e 46 4f 45 58 3b 0d 0a 2f 2f  NITORINFOEX;..//
329f0 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f   #endif // UNICO
32a00 44 45 0d 0a 2f 2f 20 23 65 6c 73 65 20 2f 2f 20  DE..// #else // 
32a10 6e 64 65 66 20 5f 5f 63 70 6c 75 73 70 6c 75 73  ndef __cplusplus
32a20 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66  ..// .....// #if
32a30 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
32a40 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  .....// #else../
32a50 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
32a60 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20   // UNICODE..// 
32a70 23 65 6e 64 69 66 0d 0a 0d 0a 65 78 74 65 72 6e  #endif....extern
32a80 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
32a90 20 42 4f 4f 4c 20 47 65 74 4d 6f 6e 69 74 6f 72   BOOL GetMonitor
32aa0 49 6e 66 6f 41 28 48 4d 4f 4e 49 54 4f 52 20 68  InfoA(HMONITOR h
32ab0 4d 6f 6e 69 74 6f 72 2c 20 4c 50 4d 4f 4e 49 54  Monitor, LPMONIT
32ac0 4f 52 49 4e 46 4f 20 6c 70 6d 69 29 3b 0d 0a 65  ORINFO lpmi);..e
32ad0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
32ae0 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 4d 6f  xport BOOL GetMo
32af0 6e 69 74 6f 72 49 6e 66 6f 57 28 48 4d 4f 4e 49  nitorInfoW(HMONI
32b00 54 4f 52 20 68 4d 6f 6e 69 74 6f 72 2c 20 4c 50  TOR hMonitor, LP
32b10 4d 4f 4e 49 54 4f 52 49 4e 46 4f 20 6c 70 6d 69  MONITORINFO lpmi
32b20 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
32b30 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ICODE..// #.....
32b40 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
32b50 47 65 74 4d 6f 6e 69 74 6f 72 49 6e 66 6f 41 20  GetMonitorInfoA 
32b60 47 65 74 4d 6f 6e 69 74 6f 72 49 6e 66 6f 3b 0d  GetMonitorInfo;.
32b70 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
32b80 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
32b90 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20  (Windows) alias 
32ba0 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 48 4d  BOOL function(HM
32bb0 4f 4e 49 54 4f 52 2c 20 48 44 43 2c 20 4c 50 52  ONITOR, HDC, LPR
32bc0 45 43 54 2c 20 4c 50 41 52 41 4d 29 20 4d 4f 4e  ECT, LPARAM) MON
32bd0 49 54 4f 52 45 4e 55 4d 50 52 4f 43 3b 0d 0a 0d  ITORENUMPROC;...
32be0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
32bf0 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 45 6e 75   export BOOL Enu
32c00 6d 44 69 73 70 6c 61 79 4d 6f 6e 69 74 6f 72 73  mDisplayMonitors
32c10 28 0d 0a 20 20 48 44 43 20 68 64 63 2c 0d 0a 20  (..  HDC hdc,.. 
32c20 20 4c 50 43 52 45 43 54 20 6c 70 72 63 43 6c 69   LPCRECT lprcCli
32c30 70 2c 0d 0a 20 20 4d 4f 4e 49 54 4f 52 45 4e 55  p,..  MONITORENU
32c40 4d 50 52 4f 43 20 6c 70 66 6e 45 6e 75 6d 2c 0d  MPROC lpfnEnum,.
32c50 0a 20 20 4c 50 41 52 41 4d 20 64 77 44 61 74 61  .  LPARAM dwData
32c60 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  );....// #ifndef
32c70 20 4e 4f 57 49 4e 41 42 4c 45 0d 0a 0d 0a 65 78   NOWINABLE....ex
32c80 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
32c90 70 6f 72 74 20 56 4f 49 44 20 4e 6f 74 69 66 79  port VOID Notify
32ca0 57 69 6e 45 76 65 6e 74 28 0d 0a 20 20 44 57 4f  WinEvent(..  DWO
32cb0 52 44 20 65 76 65 6e 74 2c 0d 0a 20 20 48 57 4e  RD event,..  HWN
32cc0 44 20 68 77 6e 64 2c 0d 0a 20 20 4c 4f 4e 47 20  D hwnd,..  LONG 
32cd0 69 64 4f 62 6a 65 63 74 2c 0d 0a 20 20 4c 4f 4e  idObject,..  LON
32ce0 47 20 69 64 43 68 69 6c 64 29 3b 0d 0a 0d 0a 65  G idChild);....e
32cf0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61  xtern(Windows) a
32d00 6c 69 61 73 20 56 4f 49 44 20 66 75 6e 63 74 69  lias VOID functi
32d10 6f 6e 28 20 48 57 49 4e 45 56 45 4e 54 48 4f 4f  on( HWINEVENTHOO
32d20 4b 20 68 57 69 6e 45 76 65 6e 74 48 6f 6f 6b 2c  K hWinEventHook,
32d30 20 44 57 4f 52 44 20 65 76 65 6e 74 2c 20 48 57   DWORD event, HW
32d40 4e 44 20 68 77 6e 64 2c 20 4c 4f 4e 47 20 69 64  ND hwnd, LONG id
32d50 4f 62 6a 65 63 74 2c 20 4c 4f 4e 47 20 69 64 43  Object, LONG idC
32d60 68 69 6c 64 2c 20 44 57 4f 52 44 20 69 64 45 76  hild, DWORD idEv
32d70 65 6e 74 54 68 72 65 61 64 2c 20 44 57 4f 52 44  entThread, DWORD
32d80 20 64 77 6d 73 45 76 65 6e 74 54 69 6d 65 29 20   dwmsEventTime) 
32d90 57 49 4e 45 56 45 4e 54 50 52 4f 43 3b 0d 0a 0d  WINEVENTPROC;...
32da0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
32db0 20 65 78 70 6f 72 74 20 48 57 49 4e 45 56 45 4e   export HWINEVEN
32dc0 54 48 4f 4f 4b 20 53 65 74 57 69 6e 45 76 65 6e  THOOK SetWinEven
32dd0 74 48 6f 6f 6b 28 0d 0a 20 20 44 57 4f 52 44 20  tHook(..  DWORD 
32de0 65 76 65 6e 74 4d 69 6e 2c 0d 0a 20 20 44 57 4f  eventMin,..  DWO
32df0 52 44 20 65 76 65 6e 74 4d 61 78 2c 0d 0a 20 20  RD eventMax,..  
32e00 48 4d 4f 44 55 4c 45 20 68 6d 6f 64 57 69 6e 45  HMODULE hmodWinE
32e10 76 65 6e 74 50 72 6f 63 2c 0d 0a 20 20 57 49 4e  ventProc,..  WIN
32e20 45 56 45 4e 54 50 52 4f 43 20 70 66 6e 57 69 6e  EVENTPROC pfnWin
32e30 45 76 65 6e 74 50 72 6f 63 2c 0d 0a 20 20 44 57  EventProc,..  DW
32e40 4f 52 44 20 69 64 50 72 6f 63 65 73 73 2c 0d 0a  ORD idProcess,..
32e50 20 20 44 57 4f 52 44 20 69 64 54 68 72 65 61 64    DWORD idThread
32e60 2c 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61  ,..  DWORD dwFla
32e70 67 73 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28 5f  gs);....// #if(_
32e80 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
32e90 78 30 35 30 31 29 0d 0a 65 78 74 65 72 6e 28 57  x0501)..extern(W
32ea0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
32eb0 4f 4f 4c 20 49 73 57 69 6e 45 76 65 6e 74 48 6f  OOL IsWinEventHo
32ec0 6f 6b 49 6e 73 74 61 6c 6c 65 64 28 0d 0a 20 20  okInstalled(..  
32ed0 44 57 4f 52 44 20 65 76 65 6e 74 29 3b 0d 0a 2f  DWORD event);../
32ee0 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e  / #endif /* _WIN
32ef0 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35  32_WINNT >= 0x05
32f00 30 31 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  01 */....enum : 
32f10 75 69 6e 74 20 7b 20 57 49 4e 45 56 45 4e 54 5f  uint { WINEVENT_
32f20 4f 55 54 4f 46 43 4f 4e 54 45 58 54 20 3d 20 30  OUTOFCONTEXT = 0
32f30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0000 }..enum : 
32f40 75 69 6e 74 20 7b 20 57 49 4e 45 56 45 4e 54 5f  uint { WINEVENT_
32f50 53 4b 49 50 4f 57 4e 54 48 52 45 41 44 20 3d 20  SKIPOWNTHREAD = 
32f60 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0001 }..enum :
32f70 20 75 69 6e 74 20 7b 20 57 49 4e 45 56 45 4e 54   uint { WINEVENT
32f80 5f 53 4b 49 50 4f 57 4e 50 52 4f 43 45 53 53 20  _SKIPOWNPROCESS 
32f90 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
32fa0 20 3a 20 75 69 6e 74 20 7b 20 57 49 4e 45 56 45   : uint { WINEVE
32fb0 4e 54 5f 49 4e 43 4f 4e 54 45 58 54 20 3d 20 30  NT_INCONTEXT = 0
32fc0 78 30 30 30 34 20 7d 0d 0a 0d 0a 65 78 74 65 72  x0004 }....exter
32fd0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
32fe0 74 20 42 4f 4f 4c 20 55 6e 68 6f 6f 6b 57 69 6e  t BOOL UnhookWin
32ff0 45 76 65 6e 74 28 0d 0a 20 20 48 57 49 4e 45 56  Event(..  HWINEV
33000 45 4e 54 48 4f 4f 4b 20 68 57 69 6e 45 76 65 6e  ENTHOOK hWinEven
33010 74 48 6f 6f 6b 29 3b 0d 0a 0d 0a 65 6e 75 6d 20  tHook);....enum 
33020 3a 20 75 69 6e 74 20 7b 20 43 48 49 4c 44 49 44  : uint { CHILDID
33030 5f 53 45 4c 46 20 3d 20 30 20 7d 0d 0a 65 6e 75  _SELF = 0 }..enu
33040 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4e 44 45 58  m : uint { INDEX
33050 49 44 5f 4f 42 4a 45 43 54 20 3d 20 30 20 7d 0d  ID_OBJECT = 0 }.
33060 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
33070 4e 44 45 58 49 44 5f 43 4f 4e 54 41 49 4e 45 52  NDEXID_CONTAINER
33080 20 3d 20 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a   = 0 }....enum :
33090 20 75 69 6e 74 20 7b 20 4f 42 4a 49 44 5f 57 49   uint { OBJID_WI
330a0 4e 44 4f 57 20 3d 20 63 61 73 74 28 4c 4f 4e 47  NDOW = cast(LONG
330b0 29 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65  )0x00000000 }..e
330c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 42 4a  num : uint { OBJ
330d0 49 44 5f 53 59 53 4d 45 4e 55 20 3d 20 63 61 73  ID_SYSMENU = cas
330e0 74 28 4c 4f 4e 47 29 30 78 46 46 46 46 46 46 46  t(LONG)0xFFFFFFF
330f0 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  F }..enum : uint
33100 20 7b 20 4f 42 4a 49 44 5f 54 49 54 4c 45 42 41   { OBJID_TITLEBA
33110 52 20 3d 20 63 61 73 74 28 4c 4f 4e 47 29 30 78  R = cast(LONG)0x
33120 46 46 46 46 46 46 46 45 20 7d 0d 0a 65 6e 75 6d  FFFFFFFE }..enum
33130 20 3a 20 75 69 6e 74 20 7b 20 4f 42 4a 49 44 5f   : uint { OBJID_
33140 4d 45 4e 55 20 3d 20 63 61 73 74 28 4c 4f 4e 47  MENU = cast(LONG
33150 29 30 78 46 46 46 46 46 46 46 44 20 7d 0d 0a 65  )0xFFFFFFFD }..e
33160 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 42 4a  num : uint { OBJ
33170 49 44 5f 43 4c 49 45 4e 54 20 3d 20 63 61 73 74  ID_CLIENT = cast
33180 28 4c 4f 4e 47 29 30 78 46 46 46 46 46 46 46 43  (LONG)0xFFFFFFFC
33190 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
331a0 7b 20 4f 42 4a 49 44 5f 56 53 43 52 4f 4c 4c 20  { OBJID_VSCROLL 
331b0 3d 20 63 61 73 74 28 4c 4f 4e 47 29 30 78 46 46  = cast(LONG)0xFF
331c0 46 46 46 46 46 42 20 7d 0d 0a 65 6e 75 6d 20 3a  FFFFFB }..enum :
331d0 20 75 69 6e 74 20 7b 20 4f 42 4a 49 44 5f 48 53   uint { OBJID_HS
331e0 43 52 4f 4c 4c 20 3d 20 63 61 73 74 28 4c 4f 4e  CROLL = cast(LON
331f0 47 29 30 78 46 46 46 46 46 46 46 41 20 7d 0d 0a  G)0xFFFFFFFA }..
33200 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 42  enum : uint { OB
33210 4a 49 44 5f 53 49 5a 45 47 52 49 50 20 3d 20 63  JID_SIZEGRIP = c
33220 61 73 74 28 4c 4f 4e 47 29 30 78 46 46 46 46 46  ast(LONG)0xFFFFF
33230 46 46 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  FF9 }..enum : ui
33240 6e 74 20 7b 20 4f 42 4a 49 44 5f 43 41 52 45 54  nt { OBJID_CARET
33250 20 3d 20 63 61 73 74 28 4c 4f 4e 47 29 30 78 46   = cast(LONG)0xF
33260 46 46 46 46 46 46 38 20 7d 0d 0a 65 6e 75 6d 20  FFFFFF8 }..enum 
33270 3a 20 75 69 6e 74 20 7b 20 4f 42 4a 49 44 5f 43  : uint { OBJID_C
33280 55 52 53 4f 52 20 3d 20 63 61 73 74 28 4c 4f 4e  URSOR = cast(LON
33290 47 29 30 78 46 46 46 46 46 46 46 37 20 7d 0d 0a  G)0xFFFFFFF7 }..
332a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 42  enum : uint { OB
332b0 4a 49 44 5f 41 4c 45 52 54 20 3d 20 63 61 73 74  JID_ALERT = cast
332c0 28 4c 4f 4e 47 29 30 78 46 46 46 46 46 46 46 36  (LONG)0xFFFFFFF6
332d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
332e0 7b 20 4f 42 4a 49 44 5f 53 4f 55 4e 44 20 3d 20  { OBJID_SOUND = 
332f0 63 61 73 74 28 4c 4f 4e 47 29 30 78 46 46 46 46  cast(LONG)0xFFFF
33300 46 46 46 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  FFF5 }..enum : u
33310 69 6e 74 20 7b 20 4f 42 4a 49 44 5f 51 55 45 52  int { OBJID_QUER
33320 59 43 4c 41 53 53 4e 41 4d 45 49 44 58 20 3d 20  YCLASSNAMEIDX = 
33330 63 61 73 74 28 4c 4f 4e 47 29 30 78 46 46 46 46  cast(LONG)0xFFFF
33340 46 46 46 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  FFF4 }..enum : u
33350 69 6e 74 20 7b 20 4f 42 4a 49 44 5f 4e 41 54 49  int { OBJID_NATI
33360 56 45 4f 4d 20 3d 20 63 61 73 74 28 4c 4f 4e 47  VEOM = cast(LONG
33370 29 30 78 46 46 46 46 46 46 46 30 20 7d 0d 0a 0d  )0xFFFFFFF0 }...
33380 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
33390 56 45 4e 54 5f 4d 49 4e 20 3d 20 30 78 30 30 30  VENT_MIN = 0x000
333a0 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00001 }..enum : 
333b0 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f 4d 41 58  uint { EVENT_MAX
333c0 20 3d 20 30 78 37 46 46 46 46 46 46 46 20 7d 0d   = 0x7FFFFFFF }.
333d0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
333e0 20 45 56 45 4e 54 5f 53 59 53 54 45 4d 5f 53 4f   EVENT_SYSTEM_SO
333f0 55 4e 44 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a  UND = 0x0001 }..
33400 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
33410 45 56 45 4e 54 5f 53 59 53 54 45 4d 5f 41 4c 45  EVENT_SYSTEM_ALE
33420 52 54 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 0d  RT = 0x0002 }...
33430 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
33440 56 45 4e 54 5f 53 59 53 54 45 4d 5f 46 4f 52 45  VENT_SYSTEM_FORE
33450 47 52 4f 55 4e 44 20 3d 20 30 78 30 30 30 33 20  GROUND = 0x0003 
33460 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
33470 20 7b 20 45 56 45 4e 54 5f 53 59 53 54 45 4d 5f   { EVENT_SYSTEM_
33480 4d 45 4e 55 53 54 41 52 54 20 3d 20 30 78 30 30  MENUSTART = 0x00
33490 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
334a0 74 20 7b 20 45 56 45 4e 54 5f 53 59 53 54 45 4d  t { EVENT_SYSTEM
334b0 5f 4d 45 4e 55 45 4e 44 20 3d 20 30 78 30 30 30  _MENUEND = 0x000
334c0 35 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  5 }....enum : ui
334d0 6e 74 20 7b 20 45 56 45 4e 54 5f 53 59 53 54 45  nt { EVENT_SYSTE
334e0 4d 5f 4d 45 4e 55 50 4f 50 55 50 53 54 41 52 54  M_MENUPOPUPSTART
334f0 20 3d 20 30 78 30 30 30 36 20 7d 0d 0a 65 6e 75   = 0x0006 }..enu
33500 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54  m : uint { EVENT
33510 5f 53 59 53 54 45 4d 5f 4d 45 4e 55 50 4f 50 55  _SYSTEM_MENUPOPU
33520 50 45 4e 44 20 3d 20 30 78 30 30 30 37 20 7d 0d  PEND = 0x0007 }.
33530 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
33540 20 45 56 45 4e 54 5f 53 59 53 54 45 4d 5f 43 41   EVENT_SYSTEM_CA
33550 50 54 55 52 45 53 54 41 52 54 20 3d 20 30 78 30  PTURESTART = 0x0
33560 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
33570 6e 74 20 7b 20 45 56 45 4e 54 5f 53 59 53 54 45  nt { EVENT_SYSTE
33580 4d 5f 43 41 50 54 55 52 45 45 4e 44 20 3d 20 30  M_CAPTUREEND = 0
33590 78 30 30 30 39 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x0009 }....enum 
335a0 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f 53  : uint { EVENT_S
335b0 59 53 54 45 4d 5f 4d 4f 56 45 53 49 5a 45 53 54  YSTEM_MOVESIZEST
335c0 41 52 54 20 3d 20 30 78 30 30 30 41 20 7d 0d 0a  ART = 0x000A }..
335d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56  enum : uint { EV
335e0 45 4e 54 5f 53 59 53 54 45 4d 5f 4d 4f 56 45 53  ENT_SYSTEM_MOVES
335f0 49 5a 45 45 4e 44 20 3d 20 30 78 30 30 30 42 20  IZEEND = 0x000B 
33600 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
33610 20 7b 20 45 56 45 4e 54 5f 53 59 53 54 45 4d 5f   { EVENT_SYSTEM_
33620 43 4f 4e 54 45 58 54 48 45 4c 50 53 54 41 52 54  CONTEXTHELPSTART
33630 20 3d 20 30 78 30 30 30 43 20 7d 0d 0a 65 6e 75   = 0x000C }..enu
33640 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54  m : uint { EVENT
33650 5f 53 59 53 54 45 4d 5f 43 4f 4e 54 45 58 54 48  _SYSTEM_CONTEXTH
33660 45 4c 50 45 4e 44 20 3d 20 30 78 30 30 30 44 20  ELPEND = 0x000D 
33670 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
33680 20 7b 20 45 56 45 4e 54 5f 53 59 53 54 45 4d 5f   { EVENT_SYSTEM_
33690 44 52 41 47 44 52 4f 50 53 54 41 52 54 20 3d 20  DRAGDROPSTART = 
336a0 30 78 30 30 30 45 20 7d 0d 0a 65 6e 75 6d 20 3a  0x000E }..enum :
336b0 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f 53 59   uint { EVENT_SY
336c0 53 54 45 4d 5f 44 52 41 47 44 52 4f 50 45 4e 44  STEM_DRAGDROPEND
336d0 20 3d 20 30 78 30 30 30 46 20 7d 0d 0a 0d 0a 65   = 0x000F }....e
336e0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45  num : uint { EVE
336f0 4e 54 5f 53 59 53 54 45 4d 5f 44 49 41 4c 4f 47  NT_SYSTEM_DIALOG
33700 53 54 41 52 54 20 3d 20 30 78 30 30 31 30 20 7d  START = 0x0010 }
33710 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
33720 45 56 45 4e 54 5f 53 59 53 54 45 4d 5f 44 49 41  EVENT_SYSTEM_DIA
33730 4c 4f 47 45 4e 44 20 3d 20 30 78 30 30 31 31 20  LOGEND = 0x0011 
33740 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
33750 20 7b 20 45 56 45 4e 54 5f 53 59 53 54 45 4d 5f   { EVENT_SYSTEM_
33760 53 43 52 4f 4c 4c 49 4e 47 53 54 41 52 54 20 3d  SCROLLINGSTART =
33770 20 30 78 30 30 31 32 20 7d 0d 0a 65 6e 75 6d 20   0x0012 }..enum 
33780 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f 53  : uint { EVENT_S
33790 59 53 54 45 4d 5f 53 43 52 4f 4c 4c 49 4e 47 45  YSTEM_SCROLLINGE
337a0 4e 44 20 3d 20 30 78 30 30 31 33 20 7d 0d 0a 0d  ND = 0x0013 }...
337b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
337c0 56 45 4e 54 5f 53 59 53 54 45 4d 5f 53 57 49 54  VENT_SYSTEM_SWIT
337d0 43 48 53 54 41 52 54 20 3d 20 30 78 30 30 31 34  CHSTART = 0x0014
337e0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
337f0 7b 20 45 56 45 4e 54 5f 53 59 53 54 45 4d 5f 53  { EVENT_SYSTEM_S
33800 57 49 54 43 48 45 4e 44 20 3d 20 30 78 30 30 31  WITCHEND = 0x001
33810 35 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  5 }....enum : ui
33820 6e 74 20 7b 20 45 56 45 4e 54 5f 53 59 53 54 45  nt { EVENT_SYSTE
33830 4d 5f 4d 49 4e 49 4d 49 5a 45 53 54 41 52 54 20  M_MINIMIZESTART 
33840 3d 20 30 78 30 30 31 36 20 7d 0d 0a 65 6e 75 6d  = 0x0016 }..enum
33850 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f   : uint { EVENT_
33860 53 59 53 54 45 4d 5f 4d 49 4e 49 4d 49 5a 45 45  SYSTEM_MINIMIZEE
33870 4e 44 20 3d 20 30 78 30 30 31 37 20 7d 0d 0a 0d  ND = 0x0017 }...
33880 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57  .// #if(_WIN32_W
33890 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d  INNT >= 0x0501).
338a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
338b0 56 45 4e 54 5f 43 4f 4e 53 4f 4c 45 5f 43 41 52  VENT_CONSOLE_CAR
338c0 45 54 20 3d 20 30 78 34 30 30 31 20 7d 0d 0a 65  ET = 0x4001 }..e
338d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45  num : uint { EVE
338e0 4e 54 5f 43 4f 4e 53 4f 4c 45 5f 55 50 44 41 54  NT_CONSOLE_UPDAT
338f0 45 5f 52 45 47 49 4f 4e 20 3d 20 30 78 34 30 30  E_REGION = 0x400
33900 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
33910 20 7b 20 45 56 45 4e 54 5f 43 4f 4e 53 4f 4c 45   { EVENT_CONSOLE
33920 5f 55 50 44 41 54 45 5f 53 49 4d 50 4c 45 20 3d  _UPDATE_SIMPLE =
33930 20 30 78 34 30 30 33 20 7d 0d 0a 65 6e 75 6d 20   0x4003 }..enum 
33940 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f 43  : uint { EVENT_C
33950 4f 4e 53 4f 4c 45 5f 55 50 44 41 54 45 5f 53 43  ONSOLE_UPDATE_SC
33960 52 4f 4c 4c 20 3d 20 30 78 34 30 30 34 20 7d 0d  ROLL = 0x4004 }.
33970 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
33980 56 45 4e 54 5f 43 4f 4e 53 4f 4c 45 5f 4c 41 59  VENT_CONSOLE_LAY
33990 4f 55 54 20 3d 20 30 78 34 30 30 35 20 7d 0d 0a  OUT = 0x4005 }..
339a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56  enum : uint { EV
339b0 45 4e 54 5f 43 4f 4e 53 4f 4c 45 5f 53 54 41 52  ENT_CONSOLE_STAR
339c0 54 5f 41 50 50 4c 49 43 41 54 49 4f 4e 20 3d 20  T_APPLICATION = 
339d0 30 78 34 30 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a  0x4006 }..enum :
339e0 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f 43 4f   uint { EVENT_CO
339f0 4e 53 4f 4c 45 5f 45 4e 44 5f 41 50 50 4c 49 43  NSOLE_END_APPLIC
33a00 41 54 49 4f 4e 20 3d 20 30 78 34 30 30 37 20 7d  ATION = 0x4007 }
33a10 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
33a20 7b 20 43 4f 4e 53 4f 4c 45 5f 41 50 50 4c 49 43  { CONSOLE_APPLIC
33a30 41 54 49 4f 4e 5f 31 36 42 49 54 20 3d 20 30 78  ATION_16BIT = 0x
33a40 30 30 30 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0001 }....enum :
33a50 20 75 69 6e 74 20 7b 20 43 4f 4e 53 4f 4c 45 5f   uint { CONSOLE_
33a60 43 41 52 45 54 5f 53 45 4c 45 43 54 49 4f 4e 20  CARET_SELECTION 
33a70 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  = 0x0001 }..enum
33a80 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4e 53 4f 4c   : uint { CONSOL
33a90 45 5f 43 41 52 45 54 5f 56 49 53 49 42 4c 45 20  E_CARET_VISIBLE 
33aa0 3d 20 30 78 30 30 30 32 20 7d 0d 0a 2f 2f 20 23  = 0x0002 }..// #
33ab0 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f  endif /* _WIN32_
33ac0 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 20  WINNT >= 0x0501 
33ad0 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  */....enum : uin
33ae0 74 20 7b 20 45 56 45 4e 54 5f 4f 42 4a 45 43 54  t { EVENT_OBJECT
33af0 5f 43 52 45 41 54 45 20 3d 20 30 78 38 30 30 30  _CREATE = 0x8000
33b00 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
33b10 7b 20 45 56 45 4e 54 5f 4f 42 4a 45 43 54 5f 44  { EVENT_OBJECT_D
33b20 45 53 54 52 4f 59 20 3d 20 30 78 38 30 30 31 20  ESTROY = 0x8001 
33b30 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
33b40 20 45 56 45 4e 54 5f 4f 42 4a 45 43 54 5f 53 48   EVENT_OBJECT_SH
33b50 4f 57 20 3d 20 30 78 38 30 30 32 20 7d 0d 0a 65  OW = 0x8002 }..e
33b60 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45  num : uint { EVE
33b70 4e 54 5f 4f 42 4a 45 43 54 5f 48 49 44 45 20 3d  NT_OBJECT_HIDE =
33b80 20 30 78 38 30 30 33 20 7d 0d 0a 65 6e 75 6d 20   0x8003 }..enum 
33b90 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f 4f  : uint { EVENT_O
33ba0 42 4a 45 43 54 5f 52 45 4f 52 44 45 52 20 3d 20  BJECT_REORDER = 
33bb0 30 78 38 30 30 34 20 7d 0d 0a 0d 0a 65 6e 75 6d  0x8004 }....enum
33bc0 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f   : uint { EVENT_
33bd0 4f 42 4a 45 43 54 5f 46 4f 43 55 53 20 3d 20 30  OBJECT_FOCUS = 0
33be0 78 38 30 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x8005 }..enum : 
33bf0 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f 4f 42 4a  uint { EVENT_OBJ
33c00 45 43 54 5f 53 45 4c 45 43 54 49 4f 4e 20 3d 20  ECT_SELECTION = 
33c10 30 78 38 30 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a  0x8006 }..enum :
33c20 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f 4f 42   uint { EVENT_OB
33c30 4a 45 43 54 5f 53 45 4c 45 43 54 49 4f 4e 41 44  JECT_SELECTIONAD
33c40 44 20 3d 20 30 78 38 30 30 37 20 7d 0d 0a 65 6e  D = 0x8007 }..en
33c50 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e  um : uint { EVEN
33c60 54 5f 4f 42 4a 45 43 54 5f 53 45 4c 45 43 54 49  T_OBJECT_SELECTI
33c70 4f 4e 52 45 4d 4f 56 45 20 3d 20 30 78 38 30 30  ONREMOVE = 0x800
33c80 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
33c90 20 7b 20 45 56 45 4e 54 5f 4f 42 4a 45 43 54 5f   { EVENT_OBJECT_
33ca0 53 45 4c 45 43 54 49 4f 4e 57 49 54 48 49 4e 20  SELECTIONWITHIN 
33cb0 3d 20 30 78 38 30 30 39 20 7d 0d 0a 0d 0a 65 6e  = 0x8009 }....en
33cc0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e  um : uint { EVEN
33cd0 54 5f 4f 42 4a 45 43 54 5f 53 54 41 54 45 43 48  T_OBJECT_STATECH
33ce0 41 4e 47 45 20 3d 20 30 78 38 30 30 41 20 7d 0d  ANGE = 0x800A }.
33cf0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
33d00 20 45 56 45 4e 54 5f 4f 42 4a 45 43 54 5f 4c 4f   EVENT_OBJECT_LO
33d10 43 41 54 49 4f 4e 43 48 41 4e 47 45 20 3d 20 30  CATIONCHANGE = 0
33d20 78 38 30 30 42 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x800B }....enum 
33d30 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f 4f  : uint { EVENT_O
33d40 42 4a 45 43 54 5f 4e 41 4d 45 43 48 41 4e 47 45  BJECT_NAMECHANGE
33d50 20 3d 20 30 78 38 30 30 43 20 7d 0d 0a 65 6e 75   = 0x800C }..enu
33d60 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54  m : uint { EVENT
33d70 5f 4f 42 4a 45 43 54 5f 44 45 53 43 52 49 50 54  _OBJECT_DESCRIPT
33d80 49 4f 4e 43 48 41 4e 47 45 20 3d 20 30 78 38 30  IONCHANGE = 0x80
33d90 30 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0D }..enum : uin
33da0 74 20 7b 20 45 56 45 4e 54 5f 4f 42 4a 45 43 54  t { EVENT_OBJECT
33db0 5f 56 41 4c 55 45 43 48 41 4e 47 45 20 3d 20 30  _VALUECHANGE = 0
33dc0 78 38 30 30 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x800E }..enum : 
33dd0 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f 4f 42 4a  uint { EVENT_OBJ
33de0 45 43 54 5f 50 41 52 45 4e 54 43 48 41 4e 47 45  ECT_PARENTCHANGE
33df0 20 3d 20 30 78 38 30 30 46 20 7d 0d 0a 65 6e 75   = 0x800F }..enu
33e00 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54  m : uint { EVENT
33e10 5f 4f 42 4a 45 43 54 5f 48 45 4c 50 43 48 41 4e  _OBJECT_HELPCHAN
33e20 47 45 20 3d 20 30 78 38 30 31 30 20 7d 0d 0a 65  GE = 0x8010 }..e
33e30 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45  num : uint { EVE
33e40 4e 54 5f 4f 42 4a 45 43 54 5f 44 45 46 41 43 54  NT_OBJECT_DEFACT
33e50 49 4f 4e 43 48 41 4e 47 45 20 3d 20 30 78 38 30  IONCHANGE = 0x80
33e60 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  11 }..enum : uin
33e70 74 20 7b 20 45 56 45 4e 54 5f 4f 42 4a 45 43 54  t { EVENT_OBJECT
33e80 5f 41 43 43 45 4c 45 52 41 54 4f 52 43 48 41 4e  _ACCELERATORCHAN
33e90 47 45 20 3d 20 30 78 38 30 31 32 20 7d 0d 0a 0d  GE = 0x8012 }...
33ea0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
33eb0 4f 55 4e 44 5f 53 59 53 54 45 4d 5f 53 54 41 52  OUND_SYSTEM_STAR
33ec0 54 55 50 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20  TUP = 1 }..enum 
33ed0 3a 20 75 69 6e 74 20 7b 20 53 4f 55 4e 44 5f 53  : uint { SOUND_S
33ee0 59 53 54 45 4d 5f 53 48 55 54 44 4f 57 4e 20 3d  YSTEM_SHUTDOWN =
33ef0 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   2 }..enum : uin
33f00 74 20 7b 20 53 4f 55 4e 44 5f 53 59 53 54 45 4d  t { SOUND_SYSTEM
33f10 5f 42 45 45 50 20 3d 20 33 20 7d 0d 0a 65 6e 75  _BEEP = 3 }..enu
33f20 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f 55 4e 44  m : uint { SOUND
33f30 5f 53 59 53 54 45 4d 5f 45 52 52 4f 52 20 3d 20  _SYSTEM_ERROR = 
33f40 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
33f50 20 7b 20 53 4f 55 4e 44 5f 53 59 53 54 45 4d 5f   { SOUND_SYSTEM_
33f60 51 55 45 53 54 49 4f 4e 20 3d 20 35 20 7d 0d 0a  QUESTION = 5 }..
33f70 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f  enum : uint { SO
33f80 55 4e 44 5f 53 59 53 54 45 4d 5f 57 41 52 4e 49  UND_SYSTEM_WARNI
33f90 4e 47 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a  NG = 6 }..enum :
33fa0 20 75 69 6e 74 20 7b 20 53 4f 55 4e 44 5f 53 59   uint { SOUND_SY
33fb0 53 54 45 4d 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  STEM_INFORMATION
33fc0 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 7 }..enum : u
33fd0 69 6e 74 20 7b 20 53 4f 55 4e 44 5f 53 59 53 54  int { SOUND_SYST
33fe0 45 4d 5f 4d 41 58 49 4d 49 5a 45 20 3d 20 38 20  EM_MAXIMIZE = 8 
33ff0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
34000 20 53 4f 55 4e 44 5f 53 59 53 54 45 4d 5f 4d 49   SOUND_SYSTEM_MI
34010 4e 49 4d 49 5a 45 20 3d 20 39 20 7d 0d 0a 65 6e  NIMIZE = 9 }..en
34020 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f 55 4e  um : uint { SOUN
34030 44 5f 53 59 53 54 45 4d 5f 52 45 53 54 4f 52 45  D_SYSTEM_RESTORE
34040 55 50 20 3d 20 31 30 20 7d 0d 0a 65 6e 75 6d 20  UP = 10 }..enum 
34050 3a 20 75 69 6e 74 20 7b 20 53 4f 55 4e 44 5f 53  : uint { SOUND_S
34060 59 53 54 45 4d 5f 52 45 53 54 4f 52 45 44 4f 57  YSTEM_RESTOREDOW
34070 4e 20 3d 20 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a  N = 11 }..enum :
34080 20 75 69 6e 74 20 7b 20 53 4f 55 4e 44 5f 53 59   uint { SOUND_SY
34090 53 54 45 4d 5f 41 50 50 53 54 41 52 54 20 3d 20  STEM_APPSTART = 
340a0 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  12 }..enum : uin
340b0 74 20 7b 20 53 4f 55 4e 44 5f 53 59 53 54 45 4d  t { SOUND_SYSTEM
340c0 5f 46 41 55 4c 54 20 3d 20 31 33 20 7d 0d 0a 65  _FAULT = 13 }..e
340d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f 55  num : uint { SOU
340e0 4e 44 5f 53 59 53 54 45 4d 5f 41 50 50 45 4e 44  ND_SYSTEM_APPEND
340f0 20 3d 20 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 14 }..enum : 
34100 75 69 6e 74 20 7b 20 53 4f 55 4e 44 5f 53 59 53  uint { SOUND_SYS
34110 54 45 4d 5f 4d 45 4e 55 43 4f 4d 4d 41 4e 44 20  TEM_MENUCOMMAND 
34120 3d 20 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 15 }..enum : u
34130 69 6e 74 20 7b 20 53 4f 55 4e 44 5f 53 59 53 54  int { SOUND_SYST
34140 45 4d 5f 4d 45 4e 55 50 4f 50 55 50 20 3d 20 31  EM_MENUPOPUP = 1
34150 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
34160 20 7b 20 43 53 4f 55 4e 44 5f 53 59 53 54 45 4d   { CSOUND_SYSTEM
34170 20 3d 20 31 36 20 7d 0d 0a 0d 0a 65 6e 75 6d 20   = 16 }....enum 
34180 3a 20 75 69 6e 74 20 7b 20 41 4c 45 52 54 5f 53  : uint { ALERT_S
34190 59 53 54 45 4d 5f 49 4e 46 4f 52 4d 41 54 49 4f  YSTEM_INFORMATIO
341a0 4e 41 4c 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20  NAL = 1 }..enum 
341b0 3a 20 75 69 6e 74 20 7b 20 41 4c 45 52 54 5f 53  : uint { ALERT_S
341c0 59 53 54 45 4d 5f 57 41 52 4e 49 4e 47 20 3d 20  YSTEM_WARNING = 
341d0 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
341e0 20 7b 20 41 4c 45 52 54 5f 53 59 53 54 45 4d 5f   { ALERT_SYSTEM_
341f0 45 52 52 4f 52 20 3d 20 33 20 7d 0d 0a 65 6e 75  ERROR = 3 }..enu
34200 6d 20 3a 20 75 69 6e 74 20 7b 20 41 4c 45 52 54  m : uint { ALERT
34210 5f 53 59 53 54 45 4d 5f 51 55 45 52 59 20 3d 20  _SYSTEM_QUERY = 
34220 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
34230 20 7b 20 41 4c 45 52 54 5f 53 59 53 54 45 4d 5f   { ALERT_SYSTEM_
34240 43 52 49 54 49 43 41 4c 20 3d 20 35 20 7d 0d 0a  CRITICAL = 5 }..
34250 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 41  enum : uint { CA
34260 4c 45 52 54 5f 53 59 53 54 45 4d 20 3d 20 36 20  LERT_SYSTEM = 6 
34270 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 47  }....struct tagG
34280 55 49 54 48 52 45 41 44 49 4e 46 4f 20 7b 0d 0a  UITHREADINFO {..
34290 20 20 44 57 4f 52 44 20 63 62 53 69 7a 65 3b 0d    DWORD cbSize;.
342a0 0a 20 20 44 57 4f 52 44 20 66 6c 61 67 73 3b 0d  .  DWORD flags;.
342b0 0a 20 20 48 57 4e 44 20 68 77 6e 64 41 63 74 69  .  HWND hwndActi
342c0 76 65 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64  ve;..  HWND hwnd
342d0 46 6f 63 75 73 3b 0d 0a 20 20 48 57 4e 44 20 68  Focus;..  HWND h
342e0 77 6e 64 43 61 70 74 75 72 65 3b 0d 0a 20 20 48  wndCapture;..  H
342f0 57 4e 44 20 68 77 6e 64 4d 65 6e 75 4f 77 6e 65  WND hwndMenuOwne
34300 72 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 4d  r;..  HWND hwndM
34310 6f 76 65 53 69 7a 65 3b 0d 0a 20 20 48 57 4e 44  oveSize;..  HWND
34320 20 68 77 6e 64 43 61 72 65 74 3b 0d 0a 20 20 52   hwndCaret;..  R
34330 45 43 54 20 72 63 43 61 72 65 74 3b 0d 0a 7d 0d  ECT rcCaret;..}.
34340 0a 61 6c 69 61 73 20 74 61 67 47 55 49 54 48 52  .alias tagGUITHR
34350 45 41 44 49 4e 46 4f 20 47 55 49 54 48 52 45 41  EADINFO GUITHREA
34360 44 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61  DINFO;..alias ta
34370 67 47 55 49 54 48 52 45 41 44 49 4e 46 4f 2a 20  gGUITHREADINFO* 
34380 50 47 55 49 54 48 52 45 41 44 49 4e 46 4f 3b 0d  PGUITHREADINFO;.
34390 0a 61 6c 69 61 73 20 74 61 67 47 55 49 54 48 52  .alias tagGUITHR
343a0 45 41 44 49 4e 46 4f 2a 20 4c 50 47 55 49 54 48  EADINFO* LPGUITH
343b0 52 45 41 44 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75  READINFO;....enu
343c0 6d 20 3a 20 75 69 6e 74 20 7b 20 47 55 49 5f 43  m : uint { GUI_C
343d0 41 52 45 54 42 4c 49 4e 4b 49 4e 47 20 3d 20 30  ARETBLINKING = 0
343e0 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75  x00000001 }..enu
343f0 6d 20 3a 20 75 69 6e 74 20 7b 20 47 55 49 5f 49  m : uint { GUI_I
34400 4e 4d 4f 56 45 53 49 5a 45 20 3d 20 30 78 30 30  NMOVESIZE = 0x00
34410 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  000002 }..enum :
34420 20 75 69 6e 74 20 7b 20 47 55 49 5f 49 4e 4d 45   uint { GUI_INME
34430 4e 55 4d 4f 44 45 20 3d 20 30 78 30 30 30 30 30  NUMODE = 0x00000
34440 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
34450 6e 74 20 7b 20 47 55 49 5f 53 59 53 54 45 4d 4d  nt { GUI_SYSTEMM
34460 45 4e 55 4d 4f 44 45 20 3d 20 30 78 30 30 30 30  ENUMODE = 0x0000
34470 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
34480 69 6e 74 20 7b 20 47 55 49 5f 50 4f 50 55 50 4d  int { GUI_POPUPM
34490 45 4e 55 4d 4f 44 45 20 3d 20 30 78 30 30 30 30  ENUMODE = 0x0000
344a0 30 30 31 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 5f  0010 }..// #if(_
344b0 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
344c0 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0501)..enum : u
344d0 69 6e 74 20 7b 20 47 55 49 5f 31 36 42 49 54 54  int { GUI_16BITT
344e0 41 53 4b 20 3d 20 30 78 30 30 30 30 30 30 32 30  ASK = 0x00000020
344f0 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
34500 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d   _WIN32_WINNT >=
34510 20 30 78 30 35 30 31 20 2a 2f 0d 0a 0d 0a 65 78   0x0501 */....ex
34520 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
34530 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 47 55 49  port BOOL GetGUI
34540 54 68 72 65 61 64 49 6e 66 6f 28 0d 0a 20 20 44  ThreadInfo(..  D
34550 57 4f 52 44 20 69 64 54 68 72 65 61 64 2c 0d 0a  WORD idThread,..
34560 20 20 50 47 55 49 54 48 52 45 41 44 49 4e 46 4f    PGUITHREADINFO
34570 20 70 67 75 69 29 3b 0d 0a 0d 0a 65 78 74 65 72   pgui);....exter
34580 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
34590 74 20 55 49 4e 54 20 47 65 74 57 69 6e 64 6f 77  t UINT GetWindow
345a0 4d 6f 64 75 6c 65 46 69 6c 65 4e 61 6d 65 41 28  ModuleFileNameA(
345b0 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 2c 0d 0a  ..  HWND hwnd,..
345c0 20 20 4c 50 53 54 52 20 70 73 7a 46 69 6c 65 4e    LPSTR pszFileN
345d0 61 6d 65 2c 0d 0a 20 20 55 49 4e 54 20 63 63 68  ame,..  UINT cch
345e0 46 69 6c 65 4e 61 6d 65 4d 61 78 29 3b 0d 0a 65  FileNameMax);..e
345f0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
34600 78 70 6f 72 74 20 55 49 4e 54 20 47 65 74 57 69  xport UINT GetWi
34610 6e 64 6f 77 4d 6f 64 75 6c 65 46 69 6c 65 4e 61  ndowModuleFileNa
34620 6d 65 57 28 0d 0a 20 20 48 57 4e 44 20 68 77 6e  meW(..  HWND hwn
34630 64 2c 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a  d,..  LPWSTR psz
34640 46 69 6c 65 4e 61 6d 65 2c 0d 0a 20 20 55 49 4e  FileName,..  UIN
34650 54 20 63 63 68 46 69 6c 65 4e 61 6d 65 4d 61 78  T cchFileNameMax
34660 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
34670 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ICODE..// #.....
34680 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
34690 47 65 74 57 69 6e 64 6f 77 4d 6f 64 75 6c 65 46  GetWindowModuleF
346a0 69 6c 65 4e 61 6d 65 41 20 47 65 74 57 69 6e 64  ileNameA GetWind
346b0 6f 77 4d 6f 64 75 6c 65 46 69 6c 65 4e 61 6d 65  owModuleFileName
346c0 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
346d0 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23  !UNICODE....// #
346e0 69 66 6e 64 65 66 20 4e 4f 5f 53 54 41 54 45 5f  ifndef NO_STATE_
346f0 46 4c 41 47 53 0d 0a 65 6e 75 6d 20 3a 20 75 69  FLAGS..enum : ui
34700 6e 74 20 7b 20 53 54 41 54 45 5f 53 59 53 54 45  nt { STATE_SYSTE
34710 4d 5f 55 4e 41 56 41 49 4c 41 42 4c 45 20 3d 20  M_UNAVAILABLE = 
34720 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e  0x00000001 }..en
34730 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 41 54  um : uint { STAT
34740 45 5f 53 59 53 54 45 4d 5f 53 45 4c 45 43 54 45  E_SYSTEM_SELECTE
34750 44 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d  D = 0x00000002 }
34760 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
34770 53 54 41 54 45 5f 53 59 53 54 45 4d 5f 46 4f 43  STATE_SYSTEM_FOC
34780 55 53 45 44 20 3d 20 30 78 30 30 30 30 30 30 30  USED = 0x0000000
34790 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
347a0 20 7b 20 53 54 41 54 45 5f 53 59 53 54 45 4d 5f   { STATE_SYSTEM_
347b0 50 52 45 53 53 45 44 20 3d 20 30 78 30 30 30 30  PRESSED = 0x0000
347c0 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
347d0 69 6e 74 20 7b 20 53 54 41 54 45 5f 53 59 53 54  int { STATE_SYST
347e0 45 4d 5f 43 48 45 43 4b 45 44 20 3d 20 30 78 30  EM_CHECKED = 0x0
347f0 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20  0000010 }..enum 
34800 3a 20 75 69 6e 74 20 7b 20 53 54 41 54 45 5f 53  : uint { STATE_S
34810 59 53 54 45 4d 5f 4d 49 58 45 44 20 3d 20 30 78  YSTEM_MIXED = 0x
34820 30 30 30 30 30 30 32 30 20 7d 0d 0a 61 6c 69 61  00000020 }..alia
34830 73 20 53 54 41 54 45 5f 53 59 53 54 45 4d 5f 4d  s STATE_SYSTEM_M
34840 49 58 45 44 20 53 54 41 54 45 5f 53 59 53 54 45  IXED STATE_SYSTE
34850 4d 5f 49 4e 44 45 54 45 52 4d 49 4e 41 54 45 3b  M_INDETERMINATE;
34860 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
34870 53 54 41 54 45 5f 53 59 53 54 45 4d 5f 52 45 41  STATE_SYSTEM_REA
34880 44 4f 4e 4c 59 20 3d 20 30 78 30 30 30 30 30 30  DONLY = 0x000000
34890 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  40 }..enum : uin
348a0 74 20 7b 20 53 54 41 54 45 5f 53 59 53 54 45 4d  t { STATE_SYSTEM
348b0 5f 48 4f 54 54 52 41 43 4b 45 44 20 3d 20 30 78  _HOTTRACKED = 0x
348c0 30 30 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75 6d  00000080 }..enum
348d0 20 3a 20 75 69 6e 74 20 7b 20 53 54 41 54 45 5f   : uint { STATE_
348e0 53 59 53 54 45 4d 5f 44 45 46 41 55 4c 54 20 3d  SYSTEM_DEFAULT =
348f0 20 30 78 30 30 30 30 30 31 30 30 20 7d 0d 0a 65   0x00000100 }..e
34900 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 41  num : uint { STA
34910 54 45 5f 53 59 53 54 45 4d 5f 45 58 50 41 4e 44  TE_SYSTEM_EXPAND
34920 45 44 20 3d 20 30 78 30 30 30 30 30 32 30 30 20  ED = 0x00000200 
34930 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
34940 20 53 54 41 54 45 5f 53 59 53 54 45 4d 5f 43 4f   STATE_SYSTEM_CO
34950 4c 4c 41 50 53 45 44 20 3d 20 30 78 30 30 30 30  LLAPSED = 0x0000
34960 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0400 }..enum : u
34970 69 6e 74 20 7b 20 53 54 41 54 45 5f 53 59 53 54  int { STATE_SYST
34980 45 4d 5f 42 55 53 59 20 3d 20 30 78 30 30 30 30  EM_BUSY = 0x0000
34990 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0800 }..enum : u
349a0 69 6e 74 20 7b 20 53 54 41 54 45 5f 53 59 53 54  int { STATE_SYST
349b0 45 4d 5f 46 4c 4f 41 54 49 4e 47 20 3d 20 30 78  EM_FLOATING = 0x
349c0 30 30 30 30 31 30 30 30 20 7d 0d 0a 65 6e 75 6d  00001000 }..enum
349d0 20 3a 20 75 69 6e 74 20 7b 20 53 54 41 54 45 5f   : uint { STATE_
349e0 53 59 53 54 45 4d 5f 4d 41 52 51 55 45 45 44 20  SYSTEM_MARQUEED 
349f0 3d 20 30 78 30 30 30 30 32 30 30 30 20 7d 0d 0a  = 0x00002000 }..
34a00 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54  enum : uint { ST
34a10 41 54 45 5f 53 59 53 54 45 4d 5f 41 4e 49 4d 41  ATE_SYSTEM_ANIMA
34a20 54 45 44 20 3d 20 30 78 30 30 30 30 34 30 30 30  TED = 0x00004000
34a30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
34a40 7b 20 53 54 41 54 45 5f 53 59 53 54 45 4d 5f 49  { STATE_SYSTEM_I
34a50 4e 56 49 53 49 42 4c 45 20 3d 20 30 78 30 30 30  NVISIBLE = 0x000
34a60 30 38 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  08000 }..enum : 
34a70 75 69 6e 74 20 7b 20 53 54 41 54 45 5f 53 59 53  uint { STATE_SYS
34a80 54 45 4d 5f 4f 46 46 53 43 52 45 45 4e 20 3d 20  TEM_OFFSCREEN = 
34a90 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e  0x00010000 }..en
34aa0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 41 54  um : uint { STAT
34ab0 45 5f 53 59 53 54 45 4d 5f 53 49 5a 45 41 42 4c  E_SYSTEM_SIZEABL
34ac0 45 20 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d  E = 0x00020000 }
34ad0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
34ae0 53 54 41 54 45 5f 53 59 53 54 45 4d 5f 4d 4f 56  STATE_SYSTEM_MOV
34af0 45 41 42 4c 45 20 3d 20 30 78 30 30 30 34 30 30  EABLE = 0x000400
34b00 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
34b10 74 20 7b 20 53 54 41 54 45 5f 53 59 53 54 45 4d  t { STATE_SYSTEM
34b20 5f 53 45 4c 46 56 4f 49 43 49 4e 47 20 3d 20 30  _SELFVOICING = 0
34b30 78 30 30 30 38 30 30 30 30 20 7d 0d 0a 65 6e 75  x00080000 }..enu
34b40 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 41 54 45  m : uint { STATE
34b50 5f 53 59 53 54 45 4d 5f 46 4f 43 55 53 41 42 4c  _SYSTEM_FOCUSABL
34b60 45 20 3d 20 30 78 30 30 31 30 30 30 30 30 20 7d  E = 0x00100000 }
34b70 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
34b80 53 54 41 54 45 5f 53 59 53 54 45 4d 5f 53 45 4c  STATE_SYSTEM_SEL
34b90 45 43 54 41 42 4c 45 20 3d 20 30 78 30 30 32 30  ECTABLE = 0x0020
34ba0 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
34bb0 69 6e 74 20 7b 20 53 54 41 54 45 5f 53 59 53 54  int { STATE_SYST
34bc0 45 4d 5f 4c 49 4e 4b 45 44 20 3d 20 30 78 30 30  EM_LINKED = 0x00
34bd0 34 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  400000 }..enum :
34be0 20 75 69 6e 74 20 7b 20 53 54 41 54 45 5f 53 59   uint { STATE_SY
34bf0 53 54 45 4d 5f 54 52 41 56 45 52 53 45 44 20 3d  STEM_TRAVERSED =
34c00 20 30 78 30 30 38 30 30 30 30 30 20 7d 0d 0a 65   0x00800000 }..e
34c10 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 41  num : uint { STA
34c20 54 45 5f 53 59 53 54 45 4d 5f 4d 55 4c 54 49 53  TE_SYSTEM_MULTIS
34c30 45 4c 45 43 54 41 42 4c 45 20 3d 20 30 78 30 31  ELECTABLE = 0x01
34c40 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
34c50 20 75 69 6e 74 20 7b 20 53 54 41 54 45 5f 53 59   uint { STATE_SY
34c60 53 54 45 4d 5f 45 58 54 53 45 4c 45 43 54 41 42  STEM_EXTSELECTAB
34c70 4c 45 20 3d 20 30 78 30 32 30 30 30 30 30 30 20  LE = 0x02000000 
34c80 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
34c90 20 53 54 41 54 45 5f 53 59 53 54 45 4d 5f 41 4c   STATE_SYSTEM_AL
34ca0 45 52 54 5f 4c 4f 57 20 3d 20 30 78 30 34 30 30  ERT_LOW = 0x0400
34cb0 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
34cc0 69 6e 74 20 7b 20 53 54 41 54 45 5f 53 59 53 54  int { STATE_SYST
34cd0 45 4d 5f 41 4c 45 52 54 5f 4d 45 44 49 55 4d 20  EM_ALERT_MEDIUM 
34ce0 3d 20 30 78 30 38 30 30 30 30 30 30 20 7d 0d 0a  = 0x08000000 }..
34cf0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54  enum : uint { ST
34d00 41 54 45 5f 53 59 53 54 45 4d 5f 41 4c 45 52 54  ATE_SYSTEM_ALERT
34d10 5f 48 49 47 48 20 3d 20 30 78 31 30 30 30 30 30  _HIGH = 0x100000
34d20 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
34d30 74 20 7b 20 53 54 41 54 45 5f 53 59 53 54 45 4d  t { STATE_SYSTEM
34d40 5f 50 52 4f 54 45 43 54 45 44 20 3d 20 30 78 32  _PROTECTED = 0x2
34d50 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000000 }..enum 
34d60 3a 20 75 69 6e 74 20 7b 20 53 54 41 54 45 5f 53  : uint { STATE_S
34d70 59 53 54 45 4d 5f 56 41 4c 49 44 20 3d 20 30 78  YSTEM_VALID = 0x
34d80 33 46 46 46 46 46 46 46 20 7d 0d 0a 2f 2f 20 23  3FFFFFFF }..// #
34d90 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  endif....enum : 
34da0 75 69 6e 74 20 7b 20 43 43 48 49 4c 44 52 45 4e  uint { CCHILDREN
34db0 5f 54 49 54 4c 45 42 41 52 20 3d 20 35 20 7d 0d  _TITLEBAR = 5 }.
34dc0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
34dd0 43 48 49 4c 44 52 45 4e 5f 53 43 52 4f 4c 4c 42  CHILDREN_SCROLLB
34de0 41 52 20 3d 20 35 20 7d 0d 0a 0d 0a 73 74 72 75  AR = 5 }....stru
34df0 63 74 20 74 61 67 43 55 52 53 4f 52 49 4e 46 4f  ct tagCURSORINFO
34e00 20 7b 0d 0a 20 20 44 57 4f 52 44 20 63 62 53 69   {..  DWORD cbSi
34e10 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 66 6c 61  ze;..  DWORD fla
34e20 67 73 3b 0d 0a 20 20 48 43 55 52 53 4f 52 20 68  gs;..  HCURSOR h
34e30 43 75 72 73 6f 72 3b 0d 0a 20 20 50 4f 49 4e 54  Cursor;..  POINT
34e40 20 70 74 53 63 72 65 65 6e 50 6f 73 3b 0d 0a 7d   ptScreenPos;..}
34e50 0d 0a 61 6c 69 61 73 20 74 61 67 43 55 52 53 4f  ..alias tagCURSO
34e60 52 49 4e 46 4f 20 43 55 52 53 4f 52 49 4e 46 4f  RINFO CURSORINFO
34e70 3b 0d 0a 61 6c 69 61 73 20 74 61 67 43 55 52 53  ;..alias tagCURS
34e80 4f 52 49 4e 46 4f 2a 20 50 43 55 52 53 4f 52 49  ORINFO* PCURSORI
34e90 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67 43  NFO;..alias tagC
34ea0 55 52 53 4f 52 49 4e 46 4f 2a 20 4c 50 43 55 52  URSORINFO* LPCUR
34eb0 53 4f 52 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d  SORINFO;....enum
34ec0 20 3a 20 75 69 6e 74 20 7b 20 43 55 52 53 4f 52   : uint { CURSOR
34ed0 5f 53 48 4f 57 49 4e 47 20 3d 20 30 78 30 30 30  _SHOWING = 0x000
34ee0 30 30 30 30 31 20 7d 0d 0a 0d 0a 65 78 74 65 72  00001 }....exter
34ef0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
34f00 74 20 42 4f 4f 4c 20 47 65 74 43 75 72 73 6f 72  t BOOL GetCursor
34f10 49 6e 66 6f 28 0d 0a 20 20 50 43 55 52 53 4f 52  Info(..  PCURSOR
34f20 49 4e 46 4f 20 70 63 69 0d 0a 29 3b 0d 0a 0d 0a  INFO pci..);....
34f30 73 74 72 75 63 74 20 74 61 67 57 49 4e 44 4f 57  struct tagWINDOW
34f40 49 4e 46 4f 20 7b 0d 0a 20 20 44 57 4f 52 44 20  INFO {..  DWORD 
34f50 63 62 53 69 7a 65 3b 0d 0a 20 20 52 45 43 54 20  cbSize;..  RECT 
34f60 72 63 57 69 6e 64 6f 77 3b 0d 0a 20 20 52 45 43  rcWindow;..  REC
34f70 54 20 72 63 43 6c 69 65 6e 74 3b 0d 0a 20 20 44  T rcClient;..  D
34f80 57 4f 52 44 20 64 77 53 74 79 6c 65 3b 0d 0a 20  WORD dwStyle;.. 
34f90 20 44 57 4f 52 44 20 64 77 45 78 53 74 79 6c 65   DWORD dwExStyle
34fa0 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 57 69 6e  ;..  DWORD dwWin
34fb0 64 6f 77 53 74 61 74 75 73 3b 0d 0a 20 20 55 49  dowStatus;..  UI
34fc0 4e 54 20 63 78 57 69 6e 64 6f 77 42 6f 72 64 65  NT cxWindowBorde
34fd0 72 73 3b 0d 0a 20 20 55 49 4e 54 20 63 79 57 69  rs;..  UINT cyWi
34fe0 6e 64 6f 77 42 6f 72 64 65 72 73 3b 0d 0a 20 20  ndowBorders;..  
34ff0 41 54 4f 4d 20 61 74 6f 6d 57 69 6e 64 6f 77 54  ATOM atomWindowT
35000 79 70 65 3b 0d 0a 20 20 57 4f 52 44 20 77 43 72  ype;..  WORD wCr
35010 65 61 74 6f 72 56 65 72 73 69 6f 6e 3b 0d 0a 7d  eatorVersion;..}
35020 0d 0a 61 6c 69 61 73 20 74 61 67 57 49 4e 44 4f  ..alias tagWINDO
35030 57 49 4e 46 4f 20 57 49 4e 44 4f 57 49 4e 46 4f  WINFO WINDOWINFO
35040 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57 49 4e 44  ;..alias tagWIND
35050 4f 57 49 4e 46 4f 2a 20 50 57 49 4e 44 4f 57 49  OWINFO* PWINDOWI
35060 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57  NFO;..alias tagW
35070 49 4e 44 4f 57 49 4e 46 4f 2a 20 4c 50 57 49 4e  INDOWINFO* LPWIN
35080 44 4f 57 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d  DOWINFO;....enum
35090 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 41 43 54   : uint { WS_ACT
350a0 49 56 45 43 41 50 54 49 4f 4e 20 3d 20 30 78 30  IVECAPTION = 0x0
350b0 30 30 31 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28  001 }....extern(
350c0 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
350d0 42 4f 4f 4c 20 47 65 74 57 69 6e 64 6f 77 49 6e  BOOL GetWindowIn
350e0 66 6f 28 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64  fo(..  HWND hwnd
350f0 2c 0d 0a 20 20 50 57 49 4e 44 4f 57 49 4e 46 4f  ,..  PWINDOWINFO
35100 20 70 77 69 0d 0a 29 3b 0d 0a 0d 0a 73 74 72 75   pwi..);....stru
35110 63 74 20 74 61 67 54 49 54 4c 45 42 41 52 49 4e  ct tagTITLEBARIN
35120 46 4f 20 7b 0d 0a 20 20 44 57 4f 52 44 20 63 62  FO {..  DWORD cb
35130 53 69 7a 65 3b 0d 0a 20 20 52 45 43 54 20 72 63  Size;..  RECT rc
35140 54 69 74 6c 65 42 61 72 3b 0d 0a 20 20 44 57 4f  TitleBar;..  DWO
35150 52 44 20 72 67 73 74 61 74 65 5b 43 43 48 49 4c  RD rgstate[CCHIL
35160 44 52 45 4e 5f 54 49 54 4c 45 42 41 52 2b 31 5d  DREN_TITLEBAR+1]
35170 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 54  ;..}..alias tagT
35180 49 54 4c 45 42 41 52 49 4e 46 4f 20 54 49 54 4c  ITLEBARINFO TITL
35190 45 42 41 52 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73  EBARINFO;..alias
351a0 20 74 61 67 54 49 54 4c 45 42 41 52 49 4e 46 4f   tagTITLEBARINFO
351b0 2a 20 50 54 49 54 4c 45 42 41 52 49 4e 46 4f 3b  * PTITLEBARINFO;
351c0 0d 0a 61 6c 69 61 73 20 74 61 67 54 49 54 4c 45  ..alias tagTITLE
351d0 42 41 52 49 4e 46 4f 2a 20 4c 50 54 49 54 4c 45  BARINFO* LPTITLE
351e0 42 41 52 49 4e 46 4f 3b 0d 0a 0d 0a 65 78 74 65  BARINFO;....exte
351f0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
35200 72 74 20 42 4f 4f 4c 20 47 65 74 54 69 74 6c 65  rt BOOL GetTitle
35210 42 61 72 49 6e 66 6f 28 0d 0a 20 20 48 57 4e 44  BarInfo(..  HWND
35220 20 68 77 6e 64 2c 0d 0a 20 20 50 54 49 54 4c 45   hwnd,..  PTITLE
35230 42 41 52 49 4e 46 4f 20 70 74 69 0d 0a 29 3b 0d  BARINFO pti..);.
35240 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 45 4e  ...struct tagMEN
35250 55 42 41 52 49 4e 46 4f 20 7b 0d 0a 20 20 44 57  UBARINFO {..  DW
35260 4f 52 44 20 63 62 53 69 7a 65 3b 0d 0a 20 20 52  ORD cbSize;..  R
35270 45 43 54 20 72 63 42 61 72 3b 0d 0a 20 20 48 4d  ECT rcBar;..  HM
35280 45 4e 55 20 68 4d 65 6e 75 3b 0d 0a 20 20 48 57  ENU hMenu;..  HW
35290 4e 44 20 68 77 6e 64 4d 65 6e 75 3b 0d 0a 2f 2f  ND hwndMenu;..//
352a0 20 42 4f 4f 4c 20 20 66 42 61 72 46 6f 63 75 73   BOOL  fBarFocus
352b0 65 64 3a 31 3b 0d 0a 2f 2f 20 42 4f 4f 4c 20 20  ed:1;..// BOOL  
352c0 66 46 6f 63 75 73 65 64 3a 31 3b 0d 0a 7d 0d 0a  fFocused:1;..}..
352d0 61 6c 69 61 73 20 74 61 67 4d 45 4e 55 42 41 52  alias tagMENUBAR
352e0 49 4e 46 4f 20 4d 45 4e 55 42 41 52 49 4e 46 4f  INFO MENUBARINFO
352f0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 45 4e 55  ;..alias tagMENU
35300 42 41 52 49 4e 46 4f 2a 20 50 4d 45 4e 55 42 41  BARINFO* PMENUBA
35310 52 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61  RINFO;..alias ta
35320 67 4d 45 4e 55 42 41 52 49 4e 46 4f 2a 20 4c 50  gMENUBARINFO* LP
35330 4d 45 4e 55 42 41 52 49 4e 46 4f 3b 0d 0a 0d 0a  MENUBARINFO;....
35340 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
35350 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 4d  export BOOL GetM
35360 65 6e 75 42 61 72 49 6e 66 6f 28 0d 0a 20 20 48  enuBarInfo(..  H
35370 57 4e 44 20 68 77 6e 64 2c 0d 0a 20 20 4c 4f 4e  WND hwnd,..  LON
35380 47 20 69 64 4f 62 6a 65 63 74 2c 0d 0a 20 20 4c  G idObject,..  L
35390 4f 4e 47 20 69 64 49 74 65 6d 2c 0d 0a 20 20 50  ONG idItem,..  P
353a0 4d 45 4e 55 42 41 52 49 4e 46 4f 20 70 6d 62 69  MENUBARINFO pmbi
353b0 0d 0a 29 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74  ..);....struct t
353c0 61 67 53 43 52 4f 4c 4c 42 41 52 49 4e 46 4f 20  agSCROLLBARINFO 
353d0 7b 0d 0a 20 20 44 57 4f 52 44 20 63 62 53 69 7a  {..  DWORD cbSiz
353e0 65 3b 0d 0a 20 20 52 45 43 54 20 72 63 53 63 72  e;..  RECT rcScr
353f0 6f 6c 6c 42 61 72 3b 0d 0a 20 20 69 6e 74 20 64  ollBar;..  int d
35400 78 79 4c 69 6e 65 42 75 74 74 6f 6e 3b 0d 0a 20  xyLineButton;.. 
35410 20 69 6e 74 20 78 79 54 68 75 6d 62 54 6f 70 3b   int xyThumbTop;
35420 0d 0a 20 20 69 6e 74 20 78 79 54 68 75 6d 62 42  ..  int xyThumbB
35430 6f 74 74 6f 6d 3b 0d 0a 20 20 69 6e 74 20 72 65  ottom;..  int re
35440 73 65 72 76 65 64 3b 0d 0a 20 20 44 57 4f 52 44  served;..  DWORD
35450 20 72 67 73 74 61 74 65 5b 43 43 48 49 4c 44 52   rgstate[CCHILDR
35460 45 4e 5f 53 43 52 4f 4c 4c 42 41 52 2b 31 5d 3b  EN_SCROLLBAR+1];
35470 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 53 43  ..}..alias tagSC
35480 52 4f 4c 4c 42 41 52 49 4e 46 4f 20 53 43 52 4f  ROLLBARINFO SCRO
35490 4c 4c 42 41 52 49 4e 46 4f 3b 0d 0a 61 6c 69 61  LLBARINFO;..alia
354a0 73 20 74 61 67 53 43 52 4f 4c 4c 42 41 52 49 4e  s tagSCROLLBARIN
354b0 46 4f 2a 20 50 53 43 52 4f 4c 4c 42 41 52 49 4e  FO* PSCROLLBARIN
354c0 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67 53 43  FO;..alias tagSC
354d0 52 4f 4c 4c 42 41 52 49 4e 46 4f 2a 20 4c 50 53  ROLLBARINFO* LPS
354e0 43 52 4f 4c 4c 42 41 52 49 4e 46 4f 3b 0d 0a 0d  CROLLBARINFO;...
354f0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
35500 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74   export BOOL Get
35510 53 63 72 6f 6c 6c 42 61 72 49 6e 66 6f 28 0d 0a  ScrollBarInfo(..
35520 20 20 48 57 4e 44 20 68 77 6e 64 2c 0d 0a 20 20    HWND hwnd,..  
35530 4c 4f 4e 47 20 69 64 4f 62 6a 65 63 74 2c 0d 0a  LONG idObject,..
35540 20 20 50 53 43 52 4f 4c 4c 42 41 52 49 4e 46 4f    PSCROLLBARINFO
35550 20 70 73 62 69 0d 0a 29 3b 0d 0a 0d 0a 73 74 72   psbi..);....str
35560 75 63 74 20 74 61 67 43 4f 4d 42 4f 42 4f 58 49  uct tagCOMBOBOXI
35570 4e 46 4f 20 7b 0d 0a 20 20 44 57 4f 52 44 20 63  NFO {..  DWORD c
35580 62 53 69 7a 65 3b 0d 0a 20 20 52 45 43 54 20 72  bSize;..  RECT r
35590 63 49 74 65 6d 3b 0d 0a 20 20 52 45 43 54 20 72  cItem;..  RECT r
355a0 63 42 75 74 74 6f 6e 3b 0d 0a 20 20 44 57 4f 52  cButton;..  DWOR
355b0 44 20 73 74 61 74 65 42 75 74 74 6f 6e 3b 0d 0a  D stateButton;..
355c0 20 20 48 57 4e 44 20 68 77 6e 64 43 6f 6d 62 6f    HWND hwndCombo
355d0 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 49 74  ;..  HWND hwndIt
355e0 65 6d 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64  em;..  HWND hwnd
355f0 4c 69 73 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  List;..}..alias 
35600 74 61 67 43 4f 4d 42 4f 42 4f 58 49 4e 46 4f 20  tagCOMBOBOXINFO 
35610 43 4f 4d 42 4f 42 4f 58 49 4e 46 4f 3b 0d 0a 61  COMBOBOXINFO;..a
35620 6c 69 61 73 20 74 61 67 43 4f 4d 42 4f 42 4f 58  lias tagCOMBOBOX
35630 49 4e 46 4f 2a 20 50 43 4f 4d 42 4f 42 4f 58 49  INFO* PCOMBOBOXI
35640 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67 43  NFO;..alias tagC
35650 4f 4d 42 4f 42 4f 58 49 4e 46 4f 2a 20 4c 50 43  OMBOBOXINFO* LPC
35660 4f 4d 42 4f 42 4f 58 49 4e 46 4f 3b 0d 0a 0d 0a  OMBOBOXINFO;....
35670 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
35680 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 43  export BOOL GetC
35690 6f 6d 62 6f 42 6f 78 49 6e 66 6f 28 0d 0a 20 20  omboBoxInfo(..  
356a0 48 57 4e 44 20 68 77 6e 64 43 6f 6d 62 6f 2c 0d  HWND hwndCombo,.
356b0 0a 20 20 50 43 4f 4d 42 4f 42 4f 58 49 4e 46 4f  .  PCOMBOBOXINFO
356c0 20 70 63 62 69 0d 0a 29 3b 0d 0a 0d 0a 65 6e 75   pcbi..);....enu
356d0 6d 20 3a 20 75 69 6e 74 20 7b 20 47 41 5f 50 41  m : uint { GA_PA
356e0 52 45 4e 54 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d  RENT = 1 }..enum
356f0 20 3a 20 75 69 6e 74 20 7b 20 47 41 5f 52 4f 4f   : uint { GA_ROO
35700 54 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  T = 2 }..enum : 
35710 75 69 6e 74 20 7b 20 47 41 5f 52 4f 4f 54 4f 57  uint { GA_ROOTOW
35720 4e 45 52 20 3d 20 33 20 7d 0d 0a 0d 0a 65 78 74  NER = 3 }....ext
35730 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
35740 6f 72 74 20 48 57 4e 44 20 47 65 74 41 6e 63 65  ort HWND GetAnce
35750 73 74 6f 72 28 0d 0a 20 20 48 57 4e 44 20 68 77  stor(..  HWND hw
35760 6e 64 2c 0d 0a 20 20 55 49 4e 54 20 67 61 46 6c  nd,..  UINT gaFl
35770 61 67 73 0d 0a 29 3b 0d 0a 0d 0a 65 78 74 65 72  ags..);....exter
35780 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
35790 74 20 48 57 4e 44 20 52 65 61 6c 43 68 69 6c 64  t HWND RealChild
357a0 57 69 6e 64 6f 77 46 72 6f 6d 50 6f 69 6e 74 28  WindowFromPoint(
357b0 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 50 61 72  ..  HWND hwndPar
357c0 65 6e 74 2c 0d 0a 20 20 50 4f 49 4e 54 20 70 74  ent,..  POINT pt
357d0 50 61 72 65 6e 74 43 6c 69 65 6e 74 43 6f 6f 72  ParentClientCoor
357e0 64 73 0d 0a 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  ds..);....extern
357f0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
35800 20 55 49 4e 54 20 52 65 61 6c 47 65 74 57 69 6e   UINT RealGetWin
35810 64 6f 77 43 6c 61 73 73 41 28 0d 0a 20 20 48 57  dowClassA(..  HW
35820 4e 44 20 68 77 6e 64 2c 0d 0a 20 20 4c 50 53 54  ND hwnd,..  LPST
35830 52 20 70 73 7a 54 79 70 65 2c 0d 0a 20 20 55 49  R pszType,..  UI
35840 4e 54 20 63 63 68 54 79 70 65 0d 0a 29 3b 0d 0a  NT cchType..);..
35850 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
35860 29 20 65 78 70 6f 72 74 20 55 49 4e 54 20 52 65  ) export UINT Re
35870 61 6c 47 65 74 57 69 6e 64 6f 77 43 6c 61 73 73  alGetWindowClass
35880 57 28 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 2c  W(..  HWND hwnd,
35890 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a 54 79  ..  LPWSTR pszTy
358a0 70 65 2c 0d 0a 20 20 55 49 4e 54 20 63 63 68 54  pe,..  UINT cchT
358b0 79 70 65 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64  ype..);..// #ifd
358c0 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  ef UNICODE..// #
358d0 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
358e0 6c 69 61 73 20 52 65 61 6c 47 65 74 57 69 6e 64  lias RealGetWind
358f0 6f 77 43 6c 61 73 73 41 20 52 65 61 6c 47 65 74  owClassA RealGet
35900 57 69 6e 64 6f 77 43 6c 61 73 73 3b 0d 0a 2f 2f  WindowClass;..//
35910 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
35920 4f 44 45 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  ODE....struct ta
35930 67 41 4c 54 54 41 42 49 4e 46 4f 20 7b 0d 0a 20  gALTTABINFO {.. 
35940 20 44 57 4f 52 44 20 63 62 53 69 7a 65 3b 0d 0a   DWORD cbSize;..
35950 20 20 69 6e 74 20 63 49 74 65 6d 73 3b 0d 0a 20    int cItems;.. 
35960 20 69 6e 74 20 63 43 6f 6c 75 6d 6e 73 3b 0d 0a   int cColumns;..
35970 20 20 69 6e 74 20 63 52 6f 77 73 3b 0d 0a 20 20    int cRows;..  
35980 69 6e 74 20 69 43 6f 6c 46 6f 63 75 73 3b 0d 0a  int iColFocus;..
35990 20 20 69 6e 74 20 69 52 6f 77 46 6f 63 75 73 3b    int iRowFocus;
359a0 0d 0a 20 20 69 6e 74 20 63 78 49 74 65 6d 3b 0d  ..  int cxItem;.
359b0 0a 20 20 69 6e 74 20 63 79 49 74 65 6d 3b 0d 0a  .  int cyItem;..
359c0 20 20 50 4f 49 4e 54 20 70 74 53 74 61 72 74 3b    POINT ptStart;
359d0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 41 4c  ..}..alias tagAL
359e0 54 54 41 42 49 4e 46 4f 20 41 4c 54 54 41 42 49  TTABINFO ALTTABI
359f0 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67 41  NFO;..alias tagA
35a00 4c 54 54 41 42 49 4e 46 4f 2a 20 50 41 4c 54 54  LTTABINFO* PALTT
35a10 41 42 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74  ABINFO;..alias t
35a20 61 67 41 4c 54 54 41 42 49 4e 46 4f 2a 20 4c 50  agALTTABINFO* LP
35a30 41 4c 54 54 41 42 49 4e 46 4f 3b 0d 0a 0d 0a 65  ALTTABINFO;....e
35a40 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
35a50 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 41 6c  xport BOOL GetAl
35a60 74 54 61 62 49 6e 66 6f 41 28 0d 0a 20 20 48 57  tTabInfoA(..  HW
35a70 4e 44 20 68 77 6e 64 2c 0d 0a 20 20 69 6e 74 20  ND hwnd,..  int 
35a80 69 49 74 65 6d 2c 0d 0a 20 20 50 41 4c 54 54 41  iItem,..  PALTTA
35a90 42 49 4e 46 4f 20 70 61 74 69 2c 0d 0a 20 20 4c  BINFO pati,..  L
35aa0 50 53 54 52 20 70 73 7a 49 74 65 6d 54 65 78 74  PSTR pszItemText
35ab0 2c 0d 0a 20 20 55 49 4e 54 20 63 63 68 49 74 65  ,..  UINT cchIte
35ac0 6d 54 65 78 74 0d 0a 29 3b 0d 0a 65 78 74 65 72  mText..);..exter
35ad0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
35ae0 74 20 42 4f 4f 4c 20 47 65 74 41 6c 74 54 61 62  t BOOL GetAltTab
35af0 49 6e 66 6f 57 28 0d 0a 20 20 48 57 4e 44 20 68  InfoW(..  HWND h
35b00 77 6e 64 2c 0d 0a 20 20 69 6e 74 20 69 49 74 65  wnd,..  int iIte
35b10 6d 2c 0d 0a 20 20 50 41 4c 54 54 41 42 49 4e 46  m,..  PALTTABINF
35b20 4f 20 70 61 74 69 2c 0d 0a 20 20 4c 50 57 53 54  O pati,..  LPWST
35b30 52 20 70 73 7a 49 74 65 6d 54 65 78 74 2c 0d 0a  R pszItemText,..
35b40 20 20 55 49 4e 54 20 63 63 68 49 74 65 6d 54 65    UINT cchItemTe
35b50 78 74 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  xt..);..// #ifde
35b60 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
35b70 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
35b80 69 61 73 20 47 65 74 41 6c 74 54 61 62 49 6e 66  ias GetAltTabInf
35b90 6f 41 20 47 65 74 41 6c 74 54 61 62 49 6e 66 6f  oA GetAltTabInfo
35ba0 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
35bb0 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
35bc0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
35bd0 72 74 20 44 57 4f 52 44 20 47 65 74 4c 69 73 74  rt DWORD GetList
35be0 42 6f 78 49 6e 66 6f 28 0d 0a 20 20 48 57 4e 44  BoxInfo(..  HWND
35bf0 20 68 77 6e 64 0d 0a 29 3b 0d 0a 0d 0a 2f 2f 20   hwnd..);....// 
35c00 23 65 6e 64 69 66 20 2f 2a 20 4e 4f 57 49 4e 41  #endif /* NOWINA
35c10 42 4c 45 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69  BLE */..// #endi
35c20 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
35c30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23  x0500 */....// #
35c40 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  if(_WIN32_WINNT 
35c50 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 78 74 65  >= 0x0500)..exte
35c60 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
35c70 72 74 20 42 4f 4f 4c 20 4c 6f 63 6b 57 6f 72 6b  rt BOOL LockWork
35c80 53 74 61 74 69 6f 6e 28 29 3b 0d 0a 2f 2f 20 23  Station();..// #
35c90 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f  endif /* _WIN32_
35ca0 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 20  WINNT >= 0x0500 
35cb0 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 5f 57 49  */....// #if(_WI
35cc0 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30  N32_WINNT >= 0x0
35cd0 35 30 30 29 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  500)....extern(W
35ce0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
35cf0 4f 4f 4c 20 55 73 65 72 48 61 6e 64 6c 65 47 72  OOL UserHandleGr
35d00 61 6e 74 41 63 63 65 73 73 28 0d 0a 20 20 48 41  antAccess(..  HA
35d10 4e 44 4c 45 20 68 55 73 65 72 48 61 6e 64 6c 65  NDLE hUserHandle
35d20 2c 0d 0a 20 20 48 41 4e 44 4c 45 20 68 4a 6f 62  ,..  HANDLE hJob
35d30 2c 0d 0a 20 20 42 4f 4f 4c 20 62 47 72 61 6e 74  ,..  BOOL bGrant
35d40 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  );....// #endif 
35d50 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  /* _WIN32_WINNT 
35d60 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0500 */....
35d70 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49  // #if(_WIN32_WI
35d80 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a  NNT >= 0x0501)..
35d90 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48 52  ..alias void* HR
35da0 41 57 49 4e 50 55 54 3b 0d 0a 0d 0a 2f 2f 20 23  AWINPUT;....// #
35db0 64 65 66 69 6e 65 20 47 45 54 5f 52 41 57 49 4e  define GET_RAWIN
35dc0 50 55 54 5f 43 4f 44 45 5f 57 50 41 52 41 4d 28  PUT_CODE_WPARAM(
35dd0 77 50 61 72 61 6d 29 20 28 28 77 50 61 72 61 6d  wParam) ((wParam
35de0 29 20 26 20 30 78 66 66 29 0d 0a 0d 0a 65 6e 75  ) & 0xff)....enu
35df0 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49 4d 5f 49  m : uint { RIM_I
35e00 4e 50 55 54 20 3d 20 30 20 7d 0d 0a 0d 0a 65 6e  NPUT = 0 }....en
35e10 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49 4d 5f  um : uint { RIM_
35e20 49 4e 50 55 54 53 49 4e 4b 20 3d 20 31 20 7d 0d  INPUTSINK = 1 }.
35e30 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 52 41 57  ...struct tagRAW
35e40 49 4e 50 55 54 48 45 41 44 45 52 20 7b 0d 0a 20  INPUTHEADER {.. 
35e50 20 44 57 4f 52 44 20 64 77 54 79 70 65 3b 0d 0a   DWORD dwType;..
35e60 20 20 44 57 4f 52 44 20 64 77 53 69 7a 65 3b 0d    DWORD dwSize;.
35e70 0a 20 20 48 41 4e 44 4c 45 20 68 44 65 76 69 63  .  HANDLE hDevic
35e80 65 3b 0d 0a 20 20 57 50 41 52 41 4d 20 77 50 61  e;..  WPARAM wPa
35e90 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  ram;..}..alias t
35ea0 61 67 52 41 57 49 4e 50 55 54 48 45 41 44 45 52  agRAWINPUTHEADER
35eb0 20 52 41 57 49 4e 50 55 54 48 45 41 44 45 52 3b   RAWINPUTHEADER;
35ec0 0d 0a 61 6c 69 61 73 20 74 61 67 52 41 57 49 4e  ..alias tagRAWIN
35ed0 50 55 54 48 45 41 44 45 52 2a 20 50 52 41 57 49  PUTHEADER* PRAWI
35ee0 4e 50 55 54 48 45 41 44 45 52 3b 0d 0a 61 6c 69  NPUTHEADER;..ali
35ef0 61 73 20 74 61 67 52 41 57 49 4e 50 55 54 48 45  as tagRAWINPUTHE
35f00 41 44 45 52 2a 20 4c 50 52 41 57 49 4e 50 55 54  ADER* LPRAWINPUT
35f10 48 45 41 44 45 52 3b 0d 0a 0d 0a 65 6e 75 6d 20  HEADER;....enum 
35f20 3a 20 75 69 6e 74 20 7b 20 52 49 4d 5f 54 59 50  : uint { RIM_TYP
35f30 45 4d 4f 55 53 45 20 3d 20 30 20 7d 0d 0a 65 6e  EMOUSE = 0 }..en
35f40 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49 4d 5f  um : uint { RIM_
35f50 54 59 50 45 4b 45 59 42 4f 41 52 44 20 3d 20 31  TYPEKEYBOARD = 1
35f60 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
35f70 7b 20 52 49 4d 5f 54 59 50 45 48 49 44 20 3d 20  { RIM_TYPEHID = 
35f80 32 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  2 }....struct ta
35f90 67 52 41 57 4d 4f 55 53 45 20 7b 0d 0a 0d 0a 20  gRAWMOUSE {.... 
35fa0 20 55 53 48 4f 52 54 20 75 73 46 6c 61 67 73 3b   USHORT usFlags;
35fb0 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 55 4c 4f  ..union {..  ULO
35fc0 4e 47 20 75 6c 42 75 74 74 6f 6e 73 3b 0d 0a 73  NG ulButtons;..s
35fd0 74 72 75 63 74 20 7b 0d 0a 20 20 55 53 48 4f 52  truct {..  USHOR
35fe0 54 20 75 73 42 75 74 74 6f 6e 46 6c 61 67 73 3b  T usButtonFlags;
35ff0 0d 0a 20 20 55 53 48 4f 52 54 20 75 73 42 75 74  ..  USHORT usBut
36000 74 6f 6e 44 61 74 61 3b 0d 0a 7d 0d 0a 0d 0a 7d  tonData;..}....}
36010 0d 0a 0d 0a 20 20 55 4c 4f 4e 47 20 75 6c 52 61  ....  ULONG ulRa
36020 77 42 75 74 74 6f 6e 73 3b 0d 0a 20 20 4c 4f 4e  wButtons;..  LON
36030 47 20 6c 4c 61 73 74 58 3b 0d 0a 20 20 4c 4f 4e  G lLastX;..  LON
36040 47 20 6c 4c 61 73 74 59 3b 0d 0a 20 20 55 4c 4f  G lLastY;..  ULO
36050 4e 47 20 75 6c 45 78 74 72 61 49 6e 66 6f 72 6d  NG ulExtraInform
36060 61 74 69 6f 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  ation;..}..alias
36070 20 74 61 67 52 41 57 4d 4f 55 53 45 20 52 41 57   tagRAWMOUSE RAW
36080 4d 4f 55 53 45 3b 0d 0a 61 6c 69 61 73 20 74 61  MOUSE;..alias ta
36090 67 52 41 57 4d 4f 55 53 45 2a 20 50 52 41 57 4d  gRAWMOUSE* PRAWM
360a0 4f 55 53 45 3b 0d 0a 61 6c 69 61 73 20 74 61 67  OUSE;..alias tag
360b0 52 41 57 4d 4f 55 53 45 2a 20 4c 50 52 41 57 4d  RAWMOUSE* LPRAWM
360c0 4f 55 53 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  OUSE;....enum : 
360d0 75 69 6e 74 20 7b 20 52 49 5f 4d 4f 55 53 45 5f  uint { RI_MOUSE_
360e0 4c 45 46 54 5f 42 55 54 54 4f 4e 5f 44 4f 57 4e  LEFT_BUTTON_DOWN
360f0 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75   = 0x0001 }..enu
36100 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49 5f 4d 4f  m : uint { RI_MO
36110 55 53 45 5f 4c 45 46 54 5f 42 55 54 54 4f 4e 5f  USE_LEFT_BUTTON_
36120 55 50 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65  UP = 0x0002 }..e
36130 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49 5f  num : uint { RI_
36140 4d 4f 55 53 45 5f 52 49 47 48 54 5f 42 55 54 54  MOUSE_RIGHT_BUTT
36150 4f 4e 5f 44 4f 57 4e 20 3d 20 30 78 30 30 30 34  ON_DOWN = 0x0004
36160 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
36170 7b 20 52 49 5f 4d 4f 55 53 45 5f 52 49 47 48 54  { RI_MOUSE_RIGHT
36180 5f 42 55 54 54 4f 4e 5f 55 50 20 3d 20 30 78 30  _BUTTON_UP = 0x0
36190 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
361a0 6e 74 20 7b 20 52 49 5f 4d 4f 55 53 45 5f 4d 49  nt { RI_MOUSE_MI
361b0 44 44 4c 45 5f 42 55 54 54 4f 4e 5f 44 4f 57 4e  DDLE_BUTTON_DOWN
361c0 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75   = 0x0010 }..enu
361d0 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49 5f 4d 4f  m : uint { RI_MO
361e0 55 53 45 5f 4d 49 44 44 4c 45 5f 42 55 54 54 4f  USE_MIDDLE_BUTTO
361f0 4e 5f 55 50 20 3d 20 30 78 30 30 32 30 20 7d 0d  N_UP = 0x0020 }.
36200 0a 0d 0a 61 6c 69 61 73 20 52 49 5f 4d 4f 55 53  ...alias RI_MOUS
36210 45 5f 4c 45 46 54 5f 42 55 54 54 4f 4e 5f 44 4f  E_LEFT_BUTTON_DO
36220 57 4e 20 52 49 5f 4d 4f 55 53 45 5f 42 55 54 54  WN RI_MOUSE_BUTT
36230 4f 4e 5f 31 5f 44 4f 57 4e 3b 0d 0a 61 6c 69 61  ON_1_DOWN;..alia
36240 73 20 52 49 5f 4d 4f 55 53 45 5f 4c 45 46 54 5f  s RI_MOUSE_LEFT_
36250 42 55 54 54 4f 4e 5f 55 50 20 52 49 5f 4d 4f 55  BUTTON_UP RI_MOU
36260 53 45 5f 42 55 54 54 4f 4e 5f 31 5f 55 50 3b 0d  SE_BUTTON_1_UP;.
36270 0a 61 6c 69 61 73 20 52 49 5f 4d 4f 55 53 45 5f  .alias RI_MOUSE_
36280 52 49 47 48 54 5f 42 55 54 54 4f 4e 5f 44 4f 57  RIGHT_BUTTON_DOW
36290 4e 20 52 49 5f 4d 4f 55 53 45 5f 42 55 54 54 4f  N RI_MOUSE_BUTTO
362a0 4e 5f 32 5f 44 4f 57 4e 3b 0d 0a 61 6c 69 61 73  N_2_DOWN;..alias
362b0 20 52 49 5f 4d 4f 55 53 45 5f 52 49 47 48 54 5f   RI_MOUSE_RIGHT_
362c0 42 55 54 54 4f 4e 5f 55 50 20 52 49 5f 4d 4f 55  BUTTON_UP RI_MOU
362d0 53 45 5f 42 55 54 54 4f 4e 5f 32 5f 55 50 3b 0d  SE_BUTTON_2_UP;.
362e0 0a 61 6c 69 61 73 20 52 49 5f 4d 4f 55 53 45 5f  .alias RI_MOUSE_
362f0 4d 49 44 44 4c 45 5f 42 55 54 54 4f 4e 5f 44 4f  MIDDLE_BUTTON_DO
36300 57 4e 20 52 49 5f 4d 4f 55 53 45 5f 42 55 54 54  WN RI_MOUSE_BUTT
36310 4f 4e 5f 33 5f 44 4f 57 4e 3b 0d 0a 61 6c 69 61  ON_3_DOWN;..alia
36320 73 20 52 49 5f 4d 4f 55 53 45 5f 4d 49 44 44 4c  s RI_MOUSE_MIDDL
36330 45 5f 42 55 54 54 4f 4e 5f 55 50 20 52 49 5f 4d  E_BUTTON_UP RI_M
36340 4f 55 53 45 5f 42 55 54 54 4f 4e 5f 33 5f 55 50  OUSE_BUTTON_3_UP
36350 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  ;....enum : uint
36360 20 7b 20 52 49 5f 4d 4f 55 53 45 5f 42 55 54 54   { RI_MOUSE_BUTT
36370 4f 4e 5f 34 5f 44 4f 57 4e 20 3d 20 30 78 30 30  ON_4_DOWN = 0x00
36380 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  40 }..enum : uin
36390 74 20 7b 20 52 49 5f 4d 4f 55 53 45 5f 42 55 54  t { RI_MOUSE_BUT
363a0 54 4f 4e 5f 34 5f 55 50 20 3d 20 30 78 30 30 38  TON_4_UP = 0x008
363b0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
363c0 20 7b 20 52 49 5f 4d 4f 55 53 45 5f 42 55 54 54   { RI_MOUSE_BUTT
363d0 4f 4e 5f 35 5f 44 4f 57 4e 20 3d 20 30 78 30 31  ON_5_DOWN = 0x01
363e0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
363f0 74 20 7b 20 52 49 5f 4d 4f 55 53 45 5f 42 55 54  t { RI_MOUSE_BUT
36400 54 4f 4e 5f 35 5f 55 50 20 3d 20 30 78 30 32 30  TON_5_UP = 0x020
36410 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
36420 6e 74 20 7b 20 52 49 5f 4d 4f 55 53 45 5f 57 48  nt { RI_MOUSE_WH
36430 45 45 4c 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a  EEL = 0x0400 }..
36440 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
36450 4d 4f 55 53 45 5f 4d 4f 56 45 5f 52 45 4c 41 54  MOUSE_MOVE_RELAT
36460 49 56 45 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20  IVE = 0 }..enum 
36470 3a 20 75 69 6e 74 20 7b 20 4d 4f 55 53 45 5f 4d  : uint { MOUSE_M
36480 4f 56 45 5f 41 42 53 4f 4c 55 54 45 20 3d 20 31  OVE_ABSOLUTE = 1
36490 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
364a0 7b 20 4d 4f 55 53 45 5f 56 49 52 54 55 41 4c 5f  { MOUSE_VIRTUAL_
364b0 44 45 53 4b 54 4f 50 20 3d 20 30 78 30 32 20 7d  DESKTOP = 0x02 }
364c0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
364d0 4d 4f 55 53 45 5f 41 54 54 52 49 42 55 54 45 53  MOUSE_ATTRIBUTES
364e0 5f 43 48 41 4e 47 45 44 20 3d 20 30 78 30 34 20  _CHANGED = 0x04 
364f0 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 52  }....struct tagR
36500 41 57 4b 45 59 42 4f 41 52 44 20 7b 0d 0a 0d 0a  AWKEYBOARD {....
36510 20 20 55 53 48 4f 52 54 20 4d 61 6b 65 43 6f 64    USHORT MakeCod
36520 65 3b 0d 0a 20 20 55 53 48 4f 52 54 20 46 6c 61  e;..  USHORT Fla
36530 67 73 3b 0d 0a 20 20 55 53 48 4f 52 54 20 52 65  gs;..  USHORT Re
36540 73 65 72 76 65 64 3b 0d 0a 20 20 55 53 48 4f 52  served;..  USHOR
36550 54 20 56 4b 65 79 3b 0d 0a 20 20 55 49 4e 54 20  T VKey;..  UINT 
36560 4d 65 73 73 61 67 65 3b 0d 0a 20 20 55 4c 4f 4e  Message;..  ULON
36570 47 20 45 78 74 72 61 49 6e 66 6f 72 6d 61 74 69  G ExtraInformati
36580 6f 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  on;..}..alias ta
36590 67 52 41 57 4b 45 59 42 4f 41 52 44 20 52 41 57  gRAWKEYBOARD RAW
365a0 4b 45 59 42 4f 41 52 44 3b 0d 0a 61 6c 69 61 73  KEYBOARD;..alias
365b0 20 74 61 67 52 41 57 4b 45 59 42 4f 41 52 44 2a   tagRAWKEYBOARD*
365c0 20 50 52 41 57 4b 45 59 42 4f 41 52 44 3b 0d 0a   PRAWKEYBOARD;..
365d0 61 6c 69 61 73 20 74 61 67 52 41 57 4b 45 59 42  alias tagRAWKEYB
365e0 4f 41 52 44 2a 20 4c 50 52 41 57 4b 45 59 42 4f  OARD* LPRAWKEYBO
365f0 41 52 44 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ARD;....enum : u
36600 69 6e 74 20 7b 20 4b 45 59 42 4f 41 52 44 5f 4f  int { KEYBOARD_O
36610 56 45 52 52 55 4e 5f 4d 41 4b 45 5f 43 4f 44 45  VERRUN_MAKE_CODE
36620 20 3d 20 30 78 46 46 20 7d 0d 0a 0d 0a 65 6e 75   = 0xFF }....enu
36630 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49 5f 4b 45  m : uint { RI_KE
36640 59 5f 4d 41 4b 45 20 3d 20 30 20 7d 0d 0a 65 6e  Y_MAKE = 0 }..en
36650 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49 5f 4b  um : uint { RI_K
36660 45 59 5f 42 52 45 41 4b 20 3d 20 31 20 7d 0d 0a  EY_BREAK = 1 }..
36670 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49  enum : uint { RI
36680 5f 4b 45 59 5f 45 30 20 3d 20 32 20 7d 0d 0a 65  _KEY_E0 = 2 }..e
36690 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49 5f  num : uint { RI_
366a0 4b 45 59 5f 45 31 20 3d 20 34 20 7d 0d 0a 65 6e  KEY_E1 = 4 }..en
366b0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49 5f 4b  um : uint { RI_K
366c0 45 59 5f 54 45 52 4d 53 52 56 5f 53 45 54 5f 4c  EY_TERMSRV_SET_L
366d0 45 44 20 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a  ED = 8 }..enum :
366e0 20 75 69 6e 74 20 7b 20 52 49 5f 4b 45 59 5f 54   uint { RI_KEY_T
366f0 45 52 4d 53 52 56 5f 53 48 41 44 4f 57 20 3d 20  ERMSRV_SHADOW = 
36700 30 78 31 30 20 7d 0d 0a 0d 0a 73 74 72 75 63 74  0x10 }....struct
36710 20 74 61 67 52 41 57 48 49 44 20 7b 0d 0a 20 20   tagRAWHID {..  
36720 44 57 4f 52 44 20 64 77 53 69 7a 65 48 69 64 3b  DWORD dwSizeHid;
36730 0d 0a 20 20 44 57 4f 52 44 20 64 77 43 6f 75 6e  ..  DWORD dwCoun
36740 74 3b 0d 0a 20 20 42 59 54 45 20 62 52 61 77 44  t;..  BYTE bRawD
36750 61 74 61 5b 31 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61  ata[1];..}..alia
36760 73 20 74 61 67 52 41 57 48 49 44 20 52 41 57 48  s tagRAWHID RAWH
36770 49 44 3b 0d 0a 61 6c 69 61 73 20 74 61 67 52 41  ID;..alias tagRA
36780 57 48 49 44 2a 20 50 52 41 57 48 49 44 3b 0d 0a  WHID* PRAWHID;..
36790 61 6c 69 61 73 20 74 61 67 52 41 57 48 49 44 2a  alias tagRAWHID*
367a0 20 4c 50 52 41 57 48 49 44 3b 0d 0a 0d 0a 73 74   LPRAWHID;....st
367b0 72 75 63 74 20 74 61 67 52 41 57 49 4e 50 55 54  ruct tagRAWINPUT
367c0 20 7b 0d 0a 20 20 52 41 57 49 4e 50 55 54 48 45   {..  RAWINPUTHE
367d0 41 44 45 52 20 68 65 61 64 65 72 3b 0d 0a 75 6e  ADER header;..un
367e0 69 6f 6e 20 7b 0d 0a 20 20 52 41 57 4d 4f 55 53  ion {..  RAWMOUS
367f0 45 20 6d 6f 75 73 65 3b 0d 0a 20 20 52 41 57 4b  E mouse;..  RAWK
36800 45 59 42 4f 41 52 44 20 6b 65 79 62 6f 61 72 64  EYBOARD keyboard
36810 3b 0d 0a 20 20 52 41 57 48 49 44 20 68 69 64 3b  ;..  RAWHID hid;
36820 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a 61 6c 69 61 73 20  ..}....}..alias 
36830 74 61 67 52 41 57 49 4e 50 55 54 20 52 41 57 49  tagRAWINPUT RAWI
36840 4e 50 55 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67  NPUT;..alias tag
36850 52 41 57 49 4e 50 55 54 2a 20 50 52 41 57 49 4e  RAWINPUT* PRAWIN
36860 50 55 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67 52  PUT;..alias tagR
36870 41 57 49 4e 50 55 54 2a 20 4c 50 52 41 57 49 4e  AWINPUT* LPRAWIN
36880 50 55 54 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  PUT;....// #ifde
36890 66 20 5f 57 49 4e 36 34 0d 0a 2f 2f 20 23 2e 2e  f _WIN64..// #..
368a0 2e 0d 0a 2f 2f 20 23 65 6c 73 65 20 20 20 2f 2f  ...// #else   //
368b0 20 5f 57 49 4e 36 34 0d 0a 75 69 6e 74 20 52 41   _WIN64..uint RA
368c0 57 49 4e 50 55 54 5f 41 4c 49 47 4e 28 75 69 6e  WINPUT_ALIGN(uin
368d0 74 20 78 29 7b 20 72 65 74 75 72 6e 20 28 28 78  t x){ return ((x
368e0 20 2b 20 44 57 4f 52 44 2e 73 69 7a 65 6f 66 20   + DWORD.sizeof 
368f0 2d 20 31 29 20 26 20 7e 28 44 57 4f 52 44 2e 73  - 1) & ~(DWORD.s
36900 69 7a 65 6f 66 20 2d 20 31 29 29 3b 20 7d 0d 0a  izeof - 1)); }..
36910 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2f 20 5f 57  // #endif  // _W
36920 49 4e 36 34 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  IN64....// #defi
36930 6e 65 20 4e 45 58 54 52 41 57 49 4e 50 55 54 42  ne NEXTRAWINPUTB
36940 4c 4f 43 4b 28 70 74 72 29 20 28 28 50 52 41 57  LOCK(ptr) ((PRAW
36950 49 4e 50 55 54 29 52 41 57 49 4e 50 55 54 5f 41  INPUT)RAWINPUT_A
36960 4c 49 47 4e 28 28 55 4c 4f 4e 47 5f 50 54 52 29  LIGN((ULONG_PTR)
36970 28 28 50 42 59 54 45 29 28 70 74 72 29 20 2b 20  ((PBYTE)(ptr) + 
36980 28 70 74 72 29 2d 3e 68 65 61 64 65 72 2e 64 77  (ptr)->header.dw
36990 53 69 7a 65 29 29 29 0d 0a 0d 0a 65 6e 75 6d 20  Size)))....enum 
369a0 3a 20 75 69 6e 74 20 7b 20 52 49 44 5f 49 4e 50  : uint { RID_INP
369b0 55 54 20 3d 20 30 78 31 30 30 30 30 30 30 33 20  UT = 0x10000003 
369c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
369d0 20 52 49 44 5f 48 45 41 44 45 52 20 3d 20 30 78   RID_HEADER = 0x
369e0 31 30 30 30 30 30 30 35 20 7d 0d 0a 0d 0a 65 78  10000005 }....ex
369f0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
36a00 70 6f 72 74 20 55 49 4e 54 20 47 65 74 52 61 77  port UINT GetRaw
36a10 49 6e 70 75 74 44 61 74 61 28 0d 0a 20 20 48 52  InputData(..  HR
36a20 41 57 49 4e 50 55 54 20 68 52 61 77 49 6e 70 75  AWINPUT hRawInpu
36a30 74 2c 0d 0a 20 20 55 49 4e 54 20 75 69 43 6f 6d  t,..  UINT uiCom
36a40 6d 61 6e 64 2c 0d 0a 20 20 4c 50 56 4f 49 44 20  mand,..  LPVOID 
36a50 70 44 61 74 61 2c 0d 0a 20 20 50 55 49 4e 54 20  pData,..  PUINT 
36a60 70 63 62 53 69 7a 65 2c 0d 0a 20 20 55 49 4e 54  pcbSize,..  UINT
36a70 20 63 62 53 69 7a 65 48 65 61 64 65 72 29 3b 0d   cbSizeHeader);.
36a80 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
36a90 20 52 49 44 49 5f 50 52 45 50 41 52 53 45 44 44   RIDI_PREPARSEDD
36aa0 41 54 41 20 3d 20 30 78 32 30 30 30 30 30 30 35  ATA = 0x20000005
36ab0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
36ac0 7b 20 52 49 44 49 5f 44 45 56 49 43 45 4e 41 4d  { RIDI_DEVICENAM
36ad0 45 20 3d 20 30 78 32 30 30 30 30 30 30 37 20 7d  E = 0x20000007 }
36ae0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
36af0 52 49 44 49 5f 44 45 56 49 43 45 49 4e 46 4f 20  RIDI_DEVICEINFO 
36b00 3d 20 30 78 32 30 30 30 30 30 30 62 20 7d 0d 0a  = 0x2000000b }..
36b10 0d 0a 73 74 72 75 63 74 20 74 61 67 52 49 44 5f  ..struct tagRID_
36b20 44 45 56 49 43 45 5f 49 4e 46 4f 5f 4d 4f 55 53  DEVICE_INFO_MOUS
36b30 45 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 49  E {..  DWORD dwI
36b40 64 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4e 75  d;..  DWORD dwNu
36b50 6d 62 65 72 4f 66 42 75 74 74 6f 6e 73 3b 0d 0a  mberOfButtons;..
36b60 20 20 44 57 4f 52 44 20 64 77 53 61 6d 70 6c 65    DWORD dwSample
36b70 52 61 74 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  Rate;..}..alias 
36b80 74 61 67 52 49 44 5f 44 45 56 49 43 45 5f 49 4e  tagRID_DEVICE_IN
36b90 46 4f 5f 4d 4f 55 53 45 20 52 49 44 5f 44 45 56  FO_MOUSE RID_DEV
36ba0 49 43 45 5f 49 4e 46 4f 5f 4d 4f 55 53 45 3b 0d  ICE_INFO_MOUSE;.
36bb0 0a 61 6c 69 61 73 20 74 61 67 52 49 44 5f 44 45  .alias tagRID_DE
36bc0 56 49 43 45 5f 49 4e 46 4f 5f 4d 4f 55 53 45 2a  VICE_INFO_MOUSE*
36bd0 20 50 52 49 44 5f 44 45 56 49 43 45 5f 49 4e 46   PRID_DEVICE_INF
36be0 4f 5f 4d 4f 55 53 45 3b 0d 0a 0d 0a 73 74 72 75  O_MOUSE;....stru
36bf0 63 74 20 74 61 67 52 49 44 5f 44 45 56 49 43 45  ct tagRID_DEVICE
36c00 5f 49 4e 46 4f 5f 4b 45 59 42 4f 41 52 44 20 7b  _INFO_KEYBOARD {
36c10 0d 0a 20 20 44 57 4f 52 44 20 64 77 54 79 70 65  ..  DWORD dwType
36c20 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 75 62  ;..  DWORD dwSub
36c30 54 79 70 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64  Type;..  DWORD d
36c40 77 4b 65 79 62 6f 61 72 64 4d 6f 64 65 3b 0d 0a  wKeyboardMode;..
36c50 20 20 44 57 4f 52 44 20 64 77 4e 75 6d 62 65 72    DWORD dwNumber
36c60 4f 66 46 75 6e 63 74 69 6f 6e 4b 65 79 73 3b 0d  OfFunctionKeys;.
36c70 0a 20 20 44 57 4f 52 44 20 64 77 4e 75 6d 62 65  .  DWORD dwNumbe
36c80 72 4f 66 49 6e 64 69 63 61 74 6f 72 73 3b 0d 0a  rOfIndicators;..
36c90 20 20 44 57 4f 52 44 20 64 77 4e 75 6d 62 65 72    DWORD dwNumber
36ca0 4f 66 4b 65 79 73 54 6f 74 61 6c 3b 0d 0a 7d 0d  OfKeysTotal;..}.
36cb0 0a 61 6c 69 61 73 20 74 61 67 52 49 44 5f 44 45  .alias tagRID_DE
36cc0 56 49 43 45 5f 49 4e 46 4f 5f 4b 45 59 42 4f 41  VICE_INFO_KEYBOA
36cd0 52 44 20 52 49 44 5f 44 45 56 49 43 45 5f 49 4e  RD RID_DEVICE_IN
36ce0 46 4f 5f 4b 45 59 42 4f 41 52 44 3b 0d 0a 61 6c  FO_KEYBOARD;..al
36cf0 69 61 73 20 74 61 67 52 49 44 5f 44 45 56 49 43  ias tagRID_DEVIC
36d00 45 5f 49 4e 46 4f 5f 4b 45 59 42 4f 41 52 44 2a  E_INFO_KEYBOARD*
36d10 20 50 52 49 44 5f 44 45 56 49 43 45 5f 49 4e 46   PRID_DEVICE_INF
36d20 4f 5f 4b 45 59 42 4f 41 52 44 3b 0d 0a 0d 0a 73  O_KEYBOARD;....s
36d30 74 72 75 63 74 20 74 61 67 52 49 44 5f 44 45 56  truct tagRID_DEV
36d40 49 43 45 5f 49 4e 46 4f 5f 48 49 44 20 7b 0d 0a  ICE_INFO_HID {..
36d50 20 20 44 57 4f 52 44 20 64 77 56 65 6e 64 6f 72    DWORD dwVendor
36d60 49 64 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 50  Id;..  DWORD dwP
36d70 72 6f 64 75 63 74 49 64 3b 0d 0a 20 20 44 57 4f  roductId;..  DWO
36d80 52 44 20 64 77 56 65 72 73 69 6f 6e 4e 75 6d 62  RD dwVersionNumb
36d90 65 72 3b 0d 0a 20 20 55 53 48 4f 52 54 20 75 73  er;..  USHORT us
36da0 55 73 61 67 65 50 61 67 65 3b 0d 0a 20 20 55 53  UsagePage;..  US
36db0 48 4f 52 54 20 75 73 55 73 61 67 65 3b 0d 0a 7d  HORT usUsage;..}
36dc0 0d 0a 61 6c 69 61 73 20 74 61 67 52 49 44 5f 44  ..alias tagRID_D
36dd0 45 56 49 43 45 5f 49 4e 46 4f 5f 48 49 44 20 52  EVICE_INFO_HID R
36de0 49 44 5f 44 45 56 49 43 45 5f 49 4e 46 4f 5f 48  ID_DEVICE_INFO_H
36df0 49 44 3b 0d 0a 61 6c 69 61 73 20 74 61 67 52 49  ID;..alias tagRI
36e00 44 5f 44 45 56 49 43 45 5f 49 4e 46 4f 5f 48 49  D_DEVICE_INFO_HI
36e10 44 2a 20 50 52 49 44 5f 44 45 56 49 43 45 5f 49  D* PRID_DEVICE_I
36e20 4e 46 4f 5f 48 49 44 3b 0d 0a 0d 0a 73 74 72 75  NFO_HID;....stru
36e30 63 74 20 74 61 67 52 49 44 5f 44 45 56 49 43 45  ct tagRID_DEVICE
36e40 5f 49 4e 46 4f 20 7b 0d 0a 20 20 44 57 4f 52 44  _INFO {..  DWORD
36e50 20 63 62 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52   cbSize;..  DWOR
36e60 44 20 64 77 54 79 70 65 3b 0d 0a 75 6e 69 6f 6e  D dwType;..union
36e70 20 7b 0d 0a 20 20 52 49 44 5f 44 45 56 49 43 45   {..  RID_DEVICE
36e80 5f 49 4e 46 4f 5f 4d 4f 55 53 45 20 6d 6f 75 73  _INFO_MOUSE mous
36e90 65 3b 0d 0a 20 20 52 49 44 5f 44 45 56 49 43 45  e;..  RID_DEVICE
36ea0 5f 49 4e 46 4f 5f 4b 45 59 42 4f 41 52 44 20 6b  _INFO_KEYBOARD k
36eb0 65 79 62 6f 61 72 64 3b 0d 0a 20 20 52 49 44 5f  eyboard;..  RID_
36ec0 44 45 56 49 43 45 5f 49 4e 46 4f 5f 48 49 44 20  DEVICE_INFO_HID 
36ed0 68 69 64 3b 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a 61 6c  hid;..}....}..al
36ee0 69 61 73 20 74 61 67 52 49 44 5f 44 45 56 49 43  ias tagRID_DEVIC
36ef0 45 5f 49 4e 46 4f 20 52 49 44 5f 44 45 56 49 43  E_INFO RID_DEVIC
36f00 45 5f 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74  E_INFO;..alias t
36f10 61 67 52 49 44 5f 44 45 56 49 43 45 5f 49 4e 46  agRID_DEVICE_INF
36f20 4f 2a 20 50 52 49 44 5f 44 45 56 49 43 45 5f 49  O* PRID_DEVICE_I
36f30 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67 52  NFO;..alias tagR
36f40 49 44 5f 44 45 56 49 43 45 5f 49 4e 46 4f 2a 20  ID_DEVICE_INFO* 
36f50 4c 50 52 49 44 5f 44 45 56 49 43 45 5f 49 4e 46  LPRID_DEVICE_INF
36f60 4f 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  O;....extern(Win
36f70 64 6f 77 73 29 20 65 78 70 6f 72 74 20 55 49 4e  dows) export UIN
36f80 54 20 47 65 74 52 61 77 49 6e 70 75 74 44 65 76  T GetRawInputDev
36f90 69 63 65 49 6e 66 6f 41 28 0d 0a 20 20 48 41 4e  iceInfoA(..  HAN
36fa0 44 4c 45 20 68 44 65 76 69 63 65 2c 0d 0a 20 20  DLE hDevice,..  
36fb0 55 49 4e 54 20 75 69 43 6f 6d 6d 61 6e 64 2c 0d  UINT uiCommand,.
36fc0 0a 20 20 4c 50 56 4f 49 44 20 70 44 61 74 61 2c  .  LPVOID pData,
36fd0 0d 0a 20 20 50 55 49 4e 54 20 70 63 62 53 69 7a  ..  PUINT pcbSiz
36fe0 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  e);..extern(Wind
36ff0 6f 77 73 29 20 65 78 70 6f 72 74 20 55 49 4e 54  ows) export UINT
37000 20 47 65 74 52 61 77 49 6e 70 75 74 44 65 76 69   GetRawInputDevi
37010 63 65 49 6e 66 6f 57 28 0d 0a 20 20 48 41 4e 44  ceInfoW(..  HAND
37020 4c 45 20 68 44 65 76 69 63 65 2c 0d 0a 20 20 55  LE hDevice,..  U
37030 49 4e 54 20 75 69 43 6f 6d 6d 61 6e 64 2c 0d 0a  INT uiCommand,..
37040 20 20 4c 50 56 4f 49 44 20 70 44 61 74 61 2c 0d    LPVOID pData,.
37050 0a 20 20 50 55 49 4e 54 20 70 63 62 53 69 7a 65  .  PUINT pcbSize
37060 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
37070 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ICODE..// #.....
37080 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
37090 47 65 74 52 61 77 49 6e 70 75 74 44 65 76 69 63  GetRawInputDevic
370a0 65 49 6e 66 6f 41 20 47 65 74 52 61 77 49 6e 70  eInfoA GetRawInp
370b0 75 74 44 65 76 69 63 65 49 6e 66 6f 3b 0d 0a 2f  utDeviceInfo;../
370c0 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
370d0 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  CODE....extern(W
370e0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 55  indows) export U
370f0 49 4e 54 20 47 65 74 52 61 77 49 6e 70 75 74 42  INT GetRawInputB
37100 75 66 66 65 72 28 0d 0a 20 20 50 52 41 57 49 4e  uffer(..  PRAWIN
37110 50 55 54 20 70 44 61 74 61 2c 0d 0a 20 20 50 55  PUT pData,..  PU
37120 49 4e 54 20 70 63 62 53 69 7a 65 2c 0d 0a 20 20  INT pcbSize,..  
37130 55 49 4e 54 20 63 62 53 69 7a 65 48 65 61 64 65  UINT cbSizeHeade
37140 72 29 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  r);....struct ta
37150 67 52 41 57 49 4e 50 55 54 44 45 56 49 43 45 20  gRAWINPUTDEVICE 
37160 7b 0d 0a 20 20 55 53 48 4f 52 54 20 75 73 55 73  {..  USHORT usUs
37170 61 67 65 50 61 67 65 3b 0d 0a 20 20 55 53 48 4f  agePage;..  USHO
37180 52 54 20 75 73 55 73 61 67 65 3b 0d 0a 20 20 44  RT usUsage;..  D
37190 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a 20  WORD dwFlags;.. 
371a0 20 48 57 4e 44 20 68 77 6e 64 54 61 72 67 65 74   HWND hwndTarget
371b0 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 52  ;..}..alias tagR
371c0 41 57 49 4e 50 55 54 44 45 56 49 43 45 20 52 41  AWINPUTDEVICE RA
371d0 57 49 4e 50 55 54 44 45 56 49 43 45 3b 0d 0a 61  WINPUTDEVICE;..a
371e0 6c 69 61 73 20 74 61 67 52 41 57 49 4e 50 55 54  lias tagRAWINPUT
371f0 44 45 56 49 43 45 2a 20 50 52 41 57 49 4e 50 55  DEVICE* PRAWINPU
37200 54 44 45 56 49 43 45 3b 0d 0a 61 6c 69 61 73 20  TDEVICE;..alias 
37210 74 61 67 52 41 57 49 4e 50 55 54 44 45 56 49 43  tagRAWINPUTDEVIC
37220 45 2a 20 4c 50 52 41 57 49 4e 50 55 54 44 45 56  E* LPRAWINPUTDEV
37230 49 43 45 3b 0d 0a 0d 0a 61 6c 69 61 73 20 52 41  ICE;....alias RA
37240 57 49 4e 50 55 54 44 45 56 49 43 45 2a 20 50 43  WINPUTDEVICE* PC
37250 52 41 57 49 4e 50 55 54 44 45 56 49 43 45 3b 0d  RAWINPUTDEVICE;.
37260 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
37270 20 52 49 44 45 56 5f 52 45 4d 4f 56 45 20 3d 20   RIDEV_REMOVE = 
37280 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e  0x00000001 }..en
37290 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49 44 45  um : uint { RIDE
372a0 56 5f 45 58 43 4c 55 44 45 20 3d 20 30 78 30 30  V_EXCLUDE = 0x00
372b0 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000010 }..enum :
372c0 20 75 69 6e 74 20 7b 20 52 49 44 45 56 5f 50 41   uint { RIDEV_PA
372d0 47 45 4f 4e 4c 59 20 3d 20 30 78 30 30 30 30 30  GEONLY = 0x00000
372e0 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  020 }..enum : ui
372f0 6e 74 20 7b 20 52 49 44 45 56 5f 4e 4f 4c 45 47  nt { RIDEV_NOLEG
37300 41 43 59 20 3d 20 30 78 30 30 30 30 30 30 33 30  ACY = 0x00000030
37310 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
37320 7b 20 52 49 44 45 56 5f 43 41 50 54 55 52 45 4d  { RIDEV_CAPTUREM
37330 4f 55 53 45 20 3d 20 30 78 30 30 30 30 30 32 30  OUSE = 0x0000020
37340 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
37350 20 7b 20 52 49 44 45 56 5f 4e 4f 48 4f 54 4b 45   { RIDEV_NOHOTKE
37360 59 53 20 3d 20 30 78 30 30 30 30 30 32 30 30 20  YS = 0x00000200 
37370 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
37380 20 52 49 44 45 56 5f 45 58 4d 4f 44 45 4d 41 53   RIDEV_EXMODEMAS
37390 4b 20 3d 20 30 78 30 30 30 30 30 30 46 30 20 7d  K = 0x000000F0 }
373a0 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 52  ....// #define R
373b0 49 44 45 56 5f 45 58 4d 4f 44 45 28 6d 6f 64 65  IDEV_EXMODE(mode
373c0 29 20 28 28 6d 6f 64 65 29 20 26 20 52 49 44 45  ) ((mode) & RIDE
373d0 56 5f 45 58 4d 4f 44 45 4d 41 53 4b 29 0d 0a 0d  V_EXMODEMASK)...
373e0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
373f0 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 52 65 67   export BOOL Reg
37400 69 73 74 65 72 52 61 77 49 6e 70 75 74 44 65 76  isterRawInputDev
37410 69 63 65 73 28 0d 0a 20 20 50 43 52 41 57 49 4e  ices(..  PCRAWIN
37420 50 55 54 44 45 56 49 43 45 20 70 52 61 77 49 6e  PUTDEVICE pRawIn
37430 70 75 74 44 65 76 69 63 65 73 2c 0d 0a 20 20 55  putDevices,..  U
37440 49 4e 54 20 75 69 4e 75 6d 44 65 76 69 63 65 73  INT uiNumDevices
37450 2c 0d 0a 20 20 55 49 4e 54 20 63 62 53 69 7a 65  ,..  UINT cbSize
37460 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
37470 64 6f 77 73 29 20 65 78 70 6f 72 74 20 55 49 4e  dows) export UIN
37480 54 20 47 65 74 52 65 67 69 73 74 65 72 65 64 52  T GetRegisteredR
37490 61 77 49 6e 70 75 74 44 65 76 69 63 65 73 28 0d  awInputDevices(.
374a0 0a 20 20 50 52 41 57 49 4e 50 55 54 44 45 56 49  .  PRAWINPUTDEVI
374b0 43 45 20 70 52 61 77 49 6e 70 75 74 44 65 76 69  CE pRawInputDevi
374c0 63 65 73 2c 0d 0a 20 20 50 55 49 4e 54 20 70 75  ces,..  PUINT pu
374d0 69 4e 75 6d 44 65 76 69 63 65 73 2c 0d 0a 20 20  iNumDevices,..  
374e0 55 49 4e 54 20 63 62 53 69 7a 65 29 3b 0d 0a 0d  UINT cbSize);...
374f0 0a 73 74 72 75 63 74 20 74 61 67 52 41 57 49 4e  .struct tagRAWIN
37500 50 55 54 44 45 56 49 43 45 4c 49 53 54 20 7b 0d  PUTDEVICELIST {.
37510 0a 20 20 48 41 4e 44 4c 45 20 68 44 65 76 69 63  .  HANDLE hDevic
37520 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 54 79  e;..  DWORD dwTy
37530 70 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  pe;..}..alias ta
37540 67 52 41 57 49 4e 50 55 54 44 45 56 49 43 45 4c  gRAWINPUTDEVICEL
37550 49 53 54 20 52 41 57 49 4e 50 55 54 44 45 56 49  IST RAWINPUTDEVI
37560 43 45 4c 49 53 54 3b 0d 0a 61 6c 69 61 73 20 74  CELIST;..alias t
37570 61 67 52 41 57 49 4e 50 55 54 44 45 56 49 43 45  agRAWINPUTDEVICE
37580 4c 49 53 54 2a 20 50 52 41 57 49 4e 50 55 54 44  LIST* PRAWINPUTD
37590 45 56 49 43 45 4c 49 53 54 3b 0d 0a 0d 0a 65 78  EVICELIST;....ex
375a0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
375b0 70 6f 72 74 20 55 49 4e 54 20 47 65 74 52 61 77  port UINT GetRaw
375c0 49 6e 70 75 74 44 65 76 69 63 65 4c 69 73 74 28  InputDeviceList(
375d0 0d 0a 20 20 50 52 41 57 49 4e 50 55 54 44 45 56  ..  PRAWINPUTDEV
375e0 49 43 45 4c 49 53 54 20 70 52 61 77 49 6e 70 75  ICELIST pRawInpu
375f0 74 44 65 76 69 63 65 4c 69 73 74 2c 0d 0a 20 20  tDeviceList,..  
37600 50 55 49 4e 54 20 70 75 69 4e 75 6d 44 65 76 69  PUINT puiNumDevi
37610 63 65 73 2c 0d 0a 20 20 55 49 4e 54 20 63 62 53  ces,..  UINT cbS
37620 69 7a 65 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  ize);....extern(
37630 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
37640 4c 52 45 53 55 4c 54 20 44 65 66 52 61 77 49 6e  LRESULT DefRawIn
37650 70 75 74 50 72 6f 63 28 0d 0a 20 20 50 52 41 57  putProc(..  PRAW
37660 49 4e 50 55 54 2a 20 70 61 52 61 77 49 6e 70 75  INPUT* paRawInpu
37670 74 2c 0d 0a 20 20 49 4e 54 20 6e 49 6e 70 75 74  t,..  INT nInput
37680 2c 0d 0a 20 20 55 49 4e 54 20 63 62 53 69 7a 65  ,..  UINT cbSize
37690 48 65 61 64 65 72 29 3b 0d 0a 0d 0a 2f 2f 20 23  Header);....// #
376a0 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f  endif /* _WIN32_
376b0 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 20  WINNT >= 0x0501 
376c0 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 20 21 64 65  */....// #if !de
376d0 66 69 6e 65 64 28 52 43 5f 49 4e 56 4f 4b 45 44  fined(RC_INVOKED
376e0 29 20 2f 2a 20 52 43 20 63 6f 6d 70 6c 61 69 6e  ) /* RC complain
376f0 73 20 61 62 6f 75 74 20 6c 6f 6e 67 20 73 79 6d  s about long sym
37700 62 6f 6c 73 20 69 6e 20 23 69 66 73 20 2a 2f 0d  bols in #ifs */.
37710 0a 2f 2f 20 23 69 66 20 49 53 4f 4c 41 54 49 4f  .// #if ISOLATIO
37720 4e 5f 41 57 41 52 45 5f 45 4e 41 42 4c 45 44 0d  N_AWARE_ENABLED.
37730 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
37740 64 69 66 20 2f 2a 20 49 53 4f 4c 41 54 49 4f 4e  dif /* ISOLATION
37750 5f 41 57 41 52 45 5f 45 4e 41 42 4c 45 44 20 2a  _AWARE_ENABLED *
37760 2f 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  /..// #endif /* 
37770 52 43 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 64  RC */....// #ifd
37780 65 66 20 5f 5f 63 70 6c 75 73 70 6c 75 73 0d 0a  ef __cplusplus..
37790 2f 2f 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  // }..// #endif 
377a0 20 2f 2a 20 5f 5f 63 70 6c 75 73 70 6c 75 73 20   /* __cplusplus 
377b0 2a 2f 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  */....// #endif 
377c0 2f 2a 20 21 5f 57 49 4e 55 53 45 52 5f 20 2a 2f  /* !_WINUSER_ */
377d0 0d 0a 0d 0a                                      ....