Hex Artifact Content

Not logged in

Artifact 48b85ca4f30327f37ade9021eca513942df17923:


0000: 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e 77 69 6e  module win32.win
0010: 75 73 65 72 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 6e  user;....// Tran
0020: 73 6c 61 74 65 64 20 66 72 6f 6d 20 4d 69 63 72  slated from Micr
0030: 6f 73 6f 66 74 20 50 6c 61 74 66 6f 72 6d 20 53  osoft Platform S
0040: 44 4b 20 41 75 67 75 73 74 20 32 30 30 31 20 45  DK August 2001 E
0050: 64 69 74 69 6f 6e 0d 0a 2f 2f 20 62 79 20 59 2e  dition..// by Y.
0060: 54 6f 6d 69 6e 6f 20 28 64 65 6d 6f 6f 6e 6c 69  Tomino (demoonli
0070: 74 40 69 6e 74 65 72 37 2e 6a 70 29 0d 0a 0d 0a  t@inter7.jp)....
0080: 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 77 69 6e  import win32.win
0090: 62 61 73 65 2c 20 77 69 6e 33 32 2e 77 69 6e 67  base, win32.wing
00a0: 64 69 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  di;..enum : uint
00b0: 20 7b 0d 0a 20 20 51 53 5f 50 4f 53 54 4d 45 53   {..  QS_POSTMES
00c0: 53 41 47 45 20 3d 20 30 78 30 30 30 38 2c 0d 0a  SAGE = 0x0008,..
00d0: 20 20 51 53 5f 54 49 4d 45 52 20 20 20 20 20 20    QS_TIMER      
00e0: 20 3d 20 30 78 30 30 31 30 2c 0d 0a 20 20 51 53   = 0x0010,..  QS
00f0: 5f 50 41 49 4e 54 20 20 20 20 20 20 20 3d 20 30  _PAINT       = 0
0100: 78 30 30 32 30 2c 0d 0a 20 20 51 53 5f 53 45 4e  x0020,..  QS_SEN
0110: 44 4d 45 53 53 41 47 45 20 3d 20 30 78 30 30 34  DMESSAGE = 0x004
0120: 30 2c 0d 0a 20 20 51 53 5f 48 4f 54 4b 45 59 20  0,..  QS_HOTKEY 
0130: 20 20 20 20 20 3d 20 30 78 30 30 38 30 2c 0d 0a       = 0x0080,..
0140: 20 20 51 53 5f 49 4e 50 55 54 20 20 20 20 20 20    QS_INPUT      
0150: 20 3d 20 30 78 30 34 30 37 0d 0a 7d 0d 0a 0d 0a   = 0x0407..}....
0160: 2f 2f 20 23 69 66 6e 64 65 66 20 5f 57 49 4e 55  // #ifndef _WINU
0170: 53 45 52 5f 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  SER_..// #define
0180: 20 5f 57 49 4e 55 53 45 52 5f 0d 0a 0d 0a 2f 2f   _WINUSER_....//
0190: 20 23 69 66 20 21 64 65 66 69 6e 65 64 28 5f 55   #if !defined(_U
01a0: 53 45 52 33 32 5f 29 0d 0a 2f 2f 20 23 64 65 66  SER32_)..// #def
01b0: 69 6e 65 20 57 49 4e 55 53 45 52 41 50 49 20 44  ine WINUSERAPI D
01c0: 45 43 4c 53 50 45 43 5f 49 4d 50 4f 52 54 0d 0a  ECLSPEC_IMPORT..
01d0: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
01e0: 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
01f0: 2f 2f 20 23 69 66 64 65 66 20 5f 4d 41 43 0d 0a  // #ifdef _MAC..
0200: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
0210: 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  if....// #ifdef 
0220: 5f 5f 63 70 6c 75 73 70 6c 75 73 0d 0a 2f 2f 20  __cplusplus..// 
0230: 65 78 74 65 72 6e 20 22 43 22 20 7b 0d 0a 2f 2f  extern "C" {..//
0240: 20 23 65 6e 64 69 66 20 2f 2a 20 5f 5f 63 70 6c   #endif /* __cpl
0250: 75 73 70 6c 75 73 20 2a 2f 0d 0a 0d 0a 2f 2f 20  usplus */....// 
0260: 23 69 66 6e 64 65 66 20 57 49 4e 56 45 52 0d 0a  #ifndef WINVER..
0270: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
0280: 69 66 20 2f 2a 20 21 57 49 4e 56 45 52 20 2a 2f  if /* !WINVER */
0290: 0d 0a 0d 0a 2f 2f 20 23 69 6e 63 6c 75 64 65 20  ....// #include 
02a0: 3c 73 74 64 61 72 67 2e 68 3e 0d 0a 0d 0a 2f 2f  <stdarg.h>....//
02b0: 20 23 69 66 6e 64 65 66 20 4e 4f 55 53 45 52 0d   #ifndef NOUSER.
02c0: 0a 0d 0a 61 6c 69 61 73 20 48 41 4e 44 4c 45 20  ...alias HANDLE 
02d0: 48 44 57 50 3b 0d 0a 61 6c 69 61 73 20 56 4f 49  HDWP;..alias VOI
02e0: 44 20 4d 45 4e 55 54 45 4d 50 4c 41 54 45 41 3b  D MENUTEMPLATEA;
02f0: 0d 0a 61 6c 69 61 73 20 56 4f 49 44 20 4d 45 4e  ..alias VOID MEN
0300: 55 54 45 4d 50 4c 41 54 45 57 3b 0d 0a 2f 2f 20  UTEMPLATEW;..// 
0310: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
0320: 61 6c 69 61 73 20 4d 45 4e 55 54 45 4d 50 4c 41  alias MENUTEMPLA
0330: 54 45 57 20 4d 45 4e 55 54 45 4d 50 4c 41 54 45  TEW MENUTEMPLATE
0340: 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
0350: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
0360: 2f 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  / UNICODE..alias
0370: 20 50 56 4f 49 44 20 4c 50 4d 45 4e 55 54 45 4d   PVOID LPMENUTEM
0380: 50 4c 41 54 45 41 3b 0d 0a 61 6c 69 61 73 20 50  PLATEA;..alias P
0390: 56 4f 49 44 20 4c 50 4d 45 4e 55 54 45 4d 50 4c  VOID LPMENUTEMPL
03a0: 41 54 45 57 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  ATEW;..// #ifdef
03b0: 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
03c0: 4c 50 4d 45 4e 55 54 45 4d 50 4c 41 54 45 57 20  LPMENUTEMPLATEW 
03d0: 4c 50 4d 45 4e 55 54 45 4d 50 4c 41 54 45 3b 0d  LPMENUTEMPLATE;.
03e0: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e  .// #else..// ..
03f0: 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
0400: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
0410: 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73  n(Windows) alias
0420: 20 4c 52 45 53 55 4c 54 20 66 75 6e 63 74 69 6f   LRESULT functio
0430: 6e 28 48 57 4e 44 2c 20 55 49 4e 54 2c 20 57 50  n(HWND, UINT, WP
0440: 41 52 41 4d 2c 20 4c 50 41 52 41 4d 29 20 57 4e  ARAM, LPARAM) WN
0450: 44 50 52 4f 43 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  DPROC;....// #if
0460: 64 65 66 20 53 54 52 49 43 54 0d 0a 0d 0a 65 78  def STRICT....ex
0470: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c  tern(Windows) al
0480: 69 61 73 20 49 4e 54 5f 50 54 52 20 66 75 6e 63  ias INT_PTR func
0490: 74 69 6f 6e 28 48 57 4e 44 2c 20 55 49 4e 54 2c  tion(HWND, UINT,
04a0: 20 57 50 41 52 41 4d 2c 20 4c 50 41 52 41 4d 29   WPARAM, LPARAM)
04b0: 20 44 4c 47 50 52 4f 43 3b 0d 0a 65 78 74 65 72   DLGPROC;..exter
04c0: 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73  n(Windows) alias
04d0: 20 56 4f 49 44 20 66 75 6e 63 74 69 6f 6e 28 48   VOID function(H
04e0: 57 4e 44 2c 20 55 49 4e 54 2c 20 55 49 4e 54 5f  WND, UINT, UINT_
04f0: 50 54 52 2c 20 44 57 4f 52 44 29 20 54 49 4d 45  PTR, DWORD) TIME
0500: 52 50 52 4f 43 3b 0d 0a 65 78 74 65 72 6e 28 57  RPROC;..extern(W
0510: 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 42 4f  indows) alias BO
0520: 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 48 44 43 2c  OL function(HDC,
0530: 20 4c 50 41 52 41 4d 2c 20 69 6e 74 29 20 47 52   LPARAM, int) GR
0540: 41 59 53 54 52 49 4e 47 50 52 4f 43 3b 0d 0a 65  AYSTRINGPROC;..e
0550: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61  xtern(Windows) a
0560: 6c 69 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74 69  lias BOOL functi
0570: 6f 6e 28 48 57 4e 44 2c 20 4c 50 41 52 41 4d 29  on(HWND, LPARAM)
0580: 20 57 4e 44 45 4e 55 4d 50 52 4f 43 3b 0d 0a 65   WNDENUMPROC;..e
0590: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61  xtern(Windows) a
05a0: 6c 69 61 73 20 4c 52 45 53 55 4c 54 20 66 75 6e  lias LRESULT fun
05b0: 63 74 69 6f 6e 28 69 6e 74 20 63 6f 64 65 2c 20  ction(int code, 
05c0: 57 50 41 52 41 4d 20 77 50 61 72 61 6d 2c 20 4c  WPARAM wParam, L
05d0: 50 41 52 41 4d 20 6c 50 61 72 61 6d 29 20 48 4f  PARAM lParam) HO
05e0: 4f 4b 50 52 4f 43 3b 0d 0a 65 78 74 65 72 6e 28  OKPROC;..extern(
05f0: 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 56  Windows) alias V
0600: 4f 49 44 20 66 75 6e 63 74 69 6f 6e 28 48 57 4e  OID function(HWN
0610: 44 2c 20 55 49 4e 54 2c 20 55 4c 4f 4e 47 5f 50  D, UINT, ULONG_P
0620: 54 52 2c 20 4c 52 45 53 55 4c 54 29 20 53 45 4e  TR, LRESULT) SEN
0630: 44 41 53 59 4e 43 50 52 4f 43 3b 0d 0a 0d 0a 65  DASYNCPROC;....e
0640: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61  xtern(Windows) a
0650: 6c 69 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74 69  lias BOOL functi
0660: 6f 6e 28 48 57 4e 44 2c 20 4c 50 43 53 54 52 2c  on(HWND, LPCSTR,
0670: 20 48 41 4e 44 4c 45 29 20 50 52 4f 50 45 4e 55   HANDLE) PROPENU
0680: 4d 50 52 4f 43 41 3b 0d 0a 65 78 74 65 72 6e 28  MPROCA;..extern(
0690: 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 42  Windows) alias B
06a0: 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 48 57 4e  OOL function(HWN
06b0: 44 2c 20 4c 50 43 57 53 54 52 2c 20 48 41 4e 44  D, LPCWSTR, HAND
06c0: 4c 45 29 20 50 52 4f 50 45 4e 55 4d 50 52 4f 43  LE) PROPENUMPROC
06d0: 57 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  W;....extern(Win
06e0: 64 6f 77 73 29 20 61 6c 69 61 73 20 42 4f 4f 4c  dows) alias BOOL
06f0: 20 66 75 6e 63 74 69 6f 6e 28 48 57 4e 44 2c 20   function(HWND, 
0700: 4c 50 53 54 52 2c 20 48 41 4e 44 4c 45 2c 20 55  LPSTR, HANDLE, U
0710: 4c 4f 4e 47 5f 50 54 52 29 20 50 52 4f 50 45 4e  LONG_PTR) PROPEN
0720: 55 4d 50 52 4f 43 45 58 41 3b 0d 0a 65 78 74 65  UMPROCEXA;..exte
0730: 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 61  rn(Windows) alia
0740: 73 20 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28  s BOOL function(
0750: 48 57 4e 44 2c 20 4c 50 57 53 54 52 2c 20 48 41  HWND, LPWSTR, HA
0760: 4e 44 4c 45 2c 20 55 4c 4f 4e 47 5f 50 54 52 29  NDLE, ULONG_PTR)
0770: 20 50 52 4f 50 45 4e 55 4d 50 52 4f 43 45 58 57   PROPENUMPROCEXW
0780: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
0790: 6f 77 73 29 20 61 6c 69 61 73 20 69 6e 74 20 66  ows) alias int f
07a0: 75 6e 63 74 69 6f 6e 28 4c 50 53 54 52 20 6c 70  unction(LPSTR lp
07b0: 63 68 2c 20 69 6e 74 20 69 63 68 43 75 72 72 65  ch, int ichCurre
07c0: 6e 74 2c 20 69 6e 74 20 63 63 68 2c 20 69 6e 74  nt, int cch, int
07d0: 20 63 6f 64 65 29 20 45 44 49 54 57 4f 52 44 42   code) EDITWORDB
07e0: 52 45 41 4b 50 52 4f 43 41 3b 0d 0a 65 78 74 65  REAKPROCA;..exte
07f0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 61  rn(Windows) alia
0800: 73 20 69 6e 74 20 66 75 6e 63 74 69 6f 6e 28 4c  s int function(L
0810: 50 57 53 54 52 20 6c 70 63 68 2c 20 69 6e 74 20  PWSTR lpch, int 
0820: 69 63 68 43 75 72 72 65 6e 74 2c 20 69 6e 74 20  ichCurrent, int 
0830: 63 63 68 2c 20 69 6e 74 20 63 6f 64 65 29 20 45  cch, int code) E
0840: 44 49 54 57 4f 52 44 42 52 45 41 4b 50 52 4f 43  DITWORDBREAKPROC
0850: 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e  W;....// #if(WIN
0860: 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  VER >= 0x0400)..
0870: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
0880: 61 6c 69 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74  alias BOOL funct
0890: 69 6f 6e 28 48 44 43 20 68 64 63 2c 20 4c 50 41  ion(HDC hdc, LPA
08a0: 52 41 4d 20 6c 44 61 74 61 2c 20 57 50 41 52 41  RAM lData, WPARA
08b0: 4d 20 77 44 61 74 61 2c 20 69 6e 74 20 63 78 2c  M wData, int cx,
08c0: 20 69 6e 74 20 63 79 29 20 44 52 41 57 53 54 41   int cy) DRAWSTA
08d0: 54 45 50 52 4f 43 3b 0d 0a 2f 2f 20 23 65 6e 64  TEPROC;..// #end
08e0: 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20  if /* WINVER >= 
08f0: 30 78 30 34 30 30 20 2a 2f 0d 0a 2f 2f 20 23 65  0x0400 */..// #e
0900: 6c 73 65 20 2f 2a 20 21 53 54 52 49 43 54 20 2a  lse /* !STRICT *
0910: 2f 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f  /....// ......./
0920: 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  / .......// ....
0930: 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
0940: 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  #if(WINVER >= 0x
0950: 30 34 30 30 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  0400)..// ...../
0960: 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
0970: 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  ER >= 0x0400 */.
0980: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 53  .// #endif /* !S
0990: 54 52 49 43 54 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23  TRICT */....// #
09a0: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
09b0: 6c 69 61 73 20 50 52 4f 50 45 4e 55 4d 50 52 4f  lias PROPENUMPRO
09c0: 43 57 20 50 52 4f 50 45 4e 55 4d 50 52 4f 43 3b  CW PROPENUMPROC;
09d0: 0d 0a 61 6c 69 61 73 20 50 52 4f 50 45 4e 55 4d  ..alias PROPENUM
09e0: 50 52 4f 43 45 58 57 20 50 52 4f 50 45 4e 55 4d  PROCEXW PROPENUM
09f0: 50 52 4f 43 45 58 3b 0d 0a 61 6c 69 61 73 20 45  PROCEX;..alias E
0a00: 44 49 54 57 4f 52 44 42 52 45 41 4b 50 52 4f 43  DITWORDBREAKPROC
0a10: 57 20 45 44 49 54 57 4f 52 44 42 52 45 41 4b 50  W EDITWORDBREAKP
0a20: 52 4f 43 3b 0d 0a 2f 2f 20 23 65 6c 73 65 20 20  ROC;..// #else  
0a30: 2f 2a 20 21 55 4e 49 43 4f 44 45 20 2a 2f 0d 0a  /* !UNICODE */..
0a40: 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  // .....// #endi
0a50: 66 20 2f 2a 20 55 4e 49 43 4f 44 45 20 2a 2f 0d  f /* UNICODE */.
0a60: 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 53 54 52  ...// #ifdef STR
0a70: 49 43 54 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ICT....extern(Wi
0a80: 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 42 4f 4f  ndows) alias BOO
0a90: 4c 20 66 75 6e 63 74 69 6f 6e 28 4c 50 53 54 52  L function(LPSTR
0aa0: 2c 20 4c 50 41 52 41 4d 29 20 4e 41 4d 45 45 4e  , LPARAM) NAMEEN
0ab0: 55 4d 50 52 4f 43 41 3b 0d 0a 65 78 74 65 72 6e  UMPROCA;..extern
0ac0: 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20  (Windows) alias 
0ad0: 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 4c 50  BOOL function(LP
0ae0: 57 53 54 52 2c 20 4c 50 41 52 41 4d 29 20 4e 41  WSTR, LPARAM) NA
0af0: 4d 45 45 4e 55 4d 50 52 4f 43 57 3b 0d 0a 0d 0a  MEENUMPROCW;....
0b00: 61 6c 69 61 73 20 4e 41 4d 45 45 4e 55 4d 50 52  alias NAMEENUMPR
0b10: 4f 43 41 20 57 49 4e 53 54 41 45 4e 55 4d 50 52  OCA WINSTAENUMPR
0b20: 4f 43 41 3b 0d 0a 61 6c 69 61 73 20 4e 41 4d 45  OCA;..alias NAME
0b30: 45 4e 55 4d 50 52 4f 43 41 20 44 45 53 4b 54 4f  ENUMPROCA DESKTO
0b40: 50 45 4e 55 4d 50 52 4f 43 41 3b 0d 0a 61 6c 69  PENUMPROCA;..ali
0b50: 61 73 20 4e 41 4d 45 45 4e 55 4d 50 52 4f 43 57  as NAMEENUMPROCW
0b60: 20 57 49 4e 53 54 41 45 4e 55 4d 50 52 4f 43 57   WINSTAENUMPROCW
0b70: 3b 0d 0a 61 6c 69 61 73 20 4e 41 4d 45 45 4e 55  ;..alias NAMEENU
0b80: 4d 50 52 4f 43 57 20 44 45 53 4b 54 4f 50 45 4e  MPROCW DESKTOPEN
0b90: 55 4d 50 52 4f 43 57 3b 0d 0a 0d 0a 2f 2f 20 23  UMPROCW;....// #
0ba0: 65 6c 73 65 20 2f 2a 20 21 53 54 52 49 43 54 20  else /* !STRICT 
0bb0: 2a 2f 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  */....// .......
0bc0: 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 53 54  // #endif /* !ST
0bd0: 52 49 43 54 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69  RICT */....// #i
0be0: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
0bf0: 69 61 73 20 57 49 4e 53 54 41 45 4e 55 4d 50 52  ias WINSTAENUMPR
0c00: 4f 43 57 20 57 49 4e 53 54 41 45 4e 55 4d 50 52  OCW WINSTAENUMPR
0c10: 4f 43 3b 0d 0a 61 6c 69 61 73 20 44 45 53 4b 54  OC;..alias DESKT
0c20: 4f 50 45 4e 55 4d 50 52 4f 43 57 20 44 45 53 4b  OPENUMPROCW DESK
0c30: 54 4f 50 45 4e 55 4d 50 52 4f 43 3b 0d 0a 0d 0a  TOPENUMPROC;....
0c40: 2f 2f 20 23 65 6c 73 65 20 20 2f 2a 20 21 55 4e  // #else  /* !UN
0c50: 49 43 4f 44 45 20 2a 2f 0d 0a 2f 2f 20 2e 2e 2e  ICODE */..// ...
0c60: 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  ....// #endif /*
0c70: 20 55 4e 49 43 4f 44 45 20 2a 2f 0d 0a 0d 0a 62   UNICODE */....b
0c80: 69 74 20 49 53 5f 49 4e 54 52 45 53 4f 55 52 43  it IS_INTRESOURC
0c90: 45 28 4c 50 54 53 54 52 20 5f 72 29 7b 20 72 65  E(LPTSTR _r){ re
0ca0: 74 75 72 6e 20 28 28 63 61 73 74 28 55 4c 4f 4e  turn ((cast(ULON
0cb0: 47 5f 50 54 52 29 28 5f 72 29 20 3e 3e 20 31 36  G_PTR)(_r) >> 16
0cc0: 29 20 3d 3d 20 30 29 3b 20 7d 0d 0a 4c 50 53 54  ) == 0); }..LPST
0cd0: 52 20 4d 41 4b 45 49 4e 54 52 45 53 4f 55 52 43  R MAKEINTRESOURC
0ce0: 45 41 28 57 4f 52 44 20 69 29 7b 20 72 65 74 75  EA(WORD i){ retu
0cf0: 72 6e 20 63 61 73 74 28 4c 50 53 54 52 29 28 63  rn cast(LPSTR)(c
0d00: 61 73 74 28 55 4c 4f 4e 47 5f 50 54 52 29 28 63  ast(ULONG_PTR)(c
0d10: 61 73 74 28 57 4f 52 44 29 28 69 29 29 29 3b 20  ast(WORD)(i))); 
0d20: 7d 0d 0a 4c 50 57 53 54 52 20 4d 41 4b 45 49 4e  }..LPWSTR MAKEIN
0d30: 54 52 45 53 4f 55 52 43 45 57 28 57 4f 52 44 20  TRESOURCEW(WORD 
0d40: 69 29 7b 20 72 65 74 75 72 6e 20 63 61 73 74 28  i){ return cast(
0d50: 4c 50 57 53 54 52 29 28 63 61 73 74 28 55 4c 4f  LPWSTR)(cast(ULO
0d60: 4e 47 5f 50 54 52 29 28 63 61 73 74 28 57 4f 52  NG_PTR)(cast(WOR
0d70: 44 29 28 69 29 29 29 3b 20 7d 0d 0a 2f 2f 20 23  D)(i))); }..// #
0d80: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
0d90: 6c 69 61 73 20 4d 41 4b 45 49 4e 54 52 45 53 4f  lias MAKEINTRESO
0da0: 55 52 43 45 57 20 4d 41 4b 45 49 4e 54 52 45 53  URCEW MAKEINTRES
0db0: 4f 55 52 43 45 3b 0d 0a 2f 2f 20 23 65 6c 73 65  OURCE;..// #else
0dc0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
0dd0: 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
0de0: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e  ....// #ifndef N
0df0: 4f 52 45 53 4f 55 52 43 45 0d 0a 0d 0a 63 6f 6e  ORESOURCE....con
0e00: 73 74 20 4c 50 54 53 54 52 20 52 54 5f 43 55 52  st LPTSTR RT_CUR
0e10: 53 4f 52 20 3d 20 63 61 73 74 28 4c 50 54 53 54  SOR = cast(LPTST
0e20: 52 29 28 31 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50  R)(1);..const LP
0e30: 54 53 54 52 20 52 54 5f 42 49 54 4d 41 50 20 3d  TSTR RT_BITMAP =
0e40: 20 63 61 73 74 28 4c 50 54 53 54 52 29 28 32 29   cast(LPTSTR)(2)
0e50: 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54 52 20  ;..const LPTSTR 
0e60: 52 54 5f 49 43 4f 4e 20 3d 20 63 61 73 74 28 4c  RT_ICON = cast(L
0e70: 50 54 53 54 52 29 28 33 29 3b 0d 0a 63 6f 6e 73  PTSTR)(3);..cons
0e80: 74 20 4c 50 54 53 54 52 20 52 54 5f 4d 45 4e 55  t LPTSTR RT_MENU
0e90: 20 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29 28   = cast(LPTSTR)(
0ea0: 34 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54  4);..const LPTST
0eb0: 52 20 52 54 5f 44 49 41 4c 4f 47 20 3d 20 63 61  R RT_DIALOG = ca
0ec0: 73 74 28 4c 50 54 53 54 52 29 28 35 29 3b 0d 0a  st(LPTSTR)(5);..
0ed0: 63 6f 6e 73 74 20 4c 50 54 53 54 52 20 52 54 5f  const LPTSTR RT_
0ee0: 53 54 52 49 4e 47 20 3d 20 63 61 73 74 28 4c 50  STRING = cast(LP
0ef0: 54 53 54 52 29 28 36 29 3b 0d 0a 63 6f 6e 73 74  TSTR)(6);..const
0f00: 20 4c 50 54 53 54 52 20 52 54 5f 46 4f 4e 54 44   LPTSTR RT_FONTD
0f10: 49 52 20 3d 20 63 61 73 74 28 4c 50 54 53 54 52  IR = cast(LPTSTR
0f20: 29 28 37 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54  )(7);..const LPT
0f30: 53 54 52 20 52 54 5f 46 4f 4e 54 20 3d 20 63 61  STR RT_FONT = ca
0f40: 73 74 28 4c 50 54 53 54 52 29 28 38 29 3b 0d 0a  st(LPTSTR)(8);..
0f50: 63 6f 6e 73 74 20 4c 50 54 53 54 52 20 52 54 5f  const LPTSTR RT_
0f60: 41 43 43 45 4c 45 52 41 54 4f 52 20 3d 20 63 61  ACCELERATOR = ca
0f70: 73 74 28 4c 50 54 53 54 52 29 28 39 29 3b 0d 0a  st(LPTSTR)(9);..
0f80: 63 6f 6e 73 74 20 4c 50 54 53 54 52 20 52 54 5f  const LPTSTR RT_
0f90: 52 43 44 41 54 41 20 3d 20 63 61 73 74 28 4c 50  RCDATA = cast(LP
0fa0: 54 53 54 52 29 28 31 30 29 3b 0d 0a 63 6f 6e 73  TSTR)(10);..cons
0fb0: 74 20 4c 50 54 53 54 52 20 52 54 5f 4d 45 53 53  t LPTSTR RT_MESS
0fc0: 41 47 45 54 41 42 4c 45 20 3d 20 63 61 73 74 28  AGETABLE = cast(
0fd0: 4c 50 54 53 54 52 29 28 31 31 29 3b 0d 0a 0d 0a  LPTSTR)(11);....
0fe0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 49  enum : uint { DI
0ff0: 46 46 45 52 45 4e 43 45 20 3d 20 31 31 20 7d 0d  FFERENCE = 11 }.
1000: 0a 63 6f 6e 73 74 20 4c 50 54 53 54 52 20 52 54  .const LPTSTR RT
1010: 5f 47 52 4f 55 50 5f 43 55 52 53 4f 52 20 3d 20  _GROUP_CURSOR = 
1020: 63 61 73 74 28 4c 50 54 53 54 52 29 28 63 61 73  cast(LPTSTR)(cas
1030: 74 28 55 4c 4f 4e 47 5f 50 54 52 29 52 54 5f 43  t(ULONG_PTR)RT_C
1040: 55 52 53 4f 52 20 2b 20 44 49 46 46 45 52 45 4e  URSOR + DIFFEREN
1050: 43 45 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54 53  CE);..const LPTS
1060: 54 52 20 52 54 5f 47 52 4f 55 50 5f 49 43 4f 4e  TR RT_GROUP_ICON
1070: 20 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29 28   = cast(LPTSTR)(
1080: 63 61 73 74 28 55 4c 4f 4e 47 5f 50 54 52 29 52  cast(ULONG_PTR)R
1090: 54 5f 49 43 4f 4e 20 2b 20 44 49 46 46 45 52 45  T_ICON + DIFFERE
10a0: 4e 43 45 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54  NCE);..const LPT
10b0: 53 54 52 20 52 54 5f 56 45 52 53 49 4f 4e 20 3d  STR RT_VERSION =
10c0: 20 63 61 73 74 28 4c 50 54 53 54 52 29 28 31 36   cast(LPTSTR)(16
10d0: 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54 52  );..const LPTSTR
10e0: 20 52 54 5f 44 4c 47 49 4e 43 4c 55 44 45 20 3d   RT_DLGINCLUDE =
10f0: 20 63 61 73 74 28 4c 50 54 53 54 52 29 28 31 37   cast(LPTSTR)(17
1100: 29 3b 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45  );..// #if(WINVE
1110: 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 63 6f  R >= 0x0400)..co
1120: 6e 73 74 20 4c 50 54 53 54 52 20 52 54 5f 50 4c  nst LPTSTR RT_PL
1130: 55 47 50 4c 41 59 20 3d 20 63 61 73 74 28 4c 50  UGPLAY = cast(LP
1140: 54 53 54 52 29 28 31 39 29 3b 0d 0a 63 6f 6e 73  TSTR)(19);..cons
1150: 74 20 4c 50 54 53 54 52 20 52 54 5f 56 58 44 20  t LPTSTR RT_VXD 
1160: 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29 28 32  = cast(LPTSTR)(2
1170: 30 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54  0);..const LPTST
1180: 52 20 52 54 5f 41 4e 49 43 55 52 53 4f 52 20 3d  R RT_ANICURSOR =
1190: 20 63 61 73 74 28 4c 50 54 53 54 52 29 28 32 31   cast(LPTSTR)(21
11a0: 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54 52  );..const LPTSTR
11b0: 20 52 54 5f 41 4e 49 49 43 4f 4e 20 3d 20 63 61   RT_ANIICON = ca
11c0: 73 74 28 4c 50 54 53 54 52 29 28 32 32 29 3b 0d  st(LPTSTR)(22);.
11d0: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
11e0: 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a  NVER >= 0x0400 *
11f0: 2f 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54 52 20  /..const LPTSTR 
1200: 52 54 5f 48 54 4d 4c 20 3d 20 63 61 73 74 28 4c  RT_HTML = cast(L
1210: 50 54 53 54 52 29 28 32 33 29 3b 0d 0a 2f 2f 20  PTSTR)(23);..// 
1220: 23 69 66 64 65 66 20 52 43 5f 49 4e 56 4f 4b 45  #ifdef RC_INVOKE
1230: 44 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  D..// #.....// #
1240: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
1250: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
1260: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
1270: 65 20 20 2f 2a 20 52 43 5f 49 4e 56 4f 4b 45 44  e  /* RC_INVOKED
1280: 20 2a 2f 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54   */..const LPTST
1290: 52 20 52 54 5f 4d 41 4e 49 46 45 53 54 20 3d 20  R RT_MANIFEST = 
12a0: 63 61 73 74 28 4c 50 54 53 54 52 29 28 32 34 29  cast(LPTSTR)(24)
12b0: 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54 52 20  ;..const LPTSTR 
12c0: 43 52 45 41 54 45 50 52 4f 43 45 53 53 5f 4d 41  CREATEPROCESS_MA
12d0: 4e 49 46 45 53 54 5f 52 45 53 4f 55 52 43 45 5f  NIFEST_RESOURCE_
12e0: 49 44 20 3d 20 63 61 73 74 28 4c 50 54 53 54 52  ID = cast(LPTSTR
12f0: 29 28 20 31 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50  )( 1);..const LP
1300: 54 53 54 52 20 49 53 4f 4c 41 54 49 4f 4e 41 57  TSTR ISOLATIONAW
1310: 41 52 45 5f 4d 41 4e 49 46 45 53 54 5f 52 45 53  ARE_MANIFEST_RES
1320: 4f 55 52 43 45 5f 49 44 20 3d 20 63 61 73 74 28  OURCE_ID = cast(
1330: 4c 50 54 53 54 52 29 28 32 29 3b 0d 0a 63 6f 6e  LPTSTR)(2);..con
1340: 73 74 20 4c 50 54 53 54 52 20 49 53 4f 4c 41 54  st LPTSTR ISOLAT
1350: 49 4f 4e 41 57 41 52 45 5f 4e 4f 53 54 41 54 49  IONAWARE_NOSTATI
1360: 43 49 4d 50 4f 52 54 5f 4d 41 4e 49 46 45 53 54  CIMPORT_MANIFEST
1370: 5f 52 45 53 4f 55 52 43 45 5f 49 44 20 3d 20 63  _RESOURCE_ID = c
1380: 61 73 74 28 4c 50 54 53 54 52 29 28 33 29 3b 0d  ast(LPTSTR)(3);.
1390: 0a 63 6f 6e 73 74 20 4c 50 54 53 54 52 20 4d 49  .const LPTSTR MI
13a0: 4e 49 4d 55 4d 5f 52 45 53 45 52 56 45 44 5f 4d  NIMUM_RESERVED_M
13b0: 41 4e 49 46 45 53 54 5f 52 45 53 4f 55 52 43 45  ANIFEST_RESOURCE
13c0: 5f 49 44 20 3d 20 63 61 73 74 28 4c 50 54 53 54  _ID = cast(LPTST
13d0: 52 29 28 20 31 20 29 3b 0d 0a 63 6f 6e 73 74 20  R)( 1 );..const 
13e0: 4c 50 54 53 54 52 20 4d 41 58 49 4d 55 4d 5f 52  LPTSTR MAXIMUM_R
13f0: 45 53 45 52 56 45 44 5f 4d 41 4e 49 46 45 53 54  ESERVED_MANIFEST
1400: 5f 52 45 53 4f 55 52 43 45 5f 49 44 20 3d 20 63  _RESOURCE_ID = c
1410: 61 73 74 28 4c 50 54 53 54 52 29 28 31 36 20 29  ast(LPTSTR)(16 )
1420: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ;..// #endif /* 
1430: 52 43 5f 49 4e 56 4f 4b 45 44 20 2a 2f 0d 0a 0d  RC_INVOKED */...
1440: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e  .// #endif /* !N
1450: 4f 52 45 53 4f 55 52 43 45 20 2a 2f 0d 0a 0d 0a  ORESOURCE */....
1460: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
1470: 65 78 70 6f 72 74 20 69 6e 74 20 77 76 73 70 72  export int wvspr
1480: 69 6e 74 66 41 28 0d 0a 20 20 4c 50 53 54 52 2c  intfA(..  LPSTR,
1490: 0d 0a 20 20 4c 50 43 53 54 52 2c 0d 0a 20 20 76  ..  LPCSTR,..  v
14a0: 61 5f 6c 69 73 74 20 61 72 67 6c 69 73 74 29 3b  a_list arglist);
14b0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
14c0: 29 20 65 78 70 6f 72 74 20 69 6e 74 20 77 76 73  ) export int wvs
14d0: 70 72 69 6e 74 66 57 28 0d 0a 20 20 4c 50 57 53  printfW(..  LPWS
14e0: 54 52 2c 0d 0a 20 20 4c 50 43 57 53 54 52 2c 0d  TR,..  LPCWSTR,.
14f0: 0a 20 20 76 61 5f 6c 69 73 74 20 61 72 67 6c 69  .  va_list argli
1500: 73 74 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  st);..// #ifdef 
1510: 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 77  UNICODE..alias w
1520: 76 73 70 72 69 6e 74 66 57 20 77 76 73 70 72 69  vsprintfW wvspri
1530: 6e 74 66 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  ntf;..// #else..
1540: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
1550: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
1560: 0d 0a 65 78 74 65 72 6e 28 43 29 20 65 78 70 6f  ..extern(C) expo
1570: 72 74 20 69 6e 74 20 77 73 70 72 69 6e 74 66 41  rt int wsprintfA
1580: 28 0d 0a 20 20 4c 50 53 54 52 2c 0d 0a 20 20 4c  (..  LPSTR,..  L
1590: 50 43 53 54 52 2c 0d 0a 20 20 2e 2e 2e 29 3b 0d  PCSTR,..  ...);.
15a0: 0a 65 78 74 65 72 6e 28 43 29 20 65 78 70 6f 72  .extern(C) expor
15b0: 74 20 69 6e 74 20 77 73 70 72 69 6e 74 66 57 28  t int wsprintfW(
15c0: 0d 0a 20 20 4c 50 57 53 54 52 2c 0d 0a 20 20 4c  ..  LPWSTR,..  L
15d0: 50 43 57 53 54 52 2c 0d 0a 20 20 2e 2e 2e 29 3b  PCWSTR,..  ...);
15e0: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
15f0: 4f 44 45 0d 0a 61 6c 69 61 73 20 77 73 70 72 69  ODE..alias wspri
1600: 6e 74 66 57 20 77 73 70 72 69 6e 74 66 3b 0d 0a  ntfW wsprintf;..
1610: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
1620: 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
1630: 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 63 6f 6e 73  !UNICODE....cons
1640: 74 20 4c 50 57 53 54 52 20 53 45 54 57 41 4c 4c  t LPWSTR SETWALL
1650: 50 41 50 45 52 5f 44 45 46 41 55 4c 54 20 3d 20  PAPER_DEFAULT = 
1660: 63 61 73 74 28 4c 50 57 53 54 52 29 2d 31 3b 0d  cast(LPWSTR)-1;.
1670: 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f  ...// #ifndef NO
1680: 53 43 52 4f 4c 4c 0d 0a 0d 0a 65 6e 75 6d 20 3a  SCROLL....enum :
1690: 20 75 69 6e 74 20 7b 20 53 42 5f 48 4f 52 5a 20   uint { SB_HORZ 
16a0: 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 0 }..enum : ui
16b0: 6e 74 20 7b 20 53 42 5f 56 45 52 54 20 3d 20 31  nt { SB_VERT = 1
16c0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
16d0: 7b 20 53 42 5f 43 54 4c 20 3d 20 32 20 7d 0d 0a  { SB_CTL = 2 }..
16e0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42  enum : uint { SB
16f0: 5f 42 4f 54 48 20 3d 20 33 20 7d 0d 0a 0d 0a 65  _BOTH = 3 }....e
1700: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 5f  num : uint { SB_
1710: 4c 49 4e 45 55 50 20 3d 20 30 20 7d 0d 0a 65 6e  LINEUP = 0 }..en
1720: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 5f 4c  um : uint { SB_L
1730: 49 4e 45 4c 45 46 54 20 3d 20 30 20 7d 0d 0a 65  INELEFT = 0 }..e
1740: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 5f  num : uint { SB_
1750: 4c 49 4e 45 44 4f 57 4e 20 3d 20 31 20 7d 0d 0a  LINEDOWN = 1 }..
1760: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42  enum : uint { SB
1770: 5f 4c 49 4e 45 52 49 47 48 54 20 3d 20 31 20 7d  _LINERIGHT = 1 }
1780: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1790: 53 42 5f 50 41 47 45 55 50 20 3d 20 32 20 7d 0d  SB_PAGEUP = 2 }.
17a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
17b0: 42 5f 50 41 47 45 4c 45 46 54 20 3d 20 32 20 7d  B_PAGELEFT = 2 }
17c0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
17d0: 53 42 5f 50 41 47 45 44 4f 57 4e 20 3d 20 33 20  SB_PAGEDOWN = 3 
17e0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
17f0: 20 53 42 5f 50 41 47 45 52 49 47 48 54 20 3d 20   SB_PAGERIGHT = 
1800: 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
1810: 20 7b 20 53 42 5f 54 48 55 4d 42 50 4f 53 49 54   { SB_THUMBPOSIT
1820: 49 4f 4e 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20  ION = 4 }..enum 
1830: 3a 20 75 69 6e 74 20 7b 20 53 42 5f 54 48 55 4d  : uint { SB_THUM
1840: 42 54 52 41 43 4b 20 3d 20 35 20 7d 0d 0a 65 6e  BTRACK = 5 }..en
1850: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 5f 54  um : uint { SB_T
1860: 4f 50 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a  OP = 6 }..enum :
1870: 20 75 69 6e 74 20 7b 20 53 42 5f 4c 45 46 54 20   uint { SB_LEFT 
1880: 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 6 }..enum : ui
1890: 6e 74 20 7b 20 53 42 5f 42 4f 54 54 4f 4d 20 3d  nt { SB_BOTTOM =
18a0: 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   7 }..enum : uin
18b0: 74 20 7b 20 53 42 5f 52 49 47 48 54 20 3d 20 37  t { SB_RIGHT = 7
18c0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
18d0: 7b 20 53 42 5f 45 4e 44 53 43 52 4f 4c 4c 20 3d  { SB_ENDSCROLL =
18e0: 20 38 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69   8 }....// #endi
18f0: 66 20 2f 2a 20 21 4e 4f 53 43 52 4f 4c 4c 20 2a  f /* !NOSCROLL *
1900: 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  /....// #ifndef 
1910: 4e 4f 53 48 4f 57 57 49 4e 44 4f 57 0d 0a 0d 0a  NOSHOWWINDOW....
1920: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57  enum : uint { SW
1930: 5f 48 49 44 45 20 3d 20 30 20 7d 0d 0a 65 6e 75  _HIDE = 0 }..enu
1940: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57 5f 53 48  m : uint { SW_SH
1950: 4f 57 4e 4f 52 4d 41 4c 20 3d 20 31 20 7d 0d 0a  OWNORMAL = 1 }..
1960: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57  enum : uint { SW
1970: 5f 4e 4f 52 4d 41 4c 20 3d 20 31 20 7d 0d 0a 65  _NORMAL = 1 }..e
1980: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57 5f  num : uint { SW_
1990: 53 48 4f 57 4d 49 4e 49 4d 49 5a 45 44 20 3d 20  SHOWMINIMIZED = 
19a0: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
19b0: 20 7b 20 53 57 5f 53 48 4f 57 4d 41 58 49 4d 49   { SW_SHOWMAXIMI
19c0: 5a 45 44 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20  ZED = 3 }..enum 
19d0: 3a 20 75 69 6e 74 20 7b 20 53 57 5f 4d 41 58 49  : uint { SW_MAXI
19e0: 4d 49 5a 45 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d  MIZE = 3 }..enum
19f0: 20 3a 20 75 69 6e 74 20 7b 20 53 57 5f 53 48 4f   : uint { SW_SHO
1a00: 57 4e 4f 41 43 54 49 56 41 54 45 20 3d 20 34 20  WNOACTIVATE = 4 
1a10: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1a20: 20 53 57 5f 53 48 4f 57 20 3d 20 35 20 7d 0d 0a   SW_SHOW = 5 }..
1a30: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57  enum : uint { SW
1a40: 5f 4d 49 4e 49 4d 49 5a 45 20 3d 20 36 20 7d 0d  _MINIMIZE = 6 }.
1a50: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
1a60: 57 5f 53 48 4f 57 4d 49 4e 4e 4f 41 43 54 49 56  W_SHOWMINNOACTIV
1a70: 45 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20  E = 7 }..enum : 
1a80: 75 69 6e 74 20 7b 20 53 57 5f 53 48 4f 57 4e 41  uint { SW_SHOWNA
1a90: 20 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 8 }..enum : u
1aa0: 69 6e 74 20 7b 20 53 57 5f 52 45 53 54 4f 52 45  int { SW_RESTORE
1ab0: 20 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 9 }..enum : u
1ac0: 69 6e 74 20 7b 20 53 57 5f 53 48 4f 57 44 45 46  int { SW_SHOWDEF
1ad0: 41 55 4c 54 20 3d 20 31 30 20 7d 0d 0a 65 6e 75  AULT = 10 }..enu
1ae0: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57 5f 46 4f  m : uint { SW_FO
1af0: 52 43 45 4d 49 4e 49 4d 49 5a 45 20 3d 20 31 31  RCEMINIMIZE = 11
1b00: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1b10: 7b 20 53 57 5f 4d 41 58 20 3d 20 31 31 20 7d 0d  { SW_MAX = 11 }.
1b20: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1b30: 20 48 49 44 45 5f 57 49 4e 44 4f 57 20 3d 20 30   HIDE_WINDOW = 0
1b40: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1b50: 7b 20 53 48 4f 57 5f 4f 50 45 4e 57 49 4e 44 4f  { SHOW_OPENWINDO
1b60: 57 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  W = 1 }..enum : 
1b70: 75 69 6e 74 20 7b 20 53 48 4f 57 5f 49 43 4f 4e  uint { SHOW_ICON
1b80: 57 49 4e 44 4f 57 20 3d 20 32 20 7d 0d 0a 65 6e  WINDOW = 2 }..en
1b90: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 48 4f 57  um : uint { SHOW
1ba0: 5f 46 55 4c 4c 53 43 52 45 45 4e 20 3d 20 33 20  _FULLSCREEN = 3 
1bb0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1bc0: 20 53 48 4f 57 5f 4f 50 45 4e 4e 4f 41 43 54 49   SHOW_OPENNOACTI
1bd0: 56 41 54 45 20 3d 20 34 20 7d 0d 0a 0d 0a 65 6e  VATE = 4 }....en
1be0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57 5f 50  um : uint { SW_P
1bf0: 41 52 45 4e 54 43 4c 4f 53 49 4e 47 20 3d 20 31  ARENTCLOSING = 1
1c00: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1c10: 7b 20 53 57 5f 4f 54 48 45 52 5a 4f 4f 4d 20 3d  { SW_OTHERZOOM =
1c20: 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   2 }..enum : uin
1c30: 74 20 7b 20 53 57 5f 50 41 52 45 4e 54 4f 50 45  t { SW_PARENTOPE
1c40: 4e 49 4e 47 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d  NING = 3 }..enum
1c50: 20 3a 20 75 69 6e 74 20 7b 20 53 57 5f 4f 54 48   : uint { SW_OTH
1c60: 45 52 55 4e 5a 4f 4f 4d 20 3d 20 34 20 7d 0d 0a  ERUNZOOM = 4 }..
1c70: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21  ..// #endif /* !
1c80: 4e 4f 53 48 4f 57 57 49 4e 44 4f 57 20 2a 2f 0d  NOSHOWWINDOW */.
1c90: 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  ...// #if(WINVER
1ca0: 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 65   >= 0x0500)....e
1cb0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 57 5f  num : uint { AW_
1cc0: 48 4f 52 5f 50 4f 53 49 54 49 56 45 20 3d 20 30  HOR_POSITIVE = 0
1cd0: 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75  x00000001 }..enu
1ce0: 6d 20 3a 20 75 69 6e 74 20 7b 20 41 57 5f 48 4f  m : uint { AW_HO
1cf0: 52 5f 4e 45 47 41 54 49 56 45 20 3d 20 30 78 30  R_NEGATIVE = 0x0
1d00: 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20  0000002 }..enum 
1d10: 3a 20 75 69 6e 74 20 7b 20 41 57 5f 56 45 52 5f  : uint { AW_VER_
1d20: 50 4f 53 49 54 49 56 45 20 3d 20 30 78 30 30 30  POSITIVE = 0x000
1d30: 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00004 }..enum : 
1d40: 75 69 6e 74 20 7b 20 41 57 5f 56 45 52 5f 4e 45  uint { AW_VER_NE
1d50: 47 41 54 49 56 45 20 3d 20 30 78 30 30 30 30 30  GATIVE = 0x00000
1d60: 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
1d70: 6e 74 20 7b 20 41 57 5f 43 45 4e 54 45 52 20 3d  nt { AW_CENTER =
1d80: 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65   0x00000010 }..e
1d90: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 57 5f  num : uint { AW_
1da0: 48 49 44 45 20 3d 20 30 78 30 30 30 31 30 30 30  HIDE = 0x0001000
1db0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1dc0: 20 7b 20 41 57 5f 41 43 54 49 56 41 54 45 20 3d   { AW_ACTIVATE =
1dd0: 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65   0x00020000 }..e
1de0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 57 5f  num : uint { AW_
1df0: 53 4c 49 44 45 20 3d 20 30 78 30 30 30 34 30 30  SLIDE = 0x000400
1e00: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
1e10: 74 20 7b 20 41 57 5f 42 4c 45 4e 44 20 3d 20 30  t { AW_BLEND = 0
1e20: 78 30 30 30 38 30 30 30 30 20 7d 0d 0a 0d 0a 2f  x00080000 }..../
1e30: 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
1e40: 45 52 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d  ER >= 0x0500 */.
1e50: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1e60: 20 4b 46 5f 45 58 54 45 4e 44 45 44 20 3d 20 30   KF_EXTENDED = 0
1e70: 78 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0100 }..enum : 
1e80: 75 69 6e 74 20 7b 20 4b 46 5f 44 4c 47 4d 4f 44  uint { KF_DLGMOD
1e90: 45 20 3d 20 30 78 30 38 30 30 20 7d 0d 0a 65 6e  E = 0x0800 }..en
1ea0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4b 46 5f 4d  um : uint { KF_M
1eb0: 45 4e 55 4d 4f 44 45 20 3d 20 30 78 31 30 30 30  ENUMODE = 0x1000
1ec0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1ed0: 7b 20 4b 46 5f 41 4c 54 44 4f 57 4e 20 3d 20 30  { KF_ALTDOWN = 0
1ee0: 78 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x2000 }..enum : 
1ef0: 75 69 6e 74 20 7b 20 4b 46 5f 52 45 50 45 41 54  uint { KF_REPEAT
1f00: 20 3d 20 30 78 34 30 30 30 20 7d 0d 0a 65 6e 75   = 0x4000 }..enu
1f10: 6d 20 3a 20 75 69 6e 74 20 7b 20 4b 46 5f 55 50  m : uint { KF_UP
1f20: 20 3d 20 30 78 38 30 30 30 20 7d 0d 0a 0d 0a 2f   = 0x8000 }..../
1f30: 2f 20 23 69 66 6e 64 65 66 20 4e 4f 56 49 52 54  / #ifndef NOVIRT
1f40: 55 41 4c 4b 45 59 43 4f 44 45 53 0d 0a 0d 0a 65  UALKEYCODES....e
1f50: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
1f60: 4c 42 55 54 54 4f 4e 20 3d 20 30 78 30 31 20 7d  LBUTTON = 0x01 }
1f70: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1f80: 56 4b 5f 52 42 55 54 54 4f 4e 20 3d 20 30 78 30  VK_RBUTTON = 0x0
1f90: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
1fa0: 20 7b 20 56 4b 5f 43 41 4e 43 45 4c 20 3d 20 30   { VK_CANCEL = 0
1fb0: 78 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x03 }..enum : ui
1fc0: 6e 74 20 7b 20 56 4b 5f 4d 42 55 54 54 4f 4e 20  nt { VK_MBUTTON 
1fd0: 3d 20 30 78 30 34 20 7d 0d 0a 0d 0a 2f 2f 20 23  = 0x04 }....// #
1fe0: 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  if(_WIN32_WINNT 
1ff0: 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d  >= 0x0500)..enum
2000: 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 58 42 55   : uint { VK_XBU
2010: 54 54 4f 4e 31 20 3d 20 30 78 30 35 20 7d 0d 0a  TTON1 = 0x05 }..
2020: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
2030: 5f 58 42 55 54 54 4f 4e 32 20 3d 20 30 78 30 36  _XBUTTON2 = 0x06
2040: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
2050: 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d   _WIN32_WINNT >=
2060: 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 65 6e   0x0500 */....en
2070: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 42  um : uint { VK_B
2080: 41 43 4b 20 3d 20 30 78 30 38 20 7d 0d 0a 65 6e  ACK = 0x08 }..en
2090: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 54  um : uint { VK_T
20a0: 41 42 20 3d 20 30 78 30 39 20 7d 0d 0a 0d 0a 65  AB = 0x09 }....e
20b0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
20c0: 43 4c 45 41 52 20 3d 20 30 78 30 43 20 7d 0d 0a  CLEAR = 0x0C }..
20d0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
20e0: 5f 52 45 54 55 52 4e 20 3d 20 30 78 30 44 20 7d  _RETURN = 0x0D }
20f0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
2100: 7b 20 56 4b 5f 53 48 49 46 54 20 3d 20 30 78 31  { VK_SHIFT = 0x1
2110: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
2120: 20 7b 20 56 4b 5f 43 4f 4e 54 52 4f 4c 20 3d 20   { VK_CONTROL = 
2130: 30 78 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x11 }..enum : u
2140: 69 6e 74 20 7b 20 56 4b 5f 4d 45 4e 55 20 3d 20  int { VK_MENU = 
2150: 30 78 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x12 }..enum : u
2160: 69 6e 74 20 7b 20 56 4b 5f 50 41 55 53 45 20 3d  int { VK_PAUSE =
2170: 20 30 78 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x13 }..enum : 
2180: 75 69 6e 74 20 7b 20 56 4b 5f 43 41 50 49 54 41  uint { VK_CAPITA
2190: 4c 20 3d 20 30 78 31 34 20 7d 0d 0a 0d 0a 65 6e  L = 0x14 }....en
21a0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4b  um : uint { VK_K
21b0: 41 4e 41 20 3d 20 30 78 31 35 20 7d 0d 0a 65 6e  ANA = 0x15 }..en
21c0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 48  um : uint { VK_H
21d0: 41 4e 47 45 55 4c 20 3d 20 30 78 31 35 20 7d 0d  ANGEUL = 0x15 }.
21e0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
21f0: 4b 5f 48 41 4e 47 55 4c 20 3d 20 30 78 31 35 20  K_HANGUL = 0x15 
2200: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2210: 20 56 4b 5f 4a 55 4e 4a 41 20 3d 20 30 78 31 37   VK_JUNJA = 0x17
2220: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2230: 7b 20 56 4b 5f 46 49 4e 41 4c 20 3d 20 30 78 31  { VK_FINAL = 0x1
2240: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
2250: 20 7b 20 56 4b 5f 48 41 4e 4a 41 20 3d 20 30 78   { VK_HANJA = 0x
2260: 31 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  19 }..enum : uin
2270: 74 20 7b 20 56 4b 5f 4b 41 4e 4a 49 20 3d 20 30  t { VK_KANJI = 0
2280: 78 31 39 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  x19 }....enum : 
2290: 75 69 6e 74 20 7b 20 56 4b 5f 45 53 43 41 50 45  uint { VK_ESCAPE
22a0: 20 3d 20 30 78 31 42 20 7d 0d 0a 0d 0a 65 6e 75   = 0x1B }....enu
22b0: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 43 4f  m : uint { VK_CO
22c0: 4e 56 45 52 54 20 3d 20 30 78 31 43 20 7d 0d 0a  NVERT = 0x1C }..
22d0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
22e0: 5f 4e 4f 4e 43 4f 4e 56 45 52 54 20 3d 20 30 78  _NONCONVERT = 0x
22f0: 31 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  1D }..enum : uin
2300: 74 20 7b 20 56 4b 5f 41 43 43 45 50 54 20 3d 20  t { VK_ACCEPT = 
2310: 30 78 31 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x1E }..enum : u
2320: 69 6e 74 20 7b 20 56 4b 5f 4d 4f 44 45 43 48 41  int { VK_MODECHA
2330: 4e 47 45 20 3d 20 30 78 31 46 20 7d 0d 0a 0d 0a  NGE = 0x1F }....
2340: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
2350: 5f 53 50 41 43 45 20 3d 20 30 78 32 30 20 7d 0d  _SPACE = 0x20 }.
2360: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
2370: 4b 5f 50 52 49 4f 52 20 3d 20 30 78 32 31 20 7d  K_PRIOR = 0x21 }
2380: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2390: 56 4b 5f 4e 45 58 54 20 3d 20 30 78 32 32 20 7d  VK_NEXT = 0x22 }
23a0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
23b0: 56 4b 5f 45 4e 44 20 3d 20 30 78 32 33 20 7d 0d  VK_END = 0x23 }.
23c0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
23d0: 4b 5f 48 4f 4d 45 20 3d 20 30 78 32 34 20 7d 0d  K_HOME = 0x24 }.
23e0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
23f0: 4b 5f 4c 45 46 54 20 3d 20 30 78 32 35 20 7d 0d  K_LEFT = 0x25 }.
2400: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
2410: 4b 5f 55 50 20 3d 20 30 78 32 36 20 7d 0d 0a 65  K_UP = 0x26 }..e
2420: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
2430: 52 49 47 48 54 20 3d 20 30 78 32 37 20 7d 0d 0a  RIGHT = 0x27 }..
2440: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
2450: 5f 44 4f 57 4e 20 3d 20 30 78 32 38 20 7d 0d 0a  _DOWN = 0x28 }..
2460: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
2470: 5f 53 45 4c 45 43 54 20 3d 20 30 78 32 39 20 7d  _SELECT = 0x29 }
2480: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2490: 56 4b 5f 50 52 49 4e 54 20 3d 20 30 78 32 41 20  VK_PRINT = 0x2A 
24a0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
24b0: 20 56 4b 5f 45 58 45 43 55 54 45 20 3d 20 30 78   VK_EXECUTE = 0x
24c0: 32 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  2B }..enum : uin
24d0: 74 20 7b 20 56 4b 5f 53 4e 41 50 53 48 4f 54 20  t { VK_SNAPSHOT 
24e0: 3d 20 30 78 32 43 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x2C }..enum :
24f0: 20 75 69 6e 74 20 7b 20 56 4b 5f 49 4e 53 45 52   uint { VK_INSER
2500: 54 20 3d 20 30 78 32 44 20 7d 0d 0a 65 6e 75 6d  T = 0x2D }..enum
2510: 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 44 45 4c   : uint { VK_DEL
2520: 45 54 45 20 3d 20 30 78 32 45 20 7d 0d 0a 65 6e  ETE = 0x2E }..en
2530: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 48  um : uint { VK_H
2540: 45 4c 50 20 3d 20 30 78 32 46 20 7d 0d 0a 0d 0a  ELP = 0x2F }....
2550: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
2560: 5f 4c 57 49 4e 20 3d 20 30 78 35 42 20 7d 0d 0a  _LWIN = 0x5B }..
2570: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
2580: 5f 52 57 49 4e 20 3d 20 30 78 35 43 20 7d 0d 0a  _RWIN = 0x5C }..
2590: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
25a0: 5f 41 50 50 53 20 3d 20 30 78 35 44 20 7d 0d 0a  _APPS = 0x5D }..
25b0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
25c0: 56 4b 5f 53 4c 45 45 50 20 3d 20 30 78 35 46 20  VK_SLEEP = 0x5F 
25d0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
25e0: 20 7b 20 56 4b 5f 4e 55 4d 50 41 44 30 20 3d 20   { VK_NUMPAD0 = 
25f0: 30 78 36 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x60 }..enum : u
2600: 69 6e 74 20 7b 20 56 4b 5f 4e 55 4d 50 41 44 31  int { VK_NUMPAD1
2610: 20 3d 20 30 78 36 31 20 7d 0d 0a 65 6e 75 6d 20   = 0x61 }..enum 
2620: 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4e 55 4d 50  : uint { VK_NUMP
2630: 41 44 32 20 3d 20 30 78 36 32 20 7d 0d 0a 65 6e  AD2 = 0x62 }..en
2640: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4e  um : uint { VK_N
2650: 55 4d 50 41 44 33 20 3d 20 30 78 36 33 20 7d 0d  UMPAD3 = 0x63 }.
2660: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
2670: 4b 5f 4e 55 4d 50 41 44 34 20 3d 20 30 78 36 34  K_NUMPAD4 = 0x64
2680: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2690: 7b 20 56 4b 5f 4e 55 4d 50 41 44 35 20 3d 20 30  { VK_NUMPAD5 = 0
26a0: 78 36 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x65 }..enum : ui
26b0: 6e 74 20 7b 20 56 4b 5f 4e 55 4d 50 41 44 36 20  nt { VK_NUMPAD6 
26c0: 3d 20 30 78 36 36 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x66 }..enum :
26d0: 20 75 69 6e 74 20 7b 20 56 4b 5f 4e 55 4d 50 41   uint { VK_NUMPA
26e0: 44 37 20 3d 20 30 78 36 37 20 7d 0d 0a 65 6e 75  D7 = 0x67 }..enu
26f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4e 55  m : uint { VK_NU
2700: 4d 50 41 44 38 20 3d 20 30 78 36 38 20 7d 0d 0a  MPAD8 = 0x68 }..
2710: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
2720: 5f 4e 55 4d 50 41 44 39 20 3d 20 30 78 36 39 20  _NUMPAD9 = 0x69 
2730: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2740: 20 56 4b 5f 4d 55 4c 54 49 50 4c 59 20 3d 20 30   VK_MULTIPLY = 0
2750: 78 36 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x6A }..enum : ui
2760: 6e 74 20 7b 20 56 4b 5f 41 44 44 20 3d 20 30 78  nt { VK_ADD = 0x
2770: 36 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  6B }..enum : uin
2780: 74 20 7b 20 56 4b 5f 53 45 50 41 52 41 54 4f 52  t { VK_SEPARATOR
2790: 20 3d 20 30 78 36 43 20 7d 0d 0a 65 6e 75 6d 20   = 0x6C }..enum 
27a0: 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 53 55 42 54  : uint { VK_SUBT
27b0: 52 41 43 54 20 3d 20 30 78 36 44 20 7d 0d 0a 65  RACT = 0x6D }..e
27c0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
27d0: 44 45 43 49 4d 41 4c 20 3d 20 30 78 36 45 20 7d  DECIMAL = 0x6E }
27e0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
27f0: 56 4b 5f 44 49 56 49 44 45 20 3d 20 30 78 36 46  VK_DIVIDE = 0x6F
2800: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2810: 7b 20 56 4b 5f 46 31 20 3d 20 30 78 37 30 20 7d  { VK_F1 = 0x70 }
2820: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2830: 56 4b 5f 46 32 20 3d 20 30 78 37 31 20 7d 0d 0a  VK_F2 = 0x71 }..
2840: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
2850: 5f 46 33 20 3d 20 30 78 37 32 20 7d 0d 0a 65 6e  _F3 = 0x72 }..en
2860: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 46  um : uint { VK_F
2870: 34 20 3d 20 30 78 37 33 20 7d 0d 0a 65 6e 75 6d  4 = 0x73 }..enum
2880: 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 46 35 20   : uint { VK_F5 
2890: 3d 20 30 78 37 34 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x74 }..enum :
28a0: 20 75 69 6e 74 20 7b 20 56 4b 5f 46 36 20 3d 20   uint { VK_F6 = 
28b0: 30 78 37 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x75 }..enum : u
28c0: 69 6e 74 20 7b 20 56 4b 5f 46 37 20 3d 20 30 78  int { VK_F7 = 0x
28d0: 37 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  76 }..enum : uin
28e0: 74 20 7b 20 56 4b 5f 46 38 20 3d 20 30 78 37 37  t { VK_F8 = 0x77
28f0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2900: 7b 20 56 4b 5f 46 39 20 3d 20 30 78 37 38 20 7d  { VK_F9 = 0x78 }
2910: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2920: 56 4b 5f 46 31 30 20 3d 20 30 78 37 39 20 7d 0d  VK_F10 = 0x79 }.
2930: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
2940: 4b 5f 46 31 31 20 3d 20 30 78 37 41 20 7d 0d 0a  K_F11 = 0x7A }..
2950: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
2960: 5f 46 31 32 20 3d 20 30 78 37 42 20 7d 0d 0a 65  _F12 = 0x7B }..e
2970: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
2980: 46 31 33 20 3d 20 30 78 37 43 20 7d 0d 0a 65 6e  F13 = 0x7C }..en
2990: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 46  um : uint { VK_F
29a0: 31 34 20 3d 20 30 78 37 44 20 7d 0d 0a 65 6e 75  14 = 0x7D }..enu
29b0: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 46 31  m : uint { VK_F1
29c0: 35 20 3d 20 30 78 37 45 20 7d 0d 0a 65 6e 75 6d  5 = 0x7E }..enum
29d0: 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 46 31 36   : uint { VK_F16
29e0: 20 3d 20 30 78 37 46 20 7d 0d 0a 65 6e 75 6d 20   = 0x7F }..enum 
29f0: 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 46 31 37 20  : uint { VK_F17 
2a00: 3d 20 30 78 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x80 }..enum :
2a10: 20 75 69 6e 74 20 7b 20 56 4b 5f 46 31 38 20 3d   uint { VK_F18 =
2a20: 20 30 78 38 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x81 }..enum : 
2a30: 75 69 6e 74 20 7b 20 56 4b 5f 46 31 39 20 3d 20  uint { VK_F19 = 
2a40: 30 78 38 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x82 }..enum : u
2a50: 69 6e 74 20 7b 20 56 4b 5f 46 32 30 20 3d 20 30  int { VK_F20 = 0
2a60: 78 38 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x83 }..enum : ui
2a70: 6e 74 20 7b 20 56 4b 5f 46 32 31 20 3d 20 30 78  nt { VK_F21 = 0x
2a80: 38 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  84 }..enum : uin
2a90: 74 20 7b 20 56 4b 5f 46 32 32 20 3d 20 30 78 38  t { VK_F22 = 0x8
2aa0: 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
2ab0: 20 7b 20 56 4b 5f 46 32 33 20 3d 20 30 78 38 36   { VK_F23 = 0x86
2ac0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2ad0: 7b 20 56 4b 5f 46 32 34 20 3d 20 30 78 38 37 20  { VK_F24 = 0x87 
2ae0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
2af0: 20 7b 20 56 4b 5f 4e 55 4d 4c 4f 43 4b 20 3d 20   { VK_NUMLOCK = 
2b00: 30 78 39 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x90 }..enum : u
2b10: 69 6e 74 20 7b 20 56 4b 5f 53 43 52 4f 4c 4c 20  int { VK_SCROLL 
2b20: 3d 20 30 78 39 31 20 7d 0d 0a 0d 0a 65 6e 75 6d  = 0x91 }....enum
2b30: 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d   : uint { VK_OEM
2b40: 5f 4e 45 43 5f 45 51 55 41 4c 20 3d 20 30 78 39  _NEC_EQUAL = 0x9
2b50: 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  2 }....enum : ui
2b60: 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f 46 4a 5f 4a  nt { VK_OEM_FJ_J
2b70: 49 53 48 4f 20 3d 20 30 78 39 32 20 7d 0d 0a 65  ISHO = 0x92 }..e
2b80: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
2b90: 4f 45 4d 5f 46 4a 5f 4d 41 53 53 48 4f 55 20 3d  OEM_FJ_MASSHOU =
2ba0: 20 30 78 39 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x93 }..enum : 
2bb0: 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f 46 4a  uint { VK_OEM_FJ
2bc0: 5f 54 4f 55 52 4f 4b 55 20 3d 20 30 78 39 34 20  _TOUROKU = 0x94 
2bd0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2be0: 20 56 4b 5f 4f 45 4d 5f 46 4a 5f 4c 4f 59 41 20   VK_OEM_FJ_LOYA 
2bf0: 3d 20 30 78 39 35 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x95 }..enum :
2c00: 20 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f 46   uint { VK_OEM_F
2c10: 4a 5f 52 4f 59 41 20 3d 20 30 78 39 36 20 7d 0d  J_ROYA = 0x96 }.
2c20: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2c30: 20 56 4b 5f 4c 53 48 49 46 54 20 3d 20 30 78 41   VK_LSHIFT = 0xA
2c40: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
2c50: 20 7b 20 56 4b 5f 52 53 48 49 46 54 20 3d 20 30   { VK_RSHIFT = 0
2c60: 78 41 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  xA1 }..enum : ui
2c70: 6e 74 20 7b 20 56 4b 5f 4c 43 4f 4e 54 52 4f 4c  nt { VK_LCONTROL
2c80: 20 3d 20 30 78 41 32 20 7d 0d 0a 65 6e 75 6d 20   = 0xA2 }..enum 
2c90: 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 52 43 4f 4e  : uint { VK_RCON
2ca0: 54 52 4f 4c 20 3d 20 30 78 41 33 20 7d 0d 0a 65  TROL = 0xA3 }..e
2cb0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
2cc0: 4c 4d 45 4e 55 20 3d 20 30 78 41 34 20 7d 0d 0a  LMENU = 0xA4 }..
2cd0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
2ce0: 5f 52 4d 45 4e 55 20 3d 20 30 78 41 35 20 7d 0d  _RMENU = 0xA5 }.
2cf0: 0a 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32  ...// #if(_WIN32
2d00: 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30  _WINNT >= 0x0500
2d10: 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
2d20: 20 56 4b 5f 42 52 4f 57 53 45 52 5f 42 41 43 4b   VK_BROWSER_BACK
2d30: 20 3d 20 30 78 41 36 20 7d 0d 0a 65 6e 75 6d 20   = 0xA6 }..enum 
2d40: 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 42 52 4f 57  : uint { VK_BROW
2d50: 53 45 52 5f 46 4f 52 57 41 52 44 20 3d 20 30 78  SER_FORWARD = 0x
2d60: 41 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  A7 }..enum : uin
2d70: 74 20 7b 20 56 4b 5f 42 52 4f 57 53 45 52 5f 52  t { VK_BROWSER_R
2d80: 45 46 52 45 53 48 20 3d 20 30 78 41 38 20 7d 0d  EFRESH = 0xA8 }.
2d90: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
2da0: 4b 5f 42 52 4f 57 53 45 52 5f 53 54 4f 50 20 3d  K_BROWSER_STOP =
2db0: 20 30 78 41 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0xA9 }..enum : 
2dc0: 75 69 6e 74 20 7b 20 56 4b 5f 42 52 4f 57 53 45  uint { VK_BROWSE
2dd0: 52 5f 53 45 41 52 43 48 20 3d 20 30 78 41 41 20  R_SEARCH = 0xAA 
2de0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2df0: 20 56 4b 5f 42 52 4f 57 53 45 52 5f 46 41 56 4f   VK_BROWSER_FAVO
2e00: 52 49 54 45 53 20 3d 20 30 78 41 42 20 7d 0d 0a  RITES = 0xAB }..
2e10: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
2e20: 5f 42 52 4f 57 53 45 52 5f 48 4f 4d 45 20 3d 20  _BROWSER_HOME = 
2e30: 30 78 41 43 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0xAC }....enum :
2e40: 20 75 69 6e 74 20 7b 20 56 4b 5f 56 4f 4c 55 4d   uint { VK_VOLUM
2e50: 45 5f 4d 55 54 45 20 3d 20 30 78 41 44 20 7d 0d  E_MUTE = 0xAD }.
2e60: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
2e70: 4b 5f 56 4f 4c 55 4d 45 5f 44 4f 57 4e 20 3d 20  K_VOLUME_DOWN = 
2e80: 30 78 41 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0xAE }..enum : u
2e90: 69 6e 74 20 7b 20 56 4b 5f 56 4f 4c 55 4d 45 5f  int { VK_VOLUME_
2ea0: 55 50 20 3d 20 30 78 41 46 20 7d 0d 0a 65 6e 75  UP = 0xAF }..enu
2eb0: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4d 45  m : uint { VK_ME
2ec0: 44 49 41 5f 4e 45 58 54 5f 54 52 41 43 4b 20 3d  DIA_NEXT_TRACK =
2ed0: 20 30 78 42 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0xB0 }..enum : 
2ee0: 75 69 6e 74 20 7b 20 56 4b 5f 4d 45 44 49 41 5f  uint { VK_MEDIA_
2ef0: 50 52 45 56 5f 54 52 41 43 4b 20 3d 20 30 78 42  PREV_TRACK = 0xB
2f00: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
2f10: 20 7b 20 56 4b 5f 4d 45 44 49 41 5f 53 54 4f 50   { VK_MEDIA_STOP
2f20: 20 3d 20 30 78 42 32 20 7d 0d 0a 65 6e 75 6d 20   = 0xB2 }..enum 
2f30: 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4d 45 44 49  : uint { VK_MEDI
2f40: 41 5f 50 4c 41 59 5f 50 41 55 53 45 20 3d 20 30  A_PLAY_PAUSE = 0
2f50: 78 42 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  xB3 }..enum : ui
2f60: 6e 74 20 7b 20 56 4b 5f 4c 41 55 4e 43 48 5f 4d  nt { VK_LAUNCH_M
2f70: 41 49 4c 20 3d 20 30 78 42 34 20 7d 0d 0a 65 6e  AIL = 0xB4 }..en
2f80: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4c  um : uint { VK_L
2f90: 41 55 4e 43 48 5f 4d 45 44 49 41 5f 53 45 4c 45  AUNCH_MEDIA_SELE
2fa0: 43 54 20 3d 20 30 78 42 35 20 7d 0d 0a 65 6e 75  CT = 0xB5 }..enu
2fb0: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4c 41  m : uint { VK_LA
2fc0: 55 4e 43 48 5f 41 50 50 31 20 3d 20 30 78 42 36  UNCH_APP1 = 0xB6
2fd0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2fe0: 7b 20 56 4b 5f 4c 41 55 4e 43 48 5f 41 50 50 32  { VK_LAUNCH_APP2
2ff0: 20 3d 20 30 78 42 37 20 7d 0d 0a 0d 0a 2f 2f 20   = 0xB7 }....// 
3000: 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32  #endif /* _WIN32
3010: 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30  _WINNT >= 0x0500
3020: 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   */....enum : ui
3030: 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f 31 20 3d 20  nt { VK_OEM_1 = 
3040: 30 78 42 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0xBA }..enum : u
3050: 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f 50 4c 55  int { VK_OEM_PLU
3060: 53 20 3d 20 30 78 42 42 20 7d 0d 0a 65 6e 75 6d  S = 0xBB }..enum
3070: 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d   : uint { VK_OEM
3080: 5f 43 4f 4d 4d 41 20 3d 20 30 78 42 43 20 7d 0d  _COMMA = 0xBC }.
3090: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
30a0: 4b 5f 4f 45 4d 5f 4d 49 4e 55 53 20 3d 20 30 78  K_OEM_MINUS = 0x
30b0: 42 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  BD }..enum : uin
30c0: 74 20 7b 20 56 4b 5f 4f 45 4d 5f 50 45 52 49 4f  t { VK_OEM_PERIO
30d0: 44 20 3d 20 30 78 42 45 20 7d 0d 0a 65 6e 75 6d  D = 0xBE }..enum
30e0: 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d   : uint { VK_OEM
30f0: 5f 32 20 3d 20 30 78 42 46 20 7d 0d 0a 65 6e 75  _2 = 0xBF }..enu
3100: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4f 45  m : uint { VK_OE
3110: 4d 5f 33 20 3d 20 30 78 43 30 20 7d 0d 0a 0d 0a  M_3 = 0xC0 }....
3120: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
3130: 5f 4f 45 4d 5f 34 20 3d 20 30 78 44 42 20 7d 0d  _OEM_4 = 0xDB }.
3140: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
3150: 4b 5f 4f 45 4d 5f 35 20 3d 20 30 78 44 43 20 7d  K_OEM_5 = 0xDC }
3160: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3170: 56 4b 5f 4f 45 4d 5f 36 20 3d 20 30 78 44 44 20  VK_OEM_6 = 0xDD 
3180: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3190: 20 56 4b 5f 4f 45 4d 5f 37 20 3d 20 30 78 44 45   VK_OEM_7 = 0xDE
31a0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
31b0: 7b 20 56 4b 5f 4f 45 4d 5f 38 20 3d 20 30 78 44  { VK_OEM_8 = 0xD
31c0: 46 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  F }....enum : ui
31d0: 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f 41 58 20 3d  nt { VK_OEM_AX =
31e0: 20 30 78 45 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0xE1 }..enum : 
31f0: 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f 31 30  uint { VK_OEM_10
3200: 32 20 3d 20 30 78 45 32 20 7d 0d 0a 65 6e 75 6d  2 = 0xE2 }..enum
3210: 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 49 43 4f   : uint { VK_ICO
3220: 5f 48 45 4c 50 20 3d 20 30 78 45 33 20 7d 0d 0a  _HELP = 0xE3 }..
3230: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
3240: 5f 49 43 4f 5f 30 30 20 3d 20 30 78 45 34 20 7d  _ICO_00 = 0xE4 }
3250: 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45  ....// #if(WINVE
3260: 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  R >= 0x0400)..en
3270: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 50  um : uint { VK_P
3280: 52 4f 43 45 53 53 4b 45 59 20 3d 20 30 78 45 35  ROCESSKEY = 0xE5
3290: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
32a0: 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30   WINVER >= 0x040
32b0: 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  0 */....enum : u
32c0: 69 6e 74 20 7b 20 56 4b 5f 49 43 4f 5f 43 4c 45  int { VK_ICO_CLE
32d0: 41 52 20 3d 20 30 78 45 36 20 7d 0d 0a 0d 0a 2f  AR = 0xE6 }..../
32e0: 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e  / #if(_WIN32_WIN
32f0: 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65  NT >= 0x0500)..e
3300: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f  num : uint { VK_
3310: 50 41 43 4b 45 54 20 3d 20 30 78 45 37 20 7d 0d  PACKET = 0xE7 }.
3320: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57  .// #endif /* _W
3330: 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
3340: 30 35 30 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20  0500 */....enum 
3350: 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f  : uint { VK_OEM_
3360: 52 45 53 45 54 20 3d 20 30 78 45 39 20 7d 0d 0a  RESET = 0xE9 }..
3370: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b  enum : uint { VK
3380: 5f 4f 45 4d 5f 4a 55 4d 50 20 3d 20 30 78 45 41  _OEM_JUMP = 0xEA
3390: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
33a0: 7b 20 56 4b 5f 4f 45 4d 5f 50 41 31 20 3d 20 30  { VK_OEM_PA1 = 0
33b0: 78 45 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  xEB }..enum : ui
33c0: 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f 50 41 32 20  nt { VK_OEM_PA2 
33d0: 3d 20 30 78 45 43 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0xEC }..enum :
33e0: 20 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f 50   uint { VK_OEM_P
33f0: 41 33 20 3d 20 30 78 45 44 20 7d 0d 0a 65 6e 75  A3 = 0xED }..enu
3400: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4f 45  m : uint { VK_OE
3410: 4d 5f 57 53 43 54 52 4c 20 3d 20 30 78 45 45 20  M_WSCTRL = 0xEE 
3420: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3430: 20 56 4b 5f 4f 45 4d 5f 43 55 53 45 4c 20 3d 20   VK_OEM_CUSEL = 
3440: 30 78 45 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0xEF }..enum : u
3450: 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f 41 54 54  int { VK_OEM_ATT
3460: 4e 20 3d 20 30 78 46 30 20 7d 0d 0a 65 6e 75 6d  N = 0xF0 }..enum
3470: 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d   : uint { VK_OEM
3480: 5f 46 49 4e 49 53 48 20 3d 20 30 78 46 31 20 7d  _FINISH = 0xF1 }
3490: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
34a0: 56 4b 5f 4f 45 4d 5f 43 4f 50 59 20 3d 20 30 78  VK_OEM_COPY = 0x
34b0: 46 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  F2 }..enum : uin
34c0: 74 20 7b 20 56 4b 5f 4f 45 4d 5f 41 55 54 4f 20  t { VK_OEM_AUTO 
34d0: 3d 20 30 78 46 33 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0xF3 }..enum :
34e0: 20 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f 45   uint { VK_OEM_E
34f0: 4e 4c 57 20 3d 20 30 78 46 34 20 7d 0d 0a 65 6e  NLW = 0xF4 }..en
3500: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4f  um : uint { VK_O
3510: 45 4d 5f 42 41 43 4b 54 41 42 20 3d 20 30 78 46  EM_BACKTAB = 0xF
3520: 35 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  5 }....enum : ui
3530: 6e 74 20 7b 20 56 4b 5f 41 54 54 4e 20 3d 20 30  nt { VK_ATTN = 0
3540: 78 46 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  xF6 }..enum : ui
3550: 6e 74 20 7b 20 56 4b 5f 43 52 53 45 4c 20 3d 20  nt { VK_CRSEL = 
3560: 30 78 46 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0xF7 }..enum : u
3570: 69 6e 74 20 7b 20 56 4b 5f 45 58 53 45 4c 20 3d  int { VK_EXSEL =
3580: 20 30 78 46 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0xF8 }..enum : 
3590: 75 69 6e 74 20 7b 20 56 4b 5f 45 52 45 4f 46 20  uint { VK_EREOF 
35a0: 3d 20 30 78 46 39 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0xF9 }..enum :
35b0: 20 75 69 6e 74 20 7b 20 56 4b 5f 50 4c 41 59 20   uint { VK_PLAY 
35c0: 3d 20 30 78 46 41 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0xFA }..enum :
35d0: 20 75 69 6e 74 20 7b 20 56 4b 5f 5a 4f 4f 4d 20   uint { VK_ZOOM 
35e0: 3d 20 30 78 46 42 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0xFB }..enum :
35f0: 20 75 69 6e 74 20 7b 20 56 4b 5f 4e 4f 4e 41 4d   uint { VK_NONAM
3600: 45 20 3d 20 30 78 46 43 20 7d 0d 0a 65 6e 75 6d  E = 0xFC }..enum
3610: 20 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 50 41 31   : uint { VK_PA1
3620: 20 3d 20 30 78 46 44 20 7d 0d 0a 65 6e 75 6d 20   = 0xFD }..enum 
3630: 3a 20 75 69 6e 74 20 7b 20 56 4b 5f 4f 45 4d 5f  : uint { VK_OEM_
3640: 43 4c 45 41 52 20 3d 20 30 78 46 45 20 7d 0d 0a  CLEAR = 0xFE }..
3650: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21  ..// #endif /* !
3660: 4e 4f 56 49 52 54 55 41 4c 4b 45 59 43 4f 44 45  NOVIRTUALKEYCODE
3670: 53 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  S */....// #ifnd
3680: 65 66 20 4e 4f 57 48 0d 0a 0d 0a 65 6e 75 6d 20  ef NOWH....enum 
3690: 7b 20 57 48 5f 4d 49 4e 20 3d 20 2d 31 20 7d 0d  { WH_MIN = -1 }.
36a0: 0a 65 6e 75 6d 20 7b 20 57 48 5f 4d 53 47 46 49  .enum { WH_MSGFI
36b0: 4c 54 45 52 20 3d 20 2d 31 20 7d 0d 0a 65 6e 75  LTER = -1 }..enu
36c0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 48 5f 4a 4f  m : uint { WH_JO
36d0: 55 52 4e 41 4c 52 45 43 4f 52 44 20 3d 20 30 20  URNALRECORD = 0 
36e0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
36f0: 20 57 48 5f 4a 4f 55 52 4e 41 4c 50 4c 41 59 42   WH_JOURNALPLAYB
3700: 41 43 4b 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20  ACK = 1 }..enum 
3710: 3a 20 75 69 6e 74 20 7b 20 57 48 5f 4b 45 59 42  : uint { WH_KEYB
3720: 4f 41 52 44 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d  OARD = 2 }..enum
3730: 20 3a 20 75 69 6e 74 20 7b 20 57 48 5f 47 45 54   : uint { WH_GET
3740: 4d 45 53 53 41 47 45 20 3d 20 33 20 7d 0d 0a 65  MESSAGE = 3 }..e
3750: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 48 5f  num : uint { WH_
3760: 43 41 4c 4c 57 4e 44 50 52 4f 43 20 3d 20 34 20  CALLWNDPROC = 4 
3770: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3780: 20 57 48 5f 43 42 54 20 3d 20 35 20 7d 0d 0a 65   WH_CBT = 5 }..e
3790: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 48 5f  num : uint { WH_
37a0: 53 59 53 4d 53 47 46 49 4c 54 45 52 20 3d 20 36  SYSMSGFILTER = 6
37b0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
37c0: 7b 20 57 48 5f 4d 4f 55 53 45 20 3d 20 37 20 7d  { WH_MOUSE = 7 }
37d0: 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 64  ..// #if defined
37e0: 28 5f 57 49 4e 33 32 5f 57 49 4e 44 4f 57 53 29  (_WIN32_WINDOWS)
37f0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
3800: 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ndif..enum : uin
3810: 74 20 7b 20 57 48 5f 44 45 42 55 47 20 3d 20 39  t { WH_DEBUG = 9
3820: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
3830: 7b 20 57 48 5f 53 48 45 4c 4c 20 3d 20 31 30 20  { WH_SHELL = 10 
3840: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3850: 20 57 48 5f 46 4f 52 45 47 52 4f 55 4e 44 49 44   WH_FOREGROUNDID
3860: 4c 45 20 3d 20 31 31 20 7d 0d 0a 2f 2f 20 23 69  LE = 11 }..// #i
3870: 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
3880: 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
3890: 20 7b 20 57 48 5f 43 41 4c 4c 57 4e 44 50 52 4f   { WH_CALLWNDPRO
38a0: 43 52 45 54 20 3d 20 31 32 20 7d 0d 0a 2f 2f 20  CRET = 12 }..// 
38b0: 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52  #endif /* WINVER
38c0: 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d   >= 0x0400 */...
38d0: 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
38e0: 57 49 4e 4e 54 20 3e 3d 20 30 78 30 34 30 30 29  WINNT >= 0x0400)
38f0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3900: 57 48 5f 4b 45 59 42 4f 41 52 44 5f 4c 4c 20 3d  WH_KEYBOARD_LL =
3910: 20 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   13 }..enum : ui
3920: 6e 74 20 7b 20 57 48 5f 4d 4f 55 53 45 5f 4c 4c  nt { WH_MOUSE_LL
3930: 20 3d 20 31 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64   = 14 }..// #end
3940: 69 66 20 2f 2f 20 28 5f 57 49 4e 33 32 5f 57 49  if // (_WIN32_WI
3950: 4e 4e 54 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  NNT >= 0x0400)..
3960: 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20  ..// #if(WINVER 
3970: 3e 3d 20 30 78 30 34 30 30 29 0d 0a 2f 2f 20 23  >= 0x0400)..// #
3980: 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  if (_WIN32_WINNT
3990: 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75   >= 0x0400)..enu
39a0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 48 5f 4d 41  m : uint { WH_MA
39b0: 58 20 3d 20 31 34 20 7d 0d 0a 2f 2f 20 23 65 6c  X = 14 }..// #el
39c0: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
39d0: 23 65 6e 64 69 66 20 2f 2f 20 28 5f 57 49 4e 33  #endif // (_WIN3
39e0: 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 34 30  2_WINNT >= 0x040
39f0: 30 29 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  0)..// #else..//
3a00: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
3a10: 0d 0a 0d 0a 61 6c 69 61 73 20 57 48 5f 4d 49 4e  ....alias WH_MIN
3a20: 20 57 48 5f 4d 49 4e 48 4f 4f 4b 3b 0d 0a 61 6c   WH_MINHOOK;..al
3a30: 69 61 73 20 57 48 5f 4d 41 58 20 57 48 5f 4d 41  ias WH_MAX WH_MA
3a40: 58 48 4f 4f 4b 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  XHOOK;....enum :
3a50: 20 75 69 6e 74 20 7b 20 48 43 5f 41 43 54 49 4f   uint { HC_ACTIO
3a60: 4e 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  N = 0 }..enum : 
3a70: 75 69 6e 74 20 7b 20 48 43 5f 47 45 54 4e 45 58  uint { HC_GETNEX
3a80: 54 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  T = 1 }..enum : 
3a90: 75 69 6e 74 20 7b 20 48 43 5f 53 4b 49 50 20 3d  uint { HC_SKIP =
3aa0: 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   2 }..enum : uin
3ab0: 74 20 7b 20 48 43 5f 4e 4f 52 45 4d 4f 56 45 20  t { HC_NOREMOVE 
3ac0: 3d 20 33 20 7d 0d 0a 61 6c 69 61 73 20 48 43 5f  = 3 }..alias HC_
3ad0: 4e 4f 52 45 4d 4f 56 45 20 48 43 5f 4e 4f 52 45  NOREMOVE HC_NORE
3ae0: 4d 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  M;..enum : uint 
3af0: 7b 20 48 43 5f 53 59 53 4d 4f 44 41 4c 4f 4e 20  { HC_SYSMODALON 
3b00: 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 4 }..enum : ui
3b10: 6e 74 20 7b 20 48 43 5f 53 59 53 4d 4f 44 41 4c  nt { HC_SYSMODAL
3b20: 4f 46 46 20 3d 20 35 20 7d 0d 0a 0d 0a 65 6e 75  OFF = 5 }....enu
3b30: 6d 20 3a 20 75 69 6e 74 20 7b 20 48 43 42 54 5f  m : uint { HCBT_
3b40: 4d 4f 56 45 53 49 5a 45 20 3d 20 30 20 7d 0d 0a  MOVESIZE = 0 }..
3b50: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 43  enum : uint { HC
3b60: 42 54 5f 4d 49 4e 4d 41 58 20 3d 20 31 20 7d 0d  BT_MINMAX = 1 }.
3b70: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
3b80: 43 42 54 5f 51 53 20 3d 20 32 20 7d 0d 0a 65 6e  CBT_QS = 2 }..en
3b90: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 43 42 54  um : uint { HCBT
3ba0: 5f 43 52 45 41 54 45 57 4e 44 20 3d 20 33 20 7d  _CREATEWND = 3 }
3bb0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3bc0: 48 43 42 54 5f 44 45 53 54 52 4f 59 57 4e 44 20  HCBT_DESTROYWND 
3bd0: 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 4 }..enum : ui
3be0: 6e 74 20 7b 20 48 43 42 54 5f 41 43 54 49 56 41  nt { HCBT_ACTIVA
3bf0: 54 45 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a  TE = 5 }..enum :
3c00: 20 75 69 6e 74 20 7b 20 48 43 42 54 5f 43 4c 49   uint { HCBT_CLI
3c10: 43 4b 53 4b 49 50 50 45 44 20 3d 20 36 20 7d 0d  CKSKIPPED = 6 }.
3c20: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
3c30: 43 42 54 5f 4b 45 59 53 4b 49 50 50 45 44 20 3d  CBT_KEYSKIPPED =
3c40: 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   7 }..enum : uin
3c50: 74 20 7b 20 48 43 42 54 5f 53 59 53 43 4f 4d 4d  t { HCBT_SYSCOMM
3c60: 41 4e 44 20 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20  AND = 8 }..enum 
3c70: 3a 20 75 69 6e 74 20 7b 20 48 43 42 54 5f 53 45  : uint { HCBT_SE
3c80: 54 46 4f 43 55 53 20 3d 20 39 20 7d 0d 0a 0d 0a  TFOCUS = 9 }....
3c90: 73 74 72 75 63 74 20 74 61 67 43 42 54 5f 43 52  struct tagCBT_CR
3ca0: 45 41 54 45 57 4e 44 41 20 7b 0d 0a 20 20 74 61  EATEWNDA {..  ta
3cb0: 67 43 52 45 41 54 45 53 54 52 55 43 54 41 20 2a  gCREATESTRUCTA *
3cc0: 6c 70 63 73 3b 0d 0a 20 20 48 57 4e 44 20 68 77  lpcs;..  HWND hw
3cd0: 6e 64 49 6e 73 65 72 74 41 66 74 65 72 3b 0d 0a  ndInsertAfter;..
3ce0: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 43 42 54 5f  }..alias tagCBT_
3cf0: 43 52 45 41 54 45 57 4e 44 41 20 43 42 54 5f 43  CREATEWNDA CBT_C
3d00: 52 45 41 54 45 57 4e 44 41 3b 0d 0a 61 6c 69 61  REATEWNDA;..alia
3d10: 73 20 74 61 67 43 42 54 5f 43 52 45 41 54 45 57  s tagCBT_CREATEW
3d20: 4e 44 41 2a 20 4c 50 43 42 54 5f 43 52 45 41 54  NDA* LPCBT_CREAT
3d30: 45 57 4e 44 41 3b 0d 0a 0d 0a 73 74 72 75 63 74  EWNDA;....struct
3d40: 20 74 61 67 43 42 54 5f 43 52 45 41 54 45 57 4e   tagCBT_CREATEWN
3d50: 44 57 20 7b 0d 0a 20 20 74 61 67 43 52 45 41 54  DW {..  tagCREAT
3d60: 45 53 54 52 55 43 54 57 20 2a 6c 70 63 73 3b 0d  ESTRUCTW *lpcs;.
3d70: 0a 20 20 48 57 4e 44 20 68 77 6e 64 49 6e 73 65  .  HWND hwndInse
3d80: 72 74 41 66 74 65 72 3b 0d 0a 7d 0d 0a 61 6c 69  rtAfter;..}..ali
3d90: 61 73 20 74 61 67 43 42 54 5f 43 52 45 41 54 45  as tagCBT_CREATE
3da0: 57 4e 44 57 20 43 42 54 5f 43 52 45 41 54 45 57  WNDW CBT_CREATEW
3db0: 4e 44 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 43  NDW;..alias tagC
3dc0: 42 54 5f 43 52 45 41 54 45 57 4e 44 57 2a 20 4c  BT_CREATEWNDW* L
3dd0: 50 43 42 54 5f 43 52 45 41 54 45 57 4e 44 57 3b  PCBT_CREATEWNDW;
3de0: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
3df0: 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 43 42 54  ICODE..alias CBT
3e00: 5f 43 52 45 41 54 45 57 4e 44 57 20 43 42 54 5f  _CREATEWNDW CBT_
3e10: 43 52 45 41 54 45 57 4e 44 3b 0d 0a 61 6c 69 61  CREATEWND;..alia
3e20: 73 20 4c 50 43 42 54 5f 43 52 45 41 54 45 57 4e  s LPCBT_CREATEWN
3e30: 44 57 20 4c 50 43 42 54 5f 43 52 45 41 54 45 57  DW LPCBT_CREATEW
3e40: 4e 44 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  ND;..// #else../
3e50: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
3e60: 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 73   // UNICODE....s
3e70: 74 72 75 63 74 20 74 61 67 43 42 54 41 43 54 49  truct tagCBTACTI
3e80: 56 41 54 45 53 54 52 55 43 54 20 7b 0d 0a 20 20  VATESTRUCT {..  
3e90: 42 4f 4f 4c 20 66 4d 6f 75 73 65 3b 0d 0a 20 20  BOOL fMouse;..  
3ea0: 48 57 4e 44 20 68 57 6e 64 41 63 74 69 76 65 3b  HWND hWndActive;
3eb0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 43 42  ..}..alias tagCB
3ec0: 54 41 43 54 49 56 41 54 45 53 54 52 55 43 54 20  TACTIVATESTRUCT 
3ed0: 43 42 54 41 43 54 49 56 41 54 45 53 54 52 55 43  CBTACTIVATESTRUC
3ee0: 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67 43 42 54  T;..alias tagCBT
3ef0: 41 43 54 49 56 41 54 45 53 54 52 55 43 54 2a 20  ACTIVATESTRUCT* 
3f00: 4c 50 43 42 54 41 43 54 49 56 41 54 45 53 54 52  LPCBTACTIVATESTR
3f10: 55 43 54 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28 5f  UCT;....// #if(_
3f20: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
3f30: 78 30 35 30 31 29 0d 0a 0d 0a 73 74 72 75 63 74  x0501)....struct
3f40: 20 74 61 67 57 54 53 53 45 53 53 49 4f 4e 5f 4e   tagWTSSESSION_N
3f50: 4f 54 49 46 49 43 41 54 49 4f 4e 20 7b 0d 0a 20  OTIFICATION {.. 
3f60: 20 44 57 4f 52 44 20 63 62 53 69 7a 65 3b 0d 0a   DWORD cbSize;..
3f70: 20 20 44 57 4f 52 44 20 64 77 53 65 73 73 69 6f    DWORD dwSessio
3f80: 6e 49 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  nId;..}..alias t
3f90: 61 67 57 54 53 53 45 53 53 49 4f 4e 5f 4e 4f 54  agWTSSESSION_NOT
3fa0: 49 46 49 43 41 54 49 4f 4e 20 57 54 53 53 45 53  IFICATION WTSSES
3fb0: 53 49 4f 4e 5f 4e 4f 54 49 46 49 43 41 54 49 4f  SION_NOTIFICATIO
3fc0: 4e 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57 54 53  N;..alias tagWTS
3fd0: 53 45 53 53 49 4f 4e 5f 4e 4f 54 49 46 49 43 41  SESSION_NOTIFICA
3fe0: 54 49 4f 4e 2a 20 50 57 54 53 53 45 53 53 49 4f  TION* PWTSSESSIO
3ff0: 4e 5f 4e 4f 54 49 46 49 43 41 54 49 4f 4e 3b 0d  N_NOTIFICATION;.
4000: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
4010: 20 57 54 53 5f 43 4f 4e 53 4f 4c 45 5f 43 4f 4e   WTS_CONSOLE_CON
4020: 4e 45 43 54 20 3d 20 30 78 31 20 7d 0d 0a 65 6e  NECT = 0x1 }..en
4030: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 54 53 5f  um : uint { WTS_
4040: 43 4f 4e 53 4f 4c 45 5f 44 49 53 43 4f 4e 4e 45  CONSOLE_DISCONNE
4050: 43 54 20 3d 20 30 78 32 20 7d 0d 0a 65 6e 75 6d  CT = 0x2 }..enum
4060: 20 3a 20 75 69 6e 74 20 7b 20 57 54 53 5f 52 45   : uint { WTS_RE
4070: 4d 4f 54 45 5f 43 4f 4e 4e 45 43 54 20 3d 20 30  MOTE_CONNECT = 0
4080: 78 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  x3 }..enum : uin
4090: 74 20 7b 20 57 54 53 5f 52 45 4d 4f 54 45 5f 44  t { WTS_REMOTE_D
40a0: 49 53 43 4f 4e 4e 45 43 54 20 3d 20 30 78 34 20  ISCONNECT = 0x4 
40b0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
40c0: 20 57 54 53 5f 53 45 53 53 49 4f 4e 5f 4c 4f 47   WTS_SESSION_LOG
40d0: 4f 4e 20 3d 20 30 78 35 20 7d 0d 0a 65 6e 75 6d  ON = 0x5 }..enum
40e0: 20 3a 20 75 69 6e 74 20 7b 20 57 54 53 5f 53 45   : uint { WTS_SE
40f0: 53 53 49 4f 4e 5f 4c 4f 47 4f 46 46 20 3d 20 30  SSION_LOGOFF = 0
4100: 78 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  x6 }..enum : uin
4110: 74 20 7b 20 57 54 53 5f 53 45 53 53 49 4f 4e 5f  t { WTS_SESSION_
4120: 4c 4f 43 4b 20 3d 20 30 78 37 20 7d 0d 0a 65 6e  LOCK = 0x7 }..en
4130: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 54 53 5f  um : uint { WTS_
4140: 53 45 53 53 49 4f 4e 5f 55 4e 4c 4f 43 4b 20 3d  SESSION_UNLOCK =
4150: 20 30 78 38 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e   0x8 }....// #en
4160: 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49  dif /* _WIN32_WI
4170: 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f  NNT >= 0x0501 */
4180: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
4190: 7b 20 4d 53 47 46 5f 44 49 41 4c 4f 47 42 4f 58  { MSGF_DIALOGBOX
41a0: 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 0 }..enum : u
41b0: 69 6e 74 20 7b 20 4d 53 47 46 5f 4d 45 53 53 41  int { MSGF_MESSA
41c0: 47 45 42 4f 58 20 3d 20 31 20 7d 0d 0a 65 6e 75  GEBOX = 1 }..enu
41d0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 53 47 46 5f  m : uint { MSGF_
41e0: 4d 45 4e 55 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d  MENU = 2 }..enum
41f0: 20 3a 20 75 69 6e 74 20 7b 20 4d 53 47 46 5f 53   : uint { MSGF_S
4200: 43 52 4f 4c 4c 42 41 52 20 3d 20 35 20 7d 0d 0a  CROLLBAR = 5 }..
4210: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 53  enum : uint { MS
4220: 47 46 5f 4e 45 58 54 57 49 4e 44 4f 57 20 3d 20  GF_NEXTWINDOW = 
4230: 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
4240: 20 7b 20 4d 53 47 46 5f 4d 41 58 20 3d 20 38 20   { MSGF_MAX = 8 
4250: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4260: 20 4d 53 47 46 5f 55 53 45 52 20 3d 20 34 30 39   MSGF_USER = 409
4270: 36 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  6 }....enum : ui
4280: 6e 74 20 7b 20 48 53 48 45 4c 4c 5f 57 49 4e 44  nt { HSHELL_WIND
4290: 4f 57 43 52 45 41 54 45 44 20 3d 20 31 20 7d 0d  OWCREATED = 1 }.
42a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
42b0: 53 48 45 4c 4c 5f 57 49 4e 44 4f 57 44 45 53 54  SHELL_WINDOWDEST
42c0: 52 4f 59 45 44 20 3d 20 32 20 7d 0d 0a 65 6e 75  ROYED = 2 }..enu
42d0: 6d 20 3a 20 75 69 6e 74 20 7b 20 48 53 48 45 4c  m : uint { HSHEL
42e0: 4c 5f 41 43 54 49 56 41 54 45 53 48 45 4c 4c 57  L_ACTIVATESHELLW
42f0: 49 4e 44 4f 57 20 3d 20 33 20 7d 0d 0a 0d 0a 2f  INDOW = 3 }..../
4300: 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
4310: 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0400)..enum : 
4320: 75 69 6e 74 20 7b 20 48 53 48 45 4c 4c 5f 57 49  uint { HSHELL_WI
4330: 4e 44 4f 57 41 43 54 49 56 41 54 45 44 20 3d 20  NDOWACTIVATED = 
4340: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
4350: 20 7b 20 48 53 48 45 4c 4c 5f 47 45 54 4d 49 4e   { HSHELL_GETMIN
4360: 52 45 43 54 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d  RECT = 5 }..enum
4370: 20 3a 20 75 69 6e 74 20 7b 20 48 53 48 45 4c 4c   : uint { HSHELL
4380: 5f 52 45 44 52 41 57 20 3d 20 36 20 7d 0d 0a 65  _REDRAW = 6 }..e
4390: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 53 48  num : uint { HSH
43a0: 45 4c 4c 5f 54 41 53 4b 4d 41 4e 20 3d 20 37 20  ELL_TASKMAN = 7 
43b0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
43c0: 20 48 53 48 45 4c 4c 5f 4c 41 4e 47 55 41 47 45   HSHELL_LANGUAGE
43d0: 20 3d 20 38 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69   = 8 }..// #endi
43e0: 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
43f0: 78 30 34 30 30 20 2a 2f 0d 0a 2f 2f 20 23 69 66  x0400 */..// #if
4400: 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
4410: 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0500)..enum :
4420: 20 75 69 6e 74 20 7b 20 48 53 48 45 4c 4c 5f 41   uint { HSHELL_A
4430: 43 43 45 53 53 49 42 49 4c 49 54 59 53 54 41 54  CCESSIBILITYSTAT
4440: 45 20 3d 20 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a  E = 11 }..enum :
4450: 20 75 69 6e 74 20 7b 20 48 53 48 45 4c 4c 5f 41   uint { HSHELL_A
4460: 50 50 43 4f 4d 4d 41 4e 44 20 3d 20 31 32 20 7d  PPCOMMAND = 12 }
4470: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f  ..// #endif /* _
4480: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
4490: 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23  x0500 */....// #
44a0: 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  if(_WIN32_WINNT 
44b0: 3e 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d  >= 0x0501)..enum
44c0: 20 3a 20 75 69 6e 74 20 7b 20 48 53 48 45 4c 4c   : uint { HSHELL
44d0: 5f 57 49 4e 44 4f 57 52 45 50 4c 41 43 45 44 20  _WINDOWREPLACED 
44e0: 3d 20 31 33 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  = 13 }..// #endi
44f0: 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e  f /* _WIN32_WINN
4500: 54 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f 0d 0a  T >= 0x0501 */..
4510: 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f  ..// #if(_WIN32_
4520: 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29  WINNT >= 0x0500)
4530: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
4540: 7b 20 41 43 43 45 53 53 5f 53 54 49 43 4b 59 4b  { ACCESS_STICKYK
4550: 45 59 53 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a  EYS = 0x0001 }..
4560: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43  enum : uint { AC
4570: 43 45 53 53 5f 46 49 4c 54 45 52 4b 45 59 53 20  CESS_FILTERKEYS 
4580: 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
4590: 20 3a 20 75 69 6e 74 20 7b 20 41 43 43 45 53 53   : uint { ACCESS
45a0: 5f 4d 4f 55 53 45 4b 45 59 53 20 3d 20 30 78 30  _MOUSEKEYS = 0x0
45b0: 30 30 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  003 }....enum : 
45c0: 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e  uint { APPCOMMAN
45d0: 44 5f 42 52 4f 57 53 45 52 5f 42 41 43 4b 57 41  D_BROWSER_BACKWA
45e0: 52 44 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  RD = 1 }..enum :
45f0: 20 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41   uint { APPCOMMA
4600: 4e 44 5f 42 52 4f 57 53 45 52 5f 46 4f 52 57 41  ND_BROWSER_FORWA
4610: 52 44 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a  RD = 2 }..enum :
4620: 20 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41   uint { APPCOMMA
4630: 4e 44 5f 42 52 4f 57 53 45 52 5f 52 45 46 52 45  ND_BROWSER_REFRE
4640: 53 48 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a  SH = 3 }..enum :
4650: 20 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41   uint { APPCOMMA
4660: 4e 44 5f 42 52 4f 57 53 45 52 5f 53 54 4f 50 20  ND_BROWSER_STOP 
4670: 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 4 }..enum : ui
4680: 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f  nt { APPCOMMAND_
4690: 42 52 4f 57 53 45 52 5f 53 45 41 52 43 48 20 3d  BROWSER_SEARCH =
46a0: 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   5 }..enum : uin
46b0: 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f 42  t { APPCOMMAND_B
46c0: 52 4f 57 53 45 52 5f 46 41 56 4f 52 49 54 45 53  ROWSER_FAVORITES
46d0: 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 6 }..enum : u
46e0: 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44  int { APPCOMMAND
46f0: 5f 42 52 4f 57 53 45 52 5f 48 4f 4d 45 20 3d 20  _BROWSER_HOME = 
4700: 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
4710: 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f 56 4f   { APPCOMMAND_VO
4720: 4c 55 4d 45 5f 4d 55 54 45 20 3d 20 38 20 7d 0d  LUME_MUTE = 8 }.
4730: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41  .enum : uint { A
4740: 50 50 43 4f 4d 4d 41 4e 44 5f 56 4f 4c 55 4d 45  PPCOMMAND_VOLUME
4750: 5f 44 4f 57 4e 20 3d 20 39 20 7d 0d 0a 65 6e 75  _DOWN = 9 }..enu
4760: 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 43 4f  m : uint { APPCO
4770: 4d 4d 41 4e 44 5f 56 4f 4c 55 4d 45 5f 55 50 20  MMAND_VOLUME_UP 
4780: 3d 20 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 10 }..enum : u
4790: 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44  int { APPCOMMAND
47a0: 5f 4d 45 44 49 41 5f 4e 45 58 54 54 52 41 43 4b  _MEDIA_NEXTTRACK
47b0: 20 3d 20 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 11 }..enum : 
47c0: 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e  uint { APPCOMMAN
47d0: 44 5f 4d 45 44 49 41 5f 50 52 45 56 49 4f 55 53  D_MEDIA_PREVIOUS
47e0: 54 52 41 43 4b 20 3d 20 31 32 20 7d 0d 0a 65 6e  TRACK = 12 }..en
47f0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 43  um : uint { APPC
4800: 4f 4d 4d 41 4e 44 5f 4d 45 44 49 41 5f 53 54 4f  OMMAND_MEDIA_STO
4810: 50 20 3d 20 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a  P = 13 }..enum :
4820: 20 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41   uint { APPCOMMA
4830: 4e 44 5f 4d 45 44 49 41 5f 50 4c 41 59 5f 50 41  ND_MEDIA_PLAY_PA
4840: 55 53 45 20 3d 20 31 34 20 7d 0d 0a 65 6e 75 6d  USE = 14 }..enum
4850: 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d   : uint { APPCOM
4860: 4d 41 4e 44 5f 4c 41 55 4e 43 48 5f 4d 41 49 4c  MAND_LAUNCH_MAIL
4870: 20 3d 20 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 15 }..enum : 
4880: 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e  uint { APPCOMMAN
4890: 44 5f 4c 41 55 4e 43 48 5f 4d 45 44 49 41 5f 53  D_LAUNCH_MEDIA_S
48a0: 45 4c 45 43 54 20 3d 20 31 36 20 7d 0d 0a 65 6e  ELECT = 16 }..en
48b0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 43  um : uint { APPC
48c0: 4f 4d 4d 41 4e 44 5f 4c 41 55 4e 43 48 5f 41 50  OMMAND_LAUNCH_AP
48d0: 50 31 20 3d 20 31 37 20 7d 0d 0a 65 6e 75 6d 20  P1 = 17 }..enum 
48e0: 3a 20 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d  : uint { APPCOMM
48f0: 41 4e 44 5f 4c 41 55 4e 43 48 5f 41 50 50 32 20  AND_LAUNCH_APP2 
4900: 3d 20 31 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 18 }..enum : u
4910: 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44  int { APPCOMMAND
4920: 5f 42 41 53 53 5f 44 4f 57 4e 20 3d 20 31 39 20  _BASS_DOWN = 19 
4930: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4940: 20 41 50 50 43 4f 4d 4d 41 4e 44 5f 42 41 53 53   APPCOMMAND_BASS
4950: 5f 42 4f 4f 53 54 20 3d 20 32 30 20 7d 0d 0a 65  _BOOST = 20 }..e
4960: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50  num : uint { APP
4970: 43 4f 4d 4d 41 4e 44 5f 42 41 53 53 5f 55 50 20  COMMAND_BASS_UP 
4980: 3d 20 32 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 21 }..enum : u
4990: 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44  int { APPCOMMAND
49a0: 5f 54 52 45 42 4c 45 5f 44 4f 57 4e 20 3d 20 32  _TREBLE_DOWN = 2
49b0: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
49c0: 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f 54 52   { APPCOMMAND_TR
49d0: 45 42 4c 45 5f 55 50 20 3d 20 32 33 20 7d 0d 0a  EBLE_UP = 23 }..
49e0: 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49  // #if(_WIN32_WI
49f0: 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a  NNT >= 0x0501)..
4a00: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50  enum : uint { AP
4a10: 50 43 4f 4d 4d 41 4e 44 5f 4d 49 43 52 4f 50 48  PCOMMAND_MICROPH
4a20: 4f 4e 45 5f 56 4f 4c 55 4d 45 5f 4d 55 54 45 20  ONE_VOLUME_MUTE 
4a30: 3d 20 32 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 24 }..enum : u
4a40: 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44  int { APPCOMMAND
4a50: 5f 4d 49 43 52 4f 50 48 4f 4e 45 5f 56 4f 4c 55  _MICROPHONE_VOLU
4a60: 4d 45 5f 44 4f 57 4e 20 3d 20 32 35 20 7d 0d 0a  ME_DOWN = 25 }..
4a70: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50  enum : uint { AP
4a80: 50 43 4f 4d 4d 41 4e 44 5f 4d 49 43 52 4f 50 48  PCOMMAND_MICROPH
4a90: 4f 4e 45 5f 56 4f 4c 55 4d 45 5f 55 50 20 3d 20  ONE_VOLUME_UP = 
4aa0: 32 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  26 }..enum : uin
4ab0: 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f 48  t { APPCOMMAND_H
4ac0: 45 4c 50 20 3d 20 32 37 20 7d 0d 0a 65 6e 75 6d  ELP = 27 }..enum
4ad0: 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d   : uint { APPCOM
4ae0: 4d 41 4e 44 5f 46 49 4e 44 20 3d 20 32 38 20 7d  MAND_FIND = 28 }
4af0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4b00: 41 50 50 43 4f 4d 4d 41 4e 44 5f 4e 45 57 20 3d  APPCOMMAND_NEW =
4b10: 20 32 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   29 }..enum : ui
4b20: 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f  nt { APPCOMMAND_
4b30: 4f 50 45 4e 20 3d 20 33 30 20 7d 0d 0a 65 6e 75  OPEN = 30 }..enu
4b40: 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 43 4f  m : uint { APPCO
4b50: 4d 4d 41 4e 44 5f 43 4c 4f 53 45 20 3d 20 33 31  MMAND_CLOSE = 31
4b60: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
4b70: 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f 53 41 56  { APPCOMMAND_SAV
4b80: 45 20 3d 20 33 32 20 7d 0d 0a 65 6e 75 6d 20 3a  E = 32 }..enum :
4b90: 20 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41   uint { APPCOMMA
4ba0: 4e 44 5f 50 52 49 4e 54 20 3d 20 33 33 20 7d 0d  ND_PRINT = 33 }.
4bb0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41  .enum : uint { A
4bc0: 50 50 43 4f 4d 4d 41 4e 44 5f 55 4e 44 4f 20 3d  PPCOMMAND_UNDO =
4bd0: 20 33 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   34 }..enum : ui
4be0: 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f  nt { APPCOMMAND_
4bf0: 52 45 44 4f 20 3d 20 33 35 20 7d 0d 0a 65 6e 75  REDO = 35 }..enu
4c00: 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 43 4f  m : uint { APPCO
4c10: 4d 4d 41 4e 44 5f 43 4f 50 59 20 3d 20 33 36 20  MMAND_COPY = 36 
4c20: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4c30: 20 41 50 50 43 4f 4d 4d 41 4e 44 5f 43 55 54 20   APPCOMMAND_CUT 
4c40: 3d 20 33 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 37 }..enum : u
4c50: 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44  int { APPCOMMAND
4c60: 5f 50 41 53 54 45 20 3d 20 33 38 20 7d 0d 0a 65  _PASTE = 38 }..e
4c70: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50  num : uint { APP
4c80: 43 4f 4d 4d 41 4e 44 5f 52 45 50 4c 59 5f 54 4f  COMMAND_REPLY_TO
4c90: 5f 4d 41 49 4c 20 3d 20 33 39 20 7d 0d 0a 65 6e  _MAIL = 39 }..en
4ca0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 43  um : uint { APPC
4cb0: 4f 4d 4d 41 4e 44 5f 46 4f 52 57 41 52 44 5f 4d  OMMAND_FORWARD_M
4cc0: 41 49 4c 20 3d 20 34 30 20 7d 0d 0a 65 6e 75 6d  AIL = 40 }..enum
4cd0: 20 3a 20 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d   : uint { APPCOM
4ce0: 4d 41 4e 44 5f 53 45 4e 44 5f 4d 41 49 4c 20 3d  MAND_SEND_MAIL =
4cf0: 20 34 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   41 }..enum : ui
4d00: 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f  nt { APPCOMMAND_
4d10: 53 50 45 4c 4c 5f 43 48 45 43 4b 20 3d 20 34 32  SPELL_CHECK = 42
4d20: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
4d30: 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f 44 49 43  { APPCOMMAND_DIC
4d40: 54 41 54 45 5f 4f 52 5f 43 4f 4d 4d 41 4e 44 5f  TATE_OR_COMMAND_
4d50: 43 4f 4e 54 52 4f 4c 5f 54 4f 47 47 4c 45 20 3d  CONTROL_TOGGLE =
4d60: 20 34 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   43 }..enum : ui
4d70: 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41 4e 44 5f  nt { APPCOMMAND_
4d80: 4d 49 43 5f 4f 4e 5f 4f 46 46 5f 54 4f 47 47 4c  MIC_ON_OFF_TOGGL
4d90: 45 20 3d 20 34 34 20 7d 0d 0a 65 6e 75 6d 20 3a  E = 44 }..enum :
4da0: 20 75 69 6e 74 20 7b 20 41 50 50 43 4f 4d 4d 41   uint { APPCOMMA
4db0: 4e 44 5f 43 4f 52 52 45 43 54 49 4f 4e 5f 4c 49  ND_CORRECTION_LI
4dc0: 53 54 20 3d 20 34 35 20 7d 0d 0a 2f 2f 20 23 65  ST = 45 }..// #e
4dd0: 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57  ndif /* _WIN32_W
4de0: 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a  INNT >= 0x0501 *
4df0: 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  /....enum : uint
4e00: 20 7b 20 46 41 50 50 43 4f 4d 4d 41 4e 44 5f 4d   { FAPPCOMMAND_M
4e10: 4f 55 53 45 20 3d 20 30 78 38 30 30 30 20 7d 0d  OUSE = 0x8000 }.
4e20: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46  .enum : uint { F
4e30: 41 50 50 43 4f 4d 4d 41 4e 44 5f 4b 45 59 20 3d  APPCOMMAND_KEY =
4e40: 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   0 }..enum : uin
4e50: 74 20 7b 20 46 41 50 50 43 4f 4d 4d 41 4e 44 5f  t { FAPPCOMMAND_
4e60: 4f 45 4d 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a  OEM = 0x1000 }..
4e70: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 41  enum : uint { FA
4e80: 50 50 43 4f 4d 4d 41 4e 44 5f 4d 41 53 4b 20 3d  PPCOMMAND_MASK =
4e90: 20 30 78 46 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20   0xF000 }....// 
4ea0: 23 64 65 66 69 6e 65 20 47 45 54 5f 41 50 50 43  #define GET_APPC
4eb0: 4f 4d 4d 41 4e 44 5f 4c 50 41 52 41 4d 28 6c 50  OMMAND_LPARAM(lP
4ec0: 61 72 61 6d 29 20 28 28 73 68 6f 72 74 29 28 48  aram) ((short)(H
4ed0: 49 57 4f 52 44 28 6c 50 61 72 61 6d 29 20 26 20  IWORD(lParam) & 
4ee0: 7e 46 41 50 50 43 4f 4d 4d 41 4e 44 5f 4d 41 53  ~FAPPCOMMAND_MAS
4ef0: 4b 29 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  K))..// #define 
4f00: 47 45 54 5f 44 45 56 49 43 45 5f 4c 50 41 52 41  GET_DEVICE_LPARA
4f10: 4d 28 6c 50 61 72 61 6d 29 20 28 28 57 4f 52 44  M(lParam) ((WORD
4f20: 29 28 48 49 57 4f 52 44 28 6c 50 61 72 61 6d 29  )(HIWORD(lParam)
4f30: 20 26 20 46 41 50 50 43 4f 4d 4d 41 4e 44 5f 4d   & FAPPCOMMAND_M
4f40: 41 53 4b 29 29 0d 0a 2f 2f 20 23 64 65 66 69 6e  ASK))..// #defin
4f50: 65 20 47 45 54 5f 4d 4f 55 53 45 4f 52 4b 45 59  e GET_MOUSEORKEY
4f60: 5f 4c 50 41 52 41 4d 20 47 45 54 5f 44 45 56 49  _LPARAM GET_DEVI
4f70: 43 45 5f 4c 50 41 52 41 4d 0d 0a 2f 2f 20 23 64  CE_LPARAM..// #d
4f80: 65 66 69 6e 65 20 47 45 54 5f 46 4c 41 47 53 5f  efine GET_FLAGS_
4f90: 4c 50 41 52 41 4d 28 6c 50 61 72 61 6d 29 20 28  LPARAM(lParam) (
4fa0: 4c 4f 57 4f 52 44 28 6c 50 61 72 61 6d 29 29 0d  LOWORD(lParam)).
4fb0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 47 45 54 5f  .// #define GET_
4fc0: 4b 45 59 53 54 41 54 45 5f 4c 50 41 52 41 4d 28  KEYSTATE_LPARAM(
4fd0: 6c 50 61 72 61 6d 29 20 47 45 54 5f 46 4c 41 47  lParam) GET_FLAG
4fe0: 53 5f 4c 50 41 52 41 4d 28 6c 50 61 72 61 6d 29  S_LPARAM(lParam)
4ff0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f  ..// #endif /* _
5000: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
5010: 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 73 74 72 75  x0500 */....stru
5020: 63 74 20 74 61 67 45 56 45 4e 54 4d 53 47 20 7b  ct tagEVENTMSG {
5030: 0d 0a 20 20 55 49 4e 54 20 6d 65 73 73 61 67 65  ..  UINT message
5040: 3b 0d 0a 20 20 55 49 4e 54 20 70 61 72 61 6d 4c  ;..  UINT paramL
5050: 3b 0d 0a 20 20 55 49 4e 54 20 70 61 72 61 6d 48  ;..  UINT paramH
5060: 3b 0d 0a 20 20 44 57 4f 52 44 20 74 69 6d 65 3b  ;..  DWORD time;
5070: 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 3b 0d 0a  ..  HWND hwnd;..
5080: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 45 56 45 4e  }..alias tagEVEN
5090: 54 4d 53 47 20 45 56 45 4e 54 4d 53 47 3b 0d 0a  TMSG EVENTMSG;..
50a0: 61 6c 69 61 73 20 74 61 67 45 56 45 4e 54 4d 53  alias tagEVENTMS
50b0: 47 2a 20 50 45 56 45 4e 54 4d 53 47 4d 53 47 3b  G* PEVENTMSGMSG;
50c0: 0d 0a 61 6c 69 61 73 20 74 61 67 45 56 45 4e 54  ..alias tagEVENT
50d0: 4d 53 47 2a 20 4e 50 45 56 45 4e 54 4d 53 47 4d  MSG* NPEVENTMSGM
50e0: 53 47 3b 0d 0a 61 6c 69 61 73 20 74 61 67 45 56  SG;..alias tagEV
50f0: 45 4e 54 4d 53 47 2a 20 4c 50 45 56 45 4e 54 4d  ENTMSG* LPEVENTM
5100: 53 47 4d 53 47 3b 0d 0a 0d 0a 61 6c 69 61 73 20  SGMSG;....alias 
5110: 74 61 67 45 56 45 4e 54 4d 53 47 2a 20 50 45 56  tagEVENTMSG* PEV
5120: 45 4e 54 4d 53 47 3b 0d 0a 61 6c 69 61 73 20 74  ENTMSG;..alias t
5130: 61 67 45 56 45 4e 54 4d 53 47 2a 20 4e 50 45 56  agEVENTMSG* NPEV
5140: 45 4e 54 4d 53 47 3b 0d 0a 61 6c 69 61 73 20 74  ENTMSG;..alias t
5150: 61 67 45 56 45 4e 54 4d 53 47 2a 20 4c 50 45 56  agEVENTMSG* LPEV
5160: 45 4e 54 4d 53 47 3b 0d 0a 0d 0a 73 74 72 75 63  ENTMSG;....struc
5170: 74 20 74 61 67 43 57 50 53 54 52 55 43 54 20 7b  t tagCWPSTRUCT {
5180: 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61  ..  LPARAM lPara
5190: 6d 3b 0d 0a 20 20 57 50 41 52 41 4d 20 77 50 61  m;..  WPARAM wPa
51a0: 72 61 6d 3b 0d 0a 20 20 55 49 4e 54 20 6d 65 73  ram;..  UINT mes
51b0: 73 61 67 65 3b 0d 0a 20 20 48 57 4e 44 20 68 77  sage;..  HWND hw
51c0: 6e 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  nd;..}..alias ta
51d0: 67 43 57 50 53 54 52 55 43 54 20 43 57 50 53 54  gCWPSTRUCT CWPST
51e0: 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67  RUCT;..alias tag
51f0: 43 57 50 53 54 52 55 43 54 2a 20 50 43 57 50 53  CWPSTRUCT* PCWPS
5200: 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20 74 61  TRUCT;..alias ta
5210: 67 43 57 50 53 54 52 55 43 54 2a 20 4e 50 43 57  gCWPSTRUCT* NPCW
5220: 50 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20  PSTRUCT;..alias 
5230: 74 61 67 43 57 50 53 54 52 55 43 54 2a 20 4c 50  tagCWPSTRUCT* LP
5240: 43 57 50 53 54 52 55 43 54 3b 0d 0a 0d 0a 2f 2f  CWPSTRUCT;....//
5250: 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
5260: 78 30 34 30 30 29 0d 0a 0d 0a 73 74 72 75 63 74  x0400)....struct
5270: 20 74 61 67 43 57 50 52 45 54 53 54 52 55 43 54   tagCWPRETSTRUCT
5280: 20 7b 0d 0a 20 20 4c 52 45 53 55 4c 54 20 6c 52   {..  LRESULT lR
5290: 65 73 75 6c 74 3b 0d 0a 20 20 4c 50 41 52 41 4d  esult;..  LPARAM
52a0: 20 6c 50 61 72 61 6d 3b 0d 0a 20 20 57 50 41 52   lParam;..  WPAR
52b0: 41 4d 20 77 50 61 72 61 6d 3b 0d 0a 20 20 55 49  AM wParam;..  UI
52c0: 4e 54 20 6d 65 73 73 61 67 65 3b 0d 0a 20 20 48  NT message;..  H
52d0: 57 4e 44 20 68 77 6e 64 3b 0d 0a 7d 0d 0a 61 6c  WND hwnd;..}..al
52e0: 69 61 73 20 74 61 67 43 57 50 52 45 54 53 54 52  ias tagCWPRETSTR
52f0: 55 43 54 20 43 57 50 52 45 54 53 54 52 55 43 54  UCT CWPRETSTRUCT
5300: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 43 57 50 52  ;..alias tagCWPR
5310: 45 54 53 54 52 55 43 54 2a 20 50 43 57 50 52 45  ETSTRUCT* PCWPRE
5320: 54 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20  TSTRUCT;..alias 
5330: 74 61 67 43 57 50 52 45 54 53 54 52 55 43 54 2a  tagCWPRETSTRUCT*
5340: 20 4e 50 43 57 50 52 45 54 53 54 52 55 43 54 3b   NPCWPRETSTRUCT;
5350: 0d 0a 61 6c 69 61 73 20 74 61 67 43 57 50 52 45  ..alias tagCWPRE
5360: 54 53 54 52 55 43 54 2a 20 4c 50 43 57 50 52 45  TSTRUCT* LPCWPRE
5370: 54 53 54 52 55 43 54 3b 0d 0a 0d 0a 2f 2f 20 23  TSTRUCT;....// #
5380: 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
5390: 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0400 */....
53a0: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57  // #if (_WIN32_W
53b0: 49 4e 4e 54 20 3e 3d 20 30 78 30 34 30 30 29 0d  INNT >= 0x0400).
53c0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
53d0: 20 4c 4c 4b 48 46 5f 45 58 54 45 4e 44 45 44 20   LLKHF_EXTENDED 
53e0: 3d 20 4b 46 5f 45 58 54 45 4e 44 45 44 20 3e 3e  = KF_EXTENDED >>
53f0: 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   8 }..enum : uin
5400: 74 20 7b 20 4c 4c 4b 48 46 5f 49 4e 4a 45 43 54  t { LLKHF_INJECT
5410: 45 44 20 3d 20 30 78 30 30 30 30 30 30 31 30 20  ED = 0x00000010 
5420: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
5430: 20 4c 4c 4b 48 46 5f 41 4c 54 44 4f 57 4e 20 3d   LLKHF_ALTDOWN =
5440: 20 4b 46 5f 41 4c 54 44 4f 57 4e 20 3e 3e 20 38   KF_ALTDOWN >> 8
5450: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
5460: 7b 20 4c 4c 4b 48 46 5f 55 50 20 3d 20 4b 46 5f  { LLKHF_UP = KF_
5470: 55 50 20 3e 3e 20 38 20 7d 0d 0a 0d 0a 65 6e 75  UP >> 8 }....enu
5480: 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 4c 4d 48 46  m : uint { LLMHF
5490: 5f 49 4e 4a 45 43 54 45 44 20 3d 20 30 78 30 30  _INJECTED = 0x00
54a0: 30 30 30 30 30 31 20 7d 0d 0a 0d 0a 73 74 72 75  000001 }....stru
54b0: 63 74 20 74 61 67 4b 42 44 4c 4c 48 4f 4f 4b 53  ct tagKBDLLHOOKS
54c0: 54 52 55 43 54 20 7b 0d 0a 20 20 44 57 4f 52 44  TRUCT {..  DWORD
54d0: 20 76 6b 43 6f 64 65 3b 0d 0a 20 20 44 57 4f 52   vkCode;..  DWOR
54e0: 44 20 73 63 61 6e 43 6f 64 65 3b 0d 0a 20 20 44  D scanCode;..  D
54f0: 57 4f 52 44 20 66 6c 61 67 73 3b 0d 0a 20 20 44  WORD flags;..  D
5500: 57 4f 52 44 20 74 69 6d 65 3b 0d 0a 20 20 55 4c  WORD time;..  UL
5510: 4f 4e 47 5f 50 54 52 20 64 77 45 78 74 72 61 49  ONG_PTR dwExtraI
5520: 6e 66 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  nfo;..}..alias t
5530: 61 67 4b 42 44 4c 4c 48 4f 4f 4b 53 54 52 55 43  agKBDLLHOOKSTRUC
5540: 54 20 4b 42 44 4c 4c 48 4f 4f 4b 53 54 52 55 43  T KBDLLHOOKSTRUC
5550: 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4b 42 44  T;..alias tagKBD
5560: 4c 4c 48 4f 4f 4b 53 54 52 55 43 54 2a 20 4c 50  LLHOOKSTRUCT* LP
5570: 4b 42 44 4c 4c 48 4f 4f 4b 53 54 52 55 43 54 3b  KBDLLHOOKSTRUCT;
5580: 0d 0a 61 6c 69 61 73 20 74 61 67 4b 42 44 4c 4c  ..alias tagKBDLL
5590: 48 4f 4f 4b 53 54 52 55 43 54 2a 20 50 4b 42 44  HOOKSTRUCT* PKBD
55a0: 4c 4c 48 4f 4f 4b 53 54 52 55 43 54 3b 0d 0a 0d  LLHOOKSTRUCT;...
55b0: 0a 73 74 72 75 63 74 20 74 61 67 4d 53 4c 4c 48  .struct tagMSLLH
55c0: 4f 4f 4b 53 54 52 55 43 54 20 7b 0d 0a 20 20 50  OOKSTRUCT {..  P
55d0: 4f 49 4e 54 20 70 74 3b 0d 0a 20 20 44 57 4f 52  OINT pt;..  DWOR
55e0: 44 20 6d 6f 75 73 65 44 61 74 61 3b 0d 0a 20 20  D mouseData;..  
55f0: 44 57 4f 52 44 20 66 6c 61 67 73 3b 0d 0a 20 20  DWORD flags;..  
5600: 44 57 4f 52 44 20 74 69 6d 65 3b 0d 0a 20 20 55  DWORD time;..  U
5610: 4c 4f 4e 47 5f 50 54 52 20 64 77 45 78 74 72 61  LONG_PTR dwExtra
5620: 49 6e 66 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  Info;..}..alias 
5630: 74 61 67 4d 53 4c 4c 48 4f 4f 4b 53 54 52 55 43  tagMSLLHOOKSTRUC
5640: 54 20 4d 53 4c 4c 48 4f 4f 4b 53 54 52 55 43 54  T MSLLHOOKSTRUCT
5650: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 53 4c 4c  ;..alias tagMSLL
5660: 48 4f 4f 4b 53 54 52 55 43 54 2a 20 4c 50 4d 53  HOOKSTRUCT* LPMS
5670: 4c 4c 48 4f 4f 4b 53 54 52 55 43 54 3b 0d 0a 61  LLHOOKSTRUCT;..a
5680: 6c 69 61 73 20 74 61 67 4d 53 4c 4c 48 4f 4f 4b  lias tagMSLLHOOK
5690: 53 54 52 55 43 54 2a 20 50 4d 53 4c 4c 48 4f 4f  STRUCT* PMSLLHOO
56a0: 4b 53 54 52 55 43 54 3b 0d 0a 0d 0a 2f 2f 20 23  KSTRUCT;....// #
56b0: 65 6e 64 69 66 20 2f 2f 20 28 5f 57 49 4e 33 32  endif // (_WIN32
56c0: 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 34 30 30  _WINNT >= 0x0400
56d0: 29 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 44  )....struct tagD
56e0: 45 42 55 47 48 4f 4f 4b 49 4e 46 4f 20 7b 0d 0a  EBUGHOOKINFO {..
56f0: 20 20 44 57 4f 52 44 20 69 64 54 68 72 65 61 64    DWORD idThread
5700: 3b 0d 0a 20 20 44 57 4f 52 44 20 69 64 54 68 72  ;..  DWORD idThr
5710: 65 61 64 49 6e 73 74 61 6c 6c 65 72 3b 0d 0a 20  eadInstaller;.. 
5720: 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d   LPARAM lParam;.
5730: 0a 20 20 57 50 41 52 41 4d 20 77 50 61 72 61 6d  .  WPARAM wParam
5740: 3b 0d 0a 20 20 69 6e 74 20 63 6f 64 65 3b 0d 0a  ;..  int code;..
5750: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 44 45 42 55  }..alias tagDEBU
5760: 47 48 4f 4f 4b 49 4e 46 4f 20 44 45 42 55 47 48  GHOOKINFO DEBUGH
5770: 4f 4f 4b 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20  OOKINFO;..alias 
5780: 74 61 67 44 45 42 55 47 48 4f 4f 4b 49 4e 46 4f  tagDEBUGHOOKINFO
5790: 2a 20 50 44 45 42 55 47 48 4f 4f 4b 49 4e 46 4f  * PDEBUGHOOKINFO
57a0: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 44 45 42 55  ;..alias tagDEBU
57b0: 47 48 4f 4f 4b 49 4e 46 4f 2a 20 4e 50 44 45 42  GHOOKINFO* NPDEB
57c0: 55 47 48 4f 4f 4b 49 4e 46 4f 3b 0d 0a 61 6c 69  UGHOOKINFO;..ali
57d0: 61 73 20 74 61 67 44 45 42 55 47 48 4f 4f 4b 49  as tagDEBUGHOOKI
57e0: 4e 46 4f 2a 20 4c 50 44 45 42 55 47 48 4f 4f 4b  NFO* LPDEBUGHOOK
57f0: 49 4e 46 4f 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  INFO;....struct 
5800: 74 61 67 4d 4f 55 53 45 48 4f 4f 4b 53 54 52 55  tagMOUSEHOOKSTRU
5810: 43 54 20 7b 0d 0a 20 20 50 4f 49 4e 54 20 70 74  CT {..  POINT pt
5820: 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 3b 0d  ;..  HWND hwnd;.
5830: 0a 20 20 55 49 4e 54 20 77 48 69 74 54 65 73 74  .  UINT wHitTest
5840: 43 6f 64 65 3b 0d 0a 20 20 55 4c 4f 4e 47 5f 50  Code;..  ULONG_P
5850: 54 52 20 64 77 45 78 74 72 61 49 6e 66 6f 3b 0d  TR dwExtraInfo;.
5860: 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 4f 55  .}..alias tagMOU
5870: 53 45 48 4f 4f 4b 53 54 52 55 43 54 20 4d 4f 55  SEHOOKSTRUCT MOU
5880: 53 45 48 4f 4f 4b 53 54 52 55 43 54 3b 0d 0a 61  SEHOOKSTRUCT;..a
5890: 6c 69 61 73 20 74 61 67 4d 4f 55 53 45 48 4f 4f  lias tagMOUSEHOO
58a0: 4b 53 54 52 55 43 54 2a 20 4c 50 4d 4f 55 53 45  KSTRUCT* LPMOUSE
58b0: 48 4f 4f 4b 53 54 52 55 43 54 3b 0d 0a 61 6c 69  HOOKSTRUCT;..ali
58c0: 61 73 20 74 61 67 4d 4f 55 53 45 48 4f 4f 4b 53  as tagMOUSEHOOKS
58d0: 54 52 55 43 54 2a 20 50 4d 4f 55 53 45 48 4f 4f  TRUCT* PMOUSEHOO
58e0: 4b 53 54 52 55 43 54 3b 0d 0a 0d 0a 2f 2f 20 23  KSTRUCT;....// #
58f0: 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  if(_WIN32_WINNT 
5900: 3e 3d 20 30 78 30 35 30 30 29 0d 0a 2f 2f 20 23  >= 0x0500)..// #
5910: 69 66 64 65 66 20 5f 5f 63 70 6c 75 73 70 6c 75  ifdef __cplusplu
5920: 73 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 4f 55  s..struct tagMOU
5930: 53 45 48 4f 4f 4b 53 54 52 55 43 54 45 58 20 7b  SEHOOKSTRUCTEX {
5940: 0d 0a 20 20 50 4f 49 4e 54 20 70 74 3b 0d 0a 20  ..  POINT pt;.. 
5950: 20 48 57 4e 44 20 68 77 6e 64 3b 0d 0a 20 20 55   HWND hwnd;..  U
5960: 49 4e 54 20 77 48 69 74 54 65 73 74 43 6f 64 65  INT wHitTestCode
5970: 3b 0d 0a 20 20 55 4c 4f 4e 47 5f 50 54 52 20 64  ;..  ULONG_PTR d
5980: 77 45 78 74 72 61 49 6e 66 6f 3b 0d 0a 20 20 44  wExtraInfo;..  D
5990: 57 4f 52 44 20 6d 6f 75 73 65 44 61 74 61 3b 0d  WORD mouseData;.
59a0: 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 4f 55  .}..alias tagMOU
59b0: 53 45 48 4f 4f 4b 53 54 52 55 43 54 45 58 20 4d  SEHOOKSTRUCTEX M
59c0: 4f 55 53 45 48 4f 4f 4b 53 54 52 55 43 54 45 58  OUSEHOOKSTRUCTEX
59d0: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 4f 55 53  ;..alias tagMOUS
59e0: 45 48 4f 4f 4b 53 54 52 55 43 54 45 58 2a 20 4c  EHOOKSTRUCTEX* L
59f0: 50 4d 4f 55 53 45 48 4f 4f 4b 53 54 52 55 43 54  PMOUSEHOOKSTRUCT
5a00: 45 58 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 4f  EX;..alias tagMO
5a10: 55 53 45 48 4f 4f 4b 53 54 52 55 43 54 45 58 2a  USEHOOKSTRUCTEX*
5a20: 20 50 4d 4f 55 53 45 48 4f 4f 4b 53 54 52 55 43   PMOUSEHOOKSTRUC
5a30: 54 45 58 3b 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65  TEX;....// #else
5a40: 20 2f 2f 20 6e 64 65 66 20 5f 5f 63 70 6c 75 73   // ndef __cplus
5a50: 70 6c 75 73 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  plus..// .....//
5a60: 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64   #endif..// #end
5a70: 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e  if /* _WIN32_WIN
5a80: 4e 54 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d  NT >= 0x0500 */.
5a90: 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  ...// #if(WINVER
5aa0: 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a 73   >= 0x0400)....s
5ab0: 74 72 75 63 74 20 74 61 67 48 41 52 44 57 41 52  truct tagHARDWAR
5ac0: 45 48 4f 4f 4b 53 54 52 55 43 54 20 7b 0d 0a 20  EHOOKSTRUCT {.. 
5ad0: 20 48 57 4e 44 20 68 77 6e 64 3b 0d 0a 20 20 55   HWND hwnd;..  U
5ae0: 49 4e 54 20 6d 65 73 73 61 67 65 3b 0d 0a 20 20  INT message;..  
5af0: 57 50 41 52 41 4d 20 77 50 61 72 61 6d 3b 0d 0a  WPARAM wParam;..
5b00: 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b    LPARAM lParam;
5b10: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 48 41  ..}..alias tagHA
5b20: 52 44 57 41 52 45 48 4f 4f 4b 53 54 52 55 43 54  RDWAREHOOKSTRUCT
5b30: 20 48 41 52 44 57 41 52 45 48 4f 4f 4b 53 54 52   HARDWAREHOOKSTR
5b40: 55 43 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67 48  UCT;..alias tagH
5b50: 41 52 44 57 41 52 45 48 4f 4f 4b 53 54 52 55 43  ARDWAREHOOKSTRUC
5b60: 54 2a 20 4c 50 48 41 52 44 57 41 52 45 48 4f 4f  T* LPHARDWAREHOO
5b70: 4b 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20  KSTRUCT;..alias 
5b80: 74 61 67 48 41 52 44 57 41 52 45 48 4f 4f 4b 53  tagHARDWAREHOOKS
5b90: 54 52 55 43 54 2a 20 50 48 41 52 44 57 41 52 45  TRUCT* PHARDWARE
5ba0: 48 4f 4f 4b 53 54 52 55 43 54 3b 0d 0a 0d 0a 2f  HOOKSTRUCT;..../
5bb0: 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
5bc0: 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  ER >= 0x0400 */.
5bd0: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e  .// #endif /* !N
5be0: 4f 57 48 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a  OWH */....enum :
5bf0: 20 75 69 6e 74 20 7b 20 48 4b 4c 5f 50 52 45 56   uint { HKL_PREV
5c00: 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 0 }..enum : u
5c10: 69 6e 74 20 7b 20 48 4b 4c 5f 4e 45 58 54 20 3d  int { HKL_NEXT =
5c20: 20 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75   1 }....enum : u
5c30: 69 6e 74 20 7b 20 4b 4c 46 5f 41 43 54 49 56 41  int { KLF_ACTIVA
5c40: 54 45 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  TE = 0x00000001 
5c50: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
5c60: 20 4b 4c 46 5f 53 55 42 53 54 49 54 55 54 45 5f   KLF_SUBSTITUTE_
5c70: 4f 4b 20 3d 20 30 78 30 30 30 30 30 30 30 32 20  OK = 0x00000002 
5c80: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
5c90: 20 4b 4c 46 5f 52 45 4f 52 44 45 52 20 3d 20 30   KLF_REORDER = 0
5ca0: 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 2f 2f 20  x00000008 }..// 
5cb0: 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  #if(WINVER >= 0x
5cc0: 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0400)..enum : ui
5cd0: 6e 74 20 7b 20 4b 4c 46 5f 52 45 50 4c 41 43 45  nt { KLF_REPLACE
5ce0: 4c 41 4e 47 20 3d 20 30 78 30 30 30 30 30 30 31  LANG = 0x0000001
5cf0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
5d00: 20 7b 20 4b 4c 46 5f 4e 4f 54 45 4c 4c 53 48 45   { KLF_NOTELLSHE
5d10: 4c 4c 20 3d 20 30 78 30 30 30 30 30 30 38 30 20  LL = 0x00000080 
5d20: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  }..// #endif /* 
5d30: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
5d40: 20 2a 2f 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74   */..enum : uint
5d50: 20 7b 20 4b 4c 46 5f 53 45 54 46 4f 52 50 52 4f   { KLF_SETFORPRO
5d60: 43 45 53 53 20 3d 20 30 78 30 30 30 30 30 31 30  CESS = 0x0000010
5d70: 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e  0 }..// #if(_WIN
5d80: 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35  32_WINNT >= 0x05
5d90: 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
5da0: 20 7b 20 4b 4c 46 5f 53 48 49 46 54 4c 4f 43 4b   { KLF_SHIFTLOCK
5db0: 20 3d 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d   = 0x00010000 }.
5dc0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4b  .enum : uint { K
5dd0: 4c 46 5f 52 45 53 45 54 20 3d 20 30 78 34 30 30  LF_RESET = 0x400
5de0: 30 30 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64  00000 }..// #end
5df0: 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e  if /* _WIN32_WIN
5e00: 4e 54 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d  NT >= 0x0500 */.
5e10: 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  ...// #if(WINVER
5e20: 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 65   >= 0x0500)....e
5e30: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4e 50  num : uint { INP
5e40: 55 54 4c 41 4e 47 43 48 41 4e 47 45 5f 53 59 53  UTLANGCHANGE_SYS
5e50: 43 48 41 52 53 45 54 20 3d 20 30 78 30 30 30 31  CHARSET = 0x0001
5e60: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
5e70: 7b 20 49 4e 50 55 54 4c 41 4e 47 43 48 41 4e 47  { INPUTLANGCHANG
5e80: 45 5f 46 4f 52 57 41 52 44 20 3d 20 30 78 30 30  E_FORWARD = 0x00
5e90: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
5ea0: 74 20 7b 20 49 4e 50 55 54 4c 41 4e 47 43 48 41  t { INPUTLANGCHA
5eb0: 4e 47 45 5f 42 41 43 4b 57 41 52 44 20 3d 20 30  NGE_BACKWARD = 0
5ec0: 78 30 30 30 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64  x0004 }..// #end
5ed0: 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20  if /* WINVER >= 
5ee0: 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 65 6e 75  0x0500 */....enu
5ef0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4b 4c 5f 4e 41  m : uint { KL_NA
5f00: 4d 45 4c 45 4e 47 54 48 20 3d 20 39 20 7d 0d 0a  MELENGTH = 9 }..
5f10: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
5f20: 29 20 65 78 70 6f 72 74 20 48 4b 4c 20 4c 6f 61  ) export HKL Loa
5f30: 64 4b 65 79 62 6f 61 72 64 4c 61 79 6f 75 74 41  dKeyboardLayoutA
5f40: 28 0d 0a 20 20 4c 50 43 53 54 52 20 70 77 73 7a  (..  LPCSTR pwsz
5f50: 4b 4c 49 44 2c 0d 0a 20 20 55 49 4e 54 20 46 6c  KLID,..  UINT Fl
5f60: 61 67 73 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  ags);..extern(Wi
5f70: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 4b  ndows) export HK
5f80: 4c 20 4c 6f 61 64 4b 65 79 62 6f 61 72 64 4c 61  L LoadKeyboardLa
5f90: 79 6f 75 74 57 28 0d 0a 20 20 4c 50 43 57 53 54  youtW(..  LPCWST
5fa0: 52 20 70 77 73 7a 4b 4c 49 44 2c 0d 0a 20 20 55  R pwszKLID,..  U
5fb0: 49 4e 54 20 46 6c 61 67 73 29 3b 0d 0a 2f 2f 20  INT Flags);..// 
5fc0: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
5fd0: 61 6c 69 61 73 20 4c 6f 61 64 4b 65 79 62 6f 61  alias LoadKeyboa
5fe0: 72 64 4c 61 79 6f 75 74 57 20 4c 6f 61 64 4b 65  rdLayoutW LoadKe
5ff0: 79 62 6f 61 72 64 4c 61 79 6f 75 74 3b 0d 0a 2f  yboardLayout;../
6000: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
6010: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
6020: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 69  UNICODE....// #i
6030: 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
6040: 30 30 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  00)..extern(Wind
6050: 6f 77 73 29 20 65 78 70 6f 72 74 20 48 4b 4c 20  ows) export HKL 
6060: 41 63 74 69 76 61 74 65 4b 65 79 62 6f 61 72 64  ActivateKeyboard
6070: 4c 61 79 6f 75 74 28 0d 0a 20 20 48 4b 4c 20 68  Layout(..  HKL h
6080: 6b 6c 2c 0d 0a 20 20 55 49 4e 54 20 46 6c 61 67  kl,..  UINT Flag
6090: 73 29 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  s);..// #else../
60a0: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
60b0: 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
60c0: 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69  0400 */....// #i
60d0: 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
60e0: 30 30 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  00)..extern(Wind
60f0: 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20  ows) export int 
6100: 54 6f 55 6e 69 63 6f 64 65 45 78 28 0d 0a 20 20  ToUnicodeEx(..  
6110: 55 49 4e 54 20 77 56 69 72 74 4b 65 79 2c 0d 0a  UINT wVirtKey,..
6120: 20 20 55 49 4e 54 20 77 53 63 61 6e 43 6f 64 65    UINT wScanCode
6130: 2c 0d 0a 20 20 42 59 54 45 20 2a 6c 70 4b 65 79  ,..  BYTE *lpKey
6140: 53 74 61 74 65 2c 0d 0a 20 20 4c 50 57 53 54 52  State,..  LPWSTR
6150: 20 70 77 73 7a 42 75 66 66 2c 0d 0a 20 20 69 6e   pwszBuff,..  in
6160: 74 20 63 63 68 42 75 66 66 2c 0d 0a 20 20 55 49  t cchBuff,..  UI
6170: 4e 54 20 77 46 6c 61 67 73 2c 0d 0a 20 20 48 4b  NT wFlags,..  HK
6180: 4c 20 64 77 68 6b 6c 29 3b 0d 0a 2f 2f 20 23 65  L dwhkl);..// #e
6190: 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e  ndif /* WINVER >
61a0: 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65  = 0x0400 */....e
61b0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
61c0: 78 70 6f 72 74 20 42 4f 4f 4c 20 55 6e 6c 6f 61  xport BOOL Unloa
61d0: 64 4b 65 79 62 6f 61 72 64 4c 61 79 6f 75 74 28  dKeyboardLayout(
61e0: 0d 0a 20 20 48 4b 4c 20 68 6b 6c 29 3b 0d 0a 0d  ..  HKL hkl);...
61f0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
6200: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74   export BOOL Get
6210: 4b 65 79 62 6f 61 72 64 4c 61 79 6f 75 74 4e 61  KeyboardLayoutNa
6220: 6d 65 41 28 0d 0a 20 20 4c 50 53 54 52 20 70 77  meA(..  LPSTR pw
6230: 73 7a 4b 4c 49 44 29 3b 0d 0a 65 78 74 65 72 6e  szKLID);..extern
6240: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
6250: 20 42 4f 4f 4c 20 47 65 74 4b 65 79 62 6f 61 72   BOOL GetKeyboar
6260: 64 4c 61 79 6f 75 74 4e 61 6d 65 57 28 0d 0a 20  dLayoutNameW(.. 
6270: 20 4c 50 57 53 54 52 20 70 77 73 7a 4b 4c 49 44   LPWSTR pwszKLID
6280: 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
6290: 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 47 65 74  ICODE..alias Get
62a0: 4b 65 79 62 6f 61 72 64 4c 61 79 6f 75 74 4e 61  KeyboardLayoutNa
62b0: 6d 65 57 20 47 65 74 4b 65 79 62 6f 61 72 64 4c  meW GetKeyboardL
62c0: 61 79 6f 75 74 4e 61 6d 65 3b 0d 0a 2f 2f 20 23  ayoutName;..// #
62d0: 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
62e0: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
62f0: 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57  CODE....// #if(W
6300: 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
6310: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
6320: 29 20 65 78 70 6f 72 74 20 69 6e 74 20 47 65 74  ) export int Get
6330: 4b 65 79 62 6f 61 72 64 4c 61 79 6f 75 74 4c 69  KeyboardLayoutLi
6340: 73 74 28 0d 0a 20 20 69 6e 74 20 6e 42 75 66 66  st(..  int nBuff
6350: 2c 0d 0a 20 20 48 4b 4c 20 2a 6c 70 4c 69 73 74  ,..  HKL *lpList
6360: 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
6370: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 4b 4c  dows) export HKL
6380: 20 47 65 74 4b 65 79 62 6f 61 72 64 4c 61 79 6f   GetKeyboardLayo
6390: 75 74 28 0d 0a 20 20 44 57 4f 52 44 20 69 64 54  ut(..  DWORD idT
63a0: 68 72 65 61 64 0d 0a 29 3b 0d 0a 2f 2f 20 23 65  hread..);..// #e
63b0: 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e  ndif /* WINVER >
63c0: 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f  = 0x0400 */..../
63d0: 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
63e0: 30 78 30 35 30 30 29 0d 0a 0d 0a 73 74 72 75 63  0x0500)....struc
63f0: 74 20 74 61 67 4d 4f 55 53 45 4d 4f 56 45 50 4f  t tagMOUSEMOVEPO
6400: 49 4e 54 20 7b 0d 0a 20 20 69 6e 74 20 78 3b 0d  INT {..  int x;.
6410: 0a 20 20 69 6e 74 20 79 3b 0d 0a 20 20 44 57 4f  .  int y;..  DWO
6420: 52 44 20 74 69 6d 65 3b 0d 0a 20 20 55 4c 4f 4e  RD time;..  ULON
6430: 47 5f 50 54 52 20 64 77 45 78 74 72 61 49 6e 66  G_PTR dwExtraInf
6440: 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  o;..}..alias tag
6450: 4d 4f 55 53 45 4d 4f 56 45 50 4f 49 4e 54 20 4d  MOUSEMOVEPOINT M
6460: 4f 55 53 45 4d 4f 56 45 50 4f 49 4e 54 3b 0d 0a  OUSEMOVEPOINT;..
6470: 61 6c 69 61 73 20 74 61 67 4d 4f 55 53 45 4d 4f  alias tagMOUSEMO
6480: 56 45 50 4f 49 4e 54 2a 20 50 4d 4f 55 53 45 4d  VEPOINT* PMOUSEM
6490: 4f 56 45 50 4f 49 4e 54 3b 0d 0a 61 6c 69 61 73  OVEPOINT;..alias
64a0: 20 74 61 67 4d 4f 55 53 45 4d 4f 56 45 50 4f 49   tagMOUSEMOVEPOI
64b0: 4e 54 2a 20 4c 50 4d 4f 55 53 45 4d 4f 56 45 50  NT* LPMOUSEMOVEP
64c0: 4f 49 4e 54 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  OINT;....enum : 
64d0: 75 69 6e 74 20 7b 20 47 4d 4d 50 5f 55 53 45 5f  uint { GMMP_USE_
64e0: 44 49 53 50 4c 41 59 5f 50 4f 49 4e 54 53 20 3d  DISPLAY_POINTS =
64f0: 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
6500: 74 20 7b 20 47 4d 4d 50 5f 55 53 45 5f 48 49 47  t { GMMP_USE_HIG
6510: 48 5f 52 45 53 4f 4c 55 54 49 4f 4e 5f 50 4f 49  H_RESOLUTION_POI
6520: 4e 54 53 20 3d 20 32 20 7d 0d 0a 0d 0a 65 78 74  NTS = 2 }....ext
6530: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
6540: 6f 72 74 20 69 6e 74 20 47 65 74 4d 6f 75 73 65  ort int GetMouse
6550: 4d 6f 76 65 50 6f 69 6e 74 73 45 78 28 0d 0a 20  MovePointsEx(.. 
6560: 20 55 49 4e 54 20 63 62 53 69 7a 65 2c 0d 0a 20   UINT cbSize,.. 
6570: 20 4c 50 4d 4f 55 53 45 4d 4f 56 45 50 4f 49 4e   LPMOUSEMOVEPOIN
6580: 54 20 6c 70 70 74 2c 0d 0a 20 20 4c 50 4d 4f 55  T lppt,..  LPMOU
6590: 53 45 4d 4f 56 45 50 4f 49 4e 54 20 6c 70 70 74  SEMOVEPOINT lppt
65a0: 42 75 66 2c 0d 0a 20 20 69 6e 74 20 6e 42 75 66  Buf,..  int nBuf
65b0: 50 6f 69 6e 74 73 2c 0d 0a 20 20 44 57 4f 52 44  Points,..  DWORD
65c0: 20 72 65 73 6f 6c 75 74 69 6f 6e 0d 0a 29 3b 0d   resolution..);.
65d0: 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
65e0: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30  WINVER >= 0x0500
65f0: 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65   */....// #ifnde
6600: 66 20 4e 4f 44 45 53 4b 54 4f 50 0d 0a 0d 0a 65  f NODESKTOP....e
6610: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 45 53  num : uint { DES
6620: 4b 54 4f 50 5f 52 45 41 44 4f 42 4a 45 43 54 53  KTOP_READOBJECTS
6630: 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75   = 0x0001 }..enu
6640: 6d 20 3a 20 75 69 6e 74 20 7b 20 44 45 53 4b 54  m : uint { DESKT
6650: 4f 50 5f 43 52 45 41 54 45 57 49 4e 44 4f 57 20  OP_CREATEWINDOW 
6660: 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
6670: 20 3a 20 75 69 6e 74 20 7b 20 44 45 53 4b 54 4f   : uint { DESKTO
6680: 50 5f 43 52 45 41 54 45 4d 45 4e 55 20 3d 20 30  P_CREATEMENU = 0
6690: 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0004 }..enum : 
66a0: 75 69 6e 74 20 7b 20 44 45 53 4b 54 4f 50 5f 48  uint { DESKTOP_H
66b0: 4f 4f 4b 43 4f 4e 54 52 4f 4c 20 3d 20 30 78 30  OOKCONTROL = 0x0
66c0: 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
66d0: 6e 74 20 7b 20 44 45 53 4b 54 4f 50 5f 4a 4f 55  nt { DESKTOP_JOU
66e0: 52 4e 41 4c 52 45 43 4f 52 44 20 3d 20 30 78 30  RNALRECORD = 0x0
66f0: 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
6700: 6e 74 20 7b 20 44 45 53 4b 54 4f 50 5f 4a 4f 55  nt { DESKTOP_JOU
6710: 52 4e 41 4c 50 4c 41 59 42 41 43 4b 20 3d 20 30  RNALPLAYBACK = 0
6720: 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0020 }..enum : 
6730: 75 69 6e 74 20 7b 20 44 45 53 4b 54 4f 50 5f 45  uint { DESKTOP_E
6740: 4e 55 4d 45 52 41 54 45 20 3d 20 30 78 30 30 34  NUMERATE = 0x004
6750: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
6760: 20 7b 20 44 45 53 4b 54 4f 50 5f 57 52 49 54 45   { DESKTOP_WRITE
6770: 4f 42 4a 45 43 54 53 20 3d 20 30 78 30 30 38 30  OBJECTS = 0x0080
6780: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
6790: 7b 20 44 45 53 4b 54 4f 50 5f 53 57 49 54 43 48  { DESKTOP_SWITCH
67a0: 44 45 53 4b 54 4f 50 20 3d 20 30 78 30 31 30 30  DESKTOP = 0x0100
67b0: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
67c0: 74 20 7b 20 44 46 5f 41 4c 4c 4f 57 4f 54 48 45  t { DF_ALLOWOTHE
67d0: 52 41 43 43 4f 55 4e 54 48 4f 4f 4b 20 3d 20 30  RACCOUNTHOOK = 0
67e0: 78 30 30 30 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 69  x0001 }....// #i
67f0: 66 64 65 66 20 5f 57 49 4e 47 44 49 5f 0d 0a 2f  fdef _WINGDI_../
6800: 2f 20 23 69 66 6e 64 65 66 20 4e 4f 47 44 49 0d  / #ifndef NOGDI.
6810: 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69  ...// .....// #i
6820: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
6830: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
6840: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
6850: 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
6860: 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
6870: 4e 4f 47 44 49 20 2a 2f 0d 0a 2f 2f 20 23 65 6e  NOGDI */..// #en
6880: 64 69 66 20 2f 2a 20 5f 57 49 4e 47 44 49 5f 20  dif /* _WINGDI_ 
6890: 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  */....extern(Win
68a0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 44 45  dows) export HDE
68b0: 53 4b 20 4f 70 65 6e 44 65 73 6b 74 6f 70 41 28  SK OpenDesktopA(
68c0: 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 7a 44  ..  LPCSTR lpszD
68d0: 65 73 6b 74 6f 70 2c 0d 0a 20 20 44 57 4f 52 44  esktop,..  DWORD
68e0: 20 64 77 46 6c 61 67 73 2c 0d 0a 20 20 42 4f 4f   dwFlags,..  BOO
68f0: 4c 20 66 49 6e 68 65 72 69 74 2c 0d 0a 20 20 41  L fInherit,..  A
6900: 43 43 45 53 53 5f 4d 41 53 4b 20 64 77 44 65 73  CCESS_MASK dwDes
6910: 69 72 65 64 41 63 63 65 73 73 29 3b 0d 0a 65 78  iredAccess);..ex
6920: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
6930: 70 6f 72 74 20 48 44 45 53 4b 20 4f 70 65 6e 44  port HDESK OpenD
6940: 65 73 6b 74 6f 70 57 28 0d 0a 20 20 4c 50 43 57  esktopW(..  LPCW
6950: 53 54 52 20 6c 70 73 7a 44 65 73 6b 74 6f 70 2c  STR lpszDesktop,
6960: 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67  ..  DWORD dwFlag
6970: 73 2c 0d 0a 20 20 42 4f 4f 4c 20 66 49 6e 68 65  s,..  BOOL fInhe
6980: 72 69 74 2c 0d 0a 20 20 41 43 43 45 53 53 5f 4d  rit,..  ACCESS_M
6990: 41 53 4b 20 64 77 44 65 73 69 72 65 64 41 63 63  ASK dwDesiredAcc
69a0: 65 73 73 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  ess);..// #ifdef
69b0: 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
69c0: 4f 70 65 6e 44 65 73 6b 74 6f 70 57 20 4f 70 65  OpenDesktopW Ope
69d0: 6e 44 65 73 6b 74 6f 70 3b 0d 0a 2f 2f 20 23 65  nDesktop;..// #e
69e0: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
69f0: 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
6a00: 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ODE....extern(Wi
6a10: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 44  ndows) export HD
6a20: 45 53 4b 20 4f 70 65 6e 49 6e 70 75 74 44 65 73  ESK OpenInputDes
6a30: 6b 74 6f 70 28 0d 0a 20 20 44 57 4f 52 44 20 64  ktop(..  DWORD d
6a40: 77 46 6c 61 67 73 2c 0d 0a 20 20 42 4f 4f 4c 20  wFlags,..  BOOL 
6a50: 66 49 6e 68 65 72 69 74 2c 0d 0a 20 20 41 43 43  fInherit,..  ACC
6a60: 45 53 53 5f 4d 41 53 4b 20 64 77 44 65 73 69 72  ESS_MASK dwDesir
6a70: 65 64 41 63 63 65 73 73 29 3b 0d 0a 0d 0a 65 78  edAccess);....ex
6a80: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
6a90: 70 6f 72 74 20 42 4f 4f 4c 20 45 6e 75 6d 44 65  port BOOL EnumDe
6aa0: 73 6b 74 6f 70 73 41 28 0d 0a 20 20 48 57 49 4e  sktopsA(..  HWIN
6ab0: 53 54 41 20 68 77 69 6e 73 74 61 2c 0d 0a 20 20  STA hwinsta,..  
6ac0: 44 45 53 4b 54 4f 50 45 4e 55 4d 50 52 4f 43 41  DESKTOPENUMPROCA
6ad0: 20 6c 70 45 6e 75 6d 46 75 6e 63 2c 0d 0a 20 20   lpEnumFunc,..  
6ae0: 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 29 3b 0d  LPARAM lParam);.
6af0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
6b00: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 45 6e 75   export BOOL Enu
6b10: 6d 44 65 73 6b 74 6f 70 73 57 28 0d 0a 20 20 48  mDesktopsW(..  H
6b20: 57 49 4e 53 54 41 20 68 77 69 6e 73 74 61 2c 0d  WINSTA hwinsta,.
6b30: 0a 20 20 44 45 53 4b 54 4f 50 45 4e 55 4d 50 52  .  DESKTOPENUMPR
6b40: 4f 43 57 20 6c 70 45 6e 75 6d 46 75 6e 63 2c 0d  OCW lpEnumFunc,.
6b50: 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d  .  LPARAM lParam
6b60: 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
6b70: 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 45 6e 75  ICODE..alias Enu
6b80: 6d 44 65 73 6b 74 6f 70 73 57 20 45 6e 75 6d 44  mDesktopsW EnumD
6b90: 65 73 6b 74 6f 70 73 3b 0d 0a 2f 2f 20 23 65 6c  esktops;..// #el
6ba0: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
6bb0: 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
6bc0: 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
6bd0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
6be0: 4c 20 45 6e 75 6d 44 65 73 6b 74 6f 70 57 69 6e  L EnumDesktopWin
6bf0: 64 6f 77 73 28 0d 0a 20 20 48 44 45 53 4b 20 68  dows(..  HDESK h
6c00: 44 65 73 6b 74 6f 70 2c 0d 0a 20 20 57 4e 44 45  Desktop,..  WNDE
6c10: 4e 55 4d 50 52 4f 43 20 6c 70 66 6e 2c 0d 0a 20  NUMPROC lpfn,.. 
6c20: 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 29 3b   LPARAM lParam);
6c30: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
6c40: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
6c50: 53 77 69 74 63 68 44 65 73 6b 74 6f 70 28 0d 0a  SwitchDesktop(..
6c60: 20 20 48 44 45 53 4b 20 68 44 65 73 6b 74 6f 70    HDESK hDesktop
6c70: 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
6c80: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
6c90: 4c 20 53 65 74 54 68 72 65 61 64 44 65 73 6b 74  L SetThreadDeskt
6ca0: 6f 70 28 0d 0a 20 20 48 44 45 53 4b 20 68 44 65  op(..  HDESK hDe
6cb0: 73 6b 74 6f 70 29 3b 0d 0a 0d 0a 65 78 74 65 72  sktop);....exter
6cc0: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
6cd0: 74 20 42 4f 4f 4c 20 43 6c 6f 73 65 44 65 73 6b  t BOOL CloseDesk
6ce0: 74 6f 70 28 0d 0a 20 20 48 44 45 53 4b 20 68 44  top(..  HDESK hD
6cf0: 65 73 6b 74 6f 70 29 3b 0d 0a 0d 0a 65 78 74 65  esktop);....exte
6d00: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
6d10: 72 74 20 48 44 45 53 4b 20 47 65 74 54 68 72 65  rt HDESK GetThre
6d20: 61 64 44 65 73 6b 74 6f 70 28 0d 0a 20 20 44 57  adDesktop(..  DW
6d30: 4f 52 44 20 64 77 54 68 72 65 61 64 49 64 29 3b  ORD dwThreadId);
6d40: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2a 20  ..// #endif  /* 
6d50: 21 4e 4f 44 45 53 4b 54 4f 50 20 2a 2f 0d 0a 0d  !NODESKTOP */...
6d60: 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 57 49  .// #ifndef NOWI
6d70: 4e 44 4f 57 53 54 41 54 49 4f 4e 0d 0a 0d 0a 65  NDOWSTATION....e
6d80: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 49 4e  num : uint { WIN
6d90: 53 54 41 5f 45 4e 55 4d 44 45 53 4b 54 4f 50 53  STA_ENUMDESKTOPS
6da0: 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75   = 0x0001 }..enu
6db0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 49 4e 53 54  m : uint { WINST
6dc0: 41 5f 52 45 41 44 41 54 54 52 49 42 55 54 45 53  A_READATTRIBUTES
6dd0: 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75   = 0x0002 }..enu
6de0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 49 4e 53 54  m : uint { WINST
6df0: 41 5f 41 43 43 45 53 53 43 4c 49 50 42 4f 41 52  A_ACCESSCLIPBOAR
6e00: 44 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e  D = 0x0004 }..en
6e10: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 49 4e 53  um : uint { WINS
6e20: 54 41 5f 43 52 45 41 54 45 44 45 53 4b 54 4f 50  TA_CREATEDESKTOP
6e30: 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75   = 0x0008 }..enu
6e40: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 49 4e 53 54  m : uint { WINST
6e50: 41 5f 57 52 49 54 45 41 54 54 52 49 42 55 54 45  A_WRITEATTRIBUTE
6e60: 53 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e  S = 0x0010 }..en
6e70: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 49 4e 53  um : uint { WINS
6e80: 54 41 5f 41 43 43 45 53 53 47 4c 4f 42 41 4c 41  TA_ACCESSGLOBALA
6e90: 54 4f 4d 53 20 3d 20 30 78 30 30 32 30 20 7d 0d  TOMS = 0x0020 }.
6ea0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
6eb0: 49 4e 53 54 41 5f 45 58 49 54 57 49 4e 44 4f 57  INSTA_EXITWINDOW
6ec0: 53 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 65 6e  S = 0x0040 }..en
6ed0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 49 4e 53  um : uint { WINS
6ee0: 54 41 5f 45 4e 55 4d 45 52 41 54 45 20 3d 20 30  TA_ENUMERATE = 0
6ef0: 78 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0100 }..enum : 
6f00: 75 69 6e 74 20 7b 20 57 49 4e 53 54 41 5f 52 45  uint { WINSTA_RE
6f10: 41 44 53 43 52 45 45 4e 20 3d 20 30 78 30 32 30  ADSCREEN = 0x020
6f20: 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
6f30: 6e 74 20 7b 20 57 53 46 5f 56 49 53 49 42 4c 45  nt { WSF_VISIBLE
6f40: 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 0d 0a 65   = 0x0001 }....e
6f50: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
6f60: 78 70 6f 72 74 20 48 57 49 4e 53 54 41 20 43 72  xport HWINSTA Cr
6f70: 65 61 74 65 57 69 6e 64 6f 77 53 74 61 74 69 6f  eateWindowStatio
6f80: 6e 41 28 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70  nA(..  LPCSTR lp
6f90: 77 69 6e 73 74 61 2c 0d 0a 20 20 44 57 4f 52 44  winsta,..  DWORD
6fa0: 20 64 77 52 65 73 65 72 76 65 64 2c 0d 0a 20 20   dwReserved,..  
6fb0: 41 43 43 45 53 53 5f 4d 41 53 4b 20 64 77 44 65  ACCESS_MASK dwDe
6fc0: 73 69 72 65 64 41 63 63 65 73 73 2c 0d 0a 20 20  siredAccess,..  
6fd0: 4c 50 53 45 43 55 52 49 54 59 5f 41 54 54 52 49  LPSECURITY_ATTRI
6fe0: 42 55 54 45 53 20 6c 70 73 61 29 3b 0d 0a 65 78  BUTES lpsa);..ex
6ff0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
7000: 70 6f 72 74 20 48 57 49 4e 53 54 41 20 43 72 65  port HWINSTA Cre
7010: 61 74 65 57 69 6e 64 6f 77 53 74 61 74 69 6f 6e  ateWindowStation
7020: 57 28 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70  W(..  LPCWSTR lp
7030: 77 69 6e 73 74 61 2c 0d 0a 20 20 44 57 4f 52 44  winsta,..  DWORD
7040: 20 64 77 52 65 73 65 72 76 65 64 2c 0d 0a 20 20   dwReserved,..  
7050: 41 43 43 45 53 53 5f 4d 41 53 4b 20 64 77 44 65  ACCESS_MASK dwDe
7060: 73 69 72 65 64 41 63 63 65 73 73 2c 0d 0a 20 20  siredAccess,..  
7070: 4c 50 53 45 43 55 52 49 54 59 5f 41 54 54 52 49  LPSECURITY_ATTRI
7080: 42 55 54 45 53 20 6c 70 73 61 29 3b 0d 0a 2f 2f  BUTES lpsa);..//
7090: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
70a0: 0a 61 6c 69 61 73 20 43 72 65 61 74 65 57 69 6e  .alias CreateWin
70b0: 64 6f 77 53 74 61 74 69 6f 6e 57 20 43 72 65 61  dowStationW Crea
70c0: 74 65 57 69 6e 64 6f 77 53 74 61 74 69 6f 6e 3b  teWindowStation;
70d0: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
70e0: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
70f0: 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78  / !UNICODE....ex
7100: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
7110: 70 6f 72 74 20 48 57 49 4e 53 54 41 20 4f 70 65  port HWINSTA Ope
7120: 6e 57 69 6e 64 6f 77 53 74 61 74 69 6f 6e 41 28  nWindowStationA(
7130: 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 7a 57  ..  LPCSTR lpszW
7140: 69 6e 53 74 61 2c 0d 0a 20 20 42 4f 4f 4c 20 66  inSta,..  BOOL f
7150: 49 6e 68 65 72 69 74 2c 0d 0a 20 20 41 43 43 45  Inherit,..  ACCE
7160: 53 53 5f 4d 41 53 4b 20 64 77 44 65 73 69 72 65  SS_MASK dwDesire
7170: 64 41 63 63 65 73 73 29 3b 0d 0a 65 78 74 65 72  dAccess);..exter
7180: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
7190: 74 20 48 57 49 4e 53 54 41 20 4f 70 65 6e 57 69  t HWINSTA OpenWi
71a0: 6e 64 6f 77 53 74 61 74 69 6f 6e 57 28 0d 0a 20  ndowStationW(.. 
71b0: 20 4c 50 43 57 53 54 52 20 6c 70 73 7a 57 69 6e   LPCWSTR lpszWin
71c0: 53 74 61 2c 0d 0a 20 20 42 4f 4f 4c 20 66 49 6e  Sta,..  BOOL fIn
71d0: 68 65 72 69 74 2c 0d 0a 20 20 41 43 43 45 53 53  herit,..  ACCESS
71e0: 5f 4d 41 53 4b 20 64 77 44 65 73 69 72 65 64 41  _MASK dwDesiredA
71f0: 63 63 65 73 73 29 3b 0d 0a 2f 2f 20 23 69 66 64  ccess);..// #ifd
7200: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
7210: 73 20 4f 70 65 6e 57 69 6e 64 6f 77 53 74 61 74  s OpenWindowStat
7220: 69 6f 6e 57 20 4f 70 65 6e 57 69 6e 64 6f 77 53  ionW OpenWindowS
7230: 74 61 74 69 6f 6e 3b 0d 0a 2f 2f 20 23 65 6c 73  tation;..// #els
7240: 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
7250: 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
7260: 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  E....extern(Wind
7270: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
7280: 20 45 6e 75 6d 57 69 6e 64 6f 77 53 74 61 74 69   EnumWindowStati
7290: 6f 6e 73 41 28 0d 0a 20 20 57 49 4e 53 54 41 45  onsA(..  WINSTAE
72a0: 4e 55 4d 50 52 4f 43 41 20 6c 70 45 6e 75 6d 46  NUMPROCA lpEnumF
72b0: 75 6e 63 2c 0d 0a 20 20 4c 50 41 52 41 4d 20 6c  unc,..  LPARAM l
72c0: 50 61 72 61 6d 29 3b 0d 0a 65 78 74 65 72 6e 28  Param);..extern(
72d0: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
72e0: 42 4f 4f 4c 20 45 6e 75 6d 57 69 6e 64 6f 77 53  BOOL EnumWindowS
72f0: 74 61 74 69 6f 6e 73 57 28 0d 0a 20 20 57 49 4e  tationsW(..  WIN
7300: 53 54 41 45 4e 55 4d 50 52 4f 43 57 20 6c 70 45  STAENUMPROCW lpE
7310: 6e 75 6d 46 75 6e 63 2c 0d 0a 20 20 4c 50 41 52  numFunc,..  LPAR
7320: 41 4d 20 6c 50 61 72 61 6d 29 3b 0d 0a 2f 2f 20  AM lParam);..// 
7330: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
7340: 61 6c 69 61 73 20 45 6e 75 6d 57 69 6e 64 6f 77  alias EnumWindow
7350: 53 74 61 74 69 6f 6e 73 57 20 45 6e 75 6d 57 69  StationsW EnumWi
7360: 6e 64 6f 77 53 74 61 74 69 6f 6e 73 3b 0d 0a 2f  ndowStations;../
7370: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
7380: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
7390: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
73a0: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
73b0: 74 20 42 4f 4f 4c 20 43 6c 6f 73 65 57 69 6e 64  t BOOL CloseWind
73c0: 6f 77 53 74 61 74 69 6f 6e 28 0d 0a 20 20 48 57  owStation(..  HW
73d0: 49 4e 53 54 41 20 68 57 69 6e 53 74 61 29 3b 0d  INSTA hWinSta);.
73e0: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
73f0: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53  s) export BOOL S
7400: 65 74 50 72 6f 63 65 73 73 57 69 6e 64 6f 77 53  etProcessWindowS
7410: 74 61 74 69 6f 6e 28 0d 0a 20 20 48 57 49 4e 53  tation(..  HWINS
7420: 54 41 20 68 57 69 6e 53 74 61 29 3b 0d 0a 0d 0a  TA hWinSta);....
7430: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
7440: 65 78 70 6f 72 74 20 48 57 49 4e 53 54 41 20 47  export HWINSTA G
7450: 65 74 50 72 6f 63 65 73 73 57 69 6e 64 6f 77 53  etProcessWindowS
7460: 74 61 74 69 6f 6e 28 29 3b 0d 0a 2f 2f 20 23 65  tation();..// #e
7470: 6e 64 69 66 20 20 2f 2a 20 21 4e 4f 57 49 4e 44  ndif  /* !NOWIND
7480: 4f 57 53 54 41 54 49 4f 4e 20 2a 2f 0d 0a 0d 0a  OWSTATION */....
7490: 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 53 45 43  // #ifndef NOSEC
74a0: 55 52 49 54 59 0d 0a 0d 0a 65 78 74 65 72 6e 28  URITY....extern(
74b0: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
74c0: 42 4f 4f 4c 20 53 65 74 55 73 65 72 4f 62 6a 65  BOOL SetUserObje
74d0: 63 74 53 65 63 75 72 69 74 79 28 0d 0a 20 20 48  ctSecurity(..  H
74e0: 41 4e 44 4c 45 20 68 4f 62 6a 2c 0d 0a 20 20 50  ANDLE hObj,..  P
74f0: 53 45 43 55 52 49 54 59 5f 49 4e 46 4f 52 4d 41  SECURITY_INFORMA
7500: 54 49 4f 4e 20 70 53 49 52 65 71 75 65 73 74 65  TION pSIRequeste
7510: 64 2c 0d 0a 20 20 50 53 45 43 55 52 49 54 59 5f  d,..  PSECURITY_
7520: 44 45 53 43 52 49 50 54 4f 52 20 70 53 49 44 29  DESCRIPTOR pSID)
7530: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
7540: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
7550: 20 47 65 74 55 73 65 72 4f 62 6a 65 63 74 53 65   GetUserObjectSe
7560: 63 75 72 69 74 79 28 0d 0a 20 20 48 41 4e 44 4c  curity(..  HANDL
7570: 45 20 68 4f 62 6a 2c 0d 0a 20 20 50 53 45 43 55  E hObj,..  PSECU
7580: 52 49 54 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e  RITY_INFORMATION
7590: 20 70 53 49 52 65 71 75 65 73 74 65 64 2c 0d 0a   pSIRequested,..
75a0: 20 20 50 53 45 43 55 52 49 54 59 5f 44 45 53 43    PSECURITY_DESC
75b0: 52 49 50 54 4f 52 20 70 53 49 44 2c 0d 0a 20 20  RIPTOR pSID,..  
75c0: 44 57 4f 52 44 20 6e 4c 65 6e 67 74 68 2c 0d 0a  DWORD nLength,..
75d0: 20 20 4c 50 44 57 4f 52 44 20 6c 70 6e 4c 65 6e    LPDWORD lpnLen
75e0: 67 74 68 4e 65 65 64 65 64 29 3b 0d 0a 0d 0a 65  gthNeeded);....e
75f0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 4f 49  num : uint { UOI
7600: 5f 46 4c 41 47 53 20 3d 20 31 20 7d 0d 0a 65 6e  _FLAGS = 1 }..en
7610: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 4f 49 5f  um : uint { UOI_
7620: 4e 41 4d 45 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d  NAME = 2 }..enum
7630: 20 3a 20 75 69 6e 74 20 7b 20 55 4f 49 5f 54 59   : uint { UOI_TY
7640: 50 45 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a  PE = 3 }..enum :
7650: 20 75 69 6e 74 20 7b 20 55 4f 49 5f 55 53 45 52   uint { UOI_USER
7660: 5f 53 49 44 20 3d 20 34 20 7d 0d 0a 0d 0a 73 74  _SID = 4 }....st
7670: 72 75 63 74 20 74 61 67 55 53 45 52 4f 42 4a 45  ruct tagUSEROBJE
7680: 43 54 46 4c 41 47 53 20 7b 0d 0a 20 20 42 4f 4f  CTFLAGS {..  BOO
7690: 4c 20 66 49 6e 68 65 72 69 74 3b 0d 0a 20 20 42  L fInherit;..  B
76a0: 4f 4f 4c 20 66 52 65 73 65 72 76 65 64 3b 0d 0a  OOL fReserved;..
76b0: 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b    DWORD dwFlags;
76c0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 55 53  ..}..alias tagUS
76d0: 45 52 4f 42 4a 45 43 54 46 4c 41 47 53 20 55 53  EROBJECTFLAGS US
76e0: 45 52 4f 42 4a 45 43 54 46 4c 41 47 53 3b 0d 0a  EROBJECTFLAGS;..
76f0: 61 6c 69 61 73 20 74 61 67 55 53 45 52 4f 42 4a  alias tagUSEROBJ
7700: 45 43 54 46 4c 41 47 53 2a 20 50 55 53 45 52 4f  ECTFLAGS* PUSERO
7710: 42 4a 45 43 54 46 4c 41 47 53 3b 0d 0a 0d 0a 65  BJECTFLAGS;....e
7720: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
7730: 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 55 73  xport BOOL GetUs
7740: 65 72 4f 62 6a 65 63 74 49 6e 66 6f 72 6d 61 74  erObjectInformat
7750: 69 6f 6e 41 28 0d 0a 20 20 48 41 4e 44 4c 45 20  ionA(..  HANDLE 
7760: 68 4f 62 6a 2c 0d 0a 20 20 69 6e 74 20 6e 49 6e  hObj,..  int nIn
7770: 64 65 78 2c 0d 0a 20 20 50 56 4f 49 44 20 70 76  dex,..  PVOID pv
7780: 49 6e 66 6f 2c 0d 0a 20 20 44 57 4f 52 44 20 6e  Info,..  DWORD n
7790: 4c 65 6e 67 74 68 2c 0d 0a 20 20 4c 50 44 57 4f  Length,..  LPDWO
77a0: 52 44 20 6c 70 6e 4c 65 6e 67 74 68 4e 65 65 64  RD lpnLengthNeed
77b0: 65 64 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ed);..extern(Win
77c0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
77d0: 4c 20 47 65 74 55 73 65 72 4f 62 6a 65 63 74 49  L GetUserObjectI
77e0: 6e 66 6f 72 6d 61 74 69 6f 6e 57 28 0d 0a 20 20  nformationW(..  
77f0: 48 41 4e 44 4c 45 20 68 4f 62 6a 2c 0d 0a 20 20  HANDLE hObj,..  
7800: 69 6e 74 20 6e 49 6e 64 65 78 2c 0d 0a 20 20 50  int nIndex,..  P
7810: 56 4f 49 44 20 70 76 49 6e 66 6f 2c 0d 0a 20 20  VOID pvInfo,..  
7820: 44 57 4f 52 44 20 6e 4c 65 6e 67 74 68 2c 0d 0a  DWORD nLength,..
7830: 20 20 4c 50 44 57 4f 52 44 20 6c 70 6e 4c 65 6e    LPDWORD lpnLen
7840: 67 74 68 4e 65 65 64 65 64 29 3b 0d 0a 2f 2f 20  gthNeeded);..// 
7850: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
7860: 61 6c 69 61 73 20 47 65 74 55 73 65 72 4f 62 6a  alias GetUserObj
7870: 65 63 74 49 6e 66 6f 72 6d 61 74 69 6f 6e 57 20  ectInformationW 
7880: 47 65 74 55 73 65 72 4f 62 6a 65 63 74 49 6e 66  GetUserObjectInf
7890: 6f 72 6d 61 74 69 6f 6e 3b 0d 0a 2f 2f 20 23 65  ormation;..// #e
78a0: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
78b0: 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
78c0: 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ODE....extern(Wi
78d0: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
78e0: 4f 4c 20 53 65 74 55 73 65 72 4f 62 6a 65 63 74  OL SetUserObject
78f0: 49 6e 66 6f 72 6d 61 74 69 6f 6e 41 28 0d 0a 20  InformationA(.. 
7900: 20 48 41 4e 44 4c 45 20 68 4f 62 6a 2c 0d 0a 20   HANDLE hObj,.. 
7910: 20 69 6e 74 20 6e 49 6e 64 65 78 2c 0d 0a 20 20   int nIndex,..  
7920: 50 56 4f 49 44 20 70 76 49 6e 66 6f 2c 0d 0a 20  PVOID pvInfo,.. 
7930: 20 44 57 4f 52 44 20 6e 4c 65 6e 67 74 68 29 3b   DWORD nLength);
7940: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
7950: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65  ) export BOOL Se
7960: 74 55 73 65 72 4f 62 6a 65 63 74 49 6e 66 6f 72  tUserObjectInfor
7970: 6d 61 74 69 6f 6e 57 28 0d 0a 20 20 48 41 4e 44  mationW(..  HAND
7980: 4c 45 20 68 4f 62 6a 2c 0d 0a 20 20 69 6e 74 20  LE hObj,..  int 
7990: 6e 49 6e 64 65 78 2c 0d 0a 20 20 50 56 4f 49 44  nIndex,..  PVOID
79a0: 20 70 76 49 6e 66 6f 2c 0d 0a 20 20 44 57 4f 52   pvInfo,..  DWOR
79b0: 44 20 6e 4c 65 6e 67 74 68 29 3b 0d 0a 2f 2f 20  D nLength);..// 
79c0: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
79d0: 61 6c 69 61 73 20 53 65 74 55 73 65 72 4f 62 6a  alias SetUserObj
79e0: 65 63 74 49 6e 66 6f 72 6d 61 74 69 6f 6e 57 20  ectInformationW 
79f0: 53 65 74 55 73 65 72 4f 62 6a 65 63 74 49 6e 66  SetUserObjectInf
7a00: 6f 72 6d 61 74 69 6f 6e 3b 0d 0a 2f 2f 20 23 65  ormation;..// #e
7a10: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
7a20: 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
7a30: 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  ODE....// #endif
7a40: 20 20 2f 2a 20 21 4e 4f 53 45 43 55 52 49 54 59    /* !NOSECURITY
7a50: 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49   */....// #if(WI
7a60: 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d  NVER >= 0x0400).
7a70: 0a 73 74 72 75 63 74 20 74 61 67 57 4e 44 43 4c  .struct tagWNDCL
7a80: 41 53 53 45 58 41 20 7b 0d 0a 20 20 55 49 4e 54  ASSEXA {..  UINT
7a90: 20 63 62 53 69 7a 65 3b 0d 0a 20 20 55 49 4e 54   cbSize;..  UINT
7aa0: 20 73 74 79 6c 65 3b 0d 0a 20 20 57 4e 44 50 52   style;..  WNDPR
7ab0: 4f 43 20 6c 70 66 6e 57 6e 64 50 72 6f 63 3b 0d  OC lpfnWndProc;.
7ac0: 0a 20 20 69 6e 74 20 63 62 43 6c 73 45 78 74 72  .  int cbClsExtr
7ad0: 61 3b 0d 0a 20 20 69 6e 74 20 63 62 57 6e 64 45  a;..  int cbWndE
7ae0: 78 74 72 61 3b 0d 0a 20 20 48 49 4e 53 54 41 4e  xtra;..  HINSTAN
7af0: 43 45 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a 20  CE hInstance;.. 
7b00: 20 48 49 43 4f 4e 20 68 49 63 6f 6e 3b 0d 0a 20   HICON hIcon;.. 
7b10: 20 48 43 55 52 53 4f 52 20 68 43 75 72 73 6f 72   HCURSOR hCursor
7b20: 3b 0d 0a 20 20 48 42 52 55 53 48 20 68 62 72 42  ;..  HBRUSH hbrB
7b30: 61 63 6b 67 72 6f 75 6e 64 3b 0d 0a 20 20 4c 50  ackground;..  LP
7b40: 43 53 54 52 20 6c 70 73 7a 4d 65 6e 75 4e 61 6d  CSTR lpszMenuNam
7b50: 65 3b 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73  e;..  LPCSTR lps
7b60: 7a 43 6c 61 73 73 4e 61 6d 65 3b 0d 0a 20 20 48  zClassName;..  H
7b70: 49 43 4f 4e 20 68 49 63 6f 6e 53 6d 3b 0d 0a 7d  ICON hIconSm;..}
7b80: 0d 0a 61 6c 69 61 73 20 74 61 67 57 4e 44 43 4c  ..alias tagWNDCL
7b90: 41 53 53 45 58 41 20 57 4e 44 43 4c 41 53 53 45  ASSEXA WNDCLASSE
7ba0: 58 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57 4e  XA;..alias tagWN
7bb0: 44 43 4c 41 53 53 45 58 41 2a 20 50 57 4e 44 43  DCLASSEXA* PWNDC
7bc0: 4c 41 53 53 45 58 41 3b 0d 0a 61 6c 69 61 73 20  LASSEXA;..alias 
7bd0: 74 61 67 57 4e 44 43 4c 41 53 53 45 58 41 2a 20  tagWNDCLASSEXA* 
7be0: 4e 50 57 4e 44 43 4c 41 53 53 45 58 41 3b 0d 0a  NPWNDCLASSEXA;..
7bf0: 61 6c 69 61 73 20 74 61 67 57 4e 44 43 4c 41 53  alias tagWNDCLAS
7c00: 53 45 58 41 2a 20 4c 50 57 4e 44 43 4c 41 53 53  SEXA* LPWNDCLASS
7c10: 45 58 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74  EXA;....struct t
7c20: 61 67 57 4e 44 43 4c 41 53 53 45 58 57 20 7b 0d  agWNDCLASSEXW {.
7c30: 0a 20 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d  .  UINT cbSize;.
7c40: 0a 20 20 55 49 4e 54 20 73 74 79 6c 65 3b 0d 0a  .  UINT style;..
7c50: 20 20 57 4e 44 50 52 4f 43 20 6c 70 66 6e 57 6e    WNDPROC lpfnWn
7c60: 64 50 72 6f 63 3b 0d 0a 20 20 69 6e 74 20 63 62  dProc;..  int cb
7c70: 43 6c 73 45 78 74 72 61 3b 0d 0a 20 20 69 6e 74  ClsExtra;..  int
7c80: 20 63 62 57 6e 64 45 78 74 72 61 3b 0d 0a 20 20   cbWndExtra;..  
7c90: 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61  HINSTANCE hInsta
7ca0: 6e 63 65 3b 0d 0a 20 20 48 49 43 4f 4e 20 68 49  nce;..  HICON hI
7cb0: 63 6f 6e 3b 0d 0a 20 20 48 43 55 52 53 4f 52 20  con;..  HCURSOR 
7cc0: 68 43 75 72 73 6f 72 3b 0d 0a 20 20 48 42 52 55  hCursor;..  HBRU
7cd0: 53 48 20 68 62 72 42 61 63 6b 67 72 6f 75 6e 64  SH hbrBackground
7ce0: 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 73  ;..  LPCWSTR lps
7cf0: 7a 4d 65 6e 75 4e 61 6d 65 3b 0d 0a 20 20 4c 50  zMenuName;..  LP
7d00: 43 57 53 54 52 20 6c 70 73 7a 43 6c 61 73 73 4e  CWSTR lpszClassN
7d10: 61 6d 65 3b 0d 0a 20 20 48 49 43 4f 4e 20 68 49  ame;..  HICON hI
7d20: 63 6f 6e 53 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  conSm;..}..alias
7d30: 20 74 61 67 57 4e 44 43 4c 41 53 53 45 58 57 20   tagWNDCLASSEXW 
7d40: 57 4e 44 43 4c 41 53 53 45 58 57 3b 0d 0a 61 6c  WNDCLASSEXW;..al
7d50: 69 61 73 20 74 61 67 57 4e 44 43 4c 41 53 53 45  ias tagWNDCLASSE
7d60: 58 57 2a 20 50 57 4e 44 43 4c 41 53 53 45 58 57  XW* PWNDCLASSEXW
7d70: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57 4e 44 43  ;..alias tagWNDC
7d80: 4c 41 53 53 45 58 57 2a 20 4e 50 57 4e 44 43 4c  LASSEXW* NPWNDCL
7d90: 41 53 53 45 58 57 3b 0d 0a 61 6c 69 61 73 20 74  ASSEXW;..alias t
7da0: 61 67 57 4e 44 43 4c 41 53 53 45 58 57 2a 20 4c  agWNDCLASSEXW* L
7db0: 50 57 4e 44 43 4c 41 53 53 45 58 57 3b 0d 0a 0d  PWNDCLASSEXW;...
7dc0: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
7dd0: 44 45 0d 0a 61 6c 69 61 73 20 57 4e 44 43 4c 41  DE..alias WNDCLA
7de0: 53 53 45 58 57 20 57 4e 44 43 4c 41 53 53 45 58  SSEXW WNDCLASSEX
7df0: 3b 0d 0a 61 6c 69 61 73 20 50 57 4e 44 43 4c 41  ;..alias PWNDCLA
7e00: 53 53 45 58 57 20 50 57 4e 44 43 4c 41 53 53 45  SSEXW PWNDCLASSE
7e10: 58 3b 0d 0a 61 6c 69 61 73 20 4e 50 57 4e 44 43  X;..alias NPWNDC
7e20: 4c 41 53 53 45 58 57 20 4e 50 57 4e 44 43 4c 41  LASSEXW NPWNDCLA
7e30: 53 53 45 58 3b 0d 0a 61 6c 69 61 73 20 4c 50 57  SSEX;..alias LPW
7e40: 4e 44 43 4c 41 53 53 45 58 57 20 4c 50 57 4e 44  NDCLASSEXW LPWND
7e50: 43 4c 41 53 53 45 58 3b 0d 0a 2f 2f 20 23 65 6c  CLASSEX;..// #el
7e60: 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  se..// .....// #
7e70: 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45  endif // UNICODE
7e80: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
7e90: 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20  INVER >= 0x0400 
7ea0: 2a 2f 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  */....struct tag
7eb0: 57 4e 44 43 4c 41 53 53 41 20 7b 0d 0a 20 20 55  WNDCLASSA {..  U
7ec0: 49 4e 54 20 73 74 79 6c 65 3b 0d 0a 20 20 57 4e  INT style;..  WN
7ed0: 44 50 52 4f 43 20 6c 70 66 6e 57 6e 64 50 72 6f  DPROC lpfnWndPro
7ee0: 63 3b 0d 0a 20 20 69 6e 74 20 63 62 43 6c 73 45  c;..  int cbClsE
7ef0: 78 74 72 61 3b 0d 0a 20 20 69 6e 74 20 63 62 57  xtra;..  int cbW
7f00: 6e 64 45 78 74 72 61 3b 0d 0a 20 20 48 49 4e 53  ndExtra;..  HINS
7f10: 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 3b  TANCE hInstance;
7f20: 0d 0a 20 20 48 49 43 4f 4e 20 68 49 63 6f 6e 3b  ..  HICON hIcon;
7f30: 0d 0a 20 20 48 43 55 52 53 4f 52 20 68 43 75 72  ..  HCURSOR hCur
7f40: 73 6f 72 3b 0d 0a 20 20 48 42 52 55 53 48 20 68  sor;..  HBRUSH h
7f50: 62 72 42 61 63 6b 67 72 6f 75 6e 64 3b 0d 0a 20  brBackground;.. 
7f60: 20 4c 50 43 53 54 52 20 6c 70 73 7a 4d 65 6e 75   LPCSTR lpszMenu
7f70: 4e 61 6d 65 3b 0d 0a 20 20 4c 50 43 53 54 52 20  Name;..  LPCSTR 
7f80: 6c 70 73 7a 43 6c 61 73 73 4e 61 6d 65 3b 0d 0a  lpszClassName;..
7f90: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 57 4e 44 43  }..alias tagWNDC
7fa0: 4c 41 53 53 41 20 57 4e 44 43 4c 41 53 53 41 3b  LASSA WNDCLASSA;
7fb0: 0d 0a 61 6c 69 61 73 20 74 61 67 57 4e 44 43 4c  ..alias tagWNDCL
7fc0: 41 53 53 41 2a 20 50 57 4e 44 43 4c 41 53 53 41  ASSA* PWNDCLASSA
7fd0: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57 4e 44 43  ;..alias tagWNDC
7fe0: 4c 41 53 53 41 2a 20 4e 50 57 4e 44 43 4c 41 53  LASSA* NPWNDCLAS
7ff0: 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57 4e  SA;..alias tagWN
8000: 44 43 4c 41 53 53 41 2a 20 4c 50 57 4e 44 43 4c  DCLASSA* LPWNDCL
8010: 41 53 53 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  ASSA;....struct 
8020: 74 61 67 57 4e 44 43 4c 41 53 53 57 20 7b 0d 0a  tagWNDCLASSW {..
8030: 20 20 55 49 4e 54 20 73 74 79 6c 65 3b 0d 0a 20    UINT style;.. 
8040: 20 57 4e 44 50 52 4f 43 20 6c 70 66 6e 57 6e 64   WNDPROC lpfnWnd
8050: 50 72 6f 63 3b 0d 0a 20 20 69 6e 74 20 63 62 43  Proc;..  int cbC
8060: 6c 73 45 78 74 72 61 3b 0d 0a 20 20 69 6e 74 20  lsExtra;..  int 
8070: 63 62 57 6e 64 45 78 74 72 61 3b 0d 0a 20 20 48  cbWndExtra;..  H
8080: 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e  INSTANCE hInstan
8090: 63 65 3b 0d 0a 20 20 48 49 43 4f 4e 20 68 49 63  ce;..  HICON hIc
80a0: 6f 6e 3b 0d 0a 20 20 48 43 55 52 53 4f 52 20 68  on;..  HCURSOR h
80b0: 43 75 72 73 6f 72 3b 0d 0a 20 20 48 42 52 55 53  Cursor;..  HBRUS
80c0: 48 20 68 62 72 42 61 63 6b 67 72 6f 75 6e 64 3b  H hbrBackground;
80d0: 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 73 7a  ..  LPCWSTR lpsz
80e0: 4d 65 6e 75 4e 61 6d 65 3b 0d 0a 20 20 4c 50 43  MenuName;..  LPC
80f0: 57 53 54 52 20 6c 70 73 7a 43 6c 61 73 73 4e 61  WSTR lpszClassNa
8100: 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  me;..}..alias ta
8110: 67 57 4e 44 43 4c 41 53 53 57 20 57 4e 44 43 4c  gWNDCLASSW WNDCL
8120: 41 53 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67  ASSW;..alias tag
8130: 57 4e 44 43 4c 41 53 53 57 2a 20 50 57 4e 44 43  WNDCLASSW* PWNDC
8140: 4c 41 53 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61  LASSW;..alias ta
8150: 67 57 4e 44 43 4c 41 53 53 57 2a 20 4e 50 57 4e  gWNDCLASSW* NPWN
8160: 44 43 4c 41 53 53 57 3b 0d 0a 61 6c 69 61 73 20  DCLASSW;..alias 
8170: 74 61 67 57 4e 44 43 4c 41 53 53 57 2a 20 4c 50  tagWNDCLASSW* LP
8180: 57 4e 44 43 4c 41 53 53 57 3b 0d 0a 0d 0a 2f 2f  WNDCLASSW;....//
8190: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
81a0: 0a 61 6c 69 61 73 20 57 4e 44 43 4c 41 53 53 57  .alias WNDCLASSW
81b0: 20 57 4e 44 43 4c 41 53 53 3b 0d 0a 61 6c 69 61   WNDCLASS;..alia
81c0: 73 20 50 57 4e 44 43 4c 41 53 53 57 20 50 57 4e  s PWNDCLASSW PWN
81d0: 44 43 4c 41 53 53 3b 0d 0a 61 6c 69 61 73 20 4e  DCLASS;..alias N
81e0: 50 57 4e 44 43 4c 41 53 53 57 20 4e 50 57 4e 44  PWNDCLASSW NPWND
81f0: 43 4c 41 53 53 3b 0d 0a 61 6c 69 61 73 20 4c 50  CLASS;..alias LP
8200: 57 4e 44 43 4c 41 53 53 57 20 4c 50 57 4e 44 43  WNDCLASSW LPWNDC
8210: 4c 41 53 53 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  LASS;..// #else.
8220: 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  .// .....// #end
8230: 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d  if // UNICODE...
8240: 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 4d 53  .// #ifndef NOMS
8250: 47 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d  G....struct tagM
8260: 53 47 20 7b 0d 0a 20 20 48 57 4e 44 20 68 77 6e  SG {..  HWND hwn
8270: 64 3b 0d 0a 20 20 55 49 4e 54 20 6d 65 73 73 61  d;..  UINT messa
8280: 67 65 3b 0d 0a 20 20 57 50 41 52 41 4d 20 77 50  ge;..  WPARAM wP
8290: 61 72 61 6d 3b 0d 0a 20 20 4c 50 41 52 41 4d 20  aram;..  LPARAM 
82a0: 6c 50 61 72 61 6d 3b 0d 0a 20 20 44 57 4f 52 44  lParam;..  DWORD
82b0: 20 74 69 6d 65 3b 0d 0a 20 20 50 4f 49 4e 54 20   time;..  POINT 
82c0: 70 74 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f  pt;..// #ifdef _
82d0: 4d 41 43 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  MAC..// .....// 
82e0: 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73  #endif..}..alias
82f0: 20 74 61 67 4d 53 47 20 4d 53 47 3b 0d 0a 61 6c   tagMSG MSG;..al
8300: 69 61 73 20 74 61 67 4d 53 47 2a 20 50 4d 53 47  ias tagMSG* PMSG
8310: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 53 47 2a  ;..alias tagMSG*
8320: 20 4e 50 4d 53 47 3b 0d 0a 61 6c 69 61 73 20 74   NPMSG;..alias t
8330: 61 67 4d 53 47 2a 20 4c 50 4d 53 47 3b 0d 0a 0d  agMSG* LPMSG;...
8340: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 4f 49 4e  .// #define POIN
8350: 54 53 54 4f 50 4f 49 4e 54 28 70 74 2c 20 70 74  TSTOPOINT(pt, pt
8360: 73 29 20 7b 20 28 70 74 29 2e 78 20 3d 20 28 4c  s) { (pt).x = (L
8370: 4f 4e 47 29 28 53 48 4f 52 54 29 4c 4f 57 4f 52  ONG)(SHORT)LOWOR
8380: 44 28 2a 28 4c 4f 4e 47 2a 29 26 70 74 73 29 3b  D(*(LONG*)&pts);
8390: 20 28 70 74 29 2e 79 20 3d 20 28 4c 4f 4e 47 29   (pt).y = (LONG)
83a0: 28 53 48 4f 52 54 29 48 49 57 4f 52 44 28 2a 28  (SHORT)HIWORD(*(
83b0: 4c 4f 4e 47 2a 29 26 70 74 73 29 3b 20 7d 0d 0a  LONG*)&pts); }..
83c0: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 4f 49  ..// #define POI
83d0: 4e 54 54 4f 50 4f 49 4e 54 53 28 70 74 29 20 28  NTTOPOINTS(pt) (
83e0: 4d 41 4b 45 4c 4f 4e 47 28 28 73 68 6f 72 74 29  MAKELONG((short)
83f0: 28 28 70 74 29 2e 78 29 2c 20 28 73 68 6f 72 74  ((pt).x), (short
8400: 29 28 28 70 74 29 2e 79 29 29 29 0d 0a 61 6c 69  )((pt).y)))..ali
8410: 61 73 20 4d 41 4b 45 4c 4f 4e 47 20 4d 41 4b 45  as MAKELONG MAKE
8420: 57 50 41 52 41 4d 3b 0d 0a 61 6c 69 61 73 20 4d  WPARAM;..alias M
8430: 41 4b 45 4c 4f 4e 47 20 4d 41 4b 45 4c 50 41 52  AKELONG MAKELPAR
8440: 41 4d 3b 0d 0a 61 6c 69 61 73 20 4d 41 4b 45 4c  AM;..alias MAKEL
8450: 4f 4e 47 20 4d 41 4b 45 4c 52 45 53 55 4c 54 3b  ONG MAKELRESULT;
8460: 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  ....// #endif /*
8470: 20 21 4e 4f 4d 53 47 20 2a 2f 0d 0a 0d 0a 2f 2f   !NOMSG */....//
8480: 20 23 69 66 6e 64 65 66 20 4e 4f 57 49 4e 4f 46   #ifndef NOWINOF
8490: 46 53 45 54 53 0d 0a 0d 0a 65 6e 75 6d 20 7b 20  FSETS....enum { 
84a0: 47 57 4c 5f 57 4e 44 50 52 4f 43 20 3d 20 2d 34  GWL_WNDPROC = -4
84b0: 20 7d 0d 0a 65 6e 75 6d 20 7b 20 47 57 4c 5f 48   }..enum { GWL_H
84c0: 49 4e 53 54 41 4e 43 45 20 3d 20 2d 36 20 7d 0d  INSTANCE = -6 }.
84d0: 0a 65 6e 75 6d 20 7b 20 47 57 4c 5f 48 57 4e 44  .enum { GWL_HWND
84e0: 50 41 52 45 4e 54 20 3d 20 2d 38 20 7d 0d 0a 65  PARENT = -8 }..e
84f0: 6e 75 6d 20 7b 20 47 57 4c 5f 53 54 59 4c 45 20  num { GWL_STYLE 
8500: 3d 20 2d 31 36 20 7d 0d 0a 65 6e 75 6d 20 7b 20  = -16 }..enum { 
8510: 47 57 4c 5f 45 58 53 54 59 4c 45 20 3d 20 2d 32  GWL_EXSTYLE = -2
8520: 30 20 7d 0d 0a 65 6e 75 6d 20 7b 20 47 57 4c 5f  0 }..enum { GWL_
8530: 55 53 45 52 44 41 54 41 20 3d 20 2d 32 31 20 7d  USERDATA = -21 }
8540: 0d 0a 65 6e 75 6d 20 7b 20 47 57 4c 5f 49 44 20  ..enum { GWL_ID 
8550: 3d 20 2d 31 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 69  = -12 }....// #i
8560: 66 64 65 66 20 5f 57 49 4e 36 34 0d 0a 0d 0a 2f  fdef _WIN64..../
8570: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
8580: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
8590: 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
85a0: 2a 20 5f 57 49 4e 36 34 20 2a 2f 0d 0a 0d 0a 65  * _WIN64 */....e
85b0: 6e 75 6d 20 7b 20 47 57 4c 50 5f 57 4e 44 50 52  num { GWLP_WNDPR
85c0: 4f 43 20 3d 20 2d 34 20 7d 0d 0a 65 6e 75 6d 20  OC = -4 }..enum 
85d0: 7b 20 47 57 4c 50 5f 48 49 4e 53 54 41 4e 43 45  { GWLP_HINSTANCE
85e0: 20 3d 20 2d 36 20 7d 0d 0a 65 6e 75 6d 20 7b 20   = -6 }..enum { 
85f0: 47 57 4c 50 5f 48 57 4e 44 50 41 52 45 4e 54 20  GWLP_HWNDPARENT 
8600: 3d 20 2d 38 20 7d 0d 0a 65 6e 75 6d 20 7b 20 47  = -8 }..enum { G
8610: 57 4c 50 5f 55 53 45 52 44 41 54 41 20 3d 20 2d  WLP_USERDATA = -
8620: 32 31 20 7d 0d 0a 65 6e 75 6d 20 7b 20 47 57 4c  21 }..enum { GWL
8630: 50 5f 49 44 20 3d 20 2d 31 32 20 7d 0d 0a 0d 0a  P_ID = -12 }....
8640: 65 6e 75 6d 20 7b 20 47 43 4c 5f 4d 45 4e 55 4e  enum { GCL_MENUN
8650: 41 4d 45 20 3d 20 2d 38 20 7d 0d 0a 65 6e 75 6d  AME = -8 }..enum
8660: 20 7b 20 47 43 4c 5f 48 42 52 42 41 43 4b 47 52   { GCL_HBRBACKGR
8670: 4f 55 4e 44 20 3d 20 2d 31 30 20 7d 0d 0a 65 6e  OUND = -10 }..en
8680: 75 6d 20 7b 20 47 43 4c 5f 48 43 55 52 53 4f 52  um { GCL_HCURSOR
8690: 20 3d 20 2d 31 32 20 7d 0d 0a 65 6e 75 6d 20 7b   = -12 }..enum {
86a0: 20 47 43 4c 5f 48 49 43 4f 4e 20 3d 20 2d 31 34   GCL_HICON = -14
86b0: 20 7d 0d 0a 65 6e 75 6d 20 7b 20 47 43 4c 5f 48   }..enum { GCL_H
86c0: 4d 4f 44 55 4c 45 20 3d 20 2d 31 36 20 7d 0d 0a  MODULE = -16 }..
86d0: 65 6e 75 6d 20 7b 20 47 43 4c 5f 43 42 57 4e 44  enum { GCL_CBWND
86e0: 45 58 54 52 41 20 3d 20 2d 31 38 20 7d 0d 0a 65  EXTRA = -18 }..e
86f0: 6e 75 6d 20 7b 20 47 43 4c 5f 43 42 43 4c 53 45  num { GCL_CBCLSE
8700: 58 54 52 41 20 3d 20 2d 32 30 20 7d 0d 0a 65 6e  XTRA = -20 }..en
8710: 75 6d 20 7b 20 47 43 4c 5f 57 4e 44 50 52 4f 43  um { GCL_WNDPROC
8720: 20 3d 20 2d 32 34 20 7d 0d 0a 65 6e 75 6d 20 7b   = -24 }..enum {
8730: 20 47 43 4c 5f 53 54 59 4c 45 20 3d 20 2d 32 36   GCL_STYLE = -26
8740: 20 7d 0d 0a 65 6e 75 6d 20 7b 20 47 43 57 5f 41   }..enum { GCW_A
8750: 54 4f 4d 20 3d 20 2d 33 32 20 7d 0d 0a 0d 0a 2f  TOM = -32 }..../
8760: 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
8770: 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 7b 20  0x0400)..enum { 
8780: 47 43 4c 5f 48 49 43 4f 4e 53 4d 20 3d 20 2d 33  GCL_HICONSM = -3
8790: 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  4 }..// #endif /
87a0: 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  * WINVER >= 0x04
87b0: 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 64  00 */....// #ifd
87c0: 65 66 20 5f 57 49 4e 36 34 0d 0a 0d 0a 2f 2f 20  ef _WIN64....// 
87d0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
87e0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
87f0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
8800: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f  ...// #.......//
8810: 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 36   #endif /* _WIN6
8820: 34 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 7b 20 47  4 */....enum { G
8830: 43 4c 50 5f 4d 45 4e 55 4e 41 4d 45 20 3d 20 2d  CLP_MENUNAME = -
8840: 38 20 7d 0d 0a 65 6e 75 6d 20 7b 20 47 43 4c 50  8 }..enum { GCLP
8850: 5f 48 42 52 42 41 43 4b 47 52 4f 55 4e 44 20 3d  _HBRBACKGROUND =
8860: 20 2d 31 30 20 7d 0d 0a 65 6e 75 6d 20 7b 20 47   -10 }..enum { G
8870: 43 4c 50 5f 48 43 55 52 53 4f 52 20 3d 20 2d 31  CLP_HCURSOR = -1
8880: 32 20 7d 0d 0a 65 6e 75 6d 20 7b 20 47 43 4c 50  2 }..enum { GCLP
8890: 5f 48 49 43 4f 4e 20 3d 20 2d 31 34 20 7d 0d 0a  _HICON = -14 }..
88a0: 65 6e 75 6d 20 7b 20 47 43 4c 50 5f 48 4d 4f 44  enum { GCLP_HMOD
88b0: 55 4c 45 20 3d 20 2d 31 36 20 7d 0d 0a 65 6e 75  ULE = -16 }..enu
88c0: 6d 20 7b 20 47 43 4c 50 5f 57 4e 44 50 52 4f 43  m { GCLP_WNDPROC
88d0: 20 3d 20 2d 32 34 20 7d 0d 0a 65 6e 75 6d 20 7b   = -24 }..enum {
88e0: 20 47 43 4c 50 5f 48 49 43 4f 4e 53 4d 20 3d 20   GCLP_HICONSM = 
88f0: 2d 33 34 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  -34 }....// #end
8900: 69 66 20 2f 2a 20 21 4e 4f 57 49 4e 4f 46 46 53  if /* !NOWINOFFS
8910: 45 54 53 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66  ETS */....// #if
8920: 6e 64 65 66 20 4e 4f 57 49 4e 4d 45 53 53 41 47  ndef NOWINMESSAG
8930: 45 53 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ES....enum : uin
8940: 74 20 7b 20 57 4d 5f 4e 55 4c 4c 20 3d 20 30 78  t { WM_NULL = 0x
8950: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
8960: 69 6e 74 20 7b 20 57 4d 5f 43 52 45 41 54 45 20  int { WM_CREATE 
8970: 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  = 0x0001 }..enum
8980: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 44 45 53   : uint { WM_DES
8990: 54 52 4f 59 20 3d 20 30 78 30 30 30 32 20 7d 0d  TROY = 0x0002 }.
89a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
89b0: 4d 5f 4d 4f 56 45 20 3d 20 30 78 30 30 30 33 20  M_MOVE = 0x0003 
89c0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
89d0: 20 57 4d 5f 53 49 5a 45 20 3d 20 30 78 30 30 30   WM_SIZE = 0x000
89e0: 35 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  5 }....enum : ui
89f0: 6e 74 20 7b 20 57 4d 5f 41 43 54 49 56 41 54 45  nt { WM_ACTIVATE
8a00: 20 3d 20 30 78 30 30 30 36 20 7d 0d 0a 0d 0a 65   = 0x0006 }....e
8a10: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41 5f  num : uint { WA_
8a20: 49 4e 41 43 54 49 56 45 20 3d 20 30 20 7d 0d 0a  INACTIVE = 0 }..
8a30: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41  enum : uint { WA
8a40: 5f 41 43 54 49 56 45 20 3d 20 31 20 7d 0d 0a 65  _ACTIVE = 1 }..e
8a50: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41 5f  num : uint { WA_
8a60: 43 4c 49 43 4b 41 43 54 49 56 45 20 3d 20 32 20  CLICKACTIVE = 2 
8a70: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
8a80: 20 7b 20 57 4d 5f 53 45 54 46 4f 43 55 53 20 3d   { WM_SETFOCUS =
8a90: 20 30 78 30 30 30 37 20 7d 0d 0a 65 6e 75 6d 20   0x0007 }..enum 
8aa0: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4b 49 4c 4c  : uint { WM_KILL
8ab0: 46 4f 43 55 53 20 3d 20 30 78 30 30 30 38 20 7d  FOCUS = 0x0008 }
8ac0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
8ad0: 57 4d 5f 45 4e 41 42 4c 45 20 3d 20 30 78 30 30  WM_ENABLE = 0x00
8ae0: 30 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0A }..enum : uin
8af0: 74 20 7b 20 57 4d 5f 53 45 54 52 45 44 52 41 57  t { WM_SETREDRAW
8b00: 20 3d 20 30 78 30 30 30 42 20 7d 0d 0a 65 6e 75   = 0x000B }..enu
8b10: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 53 45  m : uint { WM_SE
8b20: 54 54 45 58 54 20 3d 20 30 78 30 30 30 43 20 7d  TTEXT = 0x000C }
8b30: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
8b40: 57 4d 5f 47 45 54 54 45 58 54 20 3d 20 30 78 30  WM_GETTEXT = 0x0
8b50: 30 30 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  00D }..enum : ui
8b60: 6e 74 20 7b 20 57 4d 5f 47 45 54 54 45 58 54 4c  nt { WM_GETTEXTL
8b70: 45 4e 47 54 48 20 3d 20 30 78 30 30 30 45 20 7d  ENGTH = 0x000E }
8b80: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
8b90: 57 4d 5f 50 41 49 4e 54 20 3d 20 30 78 30 30 30  WM_PAINT = 0x000
8ba0: 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  F }..enum : uint
8bb0: 20 7b 20 57 4d 5f 43 4c 4f 53 45 20 3d 20 30 78   { WM_CLOSE = 0x
8bc0: 30 30 31 30 20 7d 0d 0a 2f 2f 20 23 69 66 6e 64  0010 }..// #ifnd
8bd0: 65 66 20 5f 57 49 4e 33 32 5f 57 43 45 0d 0a 65  ef _WIN32_WCE..e
8be0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
8bf0: 51 55 45 52 59 45 4e 44 53 45 53 53 49 4f 4e 20  QUERYENDSESSION 
8c00: 3d 20 30 78 30 30 31 31 20 7d 0d 0a 65 6e 75 6d  = 0x0011 }..enum
8c10: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 51 55 45   : uint { WM_QUE
8c20: 52 59 4f 50 45 4e 20 3d 20 30 78 30 30 31 33 20  RYOPEN = 0x0013 
8c30: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
8c40: 20 57 4d 5f 45 4e 44 53 45 53 53 49 4f 4e 20 3d   WM_ENDSESSION =
8c50: 20 30 78 30 30 31 36 20 7d 0d 0a 2f 2f 20 23 65   0x0016 }..// #e
8c60: 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ndif..enum : uin
8c70: 74 20 7b 20 57 4d 5f 51 55 49 54 20 3d 20 30 78  t { WM_QUIT = 0x
8c80: 30 30 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0012 }..enum : u
8c90: 69 6e 74 20 7b 20 57 4d 5f 45 52 41 53 45 42 4b  int { WM_ERASEBK
8ca0: 47 4e 44 20 3d 20 30 78 30 30 31 34 20 7d 0d 0a  GND = 0x0014 }..
8cb0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
8cc0: 5f 53 59 53 43 4f 4c 4f 52 43 48 41 4e 47 45 20  _SYSCOLORCHANGE 
8cd0: 3d 20 30 78 30 30 31 35 20 7d 0d 0a 65 6e 75 6d  = 0x0015 }..enum
8ce0: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 53 48 4f   : uint { WM_SHO
8cf0: 57 57 49 4e 44 4f 57 20 3d 20 30 78 30 30 31 38  WWINDOW = 0x0018
8d00: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
8d10: 7b 20 57 4d 5f 57 49 4e 49 4e 49 43 48 41 4e 47  { WM_WININICHANG
8d20: 45 20 3d 20 30 78 30 30 31 41 20 7d 0d 0a 2f 2f  E = 0x001A }..//
8d30: 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
8d40: 78 30 34 30 30 29 0d 0a 61 6c 69 61 73 20 57 4d  x0400)..alias WM
8d50: 5f 57 49 4e 49 4e 49 43 48 41 4e 47 45 20 57 4d  _WININICHANGE WM
8d60: 5f 53 45 54 54 49 4e 47 43 48 41 4e 47 45 3b 0d  _SETTINGCHANGE;.
8d70: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
8d80: 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a  NVER >= 0x0400 *
8d90: 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  /....enum : uint
8da0: 20 7b 20 57 4d 5f 44 45 56 4d 4f 44 45 43 48 41   { WM_DEVMODECHA
8db0: 4e 47 45 20 3d 20 30 78 30 30 31 42 20 7d 0d 0a  NGE = 0x001B }..
8dc0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
8dd0: 5f 41 43 54 49 56 41 54 45 41 50 50 20 3d 20 30  _ACTIVATEAPP = 0
8de0: 78 30 30 31 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x001C }..enum : 
8df0: 75 69 6e 74 20 7b 20 57 4d 5f 46 4f 4e 54 43 48  uint { WM_FONTCH
8e00: 41 4e 47 45 20 3d 20 30 78 30 30 31 44 20 7d 0d  ANGE = 0x001D }.
8e10: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
8e20: 4d 5f 54 49 4d 45 43 48 41 4e 47 45 20 3d 20 30  M_TIMECHANGE = 0
8e30: 78 30 30 31 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x001E }..enum : 
8e40: 75 69 6e 74 20 7b 20 57 4d 5f 43 41 4e 43 45 4c  uint { WM_CANCEL
8e50: 4d 4f 44 45 20 3d 20 30 78 30 30 31 46 20 7d 0d  MODE = 0x001F }.
8e60: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
8e70: 4d 5f 53 45 54 43 55 52 53 4f 52 20 3d 20 30 78  M_SETCURSOR = 0x
8e80: 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0020 }..enum : u
8e90: 69 6e 74 20 7b 20 57 4d 5f 4d 4f 55 53 45 41 43  int { WM_MOUSEAC
8ea0: 54 49 56 41 54 45 20 3d 20 30 78 30 30 32 31 20  TIVATE = 0x0021 
8eb0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
8ec0: 20 57 4d 5f 43 48 49 4c 44 41 43 54 49 56 41 54   WM_CHILDACTIVAT
8ed0: 45 20 3d 20 30 78 30 30 32 32 20 7d 0d 0a 65 6e  E = 0x0022 }..en
8ee0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 51  um : uint { WM_Q
8ef0: 55 45 55 45 53 59 4e 43 20 3d 20 30 78 30 30 32  UEUESYNC = 0x002
8f00: 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  3 }....enum : ui
8f10: 6e 74 20 7b 20 57 4d 5f 47 45 54 4d 49 4e 4d 41  nt { WM_GETMINMA
8f20: 58 49 4e 46 4f 20 3d 20 30 78 30 30 32 34 20 7d  XINFO = 0x0024 }
8f30: 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 49  ....struct tagMI
8f40: 4e 4d 41 58 49 4e 46 4f 20 7b 0d 0a 20 20 50 4f  NMAXINFO {..  PO
8f50: 49 4e 54 20 70 74 52 65 73 65 72 76 65 64 3b 0d  INT ptReserved;.
8f60: 0a 20 20 50 4f 49 4e 54 20 70 74 4d 61 78 53 69  .  POINT ptMaxSi
8f70: 7a 65 3b 0d 0a 20 20 50 4f 49 4e 54 20 70 74 4d  ze;..  POINT ptM
8f80: 61 78 50 6f 73 69 74 69 6f 6e 3b 0d 0a 20 20 50  axPosition;..  P
8f90: 4f 49 4e 54 20 70 74 4d 69 6e 54 72 61 63 6b 53  OINT ptMinTrackS
8fa0: 69 7a 65 3b 0d 0a 20 20 50 4f 49 4e 54 20 70 74  ize;..  POINT pt
8fb0: 4d 61 78 54 72 61 63 6b 53 69 7a 65 3b 0d 0a 7d  MaxTrackSize;..}
8fc0: 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 4e 4d 41  ..alias tagMINMA
8fd0: 58 49 4e 46 4f 20 4d 49 4e 4d 41 58 49 4e 46 4f  XINFO MINMAXINFO
8fe0: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 4e 4d  ;..alias tagMINM
8ff0: 41 58 49 4e 46 4f 2a 20 50 4d 49 4e 4d 41 58 49  AXINFO* PMINMAXI
9000: 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d  NFO;..alias tagM
9010: 49 4e 4d 41 58 49 4e 46 4f 2a 20 4c 50 4d 49 4e  INMAXINFO* LPMIN
9020: 4d 41 58 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d  MAXINFO;....enum
9030: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 50 41 49   : uint { WM_PAI
9040: 4e 54 49 43 4f 4e 20 3d 20 30 78 30 30 32 36 20  NTICON = 0x0026 
9050: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
9060: 20 57 4d 5f 49 43 4f 4e 45 52 41 53 45 42 4b 47   WM_ICONERASEBKG
9070: 4e 44 20 3d 20 30 78 30 30 32 37 20 7d 0d 0a 65  ND = 0x0027 }..e
9080: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
9090: 4e 45 58 54 44 4c 47 43 54 4c 20 3d 20 30 78 30  NEXTDLGCTL = 0x0
90a0: 30 32 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  028 }..enum : ui
90b0: 6e 74 20 7b 20 57 4d 5f 53 50 4f 4f 4c 45 52 53  nt { WM_SPOOLERS
90c0: 54 41 54 55 53 20 3d 20 30 78 30 30 32 41 20 7d  TATUS = 0x002A }
90d0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
90e0: 57 4d 5f 44 52 41 57 49 54 45 4d 20 3d 20 30 78  WM_DRAWITEM = 0x
90f0: 30 30 32 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  002B }..enum : u
9100: 69 6e 74 20 7b 20 57 4d 5f 4d 45 41 53 55 52 45  int { WM_MEASURE
9110: 49 54 45 4d 20 3d 20 30 78 30 30 32 43 20 7d 0d  ITEM = 0x002C }.
9120: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
9130: 4d 5f 44 45 4c 45 54 45 49 54 45 4d 20 3d 20 30  M_DELETEITEM = 0
9140: 78 30 30 32 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x002D }..enum : 
9150: 75 69 6e 74 20 7b 20 57 4d 5f 56 4b 45 59 54 4f  uint { WM_VKEYTO
9160: 49 54 45 4d 20 3d 20 30 78 30 30 32 45 20 7d 0d  ITEM = 0x002E }.
9170: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
9180: 4d 5f 43 48 41 52 54 4f 49 54 45 4d 20 3d 20 30  M_CHARTOITEM = 0
9190: 78 30 30 32 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x002F }..enum : 
91a0: 75 69 6e 74 20 7b 20 57 4d 5f 53 45 54 46 4f 4e  uint { WM_SETFON
91b0: 54 20 3d 20 30 78 30 30 33 30 20 7d 0d 0a 65 6e  T = 0x0030 }..en
91c0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 47  um : uint { WM_G
91d0: 45 54 46 4f 4e 54 20 3d 20 30 78 30 30 33 31 20  ETFONT = 0x0031 
91e0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
91f0: 20 57 4d 5f 53 45 54 48 4f 54 4b 45 59 20 3d 20   WM_SETHOTKEY = 
9200: 30 78 30 30 33 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0032 }..enum :
9210: 20 75 69 6e 74 20 7b 20 57 4d 5f 47 45 54 48 4f   uint { WM_GETHO
9220: 54 4b 45 59 20 3d 20 30 78 30 30 33 33 20 7d 0d  TKEY = 0x0033 }.
9230: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
9240: 4d 5f 51 55 45 52 59 44 52 41 47 49 43 4f 4e 20  M_QUERYDRAGICON 
9250: 3d 20 30 78 30 30 33 37 20 7d 0d 0a 65 6e 75 6d  = 0x0037 }..enum
9260: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 43 4f 4d   : uint { WM_COM
9270: 50 41 52 45 49 54 45 4d 20 3d 20 30 78 30 30 33  PAREITEM = 0x003
9280: 39 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56  9 }..// #if(WINV
9290: 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 2f  ER >= 0x0500)../
92a0: 2f 20 23 69 66 6e 64 65 66 20 5f 57 49 4e 33 32  / #ifndef _WIN32
92b0: 5f 57 43 45 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  _WCE..enum : uin
92c0: 74 20 7b 20 57 4d 5f 47 45 54 4f 42 4a 45 43 54  t { WM_GETOBJECT
92d0: 20 3d 20 30 78 30 30 33 44 20 7d 0d 0a 2f 2f 20   = 0x003D }..// 
92e0: 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69  #endif..// #endi
92f0: 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
9300: 78 30 35 30 30 20 2a 2f 0d 0a 65 6e 75 6d 20 3a  x0500 */..enum :
9310: 20 75 69 6e 74 20 7b 20 57 4d 5f 43 4f 4d 50 41   uint { WM_COMPA
9320: 43 54 49 4e 47 20 3d 20 30 78 30 30 34 31 20 7d  CTING = 0x0041 }
9330: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
9340: 57 4d 5f 43 4f 4d 4d 4e 4f 54 49 46 59 20 3d 20  WM_COMMNOTIFY = 
9350: 30 78 30 30 34 34 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0044 }..enum :
9360: 20 75 69 6e 74 20 7b 20 57 4d 5f 57 49 4e 44 4f   uint { WM_WINDO
9370: 57 50 4f 53 43 48 41 4e 47 49 4e 47 20 3d 20 30  WPOSCHANGING = 0
9380: 78 30 30 34 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0046 }..enum : 
9390: 75 69 6e 74 20 7b 20 57 4d 5f 57 49 4e 44 4f 57  uint { WM_WINDOW
93a0: 50 4f 53 43 48 41 4e 47 45 44 20 3d 20 30 78 30  POSCHANGED = 0x0
93b0: 30 34 37 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  047 }....enum : 
93c0: 75 69 6e 74 20 7b 20 57 4d 5f 50 4f 57 45 52 20  uint { WM_POWER 
93d0: 3d 20 30 78 30 30 34 38 20 7d 0d 0a 0d 0a 65 6e  = 0x0048 }....en
93e0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 57 52 5f  um : uint { PWR_
93f0: 4f 4b 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 7b  OK = 1 }..enum {
9400: 20 50 57 52 5f 46 41 49 4c 20 3d 20 2d 31 20 7d   PWR_FAIL = -1 }
9410: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
9420: 50 57 52 5f 53 55 53 50 45 4e 44 52 45 51 55 45  PWR_SUSPENDREQUE
9430: 53 54 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  ST = 1 }..enum :
9440: 20 75 69 6e 74 20 7b 20 50 57 52 5f 53 55 53 50   uint { PWR_SUSP
9450: 45 4e 44 52 45 53 55 4d 45 20 3d 20 32 20 7d 0d  ENDRESUME = 2 }.
9460: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
9470: 57 52 5f 43 52 49 54 49 43 41 4c 52 45 53 55 4d  WR_CRITICALRESUM
9480: 45 20 3d 20 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  E = 3 }....enum 
9490: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 43 4f 50 59  : uint { WM_COPY
94a0: 44 41 54 41 20 3d 20 30 78 30 30 34 41 20 7d 0d  DATA = 0x004A }.
94b0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
94c0: 4d 5f 43 41 4e 43 45 4c 4a 4f 55 52 4e 41 4c 20  M_CANCELJOURNAL 
94d0: 3d 20 30 78 30 30 34 42 20 7d 0d 0a 0d 0a 73 74  = 0x004B }....st
94e0: 72 75 63 74 20 74 61 67 43 4f 50 59 44 41 54 41  ruct tagCOPYDATA
94f0: 53 54 52 55 43 54 20 7b 0d 0a 20 20 55 4c 4f 4e  STRUCT {..  ULON
9500: 47 5f 50 54 52 20 64 77 44 61 74 61 3b 0d 0a 20  G_PTR dwData;.. 
9510: 20 44 57 4f 52 44 20 63 62 44 61 74 61 3b 0d 0a   DWORD cbData;..
9520: 20 20 50 56 4f 49 44 20 6c 70 44 61 74 61 3b 0d    PVOID lpData;.
9530: 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 43 4f 50  .}..alias tagCOP
9540: 59 44 41 54 41 53 54 52 55 43 54 20 43 4f 50 59  YDATASTRUCT COPY
9550: 44 41 54 41 53 54 52 55 43 54 3b 0d 0a 61 6c 69  DATASTRUCT;..ali
9560: 61 73 20 74 61 67 43 4f 50 59 44 41 54 41 53 54  as tagCOPYDATAST
9570: 52 55 43 54 2a 20 50 43 4f 50 59 44 41 54 41 53  RUCT* PCOPYDATAS
9580: 54 52 55 43 54 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  TRUCT;....// #if
9590: 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30  (WINVER >= 0x040
95a0: 30 29 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 44  0)..struct tagMD
95b0: 49 4e 45 58 54 4d 45 4e 55 20 7b 0d 0a 20 20 48  INEXTMENU {..  H
95c0: 4d 45 4e 55 20 68 6d 65 6e 75 49 6e 3b 0d 0a 20  MENU hmenuIn;.. 
95d0: 20 48 4d 45 4e 55 20 68 6d 65 6e 75 4e 65 78 74   HMENU hmenuNext
95e0: 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 4e 65  ;..  HWND hwndNe
95f0: 78 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  xt;..}..alias ta
9600: 67 4d 44 49 4e 45 58 54 4d 45 4e 55 20 4d 44 49  gMDINEXTMENU MDI
9610: 4e 45 58 54 4d 45 4e 55 3b 0d 0a 61 6c 69 61 73  NEXTMENU;..alias
9620: 20 74 61 67 4d 44 49 4e 45 58 54 4d 45 4e 55 2a   tagMDINEXTMENU*
9630: 20 50 4d 44 49 4e 45 58 54 4d 45 4e 55 3b 0d 0a   PMDINEXTMENU;..
9640: 61 6c 69 61 73 20 74 61 67 4d 44 49 4e 45 58 54  alias tagMDINEXT
9650: 4d 45 4e 55 2a 20 4c 50 4d 44 49 4e 45 58 54 4d  MENU* LPMDINEXTM
9660: 45 4e 55 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  ENU;....// #endi
9670: 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
9680: 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23  x0400 */....// #
9690: 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  if(WINVER >= 0x0
96a0: 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  400)..enum : uin
96b0: 74 20 7b 20 57 4d 5f 4e 4f 54 49 46 59 20 3d 20  t { WM_NOTIFY = 
96c0: 30 78 30 30 34 45 20 7d 0d 0a 65 6e 75 6d 20 3a  0x004E }..enum :
96d0: 20 75 69 6e 74 20 7b 20 57 4d 5f 49 4e 50 55 54   uint { WM_INPUT
96e0: 4c 41 4e 47 43 48 41 4e 47 45 52 45 51 55 45 53  LANGCHANGEREQUES
96f0: 54 20 3d 20 30 78 30 30 35 30 20 7d 0d 0a 65 6e  T = 0x0050 }..en
9700: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 49  um : uint { WM_I
9710: 4e 50 55 54 4c 41 4e 47 43 48 41 4e 47 45 20 3d  NPUTLANGCHANGE =
9720: 20 30 78 30 30 35 31 20 7d 0d 0a 65 6e 75 6d 20   0x0051 }..enum 
9730: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 54 43 41 52  : uint { WM_TCAR
9740: 44 20 3d 20 30 78 30 30 35 32 20 7d 0d 0a 65 6e  D = 0x0052 }..en
9750: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 48  um : uint { WM_H
9760: 45 4c 50 20 3d 20 30 78 30 30 35 33 20 7d 0d 0a  ELP = 0x0053 }..
9770: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
9780: 5f 55 53 45 52 43 48 41 4e 47 45 44 20 3d 20 30  _USERCHANGED = 0
9790: 78 30 30 35 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0054 }..enum : 
97a0: 75 69 6e 74 20 7b 20 57 4d 5f 4e 4f 54 49 46 59  uint { WM_NOTIFY
97b0: 46 4f 52 4d 41 54 20 3d 20 30 78 30 30 35 35 20  FORMAT = 0x0055 
97c0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
97d0: 20 7b 20 4e 46 52 5f 41 4e 53 49 20 3d 20 31 20   { NFR_ANSI = 1 
97e0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
97f0: 20 4e 46 52 5f 55 4e 49 43 4f 44 45 20 3d 20 32   NFR_UNICODE = 2
9800: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
9810: 7b 20 4e 46 5f 51 55 45 52 59 20 3d 20 33 20 7d  { NF_QUERY = 3 }
9820: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
9830: 4e 46 5f 52 45 51 55 45 52 59 20 3d 20 34 20 7d  NF_REQUERY = 4 }
9840: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
9850: 7b 20 57 4d 5f 43 4f 4e 54 45 58 54 4d 45 4e 55  { WM_CONTEXTMENU
9860: 20 3d 20 30 78 30 30 37 42 20 7d 0d 0a 65 6e 75   = 0x007B }..enu
9870: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 53 54  m : uint { WM_ST
9880: 59 4c 45 43 48 41 4e 47 49 4e 47 20 3d 20 30 78  YLECHANGING = 0x
9890: 30 30 37 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  007C }..enum : u
98a0: 69 6e 74 20 7b 20 57 4d 5f 53 54 59 4c 45 43 48  int { WM_STYLECH
98b0: 41 4e 47 45 44 20 3d 20 30 78 30 30 37 44 20 7d  ANGED = 0x007D }
98c0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
98d0: 57 4d 5f 44 49 53 50 4c 41 59 43 48 41 4e 47 45  WM_DISPLAYCHANGE
98e0: 20 3d 20 30 78 30 30 37 45 20 7d 0d 0a 65 6e 75   = 0x007E }..enu
98f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 47 45  m : uint { WM_GE
9900: 54 49 43 4f 4e 20 3d 20 30 78 30 30 37 46 20 7d  TICON = 0x007F }
9910: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
9920: 57 4d 5f 53 45 54 49 43 4f 4e 20 3d 20 30 78 30  WM_SETICON = 0x0
9930: 30 38 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  080 }..// #endif
9940: 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
9950: 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20  0400 */....enum 
9960: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4e 43 43 52  : uint { WM_NCCR
9970: 45 41 54 45 20 3d 20 30 78 30 30 38 31 20 7d 0d  EATE = 0x0081 }.
9980: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
9990: 4d 5f 4e 43 44 45 53 54 52 4f 59 20 3d 20 30 78  M_NCDESTROY = 0x
99a0: 30 30 38 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0082 }..enum : u
99b0: 69 6e 74 20 7b 20 57 4d 5f 4e 43 43 41 4c 43 53  int { WM_NCCALCS
99c0: 49 5a 45 20 3d 20 30 78 30 30 38 33 20 7d 0d 0a  IZE = 0x0083 }..
99d0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
99e0: 5f 4e 43 48 49 54 54 45 53 54 20 3d 20 30 78 30  _NCHITTEST = 0x0
99f0: 30 38 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  084 }..enum : ui
9a00: 6e 74 20 7b 20 57 4d 5f 4e 43 50 41 49 4e 54 20  nt { WM_NCPAINT 
9a10: 3d 20 30 78 30 30 38 35 20 7d 0d 0a 65 6e 75 6d  = 0x0085 }..enum
9a20: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4e 43 41   : uint { WM_NCA
9a30: 43 54 49 56 41 54 45 20 3d 20 30 78 30 30 38 36  CTIVATE = 0x0086
9a40: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
9a50: 7b 20 57 4d 5f 47 45 54 44 4c 47 43 4f 44 45 20  { WM_GETDLGCODE 
9a60: 3d 20 30 78 30 30 38 37 20 7d 0d 0a 2f 2f 20 23  = 0x0087 }..// #
9a70: 69 66 6e 64 65 66 20 5f 57 49 4e 33 32 5f 57 43  ifndef _WIN32_WC
9a80: 45 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  E..enum : uint {
9a90: 20 57 4d 5f 53 59 4e 43 50 41 49 4e 54 20 3d 20   WM_SYNCPAINT = 
9aa0: 30 78 30 30 38 38 20 7d 0d 0a 2f 2f 20 23 65 6e  0x0088 }..// #en
9ab0: 64 69 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  dif..enum : uint
9ac0: 20 7b 20 57 4d 5f 4e 43 4d 4f 55 53 45 4d 4f 56   { WM_NCMOUSEMOV
9ad0: 45 20 3d 20 30 78 30 30 41 30 20 7d 0d 0a 65 6e  E = 0x00A0 }..en
9ae0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4e  um : uint { WM_N
9af0: 43 4c 42 55 54 54 4f 4e 44 4f 57 4e 20 3d 20 30  CLBUTTONDOWN = 0
9b00: 78 30 30 41 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x00A1 }..enum : 
9b10: 75 69 6e 74 20 7b 20 57 4d 5f 4e 43 4c 42 55 54  uint { WM_NCLBUT
9b20: 54 4f 4e 55 50 20 3d 20 30 78 30 30 41 32 20 7d  TONUP = 0x00A2 }
9b30: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
9b40: 57 4d 5f 4e 43 4c 42 55 54 54 4f 4e 44 42 4c 43  WM_NCLBUTTONDBLC
9b50: 4c 4b 20 3d 20 30 78 30 30 41 33 20 7d 0d 0a 65  LK = 0x00A3 }..e
9b60: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
9b70: 4e 43 52 42 55 54 54 4f 4e 44 4f 57 4e 20 3d 20  NCRBUTTONDOWN = 
9b80: 30 78 30 30 41 34 20 7d 0d 0a 65 6e 75 6d 20 3a  0x00A4 }..enum :
9b90: 20 75 69 6e 74 20 7b 20 57 4d 5f 4e 43 52 42 55   uint { WM_NCRBU
9ba0: 54 54 4f 4e 55 50 20 3d 20 30 78 30 30 41 35 20  TTONUP = 0x00A5 
9bb0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
9bc0: 20 57 4d 5f 4e 43 52 42 55 54 54 4f 4e 44 42 4c   WM_NCRBUTTONDBL
9bd0: 43 4c 4b 20 3d 20 30 78 30 30 41 36 20 7d 0d 0a  CLK = 0x00A6 }..
9be0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
9bf0: 5f 4e 43 4d 42 55 54 54 4f 4e 44 4f 57 4e 20 3d  _NCMBUTTONDOWN =
9c00: 20 30 78 30 30 41 37 20 7d 0d 0a 65 6e 75 6d 20   0x00A7 }..enum 
9c10: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4e 43 4d 42  : uint { WM_NCMB
9c20: 55 54 54 4f 4e 55 50 20 3d 20 30 78 30 30 41 38  UTTONUP = 0x00A8
9c30: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
9c40: 7b 20 57 4d 5f 4e 43 4d 42 55 54 54 4f 4e 44 42  { WM_NCMBUTTONDB
9c50: 4c 43 4c 4b 20 3d 20 30 78 30 30 41 39 20 7d 0d  LCLK = 0x00A9 }.
9c60: 0a 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32  ...// #if(_WIN32
9c70: 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30  _WINNT >= 0x0500
9c80: 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
9c90: 20 57 4d 5f 4e 43 58 42 55 54 54 4f 4e 44 4f 57   WM_NCXBUTTONDOW
9ca0: 4e 20 3d 20 30 78 30 30 41 42 20 7d 0d 0a 65 6e  N = 0x00AB }..en
9cb0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4e  um : uint { WM_N
9cc0: 43 58 42 55 54 54 4f 4e 55 50 20 3d 20 30 78 30  CXBUTTONUP = 0x0
9cd0: 30 41 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  0AC }..enum : ui
9ce0: 6e 74 20 7b 20 57 4d 5f 4e 43 58 42 55 54 54 4f  nt { WM_NCXBUTTO
9cf0: 4e 44 42 4c 43 4c 4b 20 3d 20 30 78 30 30 41 44  NDBLCLK = 0x00AD
9d00: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
9d10: 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d   _WIN32_WINNT >=
9d20: 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f   0x0500 */....//
9d30: 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e   #if(_WIN32_WINN
9d40: 54 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e  T >= 0x0501)..en
9d50: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 49  um : uint { WM_I
9d60: 4e 50 55 54 20 3d 20 30 78 30 30 46 46 20 7d 0d  NPUT = 0x00FF }.
9d70: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57  .// #endif /* _W
9d80: 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
9d90: 30 35 30 31 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20  0501 */....enum 
9da0: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4b 45 59 46  : uint { WM_KEYF
9db0: 49 52 53 54 20 3d 20 30 78 30 31 30 30 20 7d 0d  IRST = 0x0100 }.
9dc0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
9dd0: 4d 5f 4b 45 59 44 4f 57 4e 20 3d 20 30 78 30 31  M_KEYDOWN = 0x01
9de0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
9df0: 74 20 7b 20 57 4d 5f 4b 45 59 55 50 20 3d 20 30  t { WM_KEYUP = 0
9e00: 78 30 31 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0101 }..enum : 
9e10: 75 69 6e 74 20 7b 20 57 4d 5f 43 48 41 52 20 3d  uint { WM_CHAR =
9e20: 20 30 78 30 31 30 32 20 7d 0d 0a 65 6e 75 6d 20   0x0102 }..enum 
9e30: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 44 45 41 44  : uint { WM_DEAD
9e40: 43 48 41 52 20 3d 20 30 78 30 31 30 33 20 7d 0d  CHAR = 0x0103 }.
9e50: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
9e60: 4d 5f 53 59 53 4b 45 59 44 4f 57 4e 20 3d 20 30  M_SYSKEYDOWN = 0
9e70: 78 30 31 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0104 }..enum : 
9e80: 75 69 6e 74 20 7b 20 57 4d 5f 53 59 53 4b 45 59  uint { WM_SYSKEY
9e90: 55 50 20 3d 20 30 78 30 31 30 35 20 7d 0d 0a 65  UP = 0x0105 }..e
9ea0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
9eb0: 53 59 53 43 48 41 52 20 3d 20 30 78 30 31 30 36  SYSCHAR = 0x0106
9ec0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
9ed0: 7b 20 57 4d 5f 53 59 53 44 45 41 44 43 48 41 52  { WM_SYSDEADCHAR
9ee0: 20 3d 20 30 78 30 31 30 37 20 7d 0d 0a 2f 2f 20   = 0x0107 }..// 
9ef0: 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  #if(_WIN32_WINNT
9f00: 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75   >= 0x0501)..enu
9f10: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 55 4e  m : uint { WM_UN
9f20: 49 43 48 41 52 20 3d 20 30 78 30 31 30 39 20 7d  ICHAR = 0x0109 }
9f30: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
9f40: 57 4d 5f 4b 45 59 4c 41 53 54 20 3d 20 30 78 30  WM_KEYLAST = 0x0
9f50: 31 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  109 }..enum : ui
9f60: 6e 74 20 7b 20 55 4e 49 43 4f 44 45 5f 4e 4f 43  nt { UNICODE_NOC
9f70: 48 41 52 20 3d 20 30 78 46 46 46 46 20 7d 0d 0a  HAR = 0xFFFF }..
9f80: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
9f90: 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
9fa0: 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
9fb0: 30 78 30 35 30 31 20 2a 2f 0d 0a 0d 0a 2f 2f 20  0x0501 */....// 
9fc0: 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  #if(WINVER >= 0x
9fd0: 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0400)..enum : ui
9fe0: 6e 74 20 7b 20 57 4d 5f 49 4d 45 5f 53 54 41 52  nt { WM_IME_STAR
9ff0: 54 43 4f 4d 50 4f 53 49 54 49 4f 4e 20 3d 20 30  TCOMPOSITION = 0
a000: 78 30 31 30 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x010D }..enum : 
a010: 75 69 6e 74 20 7b 20 57 4d 5f 49 4d 45 5f 45 4e  uint { WM_IME_EN
a020: 44 43 4f 4d 50 4f 53 49 54 49 4f 4e 20 3d 20 30  DCOMPOSITION = 0
a030: 78 30 31 30 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x010E }..enum : 
a040: 75 69 6e 74 20 7b 20 57 4d 5f 49 4d 45 5f 43 4f  uint { WM_IME_CO
a050: 4d 50 4f 53 49 54 49 4f 4e 20 3d 20 30 78 30 31  MPOSITION = 0x01
a060: 30 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0F }..enum : uin
a070: 74 20 7b 20 57 4d 5f 49 4d 45 5f 4b 45 59 4c 41  t { WM_IME_KEYLA
a080: 53 54 20 3d 20 30 78 30 31 30 46 20 7d 0d 0a 2f  ST = 0x010F }../
a090: 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
a0a0: 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  ER >= 0x0400 */.
a0b0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
a0c0: 20 57 4d 5f 49 4e 49 54 44 49 41 4c 4f 47 20 3d   WM_INITDIALOG =
a0d0: 20 30 78 30 31 31 30 20 7d 0d 0a 65 6e 75 6d 20   0x0110 }..enum 
a0e0: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 43 4f 4d 4d  : uint { WM_COMM
a0f0: 41 4e 44 20 3d 20 30 78 30 31 31 31 20 7d 0d 0a  AND = 0x0111 }..
a100: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
a110: 5f 53 59 53 43 4f 4d 4d 41 4e 44 20 3d 20 30 78  _SYSCOMMAND = 0x
a120: 30 31 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0112 }..enum : u
a130: 69 6e 74 20 7b 20 57 4d 5f 54 49 4d 45 52 20 3d  int { WM_TIMER =
a140: 20 30 78 30 31 31 33 20 7d 0d 0a 65 6e 75 6d 20   0x0113 }..enum 
a150: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 48 53 43 52  : uint { WM_HSCR
a160: 4f 4c 4c 20 3d 20 30 78 30 31 31 34 20 7d 0d 0a  OLL = 0x0114 }..
a170: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
a180: 5f 56 53 43 52 4f 4c 4c 20 3d 20 30 78 30 31 31  _VSCROLL = 0x011
a190: 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
a1a0: 20 7b 20 57 4d 5f 49 4e 49 54 4d 45 4e 55 20 3d   { WM_INITMENU =
a1b0: 20 30 78 30 31 31 36 20 7d 0d 0a 65 6e 75 6d 20   0x0116 }..enum 
a1c0: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 49 4e 49 54  : uint { WM_INIT
a1d0: 4d 45 4e 55 50 4f 50 55 50 20 3d 20 30 78 30 31  MENUPOPUP = 0x01
a1e0: 31 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  17 }..enum : uin
a1f0: 74 20 7b 20 57 4d 5f 4d 45 4e 55 53 45 4c 45 43  t { WM_MENUSELEC
a200: 54 20 3d 20 30 78 30 31 31 46 20 7d 0d 0a 65 6e  T = 0x011F }..en
a210: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4d  um : uint { WM_M
a220: 45 4e 55 43 48 41 52 20 3d 20 30 78 30 31 32 30  ENUCHAR = 0x0120
a230: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
a240: 7b 20 57 4d 5f 45 4e 54 45 52 49 44 4c 45 20 3d  { WM_ENTERIDLE =
a250: 20 30 78 30 31 32 31 20 7d 0d 0a 2f 2f 20 23 69   0x0121 }..// #i
a260: 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35  f(WINVER >= 0x05
a270: 30 30 29 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  00)..// #ifndef 
a280: 5f 57 49 4e 33 32 5f 57 43 45 0d 0a 65 6e 75 6d  _WIN32_WCE..enum
a290: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4d 45 4e   : uint { WM_MEN
a2a0: 55 52 42 55 54 54 4f 4e 55 50 20 3d 20 30 78 30  URBUTTONUP = 0x0
a2b0: 31 32 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  122 }..enum : ui
a2c0: 6e 74 20 7b 20 57 4d 5f 4d 45 4e 55 44 52 41 47  nt { WM_MENUDRAG
a2d0: 20 3d 20 30 78 30 31 32 33 20 7d 0d 0a 65 6e 75   = 0x0123 }..enu
a2e0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4d 45  m : uint { WM_ME
a2f0: 4e 55 47 45 54 4f 42 4a 45 43 54 20 3d 20 30 78  NUGETOBJECT = 0x
a300: 30 31 32 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0124 }..enum : u
a310: 69 6e 74 20 7b 20 57 4d 5f 55 4e 49 4e 49 54 4d  int { WM_UNINITM
a320: 45 4e 55 50 4f 50 55 50 20 3d 20 30 78 30 31 32  ENUPOPUP = 0x012
a330: 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
a340: 20 7b 20 57 4d 5f 4d 45 4e 55 43 4f 4d 4d 41 4e   { WM_MENUCOMMAN
a350: 44 20 3d 20 30 78 30 31 32 36 20 7d 0d 0a 0d 0a  D = 0x0126 }....
a360: 2f 2f 20 23 69 66 6e 64 65 66 20 5f 57 49 4e 33  // #ifndef _WIN3
a370: 32 5f 57 43 45 0d 0a 2f 2f 20 23 69 66 28 5f 57  2_WCE..// #if(_W
a380: 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
a390: 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0500)..enum : ui
a3a0: 6e 74 20 7b 20 57 4d 5f 43 48 41 4e 47 45 55 49  nt { WM_CHANGEUI
a3b0: 53 54 41 54 45 20 3d 20 30 78 30 31 32 37 20 7d  STATE = 0x0127 }
a3c0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
a3d0: 57 4d 5f 55 50 44 41 54 45 55 49 53 54 41 54 45  WM_UPDATEUISTATE
a3e0: 20 3d 20 30 78 30 31 32 38 20 7d 0d 0a 65 6e 75   = 0x0128 }..enu
a3f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 51 55  m : uint { WM_QU
a400: 45 52 59 55 49 53 54 41 54 45 20 3d 20 30 78 30  ERYUISTATE = 0x0
a410: 31 32 39 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  129 }....enum : 
a420: 75 69 6e 74 20 7b 20 55 49 53 5f 53 45 54 20 3d  uint { UIS_SET =
a430: 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
a440: 74 20 7b 20 55 49 53 5f 43 4c 45 41 52 20 3d 20  t { UIS_CLEAR = 
a450: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
a460: 20 7b 20 55 49 53 5f 49 4e 49 54 49 41 4c 49 5a   { UIS_INITIALIZ
a470: 45 20 3d 20 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  E = 3 }....enum 
a480: 3a 20 75 69 6e 74 20 7b 20 55 49 53 46 5f 48 49  : uint { UISF_HI
a490: 44 45 46 4f 43 55 53 20 3d 20 30 78 31 20 7d 0d  DEFOCUS = 0x1 }.
a4a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55  .enum : uint { U
a4b0: 49 53 46 5f 48 49 44 45 41 43 43 45 4c 20 3d 20  ISF_HIDEACCEL = 
a4c0: 30 78 32 20 7d 0d 0a 2f 2f 20 23 69 66 28 5f 57  0x2 }..// #if(_W
a4d0: 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
a4e0: 30 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0501)..enum : ui
a4f0: 6e 74 20 7b 20 55 49 53 46 5f 41 43 54 49 56 45  nt { UISF_ACTIVE
a500: 20 3d 20 30 78 34 20 7d 0d 0a 2f 2f 20 23 65 6e   = 0x4 }..// #en
a510: 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49  dif /* _WIN32_WI
a520: 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f  NNT >= 0x0501 */
a530: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f  ..// #endif /* _
a540: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
a550: 78 30 35 30 30 20 2a 2f 0d 0a 2f 2f 20 23 65 6e  x0500 */..// #en
a560: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  dif....// #endif
a570: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
a580: 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 20  INVER >= 0x0500 
a590: 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  */....enum : uin
a5a0: 74 20 7b 20 57 4d 5f 43 54 4c 43 4f 4c 4f 52 4d  t { WM_CTLCOLORM
a5b0: 53 47 42 4f 58 20 3d 20 30 78 30 31 33 32 20 7d  SGBOX = 0x0132 }
a5c0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
a5d0: 57 4d 5f 43 54 4c 43 4f 4c 4f 52 45 44 49 54 20  WM_CTLCOLOREDIT 
a5e0: 3d 20 30 78 30 31 33 33 20 7d 0d 0a 65 6e 75 6d  = 0x0133 }..enum
a5f0: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 43 54 4c   : uint { WM_CTL
a600: 43 4f 4c 4f 52 4c 49 53 54 42 4f 58 20 3d 20 30  COLORLISTBOX = 0
a610: 78 30 31 33 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0134 }..enum : 
a620: 75 69 6e 74 20 7b 20 57 4d 5f 43 54 4c 43 4f 4c  uint { WM_CTLCOL
a630: 4f 52 42 54 4e 20 3d 20 30 78 30 31 33 35 20 7d  ORBTN = 0x0135 }
a640: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
a650: 57 4d 5f 43 54 4c 43 4f 4c 4f 52 44 4c 47 20 3d  WM_CTLCOLORDLG =
a660: 20 30 78 30 31 33 36 20 7d 0d 0a 65 6e 75 6d 20   0x0136 }..enum 
a670: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 43 54 4c 43  : uint { WM_CTLC
a680: 4f 4c 4f 52 53 43 52 4f 4c 4c 42 41 52 20 3d 20  OLORSCROLLBAR = 
a690: 30 78 30 31 33 37 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0137 }..enum :
a6a0: 20 75 69 6e 74 20 7b 20 57 4d 5f 43 54 4c 43 4f   uint { WM_CTLCO
a6b0: 4c 4f 52 53 54 41 54 49 43 20 3d 20 30 78 30 31  LORSTATIC = 0x01
a6c0: 33 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  38 }....enum : u
a6d0: 69 6e 74 20 7b 20 57 4d 5f 4d 4f 55 53 45 46 49  int { WM_MOUSEFI
a6e0: 52 53 54 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a  RST = 0x0200 }..
a6f0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
a700: 5f 4d 4f 55 53 45 4d 4f 56 45 20 3d 20 30 78 30  _MOUSEMOVE = 0x0
a710: 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  200 }..enum : ui
a720: 6e 74 20 7b 20 57 4d 5f 4c 42 55 54 54 4f 4e 44  nt { WM_LBUTTOND
a730: 4f 57 4e 20 3d 20 30 78 30 32 30 31 20 7d 0d 0a  OWN = 0x0201 }..
a740: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
a750: 5f 4c 42 55 54 54 4f 4e 55 50 20 3d 20 30 78 30  _LBUTTONUP = 0x0
a760: 32 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  202 }..enum : ui
a770: 6e 74 20 7b 20 57 4d 5f 4c 42 55 54 54 4f 4e 44  nt { WM_LBUTTOND
a780: 42 4c 43 4c 4b 20 3d 20 30 78 30 32 30 33 20 7d  BLCLK = 0x0203 }
a790: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
a7a0: 57 4d 5f 52 42 55 54 54 4f 4e 44 4f 57 4e 20 3d  WM_RBUTTONDOWN =
a7b0: 20 30 78 30 32 30 34 20 7d 0d 0a 65 6e 75 6d 20   0x0204 }..enum 
a7c0: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 52 42 55 54  : uint { WM_RBUT
a7d0: 54 4f 4e 55 50 20 3d 20 30 78 30 32 30 35 20 7d  TONUP = 0x0205 }
a7e0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
a7f0: 57 4d 5f 52 42 55 54 54 4f 4e 44 42 4c 43 4c 4b  WM_RBUTTONDBLCLK
a800: 20 3d 20 30 78 30 32 30 36 20 7d 0d 0a 65 6e 75   = 0x0206 }..enu
a810: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4d 42  m : uint { WM_MB
a820: 55 54 54 4f 4e 44 4f 57 4e 20 3d 20 30 78 30 32  UTTONDOWN = 0x02
a830: 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  07 }..enum : uin
a840: 74 20 7b 20 57 4d 5f 4d 42 55 54 54 4f 4e 55 50  t { WM_MBUTTONUP
a850: 20 3d 20 30 78 30 32 30 38 20 7d 0d 0a 65 6e 75   = 0x0208 }..enu
a860: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4d 42  m : uint { WM_MB
a870: 55 54 54 4f 4e 44 42 4c 43 4c 4b 20 3d 20 30 78  UTTONDBLCLK = 0x
a880: 30 32 30 39 20 7d 0d 0a 2f 2f 20 23 69 66 20 28  0209 }..// #if (
a890: 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
a8a0: 30 78 30 34 30 30 29 20 7c 7c 20 28 5f 57 49 4e  0x0400) || (_WIN
a8b0: 33 32 5f 57 49 4e 44 4f 57 53 20 3e 20 30 78 30  32_WINDOWS > 0x0
a8c0: 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  400)..enum : uin
a8d0: 74 20 7b 20 57 4d 5f 4d 4f 55 53 45 57 48 45 45  t { WM_MOUSEWHEE
a8e0: 4c 20 3d 20 30 78 30 32 30 41 20 7d 0d 0a 2f 2f  L = 0x020A }..//
a8f0: 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20   #endif..// #if 
a900: 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
a910: 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0500)..enum :
a920: 20 75 69 6e 74 20 7b 20 57 4d 5f 58 42 55 54 54   uint { WM_XBUTT
a930: 4f 4e 44 4f 57 4e 20 3d 20 30 78 30 32 30 42 20  ONDOWN = 0x020B 
a940: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
a950: 20 57 4d 5f 58 42 55 54 54 4f 4e 55 50 20 3d 20   WM_XBUTTONUP = 
a960: 30 78 30 32 30 43 20 7d 0d 0a 65 6e 75 6d 20 3a  0x020C }..enum :
a970: 20 75 69 6e 74 20 7b 20 57 4d 5f 58 42 55 54 54   uint { WM_XBUTT
a980: 4f 4e 44 42 4c 43 4c 4b 20 3d 20 30 78 30 32 30  ONDBLCLK = 0x020
a990: 44 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  D }..// #endif..
a9a0: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57  // #if (_WIN32_W
a9b0: 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 0d  INNT >= 0x0500).
a9c0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
a9d0: 4d 5f 4d 4f 55 53 45 4c 41 53 54 20 3d 20 30 78  M_MOUSELAST = 0x
a9e0: 30 32 30 44 20 7d 0d 0a 2f 2f 20 23 65 6c 69 66  020D }..// #elif
a9f0: 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e   (_WIN32_WINNT >
aa00: 3d 20 30 78 30 34 30 30 29 20 7c 7c 20 28 5f 57  = 0x0400) || (_W
aa10: 49 4e 33 32 5f 57 49 4e 44 4f 57 53 20 3e 20 30  IN32_WINDOWS > 0
aa20: 78 30 34 30 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d  x0400)..// #....
aa30: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
aa40: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  ....// #endif /*
aa50: 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e   (_WIN32_WINNT >
aa60: 3d 20 30 78 30 35 30 30 29 20 2a 2f 0d 0a 0d 0a  = 0x0500) */....
aa70: 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49  // #if(_WIN32_WI
aa80: 4e 4e 54 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  NNT >= 0x0400)..
aa90: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
aaa0: 57 48 45 45 4c 5f 44 45 4c 54 41 20 3d 20 31 32  WHEEL_DELTA = 12
aab0: 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  0 }..// #define 
aac0: 47 45 54 5f 57 48 45 45 4c 5f 44 45 4c 54 41 5f  GET_WHEEL_DELTA_
aad0: 57 50 41 52 41 4d 28 77 50 61 72 61 6d 29 20 28  WPARAM(wParam) (
aae0: 28 73 68 6f 72 74 29 48 49 57 4f 52 44 28 77 50  (short)HIWORD(wP
aaf0: 61 72 61 6d 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  aram))....enum :
ab00: 20 75 69 6e 74 20 7b 20 57 48 45 45 4c 5f 50 41   uint { WHEEL_PA
ab10: 47 45 53 43 52 4f 4c 4c 20 3d 20 55 49 4e 54 5f  GESCROLL = UINT_
ab20: 4d 41 58 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  MAX }..// #endif
ab30: 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54   /* _WIN32_WINNT
ab40: 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d   >= 0x0400 */...
ab50: 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57  .// #if(_WIN32_W
ab60: 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 0d  INNT >= 0x0500).
ab70: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 47 45 54 5f  .// #define GET_
ab80: 4b 45 59 53 54 41 54 45 5f 57 50 41 52 41 4d 28  KEYSTATE_WPARAM(
ab90: 77 50 61 72 61 6d 29 20 28 4c 4f 57 4f 52 44 28  wParam) (LOWORD(
aba0: 77 50 61 72 61 6d 29 29 0d 0a 2f 2f 20 23 64 65  wParam))..// #de
abb0: 66 69 6e 65 20 47 45 54 5f 4e 43 48 49 54 54 45  fine GET_NCHITTE
abc0: 53 54 5f 57 50 41 52 41 4d 28 77 50 61 72 61 6d  ST_WPARAM(wParam
abd0: 29 20 28 28 73 68 6f 72 74 29 4c 4f 57 4f 52 44  ) ((short)LOWORD
abe0: 28 77 50 61 72 61 6d 29 29 0d 0a 2f 2f 20 23 64  (wParam))..// #d
abf0: 65 66 69 6e 65 20 47 45 54 5f 58 42 55 54 54 4f  efine GET_XBUTTO
ac00: 4e 5f 57 50 41 52 41 4d 28 77 50 61 72 61 6d 29  N_WPARAM(wParam)
ac10: 20 28 48 49 57 4f 52 44 28 77 50 61 72 61 6d 29   (HIWORD(wParam)
ac20: 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
ac30: 20 7b 20 58 42 55 54 54 4f 4e 31 20 3d 20 30 78   { XBUTTON1 = 0x
ac40: 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
ac50: 69 6e 74 20 7b 20 58 42 55 54 54 4f 4e 32 20 3d  int { XBUTTON2 =
ac60: 20 30 78 30 30 30 32 20 7d 0d 0a 0d 0a 2f 2f 20   0x0002 }....// 
ac70: 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32  #endif /* _WIN32
ac80: 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30  _WINNT >= 0x0500
ac90: 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   */....enum : ui
aca0: 6e 74 20 7b 20 57 4d 5f 50 41 52 45 4e 54 4e 4f  nt { WM_PARENTNO
acb0: 54 49 46 59 20 3d 20 30 78 30 32 31 30 20 7d 0d  TIFY = 0x0210 }.
acc0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
acd0: 4d 5f 45 4e 54 45 52 4d 45 4e 55 4c 4f 4f 50 20  M_ENTERMENULOOP 
ace0: 3d 20 30 78 30 32 31 31 20 7d 0d 0a 65 6e 75 6d  = 0x0211 }..enum
acf0: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 45 58 49   : uint { WM_EXI
ad00: 54 4d 45 4e 55 4c 4f 4f 50 20 3d 20 30 78 30 32  TMENULOOP = 0x02
ad10: 31 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57  12 }....// #if(W
ad20: 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
ad30: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
ad40: 57 4d 5f 4e 45 58 54 4d 45 4e 55 20 3d 20 30 78  WM_NEXTMENU = 0x
ad50: 30 32 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0213 }..enum : u
ad60: 69 6e 74 20 7b 20 57 4d 5f 53 49 5a 49 4e 47 20  int { WM_SIZING 
ad70: 3d 20 30 78 30 32 31 34 20 7d 0d 0a 65 6e 75 6d  = 0x0214 }..enum
ad80: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 43 41 50   : uint { WM_CAP
ad90: 54 55 52 45 43 48 41 4e 47 45 44 20 3d 20 30 78  TURECHANGED = 0x
ada0: 30 32 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0215 }..enum : u
adb0: 69 6e 74 20 7b 20 57 4d 5f 4d 4f 56 49 4e 47 20  int { WM_MOVING 
adc0: 3d 20 30 78 30 32 31 36 20 7d 0d 0a 2f 2f 20 23  = 0x0216 }..// #
add0: 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
ade0: 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0400 */....
adf0: 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d  // #if(WINVER >=
ae00: 20 30 78 30 34 30 30 29 0d 0a 0d 0a 65 6e 75 6d   0x0400)....enum
ae10: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 50 4f 57   : uint { WM_POW
ae20: 45 52 42 52 4f 41 44 43 41 53 54 20 3d 20 30 78  ERBROADCAST = 0x
ae30: 30 32 31 38 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66  0218 }....// #if
ae40: 6e 64 65 66 20 5f 57 49 4e 33 32 5f 57 43 45 0d  ndef _WIN32_WCE.
ae50: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
ae60: 42 54 5f 41 50 4d 51 55 45 52 59 53 55 53 50 45  BT_APMQUERYSUSPE
ae70: 4e 44 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65  ND = 0x0000 }..e
ae80: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 42 54  num : uint { PBT
ae90: 5f 41 50 4d 51 55 45 52 59 53 54 41 4e 44 42 59  _APMQUERYSTANDBY
aea0: 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 0d 0a 65   = 0x0001 }....e
aeb0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 42 54  num : uint { PBT
aec0: 5f 41 50 4d 51 55 45 52 59 53 55 53 50 45 4e 44  _APMQUERYSUSPEND
aed0: 46 41 49 4c 45 44 20 3d 20 30 78 30 30 30 32 20  FAILED = 0x0002 
aee0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
aef0: 20 50 42 54 5f 41 50 4d 51 55 45 52 59 53 54 41   PBT_APMQUERYSTA
af00: 4e 44 42 59 46 41 49 4c 45 44 20 3d 20 30 78 30  NDBYFAILED = 0x0
af10: 30 30 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  003 }....enum : 
af20: 75 69 6e 74 20 7b 20 50 42 54 5f 41 50 4d 53 55  uint { PBT_APMSU
af30: 53 50 45 4e 44 20 3d 20 30 78 30 30 30 34 20 7d  SPEND = 0x0004 }
af40: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
af50: 50 42 54 5f 41 50 4d 53 54 41 4e 44 42 59 20 3d  PBT_APMSTANDBY =
af60: 20 30 78 30 30 30 35 20 7d 0d 0a 0d 0a 65 6e 75   0x0005 }....enu
af70: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 42 54 5f 41  m : uint { PBT_A
af80: 50 4d 52 45 53 55 4d 45 43 52 49 54 49 43 41 4c  PMRESUMECRITICAL
af90: 20 3d 20 30 78 30 30 30 36 20 7d 0d 0a 65 6e 75   = 0x0006 }..enu
afa0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 42 54 5f 41  m : uint { PBT_A
afb0: 50 4d 52 45 53 55 4d 45 53 55 53 50 45 4e 44 20  PMRESUMESUSPEND 
afc0: 3d 20 30 78 30 30 30 37 20 7d 0d 0a 65 6e 75 6d  = 0x0007 }..enum
afd0: 20 3a 20 75 69 6e 74 20 7b 20 50 42 54 5f 41 50   : uint { PBT_AP
afe0: 4d 52 45 53 55 4d 45 53 54 41 4e 44 42 59 20 3d  MRESUMESTANDBY =
aff0: 20 30 78 30 30 30 38 20 7d 0d 0a 0d 0a 65 6e 75   0x0008 }....enu
b000: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 42 54 46 5f  m : uint { PBTF_
b010: 41 50 4d 52 45 53 55 4d 45 46 52 4f 4d 46 41 49  APMRESUMEFROMFAI
b020: 4c 55 52 45 20 3d 20 30 78 30 30 30 30 30 30 30  LURE = 0x0000000
b030: 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  1 }....enum : ui
b040: 6e 74 20 7b 20 50 42 54 5f 41 50 4d 42 41 54 54  nt { PBT_APMBATT
b050: 45 52 59 4c 4f 57 20 3d 20 30 78 30 30 30 39 20  ERYLOW = 0x0009 
b060: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
b070: 20 50 42 54 5f 41 50 4d 50 4f 57 45 52 53 54 41   PBT_APMPOWERSTA
b080: 54 55 53 43 48 41 4e 47 45 20 3d 20 30 78 30 30  TUSCHANGE = 0x00
b090: 30 41 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  0A }....enum : u
b0a0: 69 6e 74 20 7b 20 50 42 54 5f 41 50 4d 4f 45 4d  int { PBT_APMOEM
b0b0: 45 56 45 4e 54 20 3d 20 30 78 30 30 30 42 20 7d  EVENT = 0x000B }
b0c0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
b0d0: 50 42 54 5f 41 50 4d 52 45 53 55 4d 45 41 55 54  PBT_APMRESUMEAUT
b0e0: 4f 4d 41 54 49 43 20 3d 20 30 78 30 30 31 32 20  OMATIC = 0x0012 
b0f0: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  }..// #endif....
b100: 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
b110: 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f  VER >= 0x0400 */
b120: 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45  ....// #if(WINVE
b130: 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  R >= 0x0400)..en
b140: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 44  um : uint { WM_D
b150: 45 56 49 43 45 43 48 41 4e 47 45 20 3d 20 30 78  EVICECHANGE = 0x
b160: 30 32 31 39 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0219 }..// #endi
b170: 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
b180: 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d  x0400 */....enum
b190: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4d 44 49   : uint { WM_MDI
b1a0: 43 52 45 41 54 45 20 3d 20 30 78 30 32 32 30 20  CREATE = 0x0220 
b1b0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
b1c0: 20 57 4d 5f 4d 44 49 44 45 53 54 52 4f 59 20 3d   WM_MDIDESTROY =
b1d0: 20 30 78 30 32 32 31 20 7d 0d 0a 65 6e 75 6d 20   0x0221 }..enum 
b1e0: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4d 44 49 41  : uint { WM_MDIA
b1f0: 43 54 49 56 41 54 45 20 3d 20 30 78 30 32 32 32  CTIVATE = 0x0222
b200: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
b210: 7b 20 57 4d 5f 4d 44 49 52 45 53 54 4f 52 45 20  { WM_MDIRESTORE 
b220: 3d 20 30 78 30 32 32 33 20 7d 0d 0a 65 6e 75 6d  = 0x0223 }..enum
b230: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4d 44 49   : uint { WM_MDI
b240: 4e 45 58 54 20 3d 20 30 78 30 32 32 34 20 7d 0d  NEXT = 0x0224 }.
b250: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
b260: 4d 5f 4d 44 49 4d 41 58 49 4d 49 5a 45 20 3d 20  M_MDIMAXIMIZE = 
b270: 30 78 30 32 32 35 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0225 }..enum :
b280: 20 75 69 6e 74 20 7b 20 57 4d 5f 4d 44 49 54 49   uint { WM_MDITI
b290: 4c 45 20 3d 20 30 78 30 32 32 36 20 7d 0d 0a 65  LE = 0x0226 }..e
b2a0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
b2b0: 4d 44 49 43 41 53 43 41 44 45 20 3d 20 30 78 30  MDICASCADE = 0x0
b2c0: 32 32 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  227 }..enum : ui
b2d0: 6e 74 20 7b 20 57 4d 5f 4d 44 49 49 43 4f 4e 41  nt { WM_MDIICONA
b2e0: 52 52 41 4e 47 45 20 3d 20 30 78 30 32 32 38 20  RRANGE = 0x0228 
b2f0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
b300: 20 57 4d 5f 4d 44 49 47 45 54 41 43 54 49 56 45   WM_MDIGETACTIVE
b310: 20 3d 20 30 78 30 32 32 39 20 7d 0d 0a 0d 0a 65   = 0x0229 }....e
b320: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
b330: 4d 44 49 53 45 54 4d 45 4e 55 20 3d 20 30 78 30  MDISETMENU = 0x0
b340: 32 33 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  230 }..enum : ui
b350: 6e 74 20 7b 20 57 4d 5f 45 4e 54 45 52 53 49 5a  nt { WM_ENTERSIZ
b360: 45 4d 4f 56 45 20 3d 20 30 78 30 32 33 31 20 7d  EMOVE = 0x0231 }
b370: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
b380: 57 4d 5f 45 58 49 54 53 49 5a 45 4d 4f 56 45 20  WM_EXITSIZEMOVE 
b390: 3d 20 30 78 30 32 33 32 20 7d 0d 0a 65 6e 75 6d  = 0x0232 }..enum
b3a0: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 44 52 4f   : uint { WM_DRO
b3b0: 50 46 49 4c 45 53 20 3d 20 30 78 30 32 33 33 20  PFILES = 0x0233 
b3c0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
b3d0: 20 57 4d 5f 4d 44 49 52 45 46 52 45 53 48 4d 45   WM_MDIREFRESHME
b3e0: 4e 55 20 3d 20 30 78 30 32 33 34 20 7d 0d 0a 0d  NU = 0x0234 }...
b3f0: 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e  .// #if(WINVER >
b400: 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0400)..enum 
b410: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 49 4d 45 5f  : uint { WM_IME_
b420: 53 45 54 43 4f 4e 54 45 58 54 20 3d 20 30 78 30  SETCONTEXT = 0x0
b430: 32 38 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  281 }..enum : ui
b440: 6e 74 20 7b 20 57 4d 5f 49 4d 45 5f 4e 4f 54 49  nt { WM_IME_NOTI
b450: 46 59 20 3d 20 30 78 30 32 38 32 20 7d 0d 0a 65  FY = 0x0282 }..e
b460: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
b470: 49 4d 45 5f 43 4f 4e 54 52 4f 4c 20 3d 20 30 78  IME_CONTROL = 0x
b480: 30 32 38 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0283 }..enum : u
b490: 69 6e 74 20 7b 20 57 4d 5f 49 4d 45 5f 43 4f 4d  int { WM_IME_COM
b4a0: 50 4f 53 49 54 49 4f 4e 46 55 4c 4c 20 3d 20 30  POSITIONFULL = 0
b4b0: 78 30 32 38 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0284 }..enum : 
b4c0: 75 69 6e 74 20 7b 20 57 4d 5f 49 4d 45 5f 53 45  uint { WM_IME_SE
b4d0: 4c 45 43 54 20 3d 20 30 78 30 32 38 35 20 7d 0d  LECT = 0x0285 }.
b4e0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
b4f0: 4d 5f 49 4d 45 5f 43 48 41 52 20 3d 20 30 78 30  M_IME_CHAR = 0x0
b500: 32 38 36 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  286 }..// #endif
b510: 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
b520: 30 34 30 30 20 2a 2f 0d 0a 2f 2f 20 23 69 66 28  0400 */..// #if(
b530: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30  WINVER >= 0x0500
b540: 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
b550: 20 57 4d 5f 49 4d 45 5f 52 45 51 55 45 53 54 20   WM_IME_REQUEST 
b560: 3d 20 30 78 30 32 38 38 20 7d 0d 0a 2f 2f 20 23  = 0x0288 }..// #
b570: 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
b580: 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 2f 2f  >= 0x0500 */..//
b590: 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
b5a0: 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0400)..enum : u
b5b0: 69 6e 74 20 7b 20 57 4d 5f 49 4d 45 5f 4b 45 59  int { WM_IME_KEY
b5c0: 44 4f 57 4e 20 3d 20 30 78 30 32 39 30 20 7d 0d  DOWN = 0x0290 }.
b5d0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
b5e0: 4d 5f 49 4d 45 5f 4b 45 59 55 50 20 3d 20 30 78  M_IME_KEYUP = 0x
b5f0: 30 32 39 31 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0291 }..// #endi
b600: 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
b610: 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23  x0400 */....// #
b620: 69 66 28 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  if((_WIN32_WINNT
b630: 20 3e 3d 20 30 78 30 34 30 30 29 20 7c 7c 20 28   >= 0x0400) || (
b640: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30  WINVER >= 0x0500
b650: 29 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ))..enum : uint 
b660: 7b 20 57 4d 5f 4d 4f 55 53 45 48 4f 56 45 52 20  { WM_MOUSEHOVER 
b670: 3d 20 30 78 30 32 41 31 20 7d 0d 0a 65 6e 75 6d  = 0x02A1 }..enum
b680: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 4d 4f 55   : uint { WM_MOU
b690: 53 45 4c 45 41 56 45 20 3d 20 30 78 30 32 41 33  SELEAVE = 0x02A3
b6a0: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f   }..// #endif../
b6b0: 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
b6c0: 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0500)..enum : 
b6d0: 75 69 6e 74 20 7b 20 57 4d 5f 4e 43 4d 4f 55 53  uint { WM_NCMOUS
b6e0: 45 48 4f 56 45 52 20 3d 20 30 78 30 32 41 30 20  EHOVER = 0x02A0 
b6f0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
b700: 20 57 4d 5f 4e 43 4d 4f 55 53 45 4c 45 41 56 45   WM_NCMOUSELEAVE
b710: 20 3d 20 30 78 30 32 41 32 20 7d 0d 0a 2f 2f 20   = 0x02A2 }..// 
b720: 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52  #endif /* WINVER
b730: 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d   >= 0x0500 */...
b740: 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57  .// #if(_WIN32_W
b750: 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d  INNT >= 0x0501).
b760: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
b770: 4d 5f 57 54 53 53 45 53 53 49 4f 4e 5f 43 48 41  M_WTSSESSION_CHA
b780: 4e 47 45 20 3d 20 30 78 30 32 42 31 20 7d 0d 0a  NGE = 0x02B1 }..
b790: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
b7a0: 57 4d 5f 54 41 42 4c 45 54 5f 46 49 52 53 54 20  WM_TABLET_FIRST 
b7b0: 3d 20 30 78 30 32 63 30 20 7d 0d 0a 65 6e 75 6d  = 0x02c0 }..enum
b7c0: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 54 41 42   : uint { WM_TAB
b7d0: 4c 45 54 5f 4c 41 53 54 20 3d 20 30 78 30 32 64  LET_LAST = 0x02d
b7e0: 66 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  f }..// #endif /
b7f0: 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e  * _WIN32_WINNT >
b800: 3d 20 30 78 30 35 30 31 20 2a 2f 0d 0a 0d 0a 65  = 0x0501 */....e
b810: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
b820: 43 55 54 20 3d 20 30 78 30 33 30 30 20 7d 0d 0a  CUT = 0x0300 }..
b830: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
b840: 5f 43 4f 50 59 20 3d 20 30 78 30 33 30 31 20 7d  _COPY = 0x0301 }
b850: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
b860: 57 4d 5f 50 41 53 54 45 20 3d 20 30 78 30 33 30  WM_PASTE = 0x030
b870: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
b880: 20 7b 20 57 4d 5f 43 4c 45 41 52 20 3d 20 30 78   { WM_CLEAR = 0x
b890: 30 33 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0303 }..enum : u
b8a0: 69 6e 74 20 7b 20 57 4d 5f 55 4e 44 4f 20 3d 20  int { WM_UNDO = 
b8b0: 30 78 30 33 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0304 }..enum :
b8c0: 20 75 69 6e 74 20 7b 20 57 4d 5f 52 45 4e 44 45   uint { WM_RENDE
b8d0: 52 46 4f 52 4d 41 54 20 3d 20 30 78 30 33 30 35  RFORMAT = 0x0305
b8e0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
b8f0: 7b 20 57 4d 5f 52 45 4e 44 45 52 41 4c 4c 46 4f  { WM_RENDERALLFO
b900: 52 4d 41 54 53 20 3d 20 30 78 30 33 30 36 20 7d  RMATS = 0x0306 }
b910: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
b920: 57 4d 5f 44 45 53 54 52 4f 59 43 4c 49 50 42 4f  WM_DESTROYCLIPBO
b930: 41 52 44 20 3d 20 30 78 30 33 30 37 20 7d 0d 0a  ARD = 0x0307 }..
b940: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
b950: 5f 44 52 41 57 43 4c 49 50 42 4f 41 52 44 20 3d  _DRAWCLIPBOARD =
b960: 20 30 78 30 33 30 38 20 7d 0d 0a 65 6e 75 6d 20   0x0308 }..enum 
b970: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 50 41 49 4e  : uint { WM_PAIN
b980: 54 43 4c 49 50 42 4f 41 52 44 20 3d 20 30 78 30  TCLIPBOARD = 0x0
b990: 33 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  309 }..enum : ui
b9a0: 6e 74 20 7b 20 57 4d 5f 56 53 43 52 4f 4c 4c 43  nt { WM_VSCROLLC
b9b0: 4c 49 50 42 4f 41 52 44 20 3d 20 30 78 30 33 30  LIPBOARD = 0x030
b9c0: 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  A }..enum : uint
b9d0: 20 7b 20 57 4d 5f 53 49 5a 45 43 4c 49 50 42 4f   { WM_SIZECLIPBO
b9e0: 41 52 44 20 3d 20 30 78 30 33 30 42 20 7d 0d 0a  ARD = 0x030B }..
b9f0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
ba00: 5f 41 53 4b 43 42 46 4f 52 4d 41 54 4e 41 4d 45  _ASKCBFORMATNAME
ba10: 20 3d 20 30 78 30 33 30 43 20 7d 0d 0a 65 6e 75   = 0x030C }..enu
ba20: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 43 48  m : uint { WM_CH
ba30: 41 4e 47 45 43 42 43 48 41 49 4e 20 3d 20 30 78  ANGECBCHAIN = 0x
ba40: 30 33 30 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  030D }..enum : u
ba50: 69 6e 74 20 7b 20 57 4d 5f 48 53 43 52 4f 4c 4c  int { WM_HSCROLL
ba60: 43 4c 49 50 42 4f 41 52 44 20 3d 20 30 78 30 33  CLIPBOARD = 0x03
ba70: 30 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0E }..enum : uin
ba80: 74 20 7b 20 57 4d 5f 51 55 45 52 59 4e 45 57 50  t { WM_QUERYNEWP
ba90: 41 4c 45 54 54 45 20 3d 20 30 78 30 33 30 46 20  ALETTE = 0x030F 
baa0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
bab0: 20 57 4d 5f 50 41 4c 45 54 54 45 49 53 43 48 41   WM_PALETTEISCHA
bac0: 4e 47 49 4e 47 20 3d 20 30 78 30 33 31 30 20 7d  NGING = 0x0310 }
bad0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
bae0: 57 4d 5f 50 41 4c 45 54 54 45 43 48 41 4e 47 45  WM_PALETTECHANGE
baf0: 44 20 3d 20 30 78 30 33 31 31 20 7d 0d 0a 65 6e  D = 0x0311 }..en
bb00: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 48  um : uint { WM_H
bb10: 4f 54 4b 45 59 20 3d 20 30 78 30 33 31 32 20 7d  OTKEY = 0x0312 }
bb20: 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45  ....// #if(WINVE
bb30: 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  R >= 0x0400)..en
bb40: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 50  um : uint { WM_P
bb50: 52 49 4e 54 20 3d 20 30 78 30 33 31 37 20 7d 0d  RINT = 0x0317 }.
bb60: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
bb70: 4d 5f 50 52 49 4e 54 43 4c 49 45 4e 54 20 3d 20  M_PRINTCLIENT = 
bb80: 30 78 30 33 31 38 20 7d 0d 0a 2f 2f 20 23 65 6e  0x0318 }..// #en
bb90: 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d  dif /* WINVER >=
bba0: 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f   0x0400 */....//
bbb0: 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e   #if(_WIN32_WINN
bbc0: 54 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e  T >= 0x0500)..en
bbd0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 41  um : uint { WM_A
bbe0: 50 50 43 4f 4d 4d 41 4e 44 20 3d 20 30 78 30 33  PPCOMMAND = 0x03
bbf0: 31 39 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  19 }..// #endif 
bc00: 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  /* _WIN32_WINNT 
bc10: 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0500 */....
bc20: 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49  // #if(_WIN32_WI
bc30: 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a  NNT >= 0x0501)..
bc40: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
bc50: 5f 54 48 45 4d 45 43 48 41 4e 47 45 44 20 3d 20  _THEMECHANGED = 
bc60: 30 78 30 33 31 41 20 7d 0d 0a 2f 2f 20 23 65 6e  0x031A }..// #en
bc70: 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49  dif /* _WIN32_WI
bc80: 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f  NNT >= 0x0501 */
bc90: 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45  ....// #if(WINVE
bca0: 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a  R >= 0x0400)....
bcb0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
bcc0: 5f 48 41 4e 44 48 45 4c 44 46 49 52 53 54 20 3d  _HANDHELDFIRST =
bcd0: 20 30 78 30 33 35 38 20 7d 0d 0a 65 6e 75 6d 20   0x0358 }..enum 
bce0: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 48 41 4e 44  : uint { WM_HAND
bcf0: 48 45 4c 44 4c 41 53 54 20 3d 20 30 78 30 33 35  HELDLAST = 0x035
bd00: 46 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  F }....enum : ui
bd10: 6e 74 20 7b 20 57 4d 5f 41 46 58 46 49 52 53 54  nt { WM_AFXFIRST
bd20: 20 3d 20 30 78 30 33 36 30 20 7d 0d 0a 65 6e 75   = 0x0360 }..enu
bd30: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 41 46  m : uint { WM_AF
bd40: 58 4c 41 53 54 20 3d 20 30 78 30 33 37 46 20 7d  XLAST = 0x037F }
bd50: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
bd60: 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20  INVER >= 0x0400 
bd70: 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  */....enum : uin
bd80: 74 20 7b 20 57 4d 5f 50 45 4e 57 49 4e 46 49 52  t { WM_PENWINFIR
bd90: 53 54 20 3d 20 30 78 30 33 38 30 20 7d 0d 0a 65  ST = 0x0380 }..e
bda0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f  num : uint { WM_
bdb0: 50 45 4e 57 49 4e 4c 41 53 54 20 3d 20 30 78 30  PENWINLAST = 0x0
bdc0: 33 38 46 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 28  38F }....// #if(
bdd0: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
bde0: 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
bdf0: 20 57 4d 5f 41 50 50 20 3d 20 30 78 38 30 30 30   WM_APP = 0x8000
be00: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
be10: 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30   WINVER >= 0x040
be20: 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  0 */....enum : u
be30: 69 6e 74 20 7b 20 57 4d 5f 55 53 45 52 20 3d 20  int { WM_USER = 
be40: 30 78 30 34 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23  0x0400 }....// #
be50: 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  if(WINVER >= 0x0
be60: 34 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  400)....enum : u
be70: 69 6e 74 20 7b 20 57 4d 53 5a 5f 4c 45 46 54 20  int { WMSZ_LEFT 
be80: 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 1 }..enum : ui
be90: 6e 74 20 7b 20 57 4d 53 5a 5f 52 49 47 48 54 20  nt { WMSZ_RIGHT 
bea0: 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 2 }..enum : ui
beb0: 6e 74 20 7b 20 57 4d 53 5a 5f 54 4f 50 20 3d 20  nt { WMSZ_TOP = 
bec0: 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
bed0: 20 7b 20 57 4d 53 5a 5f 54 4f 50 4c 45 46 54 20   { WMSZ_TOPLEFT 
bee0: 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 4 }..enum : ui
bef0: 6e 74 20 7b 20 57 4d 53 5a 5f 54 4f 50 52 49 47  nt { WMSZ_TOPRIG
bf00: 48 54 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a  HT = 5 }..enum :
bf10: 20 75 69 6e 74 20 7b 20 57 4d 53 5a 5f 42 4f 54   uint { WMSZ_BOT
bf20: 54 4f 4d 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20  TOM = 6 }..enum 
bf30: 3a 20 75 69 6e 74 20 7b 20 57 4d 53 5a 5f 42 4f  : uint { WMSZ_BO
bf40: 54 54 4f 4d 4c 45 46 54 20 3d 20 37 20 7d 0d 0a  TTOMLEFT = 7 }..
bf50: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d  enum : uint { WM
bf60: 53 5a 5f 42 4f 54 54 4f 4d 52 49 47 48 54 20 3d  SZ_BOTTOMRIGHT =
bf70: 20 38 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20   8 }..// #endif 
bf80: 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
bf90: 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66  400 */....// #if
bfa0: 6e 64 65 66 20 4e 4f 4e 43 4d 45 53 53 41 47 45  ndef NONCMESSAGE
bfb0: 53 0d 0a 0d 0a 65 6e 75 6d 20 7b 20 48 54 45 52  S....enum { HTER
bfc0: 52 4f 52 20 3d 20 2d 32 20 7d 0d 0a 65 6e 75 6d  ROR = -2 }..enum
bfd0: 20 7b 20 48 54 54 52 41 4e 53 50 41 52 45 4e 54   { HTTRANSPARENT
bfe0: 20 3d 20 2d 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = -1 }..enum : 
bff0: 75 69 6e 74 20 7b 20 48 54 4e 4f 57 48 45 52 45  uint { HTNOWHERE
c000: 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 0 }..enum : u
c010: 69 6e 74 20 7b 20 48 54 43 4c 49 45 4e 54 20 3d  int { HTCLIENT =
c020: 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
c030: 74 20 7b 20 48 54 43 41 50 54 49 4f 4e 20 3d 20  t { HTCAPTION = 
c040: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
c050: 20 7b 20 48 54 53 59 53 4d 45 4e 55 20 3d 20 33   { HTSYSMENU = 3
c060: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
c070: 7b 20 48 54 47 52 4f 57 42 4f 58 20 3d 20 34 20  { HTGROWBOX = 4 
c080: 7d 0d 0a 61 6c 69 61 73 20 48 54 47 52 4f 57 42  }..alias HTGROWB
c090: 4f 58 20 48 54 53 49 5a 45 3b 0d 0a 65 6e 75 6d  OX HTSIZE;..enum
c0a0: 20 3a 20 75 69 6e 74 20 7b 20 48 54 4d 45 4e 55   : uint { HTMENU
c0b0: 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 5 }..enum : u
c0c0: 69 6e 74 20 7b 20 48 54 48 53 43 52 4f 4c 4c 20  int { HTHSCROLL 
c0d0: 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 6 }..enum : ui
c0e0: 6e 74 20 7b 20 48 54 56 53 43 52 4f 4c 4c 20 3d  nt { HTVSCROLL =
c0f0: 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   7 }..enum : uin
c100: 74 20 7b 20 48 54 4d 49 4e 42 55 54 54 4f 4e 20  t { HTMINBUTTON 
c110: 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 8 }..enum : ui
c120: 6e 74 20 7b 20 48 54 4d 41 58 42 55 54 54 4f 4e  nt { HTMAXBUTTON
c130: 20 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 9 }..enum : u
c140: 69 6e 74 20 7b 20 48 54 4c 45 46 54 20 3d 20 31  int { HTLEFT = 1
c150: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
c160: 20 7b 20 48 54 52 49 47 48 54 20 3d 20 31 31 20   { HTRIGHT = 11 
c170: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
c180: 20 48 54 54 4f 50 20 3d 20 31 32 20 7d 0d 0a 65   HTTOP = 12 }..e
c190: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 54 54  num : uint { HTT
c1a0: 4f 50 4c 45 46 54 20 3d 20 31 33 20 7d 0d 0a 65  OPLEFT = 13 }..e
c1b0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 54 54  num : uint { HTT
c1c0: 4f 50 52 49 47 48 54 20 3d 20 31 34 20 7d 0d 0a  OPRIGHT = 14 }..
c1d0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 54  enum : uint { HT
c1e0: 42 4f 54 54 4f 4d 20 3d 20 31 35 20 7d 0d 0a 65  BOTTOM = 15 }..e
c1f0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 54 42  num : uint { HTB
c200: 4f 54 54 4f 4d 4c 45 46 54 20 3d 20 31 36 20 7d  OTTOMLEFT = 16 }
c210: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
c220: 48 54 42 4f 54 54 4f 4d 52 49 47 48 54 20 3d 20  HTBOTTOMRIGHT = 
c230: 31 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  17 }..enum : uin
c240: 74 20 7b 20 48 54 42 4f 52 44 45 52 20 3d 20 31  t { HTBORDER = 1
c250: 38 20 7d 0d 0a 61 6c 69 61 73 20 48 54 4d 49 4e  8 }..alias HTMIN
c260: 42 55 54 54 4f 4e 20 48 54 52 45 44 55 43 45 3b  BUTTON HTREDUCE;
c270: 0d 0a 61 6c 69 61 73 20 48 54 4d 41 58 42 55 54  ..alias HTMAXBUT
c280: 54 4f 4e 20 48 54 5a 4f 4f 4d 3b 0d 0a 61 6c 69  TON HTZOOM;..ali
c290: 61 73 20 48 54 4c 45 46 54 20 48 54 53 49 5a 45  as HTLEFT HTSIZE
c2a0: 46 49 52 53 54 3b 0d 0a 61 6c 69 61 73 20 48 54  FIRST;..alias HT
c2b0: 42 4f 54 54 4f 4d 52 49 47 48 54 20 48 54 53 49  BOTTOMRIGHT HTSI
c2c0: 5a 45 4c 41 53 54 3b 0d 0a 2f 2f 20 23 69 66 28  ZELAST;..// #if(
c2d0: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
c2e0: 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
c2f0: 20 48 54 4f 42 4a 45 43 54 20 3d 20 31 39 20 7d   HTOBJECT = 19 }
c300: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
c310: 48 54 43 4c 4f 53 45 20 3d 20 32 30 20 7d 0d 0a  HTCLOSE = 20 }..
c320: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 54  enum : uint { HT
c330: 48 45 4c 50 20 3d 20 32 31 20 7d 0d 0a 2f 2f 20  HELP = 21 }..// 
c340: 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52  #endif /* WINVER
c350: 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d   >= 0x0400 */...
c360: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
c370: 4d 54 4f 5f 4e 4f 52 4d 41 4c 20 3d 20 30 78 30  MTO_NORMAL = 0x0
c380: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
c390: 6e 74 20 7b 20 53 4d 54 4f 5f 42 4c 4f 43 4b 20  nt { SMTO_BLOCK 
c3a0: 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  = 0x0001 }..enum
c3b0: 20 3a 20 75 69 6e 74 20 7b 20 53 4d 54 4f 5f 41   : uint { SMTO_A
c3c0: 42 4f 52 54 49 46 48 55 4e 47 20 3d 20 30 78 30  BORTIFHUNG = 0x0
c3d0: 30 30 32 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49  002 }..// #if(WI
c3e0: 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d  NVER >= 0x0500).
c3f0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
c400: 4d 54 4f 5f 4e 4f 54 49 4d 45 4f 55 54 49 46 4e  MTO_NOTIMEOUTIFN
c410: 4f 54 48 55 4e 47 20 3d 20 30 78 30 30 30 38 20  OTHUNG = 0x0008 
c420: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  }..// #endif /* 
c430: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30  WINVER >= 0x0500
c440: 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f   */..// #endif /
c450: 2a 20 21 4e 4f 4e 43 4d 45 53 53 41 47 45 53 20  * !NONCMESSAGES 
c460: 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  */....enum : uin
c470: 74 20 7b 20 4d 41 5f 41 43 54 49 56 41 54 45 20  t { MA_ACTIVATE 
c480: 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 1 }..enum : ui
c490: 6e 74 20 7b 20 4d 41 5f 41 43 54 49 56 41 54 45  nt { MA_ACTIVATE
c4a0: 41 4e 44 45 41 54 20 3d 20 32 20 7d 0d 0a 65 6e  ANDEAT = 2 }..en
c4b0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 41 5f 4e  um : uint { MA_N
c4c0: 4f 41 43 54 49 56 41 54 45 20 3d 20 33 20 7d 0d  OACTIVATE = 3 }.
c4d0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
c4e0: 41 5f 4e 4f 41 43 54 49 56 41 54 45 41 4e 44 45  A_NOACTIVATEANDE
c4f0: 41 54 20 3d 20 34 20 7d 0d 0a 0d 0a 65 6e 75 6d  AT = 4 }....enum
c500: 20 3a 20 75 69 6e 74 20 7b 20 49 43 4f 4e 5f 53   : uint { ICON_S
c510: 4d 41 4c 4c 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d  MALL = 0 }..enum
c520: 20 3a 20 75 69 6e 74 20 7b 20 49 43 4f 4e 5f 42   : uint { ICON_B
c530: 49 47 20 3d 20 31 20 7d 0d 0a 2f 2f 20 23 69 66  IG = 1 }..// #if
c540: 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
c550: 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 3a   0x0501)..enum :
c560: 20 75 69 6e 74 20 7b 20 49 43 4f 4e 5f 53 4d 41   uint { ICON_SMA
c570: 4c 4c 32 20 3d 20 32 20 7d 0d 0a 2f 2f 20 23 65  LL2 = 2 }..// #e
c580: 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57  ndif /* _WIN32_W
c590: 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a  INNT >= 0x0501 *
c5a0: 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  /....extern(Wind
c5b0: 6f 77 73 29 20 65 78 70 6f 72 74 20 55 49 4e 54  ows) export UINT
c5c0: 20 52 65 67 69 73 74 65 72 57 69 6e 64 6f 77 4d   RegisterWindowM
c5d0: 65 73 73 61 67 65 41 28 0d 0a 20 20 4c 50 43 53  essageA(..  LPCS
c5e0: 54 52 20 6c 70 53 74 72 69 6e 67 29 3b 0d 0a 65  TR lpString);..e
c5f0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
c600: 78 70 6f 72 74 20 55 49 4e 54 20 52 65 67 69 73  xport UINT Regis
c610: 74 65 72 57 69 6e 64 6f 77 4d 65 73 73 61 67 65  terWindowMessage
c620: 57 28 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70  W(..  LPCWSTR lp
c630: 53 74 72 69 6e 67 29 3b 0d 0a 2f 2f 20 23 69 66  String);..// #if
c640: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69  def UNICODE..ali
c650: 61 73 20 52 65 67 69 73 74 65 72 57 69 6e 64 6f  as RegisterWindo
c660: 77 4d 65 73 73 61 67 65 57 20 52 65 67 69 73 74  wMessageW Regist
c670: 65 72 57 69 6e 64 6f 77 4d 65 73 73 61 67 65 3b  erWindowMessage;
c680: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
c690: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
c6a0: 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e  / !UNICODE....en
c6b0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 49 5a 45  um : uint { SIZE
c6c0: 5f 52 45 53 54 4f 52 45 44 20 3d 20 30 20 7d 0d  _RESTORED = 0 }.
c6d0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
c6e0: 49 5a 45 5f 4d 49 4e 49 4d 49 5a 45 44 20 3d 20  IZE_MINIMIZED = 
c6f0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
c700: 20 7b 20 53 49 5a 45 5f 4d 41 58 49 4d 49 5a 45   { SIZE_MAXIMIZE
c710: 44 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  D = 2 }..enum : 
c720: 75 69 6e 74 20 7b 20 53 49 5a 45 5f 4d 41 58 53  uint { SIZE_MAXS
c730: 48 4f 57 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20  HOW = 3 }..enum 
c740: 3a 20 75 69 6e 74 20 7b 20 53 49 5a 45 5f 4d 41  : uint { SIZE_MA
c750: 58 48 49 44 45 20 3d 20 34 20 7d 0d 0a 0d 0a 61  XHIDE = 4 }....a
c760: 6c 69 61 73 20 53 49 5a 45 5f 52 45 53 54 4f 52  lias SIZE_RESTOR
c770: 45 44 20 53 49 5a 45 4e 4f 52 4d 41 4c 3b 0d 0a  ED SIZENORMAL;..
c780: 61 6c 69 61 73 20 53 49 5a 45 5f 4d 49 4e 49 4d  alias SIZE_MINIM
c790: 49 5a 45 44 20 53 49 5a 45 49 43 4f 4e 49 43 3b  IZED SIZEICONIC;
c7a0: 0d 0a 61 6c 69 61 73 20 53 49 5a 45 5f 4d 41 58  ..alias SIZE_MAX
c7b0: 49 4d 49 5a 45 44 20 53 49 5a 45 46 55 4c 4c 53  IMIZED SIZEFULLS
c7c0: 43 52 45 45 4e 3b 0d 0a 61 6c 69 61 73 20 53 49  CREEN;..alias SI
c7d0: 5a 45 5f 4d 41 58 53 48 4f 57 20 53 49 5a 45 5a  ZE_MAXSHOW SIZEZ
c7e0: 4f 4f 4d 53 48 4f 57 3b 0d 0a 61 6c 69 61 73 20  OOMSHOW;..alias 
c7f0: 53 49 5a 45 5f 4d 41 58 48 49 44 45 20 53 49 5a  SIZE_MAXHIDE SIZ
c800: 45 5a 4f 4f 4d 48 49 44 45 3b 0d 0a 0d 0a 73 74  EZOOMHIDE;....st
c810: 72 75 63 74 20 74 61 67 57 49 4e 44 4f 57 50 4f  ruct tagWINDOWPO
c820: 53 20 7b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64  S {..  HWND hwnd
c830: 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 49 6e  ;..  HWND hwndIn
c840: 73 65 72 74 41 66 74 65 72 3b 0d 0a 20 20 69 6e  sertAfter;..  in
c850: 74 20 78 3b 0d 0a 20 20 69 6e 74 20 79 3b 0d 0a  t x;..  int y;..
c860: 20 20 69 6e 74 20 63 78 3b 0d 0a 20 20 69 6e 74    int cx;..  int
c870: 20 63 79 3b 0d 0a 20 20 55 49 4e 54 20 66 6c 61   cy;..  UINT fla
c880: 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  gs;..}..alias ta
c890: 67 57 49 4e 44 4f 57 50 4f 53 20 57 49 4e 44 4f  gWINDOWPOS WINDO
c8a0: 57 50 4f 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67  WPOS;..alias tag
c8b0: 57 49 4e 44 4f 57 50 4f 53 2a 20 4c 50 57 49 4e  WINDOWPOS* LPWIN
c8c0: 44 4f 57 50 4f 53 3b 0d 0a 61 6c 69 61 73 20 74  DOWPOS;..alias t
c8d0: 61 67 57 49 4e 44 4f 57 50 4f 53 2a 20 50 57 49  agWINDOWPOS* PWI
c8e0: 4e 44 4f 57 50 4f 53 3b 0d 0a 0d 0a 73 74 72 75  NDOWPOS;....stru
c8f0: 63 74 20 74 61 67 4e 43 43 41 4c 43 53 49 5a 45  ct tagNCCALCSIZE
c900: 5f 50 41 52 41 4d 53 20 7b 0d 0a 20 20 52 45 43  _PARAMS {..  REC
c910: 54 20 72 67 72 63 5b 33 5d 3b 0d 0a 20 20 50 57  T rgrc[3];..  PW
c920: 49 4e 44 4f 57 50 4f 53 20 6c 70 70 6f 73 3b 0d  INDOWPOS lppos;.
c930: 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 43 43  .}..alias tagNCC
c940: 41 4c 43 53 49 5a 45 5f 50 41 52 41 4d 53 20 4e  ALCSIZE_PARAMS N
c950: 43 43 41 4c 43 53 49 5a 45 5f 50 41 52 41 4d 53  CCALCSIZE_PARAMS
c960: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 43 43 41  ;..alias tagNCCA
c970: 4c 43 53 49 5a 45 5f 50 41 52 41 4d 53 2a 20 4c  LCSIZE_PARAMS* L
c980: 50 4e 43 43 41 4c 43 53 49 5a 45 5f 50 41 52 41  PNCCALCSIZE_PARA
c990: 4d 53 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  MS;....enum : ui
c9a0: 6e 74 20 7b 20 57 56 52 5f 41 4c 49 47 4e 54 4f  nt { WVR_ALIGNTO
c9b0: 50 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e  P = 0x0010 }..en
c9c0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 56 52 5f  um : uint { WVR_
c9d0: 41 4c 49 47 4e 4c 45 46 54 20 3d 20 30 78 30 30  ALIGNLEFT = 0x00
c9e0: 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  20 }..enum : uin
c9f0: 74 20 7b 20 57 56 52 5f 41 4c 49 47 4e 42 4f 54  t { WVR_ALIGNBOT
ca00: 54 4f 4d 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a  TOM = 0x0040 }..
ca10: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 56  enum : uint { WV
ca20: 52 5f 41 4c 49 47 4e 52 49 47 48 54 20 3d 20 30  R_ALIGNRIGHT = 0
ca30: 78 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0080 }..enum : 
ca40: 75 69 6e 74 20 7b 20 57 56 52 5f 48 52 45 44 52  uint { WVR_HREDR
ca50: 41 57 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 65  AW = 0x0100 }..e
ca60: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 56 52  num : uint { WVR
ca70: 5f 56 52 45 44 52 41 57 20 3d 20 30 78 30 32 30  _VREDRAW = 0x020
ca80: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
ca90: 20 7b 20 57 56 52 5f 52 45 44 52 41 57 20 3d 20   { WVR_REDRAW = 
caa0: 57 56 52 5f 48 52 45 44 52 41 57 20 7c 20 57 56  WVR_HREDRAW | WV
cab0: 52 5f 56 52 45 44 52 41 57 20 7d 0d 0a 65 6e 75  R_VREDRAW }..enu
cac0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 56 52 5f 56  m : uint { WVR_V
cad0: 41 4c 49 44 52 45 43 54 53 20 3d 20 30 78 30 34  ALIDRECTS = 0x04
cae0: 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  00 }....// #ifnd
caf0: 65 66 20 4e 4f 4b 45 59 53 54 41 54 45 53 0d 0a  ef NOKEYSTATES..
cb00: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
cb10: 4d 4b 5f 4c 42 55 54 54 4f 4e 20 3d 20 30 78 30  MK_LBUTTON = 0x0
cb20: 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
cb30: 6e 74 20 7b 20 4d 4b 5f 52 42 55 54 54 4f 4e 20  nt { MK_RBUTTON 
cb40: 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
cb50: 20 3a 20 75 69 6e 74 20 7b 20 4d 4b 5f 53 48 49   : uint { MK_SHI
cb60: 46 54 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65  FT = 0x0004 }..e
cb70: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4b 5f  num : uint { MK_
cb80: 43 4f 4e 54 52 4f 4c 20 3d 20 30 78 30 30 30 38  CONTROL = 0x0008
cb90: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
cba0: 7b 20 4d 4b 5f 4d 42 55 54 54 4f 4e 20 3d 20 30  { MK_MBUTTON = 0
cbb0: 78 30 30 31 30 20 7d 0d 0a 2f 2f 20 23 69 66 28  x0010 }..// #if(
cbc0: 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
cbd0: 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0500)..enum : 
cbe0: 75 69 6e 74 20 7b 20 4d 4b 5f 58 42 55 54 54 4f  uint { MK_XBUTTO
cbf0: 4e 31 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65  N1 = 0x0020 }..e
cc00: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4b 5f  num : uint { MK_
cc10: 58 42 55 54 54 4f 4e 32 20 3d 20 30 78 30 30 34  XBUTTON2 = 0x004
cc20: 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  0 }..// #endif /
cc30: 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e  * _WIN32_WINNT >
cc40: 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f  = 0x0500 */..../
cc50: 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 4b  / #endif /* !NOK
cc60: 45 59 53 54 41 54 45 53 20 2a 2f 0d 0a 0d 0a 2f  EYSTATES */..../
cc70: 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e  / #if(_WIN32_WIN
cc80: 4e 54 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 2f  NT >= 0x0400)../
cc90: 2f 20 23 69 66 6e 64 65 66 20 4e 4f 54 52 41 43  / #ifndef NOTRAC
cca0: 4b 4d 4f 55 53 45 45 56 45 4e 54 0d 0a 0d 0a 65  KMOUSEEVENT....e
ccb0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4d 45  num : uint { TME
ccc0: 5f 48 4f 56 45 52 20 3d 20 30 78 30 30 30 30 30  _HOVER = 0x00000
ccd0: 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
cce0: 6e 74 20 7b 20 54 4d 45 5f 4c 45 41 56 45 20 3d  nt { TME_LEAVE =
ccf0: 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 2f   0x00000002 }../
cd00: 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
cd10: 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0500)..enum : 
cd20: 75 69 6e 74 20 7b 20 54 4d 45 5f 4e 4f 4e 43 4c  uint { TME_NONCL
cd30: 49 45 4e 54 20 3d 20 30 78 30 30 30 30 30 30 31  IENT = 0x0000001
cd40: 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  0 }..// #endif /
cd50: 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35  * WINVER >= 0x05
cd60: 30 30 20 2a 2f 0d 0a 65 6e 75 6d 20 3a 20 75 69  00 */..enum : ui
cd70: 6e 74 20 7b 20 54 4d 45 5f 51 55 45 52 59 20 3d  nt { TME_QUERY =
cd80: 20 30 78 34 30 30 30 30 30 30 30 20 7d 0d 0a 65   0x40000000 }..e
cd90: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4d 45  num : uint { TME
cda0: 5f 43 41 4e 43 45 4c 20 3d 20 30 78 38 30 30 30  _CANCEL = 0x8000
cdb0: 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0000 }....enum :
cdc0: 20 75 69 6e 74 20 7b 20 48 4f 56 45 52 5f 44 45   uint { HOVER_DE
cdd0: 46 41 55 4c 54 20 3d 20 30 78 46 46 46 46 46 46  FAULT = 0xFFFFFF
cde0: 46 46 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  FF }..// #endif 
cdf0: 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  /* _WIN32_WINNT 
ce00: 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0400 */....
ce10: 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49  // #if(_WIN32_WI
ce20: 4e 4e 54 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  NNT >= 0x0400)..
ce30: 73 74 72 75 63 74 20 74 61 67 54 52 41 43 4b 4d  struct tagTRACKM
ce40: 4f 55 53 45 45 56 45 4e 54 20 7b 0d 0a 20 20 44  OUSEEVENT {..  D
ce50: 57 4f 52 44 20 63 62 53 69 7a 65 3b 0d 0a 20 20  WORD cbSize;..  
ce60: 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a  DWORD dwFlags;..
ce70: 20 20 48 57 4e 44 20 68 77 6e 64 54 72 61 63 6b    HWND hwndTrack
ce80: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 48 6f 76  ;..  DWORD dwHov
ce90: 65 72 54 69 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61  erTime;..}..alia
cea0: 73 20 74 61 67 54 52 41 43 4b 4d 4f 55 53 45 45  s tagTRACKMOUSEE
ceb0: 56 45 4e 54 20 54 52 41 43 4b 4d 4f 55 53 45 45  VENT TRACKMOUSEE
cec0: 56 45 4e 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67  VENT;..alias tag
ced0: 54 52 41 43 4b 4d 4f 55 53 45 45 56 45 4e 54 2a  TRACKMOUSEEVENT*
cee0: 20 4c 50 54 52 41 43 4b 4d 4f 55 53 45 45 56 45   LPTRACKMOUSEEVE
cef0: 4e 54 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  NT;....extern(Wi
cf00: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
cf10: 4f 4c 20 54 72 61 63 6b 4d 6f 75 73 65 45 76 65  OL TrackMouseEve
cf20: 6e 74 28 0d 0a 20 20 4c 50 54 52 41 43 4b 4d 4f  nt(..  LPTRACKMO
cf30: 55 53 45 45 56 45 4e 54 20 6c 70 45 76 65 6e 74  USEEVENT lpEvent
cf40: 54 72 61 63 6b 29 3b 0d 0a 2f 2f 20 23 65 6e 64  Track);..// #end
cf50: 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e  if /* _WIN32_WIN
cf60: 4e 54 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  NT >= 0x0400 */.
cf70: 0a 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32  ...// #if(_WIN32
cf80: 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 34 30 30  _WINNT >= 0x0400
cf90: 29 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  )....// #endif /
cfa0: 2a 20 21 4e 4f 54 52 41 43 4b 4d 4f 55 53 45 45  * !NOTRACKMOUSEE
cfb0: 56 45 4e 54 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64  VENT */..// #end
cfc0: 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e  if /* _WIN32_WIN
cfd0: 4e 54 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  NT >= 0x0400 */.
cfe0: 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
cff0: 21 4e 4f 57 49 4e 4d 45 53 53 41 47 45 53 20 2a  !NOWINMESSAGES *
d000: 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  /....// #ifndef 
d010: 4e 4f 57 49 4e 53 54 59 4c 45 53 0d 0a 0d 0a 65  NOWINSTYLES....e
d020: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f  num : uint { WS_
d030: 4f 56 45 52 4c 41 50 50 45 44 20 3d 20 30 78 30  OVERLAPPED = 0x0
d040: 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000000 }..enum 
d050: 3a 20 75 69 6e 74 20 7b 20 57 53 5f 50 4f 50 55  : uint { WS_POPU
d060: 50 20 3d 20 30 78 38 30 30 30 30 30 30 30 20 7d  P = 0x80000000 }
d070: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
d080: 57 53 5f 43 48 49 4c 44 20 3d 20 30 78 34 30 30  WS_CHILD = 0x400
d090: 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
d0a0: 75 69 6e 74 20 7b 20 57 53 5f 4d 49 4e 49 4d 49  uint { WS_MINIMI
d0b0: 5a 45 20 3d 20 30 78 32 30 30 30 30 30 30 30 20  ZE = 0x20000000 
d0c0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
d0d0: 20 57 53 5f 56 49 53 49 42 4c 45 20 3d 20 30 78   WS_VISIBLE = 0x
d0e0: 31 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  10000000 }..enum
d0f0: 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 44 49 53   : uint { WS_DIS
d100: 41 42 4c 45 44 20 3d 20 30 78 30 38 30 30 30 30  ABLED = 0x080000
d110: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
d120: 74 20 7b 20 57 53 5f 43 4c 49 50 53 49 42 4c 49  t { WS_CLIPSIBLI
d130: 4e 47 53 20 3d 20 30 78 30 34 30 30 30 30 30 30  NGS = 0x04000000
d140: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
d150: 7b 20 57 53 5f 43 4c 49 50 43 48 49 4c 44 52 45  { WS_CLIPCHILDRE
d160: 4e 20 3d 20 30 78 30 32 30 30 30 30 30 30 20 7d  N = 0x02000000 }
d170: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
d180: 57 53 5f 4d 41 58 49 4d 49 5a 45 20 3d 20 30 78  WS_MAXIMIZE = 0x
d190: 30 31 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  01000000 }..enum
d1a0: 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 43 41 50   : uint { WS_CAP
d1b0: 54 49 4f 4e 20 3d 20 30 78 30 30 43 30 30 30 30  TION = 0x00C0000
d1c0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
d1d0: 20 7b 20 57 53 5f 42 4f 52 44 45 52 20 3d 20 30   { WS_BORDER = 0
d1e0: 78 30 30 38 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x00800000 }..enu
d1f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 44 4c  m : uint { WS_DL
d200: 47 46 52 41 4d 45 20 3d 20 30 78 30 30 34 30 30  GFRAME = 0x00400
d210: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
d220: 6e 74 20 7b 20 57 53 5f 56 53 43 52 4f 4c 4c 20  nt { WS_VSCROLL 
d230: 3d 20 30 78 30 30 32 30 30 30 30 30 20 7d 0d 0a  = 0x00200000 }..
d240: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53  enum : uint { WS
d250: 5f 48 53 43 52 4f 4c 4c 20 3d 20 30 78 30 30 31  _HSCROLL = 0x001
d260: 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
d270: 75 69 6e 74 20 7b 20 57 53 5f 53 59 53 4d 45 4e  uint { WS_SYSMEN
d280: 55 20 3d 20 30 78 30 30 30 38 30 30 30 30 20 7d  U = 0x00080000 }
d290: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
d2a0: 57 53 5f 54 48 49 43 4b 46 52 41 4d 45 20 3d 20  WS_THICKFRAME = 
d2b0: 30 78 30 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e  0x00040000 }..en
d2c0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 47  um : uint { WS_G
d2d0: 52 4f 55 50 20 3d 20 30 78 30 30 30 32 30 30 30  ROUP = 0x0002000
d2e0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
d2f0: 20 7b 20 57 53 5f 54 41 42 53 54 4f 50 20 3d 20   { WS_TABSTOP = 
d300: 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 0d 0a  0x00010000 }....
d310: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53  enum : uint { WS
d320: 5f 4d 49 4e 49 4d 49 5a 45 42 4f 58 20 3d 20 30  _MINIMIZEBOX = 0
d330: 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75  x00020000 }..enu
d340: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 4d 41  m : uint { WS_MA
d350: 58 49 4d 49 5a 45 42 4f 58 20 3d 20 30 78 30 30  XIMIZEBOX = 0x00
d360: 30 31 30 30 30 30 20 7d 0d 0a 0d 0a 61 6c 69 61  010000 }....alia
d370: 73 20 57 53 5f 4f 56 45 52 4c 41 50 50 45 44 20  s WS_OVERLAPPED 
d380: 57 53 5f 54 49 4c 45 44 3b 0d 0a 61 6c 69 61 73  WS_TILED;..alias
d390: 20 57 53 5f 4d 49 4e 49 4d 49 5a 45 20 57 53 5f   WS_MINIMIZE WS_
d3a0: 49 43 4f 4e 49 43 3b 0d 0a 61 6c 69 61 73 20 57  ICONIC;..alias W
d3b0: 53 5f 54 48 49 43 4b 46 52 41 4d 45 20 57 53 5f  S_THICKFRAME WS_
d3c0: 53 49 5a 45 42 4f 58 3b 0d 0a 2f 2f 20 23 64 65  SIZEBOX;..// #de
d3d0: 66 69 6e 65 20 57 53 5f 54 49 4c 45 44 57 49 4e  fine WS_TILEDWIN
d3e0: 44 4f 57 20 57 53 5f 4f 56 45 52 4c 41 50 50 45  DOW WS_OVERLAPPE
d3f0: 44 57 49 4e 44 4f 57 0d 0a 0d 0a 65 6e 75 6d 20  DWINDOW....enum 
d400: 3a 20 75 69 6e 74 20 7b 20 57 53 5f 4f 56 45 52  : uint { WS_OVER
d410: 4c 41 50 50 45 44 57 49 4e 44 4f 57 20 3d 20 57  LAPPEDWINDOW = W
d420: 53 5f 4f 56 45 52 4c 41 50 50 45 44 20 7c 20 57  S_OVERLAPPED | W
d430: 53 5f 43 41 50 54 49 4f 4e 20 7c 20 57 53 5f 53  S_CAPTION | WS_S
d440: 59 53 4d 45 4e 55 20 7c 20 57 53 5f 54 48 49 43  YSMENU | WS_THIC
d450: 4b 46 52 41 4d 45 20 7c 20 57 53 5f 4d 49 4e 49  KFRAME | WS_MINI
d460: 4d 49 5a 45 42 4f 58 20 7c 20 57 53 5f 4d 41 58  MIZEBOX | WS_MAX
d470: 49 4d 49 5a 45 42 4f 58 20 7d 0d 0a 0d 0a 65 6e  IMIZEBOX }....en
d480: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 50  um : uint { WS_P
d490: 4f 50 55 50 57 49 4e 44 4f 57 20 3d 20 57 53 5f  OPUPWINDOW = WS_
d4a0: 50 4f 50 55 50 20 7c 20 57 53 5f 42 4f 52 44 45  POPUP | WS_BORDE
d4b0: 52 20 7c 20 57 53 5f 53 59 53 4d 45 4e 55 20 7d  R | WS_SYSMENU }
d4c0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
d4d0: 7b 20 57 53 5f 43 48 49 4c 44 57 49 4e 44 4f 57  { WS_CHILDWINDOW
d4e0: 20 3d 20 57 53 5f 43 48 49 4c 44 20 7d 0d 0a 0d   = WS_CHILD }...
d4f0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
d500: 53 5f 45 58 5f 44 4c 47 4d 4f 44 41 4c 46 52 41  S_EX_DLGMODALFRA
d510: 4d 45 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  ME = 0x00000001 
d520: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
d530: 20 57 53 5f 45 58 5f 4e 4f 50 41 52 45 4e 54 4e   WS_EX_NOPARENTN
d540: 4f 54 49 46 59 20 3d 20 30 78 30 30 30 30 30 30  OTIFY = 0x000000
d550: 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
d560: 74 20 7b 20 57 53 5f 45 58 5f 54 4f 50 4d 4f 53  t { WS_EX_TOPMOS
d570: 54 20 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d  T = 0x00000008 }
d580: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
d590: 57 53 5f 45 58 5f 41 43 43 45 50 54 46 49 4c 45  WS_EX_ACCEPTFILE
d5a0: 53 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d  S = 0x00000010 }
d5b0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
d5c0: 57 53 5f 45 58 5f 54 52 41 4e 53 50 41 52 45 4e  WS_EX_TRANSPAREN
d5d0: 54 20 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d  T = 0x00000020 }
d5e0: 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20  ..// #if(WINVER 
d5f0: 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d  >= 0x0400)..enum
d600: 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 45 58 5f   : uint { WS_EX_
d610: 4d 44 49 43 48 49 4c 44 20 3d 20 30 78 30 30 30  MDICHILD = 0x000
d620: 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00040 }..enum : 
d630: 75 69 6e 74 20 7b 20 57 53 5f 45 58 5f 54 4f 4f  uint { WS_EX_TOO
d640: 4c 57 49 4e 44 4f 57 20 3d 20 30 78 30 30 30 30  LWINDOW = 0x0000
d650: 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0080 }..enum : u
d660: 69 6e 74 20 7b 20 57 53 5f 45 58 5f 57 49 4e 44  int { WS_EX_WIND
d670: 4f 57 45 44 47 45 20 3d 20 30 78 30 30 30 30 30  OWEDGE = 0x00000
d680: 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  100 }..enum : ui
d690: 6e 74 20 7b 20 57 53 5f 45 58 5f 43 4c 49 45 4e  nt { WS_EX_CLIEN
d6a0: 54 45 44 47 45 20 3d 20 30 78 30 30 30 30 30 32  TEDGE = 0x000002
d6b0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
d6c0: 74 20 7b 20 57 53 5f 45 58 5f 43 4f 4e 54 45 58  t { WS_EX_CONTEX
d6d0: 54 48 45 4c 50 20 3d 20 30 78 30 30 30 30 30 34  THELP = 0x000004
d6e0: 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  00 }....// #endi
d6f0: 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
d700: 78 30 34 30 30 20 2a 2f 0d 0a 2f 2f 20 23 69 66  x0400 */..// #if
d710: 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30  (WINVER >= 0x040
d720: 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0)....enum : uin
d730: 74 20 7b 20 57 53 5f 45 58 5f 52 49 47 48 54 20  t { WS_EX_RIGHT 
d740: 3d 20 30 78 30 30 30 30 31 30 30 30 20 7d 0d 0a  = 0x00001000 }..
d750: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53  enum : uint { WS
d760: 5f 45 58 5f 4c 45 46 54 20 3d 20 30 78 30 30 30  _EX_LEFT = 0x000
d770: 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
d780: 75 69 6e 74 20 7b 20 57 53 5f 45 58 5f 52 54 4c  uint { WS_EX_RTL
d790: 52 45 41 44 49 4e 47 20 3d 20 30 78 30 30 30 30  READING = 0x0000
d7a0: 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  2000 }..enum : u
d7b0: 69 6e 74 20 7b 20 57 53 5f 45 58 5f 4c 54 52 52  int { WS_EX_LTRR
d7c0: 45 41 44 49 4e 47 20 3d 20 30 78 30 30 30 30 30  EADING = 0x00000
d7d0: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
d7e0: 6e 74 20 7b 20 57 53 5f 45 58 5f 4c 45 46 54 53  nt { WS_EX_LEFTS
d7f0: 43 52 4f 4c 4c 42 41 52 20 3d 20 30 78 30 30 30  CROLLBAR = 0x000
d800: 30 34 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  04000 }..enum : 
d810: 75 69 6e 74 20 7b 20 57 53 5f 45 58 5f 52 49 47  uint { WS_EX_RIG
d820: 48 54 53 43 52 4f 4c 4c 42 41 52 20 3d 20 30 78  HTSCROLLBAR = 0x
d830: 30 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e  00000000 }....en
d840: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 45  um : uint { WS_E
d850: 58 5f 43 4f 4e 54 52 4f 4c 50 41 52 45 4e 54 20  X_CONTROLPARENT 
d860: 3d 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a  = 0x00010000 }..
d870: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53  enum : uint { WS
d880: 5f 45 58 5f 53 54 41 54 49 43 45 44 47 45 20 3d  _EX_STATICEDGE =
d890: 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65   0x00020000 }..e
d8a0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f  num : uint { WS_
d8b0: 45 58 5f 41 50 50 57 49 4e 44 4f 57 20 3d 20 30  EX_APPWINDOW = 0
d8c0: 78 30 30 30 34 30 30 30 30 20 7d 0d 0a 0d 0a 65  x00040000 }....e
d8d0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f  num : uint { WS_
d8e0: 45 58 5f 4f 56 45 52 4c 41 50 50 45 44 57 49 4e  EX_OVERLAPPEDWIN
d8f0: 44 4f 57 20 3d 20 57 53 5f 45 58 5f 57 49 4e 44  DOW = WS_EX_WIND
d900: 4f 57 45 44 47 45 20 7c 20 57 53 5f 45 58 5f 43  OWEDGE | WS_EX_C
d910: 4c 49 45 4e 54 45 44 47 45 20 7d 0d 0a 65 6e 75  LIENTEDGE }..enu
d920: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 45 58  m : uint { WS_EX
d930: 5f 50 41 4c 45 54 54 45 57 49 4e 44 4f 57 20 3d  _PALETTEWINDOW =
d940: 20 57 53 5f 45 58 5f 57 49 4e 44 4f 57 45 44 47   WS_EX_WINDOWEDG
d950: 45 20 7c 20 57 53 5f 45 58 5f 54 4f 4f 4c 57 49  E | WS_EX_TOOLWI
d960: 4e 44 4f 57 20 7c 20 57 53 5f 45 58 5f 54 4f 50  NDOW | WS_EX_TOP
d970: 4d 4f 53 54 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e  MOST }....// #en
d980: 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d  dif /* WINVER >=
d990: 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f   0x0400 */....//
d9a0: 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e   #if(_WIN32_WINN
d9b0: 54 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e  T >= 0x0500)..en
d9c0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 45  um : uint { WS_E
d9d0: 58 5f 4c 41 59 45 52 45 44 20 3d 20 30 78 30 30  X_LAYERED = 0x00
d9e0: 30 38 30 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23  080000 }....// #
d9f0: 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f  endif /* _WIN32_
da00: 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 20  WINNT >= 0x0500 
da10: 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e  */....// #if(WIN
da20: 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a  VER >= 0x0500)..
da30: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53  enum : uint { WS
da40: 5f 45 58 5f 4e 4f 49 4e 48 45 52 49 54 4c 41 59  _EX_NOINHERITLAY
da50: 4f 55 54 20 3d 20 30 78 30 30 31 30 30 30 30 30  OUT = 0x00100000
da60: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
da70: 7b 20 57 53 5f 45 58 5f 4c 41 59 4f 55 54 52 54  { WS_EX_LAYOUTRT
da80: 4c 20 3d 20 30 78 30 30 34 30 30 30 30 30 20 7d  L = 0x00400000 }
da90: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
daa0: 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 20  INVER >= 0x0500 
dab0: 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 5f 57 49  */....// #if(_WI
dac0: 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30  N32_WINNT >= 0x0
dad0: 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  501)..enum : uin
dae0: 74 20 7b 20 57 53 5f 45 58 5f 43 4f 4d 50 4f 53  t { WS_EX_COMPOS
daf0: 49 54 45 44 20 3d 20 30 78 30 32 30 30 30 30 30  ITED = 0x0200000
db00: 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  0 }..// #endif /
db10: 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e  * _WIN32_WINNT >
db20: 3d 20 30 78 30 35 30 31 20 2a 2f 0d 0a 2f 2f 20  = 0x0501 */..// 
db30: 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  #if(_WIN32_WINNT
db40: 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75   >= 0x0500)..enu
db50: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 45 58  m : uint { WS_EX
db60: 5f 4e 4f 41 43 54 49 56 41 54 45 20 3d 20 30 78  _NOACTIVATE = 0x
db70: 30 38 30 30 30 30 30 30 20 7d 0d 0a 2f 2f 20 23  08000000 }..// #
db80: 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f  endif /* _WIN32_
db90: 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 20  WINNT >= 0x0500 
dba0: 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  */....enum : uin
dbb0: 74 20 7b 20 43 53 5f 56 52 45 44 52 41 57 20 3d  t { CS_VREDRAW =
dbc0: 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
dbd0: 3a 20 75 69 6e 74 20 7b 20 43 53 5f 48 52 45 44  : uint { CS_HRED
dbe0: 52 41 57 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a  RAW = 0x0002 }..
dbf0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 53  enum : uint { CS
dc00: 5f 44 42 4c 43 4c 4b 53 20 3d 20 30 78 30 30 30  _DBLCLKS = 0x000
dc10: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
dc20: 20 7b 20 43 53 5f 4f 57 4e 44 43 20 3d 20 30 78   { CS_OWNDC = 0x
dc30: 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0020 }..enum : u
dc40: 69 6e 74 20 7b 20 43 53 5f 43 4c 41 53 53 44 43  int { CS_CLASSDC
dc50: 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 65 6e 75   = 0x0040 }..enu
dc60: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 53 5f 50 41  m : uint { CS_PA
dc70: 52 45 4e 54 44 43 20 3d 20 30 78 30 30 38 30 20  RENTDC = 0x0080 
dc80: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
dc90: 20 43 53 5f 4e 4f 43 4c 4f 53 45 20 3d 20 30 78   CS_NOCLOSE = 0x
dca0: 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0200 }..enum : u
dcb0: 69 6e 74 20 7b 20 43 53 5f 53 41 56 45 42 49 54  int { CS_SAVEBIT
dcc0: 53 20 3d 20 30 78 30 38 30 30 20 7d 0d 0a 65 6e  S = 0x0800 }..en
dcd0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 53 5f 42  um : uint { CS_B
dce0: 59 54 45 41 4c 49 47 4e 43 4c 49 45 4e 54 20 3d  YTEALIGNCLIENT =
dcf0: 20 30 78 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x1000 }..enum 
dd00: 3a 20 75 69 6e 74 20 7b 20 43 53 5f 42 59 54 45  : uint { CS_BYTE
dd10: 41 4c 49 47 4e 57 49 4e 44 4f 57 20 3d 20 30 78  ALIGNWINDOW = 0x
dd20: 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  2000 }..enum : u
dd30: 69 6e 74 20 7b 20 43 53 5f 47 4c 4f 42 41 4c 43  int { CS_GLOBALC
dd40: 4c 41 53 53 20 3d 20 30 78 34 30 30 30 20 7d 0d  LASS = 0x4000 }.
dd50: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
dd60: 20 43 53 5f 49 4d 45 20 3d 20 30 78 30 30 30 31   CS_IME = 0x0001
dd70: 30 30 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 5f  0000 }..// #if(_
dd80: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
dd90: 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0501)..enum : u
dda0: 69 6e 74 20 7b 20 43 53 5f 44 52 4f 50 53 48 41  int { CS_DROPSHA
ddb0: 44 4f 57 20 3d 20 30 78 30 30 30 32 30 30 30 30  DOW = 0x00020000
ddc0: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
ddd0: 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d   _WIN32_WINNT >=
dde0: 20 30 78 30 35 30 31 20 2a 2f 0d 0a 0d 0a 2f 2f   0x0501 */....//
ddf0: 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 57 49   #endif /* !NOWI
de00: 4e 53 54 59 4c 45 53 20 2a 2f 0d 0a 2f 2f 20 23  NSTYLES */..// #
de10: 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  if(WINVER >= 0x0
de20: 34 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  400)....enum : u
de30: 69 6e 74 20 7b 20 50 52 46 5f 43 48 45 43 4b 56  int { PRF_CHECKV
de40: 49 53 49 42 4c 45 20 3d 20 30 78 30 30 30 30 30  ISIBLE = 0x00000
de50: 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
de60: 6e 74 20 7b 20 50 52 46 5f 4e 4f 4e 43 4c 49 45  nt { PRF_NONCLIE
de70: 4e 54 20 3d 20 30 78 30 30 30 30 30 30 30 32 20  NT = 0x00000002 
de80: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
de90: 20 50 52 46 5f 43 4c 49 45 4e 54 20 3d 20 30 78   PRF_CLIENT = 0x
dea0: 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d  00000004 }..enum
deb0: 20 3a 20 75 69 6e 74 20 7b 20 50 52 46 5f 45 52   : uint { PRF_ER
dec0: 41 53 45 42 4b 47 4e 44 20 3d 20 30 78 30 30 30  ASEBKGND = 0x000
ded0: 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00008 }..enum : 
dee0: 75 69 6e 74 20 7b 20 50 52 46 5f 43 48 49 4c 44  uint { PRF_CHILD
def0: 52 45 4e 20 3d 20 30 78 30 30 30 30 30 30 31 30  REN = 0x00000010
df00: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
df10: 7b 20 50 52 46 5f 4f 57 4e 45 44 20 3d 20 30 78  { PRF_OWNED = 0x
df20: 30 30 30 30 30 30 32 30 20 7d 0d 0a 0d 0a 65 6e  00000020 }....en
df30: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 44 52 5f  um : uint { BDR_
df40: 52 41 49 53 45 44 4f 55 54 45 52 20 3d 20 30 78  RAISEDOUTER = 0x
df50: 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
df60: 69 6e 74 20 7b 20 42 44 52 5f 53 55 4e 4b 45 4e  int { BDR_SUNKEN
df70: 4f 55 54 45 52 20 3d 20 30 78 30 30 30 32 20 7d  OUTER = 0x0002 }
df80: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
df90: 42 44 52 5f 52 41 49 53 45 44 49 4e 4e 45 52 20  BDR_RAISEDINNER 
dfa0: 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d  = 0x0004 }..enum
dfb0: 20 3a 20 75 69 6e 74 20 7b 20 42 44 52 5f 53 55   : uint { BDR_SU
dfc0: 4e 4b 45 4e 49 4e 4e 45 52 20 3d 20 30 78 30 30  NKENINNER = 0x00
dfd0: 30 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  08 }....enum : u
dfe0: 69 6e 74 20 7b 20 42 44 52 5f 4f 55 54 45 52 20  int { BDR_OUTER 
dff0: 3d 20 42 44 52 5f 52 41 49 53 45 44 4f 55 54 45  = BDR_RAISEDOUTE
e000: 52 20 7c 20 42 44 52 5f 53 55 4e 4b 45 4e 4f 55  R | BDR_SUNKENOU
e010: 54 45 52 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  TER }..enum : ui
e020: 6e 74 20 7b 20 42 44 52 5f 49 4e 4e 45 52 20 3d  nt { BDR_INNER =
e030: 20 42 44 52 5f 52 41 49 53 45 44 49 4e 4e 45 52   BDR_RAISEDINNER
e040: 20 7c 20 42 44 52 5f 53 55 4e 4b 45 4e 49 4e 4e   | BDR_SUNKENINN
e050: 45 52 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ER }..enum : uin
e060: 74 20 7b 20 42 44 52 5f 52 41 49 53 45 44 20 3d  t { BDR_RAISED =
e070: 20 42 44 52 5f 52 41 49 53 45 44 4f 55 54 45 52   BDR_RAISEDOUTER
e080: 20 7c 20 42 44 52 5f 52 41 49 53 45 44 49 4e 4e   | BDR_RAISEDINN
e090: 45 52 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ER }..enum : uin
e0a0: 74 20 7b 20 42 44 52 5f 53 55 4e 4b 45 4e 20 3d  t { BDR_SUNKEN =
e0b0: 20 42 44 52 5f 53 55 4e 4b 45 4e 4f 55 54 45 52   BDR_SUNKENOUTER
e0c0: 20 7c 20 42 44 52 5f 53 55 4e 4b 45 4e 49 4e 4e   | BDR_SUNKENINN
e0d0: 45 52 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ER }....enum : u
e0e0: 69 6e 74 20 7b 20 45 44 47 45 5f 52 41 49 53 45  int { EDGE_RAISE
e0f0: 44 20 3d 20 42 44 52 5f 52 41 49 53 45 44 4f 55  D = BDR_RAISEDOU
e100: 54 45 52 20 7c 20 42 44 52 5f 52 41 49 53 45 44  TER | BDR_RAISED
e110: 49 4e 4e 45 52 20 7d 0d 0a 65 6e 75 6d 20 3a 20  INNER }..enum : 
e120: 75 69 6e 74 20 7b 20 45 44 47 45 5f 53 55 4e 4b  uint { EDGE_SUNK
e130: 45 4e 20 3d 20 42 44 52 5f 53 55 4e 4b 45 4e 4f  EN = BDR_SUNKENO
e140: 55 54 45 52 20 7c 20 42 44 52 5f 53 55 4e 4b 45  UTER | BDR_SUNKE
e150: 4e 49 4e 4e 45 52 20 7d 0d 0a 65 6e 75 6d 20 3a  NINNER }..enum :
e160: 20 75 69 6e 74 20 7b 20 45 44 47 45 5f 45 54 43   uint { EDGE_ETC
e170: 48 45 44 20 3d 20 42 44 52 5f 53 55 4e 4b 45 4e  HED = BDR_SUNKEN
e180: 4f 55 54 45 52 20 7c 20 42 44 52 5f 52 41 49 53  OUTER | BDR_RAIS
e190: 45 44 49 4e 4e 45 52 20 7d 0d 0a 65 6e 75 6d 20  EDINNER }..enum 
e1a0: 3a 20 75 69 6e 74 20 7b 20 45 44 47 45 5f 42 55  : uint { EDGE_BU
e1b0: 4d 50 20 3d 20 42 44 52 5f 52 41 49 53 45 44 4f  MP = BDR_RAISEDO
e1c0: 55 54 45 52 20 7c 20 42 44 52 5f 53 55 4e 4b 45  UTER | BDR_SUNKE
e1d0: 4e 49 4e 4e 45 52 20 7d 0d 0a 0d 0a 65 6e 75 6d  NINNER }....enum
e1e0: 20 3a 20 75 69 6e 74 20 7b 20 42 46 5f 4c 45 46   : uint { BF_LEF
e1f0: 54 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e  T = 0x0001 }..en
e200: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 46 5f 54  um : uint { BF_T
e210: 4f 50 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65  OP = 0x0002 }..e
e220: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 46 5f  num : uint { BF_
e230: 52 49 47 48 54 20 3d 20 30 78 30 30 30 34 20 7d  RIGHT = 0x0004 }
e240: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
e250: 42 46 5f 42 4f 54 54 4f 4d 20 3d 20 30 78 30 30  BF_BOTTOM = 0x00
e260: 30 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  08 }....enum : u
e270: 69 6e 74 20 7b 20 42 46 5f 54 4f 50 4c 45 46 54  int { BF_TOPLEFT
e280: 20 3d 20 42 46 5f 54 4f 50 20 7c 20 42 46 5f 4c   = BF_TOP | BF_L
e290: 45 46 54 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  EFT }..enum : ui
e2a0: 6e 74 20 7b 20 42 46 5f 54 4f 50 52 49 47 48 54  nt { BF_TOPRIGHT
e2b0: 20 3d 20 42 46 5f 54 4f 50 20 7c 20 42 46 5f 52   = BF_TOP | BF_R
e2c0: 49 47 48 54 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  IGHT }..enum : u
e2d0: 69 6e 74 20 7b 20 42 46 5f 42 4f 54 54 4f 4d 4c  int { BF_BOTTOML
e2e0: 45 46 54 20 3d 20 42 46 5f 42 4f 54 54 4f 4d 20  EFT = BF_BOTTOM 
e2f0: 7c 20 42 46 5f 4c 45 46 54 20 7d 0d 0a 65 6e 75  | BF_LEFT }..enu
e300: 6d 20 3a 20 75 69 6e 74 20 7b 20 42 46 5f 42 4f  m : uint { BF_BO
e310: 54 54 4f 4d 52 49 47 48 54 20 3d 20 42 46 5f 42  TTOMRIGHT = BF_B
e320: 4f 54 54 4f 4d 20 7c 20 42 46 5f 52 49 47 48 54  OTTOM | BF_RIGHT
e330: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
e340: 7b 20 42 46 5f 52 45 43 54 20 3d 20 42 46 5f 4c  { BF_RECT = BF_L
e350: 45 46 54 20 7c 20 42 46 5f 54 4f 50 20 7c 20 42  EFT | BF_TOP | B
e360: 46 5f 52 49 47 48 54 20 7c 20 42 46 5f 42 4f 54  F_RIGHT | BF_BOT
e370: 54 4f 4d 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  TOM }....enum : 
e380: 75 69 6e 74 20 7b 20 42 46 5f 44 49 41 47 4f 4e  uint { BF_DIAGON
e390: 41 4c 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 0d  AL = 0x0010 }...
e3a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42  .enum : uint { B
e3b0: 46 5f 44 49 41 47 4f 4e 41 4c 5f 45 4e 44 54 4f  F_DIAGONAL_ENDTO
e3c0: 50 52 49 47 48 54 20 3d 20 42 46 5f 44 49 41 47  PRIGHT = BF_DIAG
e3d0: 4f 4e 41 4c 20 7c 20 42 46 5f 54 4f 50 20 7c 20  ONAL | BF_TOP | 
e3e0: 42 46 5f 52 49 47 48 54 20 7d 0d 0a 65 6e 75 6d  BF_RIGHT }..enum
e3f0: 20 3a 20 75 69 6e 74 20 7b 20 42 46 5f 44 49 41   : uint { BF_DIA
e400: 47 4f 4e 41 4c 5f 45 4e 44 54 4f 50 4c 45 46 54  GONAL_ENDTOPLEFT
e410: 20 3d 20 42 46 5f 44 49 41 47 4f 4e 41 4c 20 7c   = BF_DIAGONAL |
e420: 20 42 46 5f 54 4f 50 20 7c 20 42 46 5f 4c 45 46   BF_TOP | BF_LEF
e430: 54 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  T }..enum : uint
e440: 20 7b 20 42 46 5f 44 49 41 47 4f 4e 41 4c 5f 45   { BF_DIAGONAL_E
e450: 4e 44 42 4f 54 54 4f 4d 4c 45 46 54 20 3d 20 42  NDBOTTOMLEFT = B
e460: 46 5f 44 49 41 47 4f 4e 41 4c 20 7c 20 42 46 5f  F_DIAGONAL | BF_
e470: 42 4f 54 54 4f 4d 20 7c 20 42 46 5f 4c 45 46 54  BOTTOM | BF_LEFT
e480: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
e490: 7b 20 42 46 5f 44 49 41 47 4f 4e 41 4c 5f 45 4e  { BF_DIAGONAL_EN
e4a0: 44 42 4f 54 54 4f 4d 52 49 47 48 54 20 3d 20 42  DBOTTOMRIGHT = B
e4b0: 46 5f 44 49 41 47 4f 4e 41 4c 20 7c 20 42 46 5f  F_DIAGONAL | BF_
e4c0: 42 4f 54 54 4f 4d 20 7c 20 42 46 5f 52 49 47 48  BOTTOM | BF_RIGH
e4d0: 54 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  T }....enum : ui
e4e0: 6e 74 20 7b 20 42 46 5f 4d 49 44 44 4c 45 20 3d  nt { BF_MIDDLE =
e4f0: 20 30 78 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x0800 }..enum 
e500: 3a 20 75 69 6e 74 20 7b 20 42 46 5f 53 4f 46 54  : uint { BF_SOFT
e510: 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 65 6e 75   = 0x1000 }..enu
e520: 6d 20 3a 20 75 69 6e 74 20 7b 20 42 46 5f 41 44  m : uint { BF_AD
e530: 4a 55 53 54 20 3d 20 30 78 32 30 30 30 20 7d 0d  JUST = 0x2000 }.
e540: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42  .enum : uint { B
e550: 46 5f 46 4c 41 54 20 3d 20 30 78 34 30 30 30 20  F_FLAT = 0x4000 
e560: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
e570: 20 42 46 5f 4d 4f 4e 4f 20 3d 20 30 78 38 30 30   BF_MONO = 0x800
e580: 30 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  0 }....extern(Wi
e590: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
e5a0: 4f 4c 20 44 72 61 77 45 64 67 65 28 0d 0a 20 20  OL DrawEdge(..  
e5b0: 48 44 43 20 68 64 63 2c 0d 0a 20 20 4c 50 52 45  HDC hdc,..  LPRE
e5c0: 43 54 20 71 72 63 2c 0d 0a 20 20 55 49 4e 54 20  CT qrc,..  UINT 
e5d0: 65 64 67 65 2c 0d 0a 20 20 55 49 4e 54 20 67 72  edge,..  UINT gr
e5e0: 66 46 6c 61 67 73 29 3b 0d 0a 0d 0a 65 6e 75 6d  fFlags);....enum
e5f0: 20 3a 20 75 69 6e 74 20 7b 20 44 46 43 5f 43 41   : uint { DFC_CA
e600: 50 54 49 4f 4e 20 3d 20 31 20 7d 0d 0a 65 6e 75  PTION = 1 }..enu
e610: 6d 20 3a 20 75 69 6e 74 20 7b 20 44 46 43 5f 4d  m : uint { DFC_M
e620: 45 4e 55 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20  ENU = 2 }..enum 
e630: 3a 20 75 69 6e 74 20 7b 20 44 46 43 5f 53 43 52  : uint { DFC_SCR
e640: 4f 4c 4c 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20  OLL = 3 }..enum 
e650: 3a 20 75 69 6e 74 20 7b 20 44 46 43 5f 42 55 54  : uint { DFC_BUT
e660: 54 4f 4e 20 3d 20 34 20 7d 0d 0a 2f 2f 20 23 69  TON = 4 }..// #i
e670: 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35  f(WINVER >= 0x05
e680: 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
e690: 20 7b 20 44 46 43 5f 50 4f 50 55 50 4d 45 4e 55   { DFC_POPUPMENU
e6a0: 20 3d 20 35 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69   = 5 }..// #endi
e6b0: 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
e6c0: 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d  x0500 */....enum
e6d0: 20 3a 20 75 69 6e 74 20 7b 20 44 46 43 53 5f 43   : uint { DFCS_C
e6e0: 41 50 54 49 4f 4e 43 4c 4f 53 45 20 3d 20 30 78  APTIONCLOSE = 0x
e6f0: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
e700: 69 6e 74 20 7b 20 44 46 43 53 5f 43 41 50 54 49  int { DFCS_CAPTI
e710: 4f 4e 4d 49 4e 20 3d 20 30 78 30 30 30 31 20 7d  ONMIN = 0x0001 }
e720: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
e730: 44 46 43 53 5f 43 41 50 54 49 4f 4e 4d 41 58 20  DFCS_CAPTIONMAX 
e740: 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
e750: 20 3a 20 75 69 6e 74 20 7b 20 44 46 43 53 5f 43   : uint { DFCS_C
e760: 41 50 54 49 4f 4e 52 45 53 54 4f 52 45 20 3d 20  APTIONRESTORE = 
e770: 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0003 }..enum :
e780: 20 75 69 6e 74 20 7b 20 44 46 43 53 5f 43 41 50   uint { DFCS_CAP
e790: 54 49 4f 4e 48 45 4c 50 20 3d 20 30 78 30 30 30  TIONHELP = 0x000
e7a0: 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  4 }....enum : ui
e7b0: 6e 74 20 7b 20 44 46 43 53 5f 4d 45 4e 55 41 52  nt { DFCS_MENUAR
e7c0: 52 4f 57 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a  ROW = 0x0000 }..
e7d0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 46  enum : uint { DF
e7e0: 43 53 5f 4d 45 4e 55 43 48 45 43 4b 20 3d 20 30  CS_MENUCHECK = 0
e7f0: 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0001 }..enum : 
e800: 75 69 6e 74 20 7b 20 44 46 43 53 5f 4d 45 4e 55  uint { DFCS_MENU
e810: 42 55 4c 4c 45 54 20 3d 20 30 78 30 30 30 32 20  BULLET = 0x0002 
e820: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
e830: 20 44 46 43 53 5f 4d 45 4e 55 41 52 52 4f 57 52   DFCS_MENUARROWR
e840: 49 47 48 54 20 3d 20 30 78 30 30 30 34 20 7d 0d  IGHT = 0x0004 }.
e850: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
e860: 46 43 53 5f 53 43 52 4f 4c 4c 55 50 20 3d 20 30  FCS_SCROLLUP = 0
e870: 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0000 }..enum : 
e880: 75 69 6e 74 20 7b 20 44 46 43 53 5f 53 43 52 4f  uint { DFCS_SCRO
e890: 4c 4c 44 4f 57 4e 20 3d 20 30 78 30 30 30 31 20  LLDOWN = 0x0001 
e8a0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
e8b0: 20 44 46 43 53 5f 53 43 52 4f 4c 4c 4c 45 46 54   DFCS_SCROLLLEFT
e8c0: 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75   = 0x0002 }..enu
e8d0: 6d 20 3a 20 75 69 6e 74 20 7b 20 44 46 43 53 5f  m : uint { DFCS_
e8e0: 53 43 52 4f 4c 4c 52 49 47 48 54 20 3d 20 30 78  SCROLLRIGHT = 0x
e8f0: 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0003 }..enum : u
e900: 69 6e 74 20 7b 20 44 46 43 53 5f 53 43 52 4f 4c  int { DFCS_SCROL
e910: 4c 43 4f 4d 42 4f 42 4f 58 20 3d 20 30 78 30 30  LCOMBOBOX = 0x00
e920: 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  05 }..enum : uin
e930: 74 20 7b 20 44 46 43 53 5f 53 43 52 4f 4c 4c 53  t { DFCS_SCROLLS
e940: 49 5a 45 47 52 49 50 20 3d 20 30 78 30 30 30 38  IZEGRIP = 0x0008
e950: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
e960: 7b 20 44 46 43 53 5f 53 43 52 4f 4c 4c 53 49 5a  { DFCS_SCROLLSIZ
e970: 45 47 52 49 50 52 49 47 48 54 20 3d 20 30 78 30  EGRIPRIGHT = 0x0
e980: 30 31 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  010 }....enum : 
e990: 75 69 6e 74 20 7b 20 44 46 43 53 5f 42 55 54 54  uint { DFCS_BUTT
e9a0: 4f 4e 43 48 45 43 4b 20 3d 20 30 78 30 30 30 30  ONCHECK = 0x0000
e9b0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
e9c0: 7b 20 44 46 43 53 5f 42 55 54 54 4f 4e 52 41 44  { DFCS_BUTTONRAD
e9d0: 49 4f 49 4d 41 47 45 20 3d 20 30 78 30 30 30 31  IOIMAGE = 0x0001
e9e0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
e9f0: 7b 20 44 46 43 53 5f 42 55 54 54 4f 4e 52 41 44  { DFCS_BUTTONRAD
ea00: 49 4f 4d 41 53 4b 20 3d 20 30 78 30 30 30 32 20  IOMASK = 0x0002 
ea10: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
ea20: 20 44 46 43 53 5f 42 55 54 54 4f 4e 52 41 44 49   DFCS_BUTTONRADI
ea30: 4f 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e  O = 0x0004 }..en
ea40: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 46 43 53  um : uint { DFCS
ea50: 5f 42 55 54 54 4f 4e 33 53 54 41 54 45 20 3d 20  _BUTTON3STATE = 
ea60: 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0008 }..enum :
ea70: 20 75 69 6e 74 20 7b 20 44 46 43 53 5f 42 55 54   uint { DFCS_BUT
ea80: 54 4f 4e 50 55 53 48 20 3d 20 30 78 30 30 31 30  TONPUSH = 0x0010
ea90: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
eaa0: 74 20 7b 20 44 46 43 53 5f 49 4e 41 43 54 49 56  t { DFCS_INACTIV
eab0: 45 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 65 6e  E = 0x0100 }..en
eac0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 46 43 53  um : uint { DFCS
ead0: 5f 50 55 53 48 45 44 20 3d 20 30 78 30 32 30 30  _PUSHED = 0x0200
eae0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
eaf0: 7b 20 44 46 43 53 5f 43 48 45 43 4b 45 44 20 3d  { DFCS_CHECKED =
eb00: 20 30 78 30 34 30 30 20 7d 0d 0a 0d 0a 2f 2f 20   0x0400 }....// 
eb10: 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  #if(WINVER >= 0x
eb20: 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0500)..enum : ui
eb30: 6e 74 20 7b 20 44 46 43 53 5f 54 52 41 4e 53 50  nt { DFCS_TRANSP
eb40: 41 52 45 4e 54 20 3d 20 30 78 30 38 30 30 20 7d  ARENT = 0x0800 }
eb50: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
eb60: 44 46 43 53 5f 48 4f 54 20 3d 20 30 78 31 30 30  DFCS_HOT = 0x100
eb70: 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  0 }..// #endif /
eb80: 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35  * WINVER >= 0x05
eb90: 30 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  00 */....enum : 
eba0: 75 69 6e 74 20 7b 20 44 46 43 53 5f 41 44 4a 55  uint { DFCS_ADJU
ebb0: 53 54 52 45 43 54 20 3d 20 30 78 32 30 30 30 20  STRECT = 0x2000 
ebc0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
ebd0: 20 44 46 43 53 5f 46 4c 41 54 20 3d 20 30 78 34   DFCS_FLAT = 0x4
ebe0: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
ebf0: 6e 74 20 7b 20 44 46 43 53 5f 4d 4f 4e 4f 20 3d  nt { DFCS_MONO =
ec00: 20 30 78 38 30 30 30 20 7d 0d 0a 0d 0a 65 78 74   0x8000 }....ext
ec10: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
ec20: 6f 72 74 20 42 4f 4f 4c 20 44 72 61 77 46 72 61  ort BOOL DrawFra
ec30: 6d 65 43 6f 6e 74 72 6f 6c 28 0d 0a 20 20 48 44  meControl(..  HD
ec40: 43 2c 0d 0a 20 20 4c 50 52 45 43 54 2c 0d 0a 20  C,..  LPRECT,.. 
ec50: 20 55 49 4e 54 2c 0d 0a 20 20 55 49 4e 54 29 3b   UINT,..  UINT);
ec60: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
ec70: 7b 20 44 43 5f 41 43 54 49 56 45 20 3d 20 30 78  { DC_ACTIVE = 0x
ec80: 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
ec90: 69 6e 74 20 7b 20 44 43 5f 53 4d 41 4c 4c 43 41  int { DC_SMALLCA
eca0: 50 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e  P = 0x0002 }..en
ecb0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 43 5f 49  um : uint { DC_I
ecc0: 43 4f 4e 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a  CON = 0x0004 }..
ecd0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 43  enum : uint { DC
ece0: 5f 54 45 58 54 20 3d 20 30 78 30 30 30 38 20 7d  _TEXT = 0x0008 }
ecf0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
ed00: 44 43 5f 49 4e 42 55 54 54 4f 4e 20 3d 20 30 78  DC_INBUTTON = 0x
ed10: 30 30 31 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 57  0010 }..// #if(W
ed20: 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29  INVER >= 0x0500)
ed30: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
ed40: 44 43 5f 47 52 41 44 49 45 4e 54 20 3d 20 30 78  DC_GRADIENT = 0x
ed50: 30 30 32 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0020 }..// #endi
ed60: 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
ed70: 78 30 35 30 30 20 2a 2f 0d 0a 2f 2f 20 23 69 66  x0500 */..// #if
ed80: 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
ed90: 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 3a   0x0501)..enum :
eda0: 20 75 69 6e 74 20 7b 20 44 43 5f 42 55 54 54 4f   uint { DC_BUTTO
edb0: 4e 53 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 2f  NS = 0x1000 }../
edc0: 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e  / #endif /* _WIN
edd0: 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35  32_WINNT >= 0x05
ede0: 30 31 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28  01 */....extern(
edf0: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
ee00: 42 4f 4f 4c 20 44 72 61 77 43 61 70 74 69 6f 6e  BOOL DrawCaption
ee10: 28 48 57 4e 44 2c 20 48 44 43 2c 20 52 45 43 54  (HWND, HDC, RECT
ee20: 20 2a 2c 20 55 49 4e 54 29 3b 0d 0a 0d 0a 65 6e   *, UINT);....en
ee30: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44 41 4e  um : uint { IDAN
ee40: 49 5f 4f 50 45 4e 20 3d 20 31 20 7d 0d 0a 65 6e  I_OPEN = 1 }..en
ee50: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44 41 4e  um : uint { IDAN
ee60: 49 5f 43 41 50 54 49 4f 4e 20 3d 20 33 20 7d 0d  I_CAPTION = 3 }.
ee70: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
ee80: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44  s) export BOOL D
ee90: 72 61 77 41 6e 69 6d 61 74 65 64 52 65 63 74 73  rawAnimatedRects
eea0: 28 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 2c 0d  (..  HWND hwnd,.
eeb0: 0a 20 20 69 6e 74 20 69 64 41 6e 69 2c 0d 0a 20  .  int idAni,.. 
eec0: 20 52 45 43 54 20 2a 20 6c 70 72 63 46 72 6f 6d   RECT * lprcFrom
eed0: 2c 0d 0a 20 20 52 45 43 54 20 2a 20 6c 70 72 63  ,..  RECT * lprc
eee0: 54 6f 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  To);....// #endi
eef0: 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
ef00: 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23  x0400 */....// #
ef10: 69 66 6e 64 65 66 20 4e 4f 43 4c 49 50 42 4f 41  ifndef NOCLIPBOA
ef20: 52 44 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  RD....enum : uin
ef30: 74 20 7b 20 43 46 5f 54 45 58 54 20 3d 20 31 20  t { CF_TEXT = 1 
ef40: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
ef50: 20 43 46 5f 42 49 54 4d 41 50 20 3d 20 32 20 7d   CF_BITMAP = 2 }
ef60: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
ef70: 43 46 5f 4d 45 54 41 46 49 4c 45 50 49 43 54 20  CF_METAFILEPICT 
ef80: 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 3 }..enum : ui
ef90: 6e 74 20 7b 20 43 46 5f 53 59 4c 4b 20 3d 20 34  nt { CF_SYLK = 4
efa0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
efb0: 7b 20 43 46 5f 44 49 46 20 3d 20 35 20 7d 0d 0a  { CF_DIF = 5 }..
efc0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 46  enum : uint { CF
efd0: 5f 54 49 46 46 20 3d 20 36 20 7d 0d 0a 65 6e 75  _TIFF = 6 }..enu
efe0: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 46 5f 4f 45  m : uint { CF_OE
eff0: 4d 54 45 58 54 20 3d 20 37 20 7d 0d 0a 65 6e 75  MTEXT = 7 }..enu
f000: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 46 5f 44 49  m : uint { CF_DI
f010: 42 20 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  B = 8 }..enum : 
f020: 75 69 6e 74 20 7b 20 43 46 5f 50 41 4c 45 54 54  uint { CF_PALETT
f030: 45 20 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20  E = 9 }..enum : 
f040: 75 69 6e 74 20 7b 20 43 46 5f 50 45 4e 44 41 54  uint { CF_PENDAT
f050: 41 20 3d 20 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a  A = 10 }..enum :
f060: 20 75 69 6e 74 20 7b 20 43 46 5f 52 49 46 46 20   uint { CF_RIFF 
f070: 3d 20 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 11 }..enum : u
f080: 69 6e 74 20 7b 20 43 46 5f 57 41 56 45 20 3d 20  int { CF_WAVE = 
f090: 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  12 }..enum : uin
f0a0: 74 20 7b 20 43 46 5f 55 4e 49 43 4f 44 45 54 45  t { CF_UNICODETE
f0b0: 58 54 20 3d 20 31 33 20 7d 0d 0a 65 6e 75 6d 20  XT = 13 }..enum 
f0c0: 3a 20 75 69 6e 74 20 7b 20 43 46 5f 45 4e 48 4d  : uint { CF_ENHM
f0d0: 45 54 41 46 49 4c 45 20 3d 20 31 34 20 7d 0d 0a  ETAFILE = 14 }..
f0e0: 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d  // #if(WINVER >=
f0f0: 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0400)..enum :
f100: 20 75 69 6e 74 20 7b 20 43 46 5f 48 44 52 4f 50   uint { CF_HDROP
f110: 20 3d 20 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 15 }..enum : 
f120: 75 69 6e 74 20 7b 20 43 46 5f 4c 4f 43 41 4c 45  uint { CF_LOCALE
f130: 20 3d 20 31 36 20 7d 0d 0a 2f 2f 20 23 65 6e 64   = 16 }..// #end
f140: 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20  if /* WINVER >= 
f150: 30 78 30 34 30 30 20 2a 2f 0d 0a 2f 2f 20 23 69  0x0400 */..// #i
f160: 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35  f(WINVER >= 0x05
f170: 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
f180: 20 7b 20 43 46 5f 44 49 42 56 35 20 3d 20 31 37   { CF_DIBV5 = 17
f190: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
f1a0: 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30   WINVER >= 0x050
f1b0: 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57  0 */....// #if(W
f1c0: 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29  INVER >= 0x0500)
f1d0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
f1e0: 43 46 5f 4d 41 58 20 3d 20 31 38 20 7d 0d 0a 2f  CF_MAX = 18 }../
f1f0: 2f 20 23 65 6c 69 66 28 57 49 4e 56 45 52 20 3e  / #elif(WINVER >
f200: 3d 20 30 78 30 34 30 30 29 0d 0a 2f 2f 20 23 2e  = 0x0400)..// #.
f210: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  ....// #else..//
f220: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
f230: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
f240: 7b 20 43 46 5f 4f 57 4e 45 52 44 49 53 50 4c 41  { CF_OWNERDISPLA
f250: 59 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e  Y = 0x0080 }..en
f260: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 46 5f 44  um : uint { CF_D
f270: 53 50 54 45 58 54 20 3d 20 30 78 30 30 38 31 20  SPTEXT = 0x0081 
f280: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
f290: 20 43 46 5f 44 53 50 42 49 54 4d 41 50 20 3d 20   CF_DSPBITMAP = 
f2a0: 30 78 30 30 38 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0082 }..enum :
f2b0: 20 75 69 6e 74 20 7b 20 43 46 5f 44 53 50 4d 45   uint { CF_DSPME
f2c0: 54 41 46 49 4c 45 50 49 43 54 20 3d 20 30 78 30  TAFILEPICT = 0x0
f2d0: 30 38 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  083 }..enum : ui
f2e0: 6e 74 20 7b 20 43 46 5f 44 53 50 45 4e 48 4d 45  nt { CF_DSPENHME
f2f0: 54 41 46 49 4c 45 20 3d 20 30 78 30 30 38 45 20  TAFILE = 0x008E 
f300: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
f310: 20 7b 20 43 46 5f 50 52 49 56 41 54 45 46 49 52   { CF_PRIVATEFIR
f320: 53 54 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a 65  ST = 0x0200 }..e
f330: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 46 5f  num : uint { CF_
f340: 50 52 49 56 41 54 45 4c 41 53 54 20 3d 20 30 78  PRIVATELAST = 0x
f350: 30 32 46 46 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  02FF }....enum :
f360: 20 75 69 6e 74 20 7b 20 43 46 5f 47 44 49 4f 42   uint { CF_GDIOB
f370: 4a 46 49 52 53 54 20 3d 20 30 78 30 33 30 30 20  JFIRST = 0x0300 
f380: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
f390: 20 43 46 5f 47 44 49 4f 42 4a 4c 41 53 54 20 3d   CF_GDIOBJLAST =
f3a0: 20 30 78 30 33 46 46 20 7d 0d 0a 0d 0a 2f 2f 20   0x03FF }....// 
f3b0: 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 43 4c 49  #endif /* !NOCLI
f3c0: 50 42 4f 41 52 44 20 2a 2f 0d 0a 0d 0a 61 6c 69  PBOARD */....ali
f3d0: 61 73 20 54 52 55 45 20 46 56 49 52 54 4b 45 59  as TRUE FVIRTKEY
f3e0: 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ;..enum : uint {
f3f0: 20 46 4e 4f 49 4e 56 45 52 54 20 3d 20 30 78 30   FNOINVERT = 0x0
f400: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
f410: 20 7b 20 46 53 48 49 46 54 20 3d 20 30 78 30 34   { FSHIFT = 0x04
f420: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
f430: 7b 20 46 43 4f 4e 54 52 4f 4c 20 3d 20 30 78 30  { FCONTROL = 0x0
f440: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
f450: 20 7b 20 46 41 4c 54 20 3d 20 30 78 31 30 20 7d   { FALT = 0x10 }
f460: 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 41 43  ....struct tagAC
f470: 43 45 4c 20 7b 0d 0a 2f 2f 20 23 69 66 6e 64 65  CEL {..// #ifnde
f480: 66 20 5f 4d 41 43 0d 0a 20 20 42 59 54 45 20 66  f _MAC..  BYTE f
f490: 56 69 72 74 3b 0d 0a 20 20 57 4f 52 44 20 6b 65  Virt;..  WORD ke
f4a0: 79 3b 0d 0a 20 20 57 4f 52 44 20 63 6d 64 3b 0d  y;..  WORD cmd;.
f4b0: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e  .// #else..// ..
f4c0: 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d  ...// #endif..}.
f4d0: 0a 61 6c 69 61 73 20 74 61 67 41 43 43 45 4c 20  .alias tagACCEL 
f4e0: 41 43 43 45 4c 3b 0d 0a 61 6c 69 61 73 20 74 61  ACCEL;..alias ta
f4f0: 67 41 43 43 45 4c 2a 20 4c 50 41 43 43 45 4c 3b  gACCEL* LPACCEL;
f500: 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 50 41  ....struct tagPA
f510: 49 4e 54 53 54 52 55 43 54 20 7b 0d 0a 20 20 48  INTSTRUCT {..  H
f520: 44 43 20 68 64 63 3b 0d 0a 20 20 42 4f 4f 4c 20  DC hdc;..  BOOL 
f530: 66 45 72 61 73 65 3b 0d 0a 20 20 52 45 43 54 20  fErase;..  RECT 
f540: 72 63 50 61 69 6e 74 3b 0d 0a 20 20 42 4f 4f 4c  rcPaint;..  BOOL
f550: 20 66 52 65 73 74 6f 72 65 3b 0d 0a 20 20 42 4f   fRestore;..  BO
f560: 4f 4c 20 66 49 6e 63 55 70 64 61 74 65 3b 0d 0a  OL fIncUpdate;..
f570: 20 20 42 59 54 45 20 72 67 62 52 65 73 65 72 76    BYTE rgbReserv
f580: 65 64 5b 33 32 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61  ed[32];..}..alia
f590: 73 20 74 61 67 50 41 49 4e 54 53 54 52 55 43 54  s tagPAINTSTRUCT
f5a0: 20 50 41 49 4e 54 53 54 52 55 43 54 3b 0d 0a 61   PAINTSTRUCT;..a
f5b0: 6c 69 61 73 20 74 61 67 50 41 49 4e 54 53 54 52  lias tagPAINTSTR
f5c0: 55 43 54 2a 20 50 50 41 49 4e 54 53 54 52 55 43  UCT* PPAINTSTRUC
f5d0: 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67 50 41 49  T;..alias tagPAI
f5e0: 4e 54 53 54 52 55 43 54 2a 20 4e 50 50 41 49 4e  NTSTRUCT* NPPAIN
f5f0: 54 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20  TSTRUCT;..alias 
f600: 74 61 67 50 41 49 4e 54 53 54 52 55 43 54 2a 20  tagPAINTSTRUCT* 
f610: 4c 50 50 41 49 4e 54 53 54 52 55 43 54 3b 0d 0a  LPPAINTSTRUCT;..
f620: 0d 0a 73 74 72 75 63 74 20 74 61 67 43 52 45 41  ..struct tagCREA
f630: 54 45 53 54 52 55 43 54 41 20 7b 0d 0a 20 20 4c  TESTRUCTA {..  L
f640: 50 56 4f 49 44 20 6c 70 43 72 65 61 74 65 50 61  PVOID lpCreatePa
f650: 72 61 6d 73 3b 0d 0a 20 20 48 49 4e 53 54 41 4e  rams;..  HINSTAN
f660: 43 45 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a 20  CE hInstance;.. 
f670: 20 48 4d 45 4e 55 20 68 4d 65 6e 75 3b 0d 0a 20   HMENU hMenu;.. 
f680: 20 48 57 4e 44 20 68 77 6e 64 50 61 72 65 6e 74   HWND hwndParent
f690: 3b 0d 0a 20 20 69 6e 74 20 63 79 3b 0d 0a 20 20  ;..  int cy;..  
f6a0: 69 6e 74 20 63 78 3b 0d 0a 20 20 69 6e 74 20 79  int cx;..  int y
f6b0: 3b 0d 0a 20 20 69 6e 74 20 78 3b 0d 0a 20 20 4c  ;..  int x;..  L
f6c0: 4f 4e 47 20 73 74 79 6c 65 3b 0d 0a 20 20 4c 50  ONG style;..  LP
f6d0: 43 53 54 52 20 6c 70 73 7a 4e 61 6d 65 3b 0d 0a  CSTR lpszName;..
f6e0: 20 20 4c 50 43 53 54 52 20 6c 70 73 7a 43 6c 61    LPCSTR lpszCla
f6f0: 73 73 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 45  ss;..  DWORD dwE
f700: 78 53 74 79 6c 65 3b 0d 0a 7d 0d 0a 61 6c 69 61  xStyle;..}..alia
f710: 73 20 74 61 67 43 52 45 41 54 45 53 54 52 55 43  s tagCREATESTRUC
f720: 54 41 20 43 52 45 41 54 45 53 54 52 55 43 54 41  TA CREATESTRUCTA
f730: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 43 52 45 41  ;..alias tagCREA
f740: 54 45 53 54 52 55 43 54 41 2a 20 4c 50 43 52 45  TESTRUCTA* LPCRE
f750: 41 54 45 53 54 52 55 43 54 41 3b 0d 0a 0d 0a 73  ATESTRUCTA;....s
f760: 74 72 75 63 74 20 74 61 67 43 52 45 41 54 45 53  truct tagCREATES
f770: 54 52 55 43 54 57 20 7b 0d 0a 20 20 4c 50 56 4f  TRUCTW {..  LPVO
f780: 49 44 20 6c 70 43 72 65 61 74 65 50 61 72 61 6d  ID lpCreateParam
f790: 73 3b 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20  s;..  HINSTANCE 
f7a0: 68 49 6e 73 74 61 6e 63 65 3b 0d 0a 20 20 48 4d  hInstance;..  HM
f7b0: 45 4e 55 20 68 4d 65 6e 75 3b 0d 0a 20 20 48 57  ENU hMenu;..  HW
f7c0: 4e 44 20 68 77 6e 64 50 61 72 65 6e 74 3b 0d 0a  ND hwndParent;..
f7d0: 20 20 69 6e 74 20 63 79 3b 0d 0a 20 20 69 6e 74    int cy;..  int
f7e0: 20 63 78 3b 0d 0a 20 20 69 6e 74 20 79 3b 0d 0a   cx;..  int y;..
f7f0: 20 20 69 6e 74 20 78 3b 0d 0a 20 20 4c 4f 4e 47    int x;..  LONG
f800: 20 73 74 79 6c 65 3b 0d 0a 20 20 4c 50 43 57 53   style;..  LPCWS
f810: 54 52 20 6c 70 73 7a 4e 61 6d 65 3b 0d 0a 20 20  TR lpszName;..  
f820: 4c 50 43 57 53 54 52 20 6c 70 73 7a 43 6c 61 73  LPCWSTR lpszClas
f830: 73 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 45 78  s;..  DWORD dwEx
f840: 53 74 79 6c 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  Style;..}..alias
f850: 20 74 61 67 43 52 45 41 54 45 53 54 52 55 43 54   tagCREATESTRUCT
f860: 57 20 43 52 45 41 54 45 53 54 52 55 43 54 57 3b  W CREATESTRUCTW;
f870: 0d 0a 61 6c 69 61 73 20 74 61 67 43 52 45 41 54  ..alias tagCREAT
f880: 45 53 54 52 55 43 54 57 2a 20 4c 50 43 52 45 41  ESTRUCTW* LPCREA
f890: 54 45 53 54 52 55 43 54 57 3b 0d 0a 0d 0a 2f 2f  TESTRUCTW;....//
f8a0: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
f8b0: 0a 61 6c 69 61 73 20 43 52 45 41 54 45 53 54 52  .alias CREATESTR
f8c0: 55 43 54 57 20 43 52 45 41 54 45 53 54 52 55 43  UCTW CREATESTRUC
f8d0: 54 3b 0d 0a 61 6c 69 61 73 20 4c 50 43 52 45 41  T;..alias LPCREA
f8e0: 54 45 53 54 52 55 43 54 57 20 4c 50 43 52 45 41  TESTRUCTW LPCREA
f8f0: 54 45 53 54 52 55 43 54 3b 0d 0a 2f 2f 20 23 65  TESTRUCT;..// #e
f900: 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  lse..// .....// 
f910: 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44  #endif // UNICOD
f920: 45 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 57  E....struct tagW
f930: 49 4e 44 4f 57 50 4c 41 43 45 4d 45 4e 54 20 7b  INDOWPLACEMENT {
f940: 0d 0a 20 20 55 49 4e 54 20 6c 65 6e 67 74 68 3b  ..  UINT length;
f950: 0d 0a 20 20 55 49 4e 54 20 66 6c 61 67 73 3b 0d  ..  UINT flags;.
f960: 0a 20 20 55 49 4e 54 20 73 68 6f 77 43 6d 64 3b  .  UINT showCmd;
f970: 0d 0a 20 20 50 4f 49 4e 54 20 70 74 4d 69 6e 50  ..  POINT ptMinP
f980: 6f 73 69 74 69 6f 6e 3b 0d 0a 20 20 50 4f 49 4e  osition;..  POIN
f990: 54 20 70 74 4d 61 78 50 6f 73 69 74 69 6f 6e 3b  T ptMaxPosition;
f9a0: 0d 0a 20 20 52 45 43 54 20 72 63 4e 6f 72 6d 61  ..  RECT rcNorma
f9b0: 6c 50 6f 73 69 74 69 6f 6e 3b 0d 0a 2f 2f 20 23  lPosition;..// #
f9c0: 69 66 64 65 66 20 5f 4d 41 43 0d 0a 2f 2f 20 2e  ifdef _MAC..// .
f9d0: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d  ....// #endif..}
f9e0: 0d 0a 61 6c 69 61 73 20 74 61 67 57 49 4e 44 4f  ..alias tagWINDO
f9f0: 57 50 4c 41 43 45 4d 45 4e 54 20 57 49 4e 44 4f  WPLACEMENT WINDO
fa00: 57 50 4c 41 43 45 4d 45 4e 54 3b 0d 0a 0d 0a 61  WPLACEMENT;....a
fa10: 6c 69 61 73 20 57 49 4e 44 4f 57 50 4c 41 43 45  lias WINDOWPLACE
fa20: 4d 45 4e 54 2a 20 50 57 49 4e 44 4f 57 50 4c 41  MENT* PWINDOWPLA
fa30: 43 45 4d 45 4e 54 3b 0d 0a 61 6c 69 61 73 20 57  CEMENT;..alias W
fa40: 49 4e 44 4f 57 50 4c 41 43 45 4d 45 4e 54 2a 20  INDOWPLACEMENT* 
fa50: 4c 50 57 49 4e 44 4f 57 50 4c 41 43 45 4d 45 4e  LPWINDOWPLACEMEN
fa60: 54 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  T;....enum : uin
fa70: 74 20 7b 20 57 50 46 5f 53 45 54 4d 49 4e 50 4f  t { WPF_SETMINPO
fa80: 53 49 54 49 4f 4e 20 3d 20 30 78 30 30 30 31 20  SITION = 0x0001 
fa90: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
faa0: 20 57 50 46 5f 52 45 53 54 4f 52 45 54 4f 4d 41   WPF_RESTORETOMA
fab0: 58 49 4d 49 5a 45 44 20 3d 20 30 78 30 30 30 32  XIMIZED = 0x0002
fac0: 20 7d 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33   }..// #if(_WIN3
fad0: 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30  2_WINNT >= 0x050
fae0: 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
faf0: 7b 20 57 50 46 5f 41 53 59 4e 43 57 49 4e 44 4f  { WPF_ASYNCWINDO
fb00: 57 50 4c 41 43 45 4d 45 4e 54 20 3d 20 30 78 30  WPLACEMENT = 0x0
fb10: 30 30 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  004 }..// #endif
fb20: 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54   /* _WIN32_WINNT
fb30: 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d   >= 0x0500 */...
fb40: 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e  .// #if(WINVER >
fb50: 3d 20 30 78 30 34 30 30 29 0d 0a 73 74 72 75 63  = 0x0400)..struc
fb60: 74 20 74 61 67 4e 4d 48 44 52 20 7b 0d 0a 20 20  t tagNMHDR {..  
fb70: 48 57 4e 44 20 68 77 6e 64 46 72 6f 6d 3b 0d 0a  HWND hwndFrom;..
fb80: 20 20 55 49 4e 54 5f 50 54 52 20 69 64 46 72 6f    UINT_PTR idFro
fb90: 6d 3b 0d 0a 20 20 55 49 4e 54 20 63 6f 64 65 3b  m;..  UINT code;
fba0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d  ..}..alias tagNM
fbb0: 48 44 52 20 4e 4d 48 44 52 3b 0d 0a 0d 0a 61 6c  HDR NMHDR;....al
fbc0: 69 61 73 20 4e 4d 48 44 52 2a 20 4c 50 4e 4d 48  ias NMHDR* LPNMH
fbd0: 44 52 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  DR;....struct ta
fbe0: 67 53 54 59 4c 45 53 54 52 55 43 54 20 7b 0d 0a  gSTYLESTRUCT {..
fbf0: 20 20 44 57 4f 52 44 20 73 74 79 6c 65 4f 6c 64    DWORD styleOld
fc00: 3b 0d 0a 20 20 44 57 4f 52 44 20 73 74 79 6c 65  ;..  DWORD style
fc10: 4e 65 77 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  New;..}..alias t
fc20: 61 67 53 54 59 4c 45 53 54 52 55 43 54 20 53 54  agSTYLESTRUCT ST
fc30: 59 4c 45 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61  YLESTRUCT;..alia
fc40: 73 20 74 61 67 53 54 59 4c 45 53 54 52 55 43 54  s tagSTYLESTRUCT
fc50: 2a 20 4c 50 53 54 59 4c 45 53 54 52 55 43 54 3b  * LPSTYLESTRUCT;
fc60: 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  ....// #endif /*
fc70: 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30   WINVER >= 0x040
fc80: 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  0 */....enum : u
fc90: 69 6e 74 20 7b 20 4f 44 54 5f 4d 45 4e 55 20 3d  int { ODT_MENU =
fca0: 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
fcb0: 74 20 7b 20 4f 44 54 5f 4c 49 53 54 42 4f 58 20  t { ODT_LISTBOX 
fcc0: 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 2 }..enum : ui
fcd0: 6e 74 20 7b 20 4f 44 54 5f 43 4f 4d 42 4f 42 4f  nt { ODT_COMBOBO
fce0: 58 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  X = 3 }..enum : 
fcf0: 75 69 6e 74 20 7b 20 4f 44 54 5f 42 55 54 54 4f  uint { ODT_BUTTO
fd00: 4e 20 3d 20 34 20 7d 0d 0a 2f 2f 20 23 69 66 28  N = 4 }..// #if(
fd10: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
fd20: 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
fd30: 20 4f 44 54 5f 53 54 41 54 49 43 20 3d 20 35 20   ODT_STATIC = 5 
fd40: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  }..// #endif /* 
fd50: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
fd60: 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   */....enum : ui
fd70: 6e 74 20 7b 20 4f 44 41 5f 44 52 41 57 45 4e 54  nt { ODA_DRAWENT
fd80: 49 52 45 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a  IRE = 0x0001 }..
fd90: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 44  enum : uint { OD
fda0: 41 5f 53 45 4c 45 43 54 20 3d 20 30 78 30 30 30  A_SELECT = 0x000
fdb0: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
fdc0: 20 7b 20 4f 44 41 5f 46 4f 43 55 53 20 3d 20 30   { ODA_FOCUS = 0
fdd0: 78 30 30 30 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x0004 }....enum 
fde0: 3a 20 75 69 6e 74 20 7b 20 4f 44 53 5f 53 45 4c  : uint { ODS_SEL
fdf0: 45 43 54 45 44 20 3d 20 30 78 30 30 30 31 20 7d  ECTED = 0x0001 }
fe00: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
fe10: 4f 44 53 5f 47 52 41 59 45 44 20 3d 20 30 78 30  ODS_GRAYED = 0x0
fe20: 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
fe30: 6e 74 20 7b 20 4f 44 53 5f 44 49 53 41 42 4c 45  nt { ODS_DISABLE
fe40: 44 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e  D = 0x0004 }..en
fe50: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 44 53 5f  um : uint { ODS_
fe60: 43 48 45 43 4b 45 44 20 3d 20 30 78 30 30 30 38  CHECKED = 0x0008
fe70: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
fe80: 7b 20 4f 44 53 5f 46 4f 43 55 53 20 3d 20 30 78  { ODS_FOCUS = 0x
fe90: 30 30 31 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 57  0010 }..// #if(W
fea0: 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
feb0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
fec0: 4f 44 53 5f 44 45 46 41 55 4c 54 20 3d 20 30 78  ODS_DEFAULT = 0x
fed0: 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0020 }..enum : u
fee0: 69 6e 74 20 7b 20 4f 44 53 5f 43 4f 4d 42 4f 42  int { ODS_COMBOB
fef0: 4f 58 45 44 49 54 20 3d 20 30 78 31 30 30 30 20  OXEDIT = 0x1000 
ff00: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  }..// #endif /* 
ff10: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
ff20: 20 2a 2f 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56   */..// #if(WINV
ff30: 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65  ER >= 0x0500)..e
ff40: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 44 53  num : uint { ODS
ff50: 5f 48 4f 54 4c 49 47 48 54 20 3d 20 30 78 30 30  _HOTLIGHT = 0x00
ff60: 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  40 }..enum : uin
ff70: 74 20 7b 20 4f 44 53 5f 49 4e 41 43 54 49 56 45  t { ODS_INACTIVE
ff80: 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a 2f 2f 20   = 0x0080 }..// 
ff90: 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  #if(_WIN32_WINNT
ffa0: 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75   >= 0x0500)..enu
ffb0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 44 53 5f 4e  m : uint { ODS_N
ffc0: 4f 41 43 43 45 4c 20 3d 20 30 78 30 31 30 30 20  OACCEL = 0x0100 
ffd0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
ffe0: 20 4f 44 53 5f 4e 4f 46 4f 43 55 53 52 45 43 54   ODS_NOFOCUSRECT
fff0: 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a 2f 2f 20   = 0x0200 }..// 
10000 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32  #endif /* _WIN32
10010 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30  _WINNT >= 0x0500
10020 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f   */..// #endif /
10030 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35  * WINVER >= 0x05
10040 30 30 20 2a 2f 0d 0a 0d 0a 73 74 72 75 63 74 20  00 */....struct 
10050 74 61 67 4d 45 41 53 55 52 45 49 54 45 4d 53 54  tagMEASUREITEMST
10060 52 55 43 54 20 7b 0d 0a 20 20 55 49 4e 54 20 43  RUCT {..  UINT C
10070 74 6c 54 79 70 65 3b 0d 0a 20 20 55 49 4e 54 20  tlType;..  UINT 
10080 43 74 6c 49 44 3b 0d 0a 20 20 55 49 4e 54 20 69  CtlID;..  UINT i
10090 74 65 6d 49 44 3b 0d 0a 20 20 55 49 4e 54 20 69  temID;..  UINT i
100a0 74 65 6d 57 69 64 74 68 3b 0d 0a 20 20 55 49 4e  temWidth;..  UIN
100b0 54 20 69 74 65 6d 48 65 69 67 68 74 3b 0d 0a 20  T itemHeight;.. 
100c0 20 55 4c 4f 4e 47 5f 50 54 52 20 69 74 65 6d 44   ULONG_PTR itemD
100d0 61 74 61 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  ata;..}..alias t
100e0 61 67 4d 45 41 53 55 52 45 49 54 45 4d 53 54 52  agMEASUREITEMSTR
100f0 55 43 54 20 4d 45 41 53 55 52 45 49 54 45 4d 53  UCT MEASUREITEMS
10100 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20 74 61  TRUCT;..alias ta
10110 67 4d 45 41 53 55 52 45 49 54 45 4d 53 54 52 55  gMEASUREITEMSTRU
10120 43 54 2a 20 50 4d 45 41 53 55 52 45 49 54 45 4d  CT* PMEASUREITEM
10130 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20 74  STRUCT;..alias t
10140 61 67 4d 45 41 53 55 52 45 49 54 45 4d 53 54 52  agMEASUREITEMSTR
10150 55 43 54 2a 20 4c 50 4d 45 41 53 55 52 45 49 54  UCT* LPMEASUREIT
10160 45 4d 53 54 52 55 43 54 3b 0d 0a 0d 0a 73 74 72  EMSTRUCT;....str
10170 75 63 74 20 74 61 67 44 52 41 57 49 54 45 4d 53  uct tagDRAWITEMS
10180 54 52 55 43 54 20 7b 0d 0a 20 20 55 49 4e 54 20  TRUCT {..  UINT 
10190 43 74 6c 54 79 70 65 3b 0d 0a 20 20 55 49 4e 54  CtlType;..  UINT
101a0 20 43 74 6c 49 44 3b 0d 0a 20 20 55 49 4e 54 20   CtlID;..  UINT 
101b0 69 74 65 6d 49 44 3b 0d 0a 20 20 55 49 4e 54 20  itemID;..  UINT 
101c0 69 74 65 6d 41 63 74 69 6f 6e 3b 0d 0a 20 20 55  itemAction;..  U
101d0 49 4e 54 20 69 74 65 6d 53 74 61 74 65 3b 0d 0a  INT itemState;..
101e0 20 20 48 57 4e 44 20 68 77 6e 64 49 74 65 6d 3b    HWND hwndItem;
101f0 0d 0a 20 20 48 44 43 20 68 44 43 3b 0d 0a 20 20  ..  HDC hDC;..  
10200 52 45 43 54 20 72 63 49 74 65 6d 3b 0d 0a 20 20  RECT rcItem;..  
10210 55 4c 4f 4e 47 5f 50 54 52 20 69 74 65 6d 44 61  ULONG_PTR itemDa
10220 74 61 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  ta;..}..alias ta
10230 67 44 52 41 57 49 54 45 4d 53 54 52 55 43 54 20  gDRAWITEMSTRUCT 
10240 44 52 41 57 49 54 45 4d 53 54 52 55 43 54 3b 0d  DRAWITEMSTRUCT;.
10250 0a 61 6c 69 61 73 20 74 61 67 44 52 41 57 49 54  .alias tagDRAWIT
10260 45 4d 53 54 52 55 43 54 2a 20 50 44 52 41 57 49  EMSTRUCT* PDRAWI
10270 54 45 4d 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61  TEMSTRUCT;..alia
10280 73 20 74 61 67 44 52 41 57 49 54 45 4d 53 54 52  s tagDRAWITEMSTR
10290 55 43 54 2a 20 4c 50 44 52 41 57 49 54 45 4d 53  UCT* LPDRAWITEMS
102a0 54 52 55 43 54 3b 0d 0a 0d 0a 73 74 72 75 63 74  TRUCT;....struct
102b0 20 74 61 67 44 45 4c 45 54 45 49 54 45 4d 53 54   tagDELETEITEMST
102c0 52 55 43 54 20 7b 0d 0a 20 20 55 49 4e 54 20 43  RUCT {..  UINT C
102d0 74 6c 54 79 70 65 3b 0d 0a 20 20 55 49 4e 54 20  tlType;..  UINT 
102e0 43 74 6c 49 44 3b 0d 0a 20 20 55 49 4e 54 20 69  CtlID;..  UINT i
102f0 74 65 6d 49 44 3b 0d 0a 20 20 48 57 4e 44 20 68  temID;..  HWND h
10300 77 6e 64 49 74 65 6d 3b 0d 0a 20 20 55 4c 4f 4e  wndItem;..  ULON
10310 47 5f 50 54 52 20 69 74 65 6d 44 61 74 61 3b 0d  G_PTR itemData;.
10320 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 44 45 4c  .}..alias tagDEL
10330 45 54 45 49 54 45 4d 53 54 52 55 43 54 20 44 45  ETEITEMSTRUCT DE
10340 4c 45 54 45 49 54 45 4d 53 54 52 55 43 54 3b 0d  LETEITEMSTRUCT;.
10350 0a 61 6c 69 61 73 20 74 61 67 44 45 4c 45 54 45  .alias tagDELETE
10360 49 54 45 4d 53 54 52 55 43 54 2a 20 50 44 45 4c  ITEMSTRUCT* PDEL
10370 45 54 45 49 54 45 4d 53 54 52 55 43 54 3b 0d 0a  ETEITEMSTRUCT;..
10380 61 6c 69 61 73 20 74 61 67 44 45 4c 45 54 45 49  alias tagDELETEI
10390 54 45 4d 53 54 52 55 43 54 2a 20 4c 50 44 45 4c  TEMSTRUCT* LPDEL
103a0 45 54 45 49 54 45 4d 53 54 52 55 43 54 3b 0d 0a  ETEITEMSTRUCT;..
103b0 0d 0a 73 74 72 75 63 74 20 74 61 67 43 4f 4d 50  ..struct tagCOMP
103c0 41 52 45 49 54 45 4d 53 54 52 55 43 54 20 7b 0d  AREITEMSTRUCT {.
103d0 0a 20 20 55 49 4e 54 20 43 74 6c 54 79 70 65 3b  .  UINT CtlType;
103e0 0d 0a 20 20 55 49 4e 54 20 43 74 6c 49 44 3b 0d  ..  UINT CtlID;.
103f0 0a 20 20 48 57 4e 44 20 68 77 6e 64 49 74 65 6d  .  HWND hwndItem
10400 3b 0d 0a 20 20 55 49 4e 54 20 69 74 65 6d 49 44  ;..  UINT itemID
10410 31 3b 0d 0a 20 20 55 4c 4f 4e 47 5f 50 54 52 20  1;..  ULONG_PTR 
10420 69 74 65 6d 44 61 74 61 31 3b 0d 0a 20 20 55 49  itemData1;..  UI
10430 4e 54 20 69 74 65 6d 49 44 32 3b 0d 0a 20 20 55  NT itemID2;..  U
10440 4c 4f 4e 47 5f 50 54 52 20 69 74 65 6d 44 61 74  LONG_PTR itemDat
10450 61 32 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4c  a2;..  DWORD dwL
10460 6f 63 61 6c 65 49 64 3b 0d 0a 7d 0d 0a 61 6c 69  ocaleId;..}..ali
10470 61 73 20 74 61 67 43 4f 4d 50 41 52 45 49 54 45  as tagCOMPAREITE
10480 4d 53 54 52 55 43 54 20 43 4f 4d 50 41 52 45 49  MSTRUCT COMPAREI
10490 54 45 4d 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61  TEMSTRUCT;..alia
104a0 73 20 74 61 67 43 4f 4d 50 41 52 45 49 54 45 4d  s tagCOMPAREITEM
104b0 53 54 52 55 43 54 2a 20 50 43 4f 4d 50 41 52 45  STRUCT* PCOMPARE
104c0 49 54 45 4d 53 54 52 55 43 54 3b 0d 0a 61 6c 69  ITEMSTRUCT;..ali
104d0 61 73 20 74 61 67 43 4f 4d 50 41 52 45 49 54 45  as tagCOMPAREITE
104e0 4d 53 54 52 55 43 54 2a 20 4c 50 43 4f 4d 50 41  MSTRUCT* LPCOMPA
104f0 52 45 49 54 45 4d 53 54 52 55 43 54 3b 0d 0a 0d  REITEMSTRUCT;...
10500 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 4d 53  .// #ifndef NOMS
10510 47 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  G....extern(Wind
10520 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
10530 20 47 65 74 4d 65 73 73 61 67 65 41 28 0d 0a 20   GetMessageA(.. 
10540 20 4c 50 4d 53 47 20 6c 70 4d 73 67 2c 0d 0a 20   LPMSG lpMsg,.. 
10550 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 55   HWND hWnd,..  U
10560 49 4e 54 20 77 4d 73 67 46 69 6c 74 65 72 4d 69  INT wMsgFilterMi
10570 6e 2c 0d 0a 20 20 55 49 4e 54 20 77 4d 73 67 46  n,..  UINT wMsgF
10580 69 6c 74 65 72 4d 61 78 29 3b 0d 0a 65 78 74 65  ilterMax);..exte
10590 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
105a0 72 74 20 42 4f 4f 4c 20 47 65 74 4d 65 73 73 61  rt BOOL GetMessa
105b0 67 65 57 28 0d 0a 20 20 4c 50 4d 53 47 20 6c 70  geW(..  LPMSG lp
105c0 4d 73 67 2c 0d 0a 20 20 48 57 4e 44 20 68 57 6e  Msg,..  HWND hWn
105d0 64 2c 0d 0a 20 20 55 49 4e 54 20 77 4d 73 67 46  d,..  UINT wMsgF
105e0 69 6c 74 65 72 4d 69 6e 2c 0d 0a 20 20 55 49 4e  ilterMin,..  UIN
105f0 54 20 77 4d 73 67 46 69 6c 74 65 72 4d 61 78 29  T wMsgFilterMax)
10600 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
10610 43 4f 44 45 0d 0a 61 6c 69 61 73 20 47 65 74 4d  CODE..alias GetM
10620 65 73 73 61 67 65 57 20 47 65 74 4d 65 73 73 61  essageW GetMessa
10630 67 65 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  ge;..// #else../
10640 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
10650 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
10660 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
10670 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 54 72 61   export BOOL Tra
10680 6e 73 6c 61 74 65 4d 65 73 73 61 67 65 28 0d 0a  nslateMessage(..
10690 20 20 4d 53 47 20 2a 6c 70 4d 73 67 29 3b 0d 0a    MSG *lpMsg);..
106a0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
106b0 29 20 65 78 70 6f 72 74 20 4c 52 45 53 55 4c 54  ) export LRESULT
106c0 20 44 69 73 70 61 74 63 68 4d 65 73 73 61 67 65   DispatchMessage
106d0 41 28 0d 0a 20 20 4d 53 47 20 2a 6c 70 4d 73 67  A(..  MSG *lpMsg
106e0 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
106f0 77 73 29 20 65 78 70 6f 72 74 20 4c 52 45 53 55  ws) export LRESU
10700 4c 54 20 44 69 73 70 61 74 63 68 4d 65 73 73 61  LT DispatchMessa
10710 67 65 57 28 0d 0a 20 20 4d 53 47 20 2a 6c 70 4d  geW(..  MSG *lpM
10720 73 67 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  sg);..// #ifdef 
10730 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 44  UNICODE..alias D
10740 69 73 70 61 74 63 68 4d 65 73 73 61 67 65 57 20  ispatchMessageW 
10750 44 69 73 70 61 74 63 68 4d 65 73 73 61 67 65 3b  DispatchMessage;
10760 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
10770 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
10780 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78  / !UNICODE....ex
10790 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
107a0 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74 4d 65 73  port BOOL SetMes
107b0 73 61 67 65 51 75 65 75 65 28 0d 0a 20 20 69 6e  sageQueue(..  in
107c0 74 20 63 4d 65 73 73 61 67 65 73 4d 61 78 29 3b  t cMessagesMax);
107d0 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
107e0 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
107f0 50 65 65 6b 4d 65 73 73 61 67 65 41 28 0d 0a 20  PeekMessageA(.. 
10800 20 4c 50 4d 53 47 20 6c 70 4d 73 67 2c 0d 0a 20   LPMSG lpMsg,.. 
10810 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 55   HWND hWnd,..  U
10820 49 4e 54 20 77 4d 73 67 46 69 6c 74 65 72 4d 69  INT wMsgFilterMi
10830 6e 2c 0d 0a 20 20 55 49 4e 54 20 77 4d 73 67 46  n,..  UINT wMsgF
10840 69 6c 74 65 72 4d 61 78 2c 0d 0a 20 20 55 49 4e  ilterMax,..  UIN
10850 54 20 77 52 65 6d 6f 76 65 4d 73 67 29 3b 0d 0a  T wRemoveMsg);..
10860 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
10870 65 78 70 6f 72 74 20 42 4f 4f 4c 20 50 65 65 6b  export BOOL Peek
10880 4d 65 73 73 61 67 65 57 28 0d 0a 20 20 4c 50 4d  MessageW(..  LPM
10890 53 47 20 6c 70 4d 73 67 2c 0d 0a 20 20 48 57 4e  SG lpMsg,..  HWN
108a0 44 20 68 57 6e 64 2c 0d 0a 20 20 55 49 4e 54 20  D hWnd,..  UINT 
108b0 77 4d 73 67 46 69 6c 74 65 72 4d 69 6e 2c 0d 0a  wMsgFilterMin,..
108c0 20 20 55 49 4e 54 20 77 4d 73 67 46 69 6c 74 65    UINT wMsgFilte
108d0 72 4d 61 78 2c 0d 0a 20 20 55 49 4e 54 20 77 52  rMax,..  UINT wR
108e0 65 6d 6f 76 65 4d 73 67 29 3b 0d 0a 2f 2f 20 23  emoveMsg);..// #
108f0 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
10900 6c 69 61 73 20 50 65 65 6b 4d 65 73 73 61 67 65  lias PeekMessage
10910 57 20 50 65 65 6b 4d 65 73 73 61 67 65 3b 0d 0a  W PeekMessage;..
10920 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
10930 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
10940 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d  !UNICODE....enum
10950 20 3a 20 75 69 6e 74 20 7b 20 50 4d 5f 4e 4f 52   : uint { PM_NOR
10960 45 4d 4f 56 45 20 3d 20 30 78 30 30 30 30 20 7d  EMOVE = 0x0000 }
10970 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
10980 50 4d 5f 52 45 4d 4f 56 45 20 3d 20 30 78 30 30  PM_REMOVE = 0x00
10990 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
109a0 74 20 7b 20 50 4d 5f 4e 4f 59 49 45 4c 44 20 3d  t { PM_NOYIELD =
109b0 20 30 78 30 30 30 32 20 7d 0d 0a 2f 2f 20 23 69   0x0002 }..// #i
109c0 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35  f(WINVER >= 0x05
109d0 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
109e0 20 7b 20 50 4d 5f 51 53 5f 49 4e 50 55 54 20 3d   { PM_QS_INPUT =
109f0 20 51 53 5f 49 4e 50 55 54 20 3c 3c 20 31 36 20   QS_INPUT << 16 
10a00 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
10a10 20 50 4d 5f 51 53 5f 50 4f 53 54 4d 45 53 53 41   PM_QS_POSTMESSA
10a20 47 45 20 3d 20 28 51 53 5f 50 4f 53 54 4d 45 53  GE = (QS_POSTMES
10a30 53 41 47 45 20 7c 20 51 53 5f 48 4f 54 4b 45 59  SAGE | QS_HOTKEY
10a40 20 7c 20 51 53 5f 54 49 4d 45 52 29 20 3c 3c 20   | QS_TIMER) << 
10a50 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  16 }..enum : uin
10a60 74 20 7b 20 50 4d 5f 51 53 5f 50 41 49 4e 54 20  t { PM_QS_PAINT 
10a70 3d 20 51 53 5f 50 41 49 4e 54 20 3c 3c 20 31 36  = QS_PAINT << 16
10a80 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
10a90 7b 20 50 4d 5f 51 53 5f 53 45 4e 44 4d 45 53 53  { PM_QS_SENDMESS
10aa0 41 47 45 20 3d 20 51 53 5f 53 45 4e 44 4d 45 53  AGE = QS_SENDMES
10ab0 53 41 47 45 20 3c 3c 20 31 36 20 7d 0d 0a 2f 2f  SAGE << 16 }..//
10ac0 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45   #endif /* WINVE
10ad0 52 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a  R >= 0x0500 */..
10ae0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21  ..// #endif /* !
10af0 4e 4f 4d 53 47 20 2a 2f 0d 0a 0d 0a 65 78 74 65  NOMSG */....exte
10b00 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
10b10 72 74 20 42 4f 4f 4c 20 52 65 67 69 73 74 65 72  rt BOOL Register
10b20 48 6f 74 4b 65 79 28 0d 0a 20 20 48 57 4e 44 20  HotKey(..  HWND 
10b30 68 57 6e 64 2c 0d 0a 20 20 69 6e 74 20 69 64 2c  hWnd,..  int id,
10b40 0d 0a 20 20 55 49 4e 54 20 66 73 4d 6f 64 69 66  ..  UINT fsModif
10b50 69 65 72 73 2c 0d 0a 20 20 55 49 4e 54 20 76 6b  iers,..  UINT vk
10b60 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
10b70 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
10b80 4c 20 55 6e 72 65 67 69 73 74 65 72 48 6f 74 4b  L UnregisterHotK
10b90 65 79 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  ey(..  HWND hWnd
10ba0 2c 0d 0a 20 20 69 6e 74 20 69 64 29 3b 0d 0a 0d  ,..  int id);...
10bb0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
10bc0 4f 44 5f 41 4c 54 20 3d 20 30 78 30 30 30 31 20  OD_ALT = 0x0001 
10bd0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
10be0 20 4d 4f 44 5f 43 4f 4e 54 52 4f 4c 20 3d 20 30   MOD_CONTROL = 0
10bf0 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0002 }..enum : 
10c00 75 69 6e 74 20 7b 20 4d 4f 44 5f 53 48 49 46 54  uint { MOD_SHIFT
10c10 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75   = 0x0004 }..enu
10c20 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4f 44 5f 57  m : uint { MOD_W
10c30 49 4e 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 0d  IN = 0x0008 }...
10c40 0a 65 6e 75 6d 20 7b 20 49 44 48 4f 54 5f 53 4e  .enum { IDHOT_SN
10c50 41 50 57 49 4e 44 4f 57 20 3d 20 2d 31 20 7d 0d  APWINDOW = -1 }.
10c60 0a 65 6e 75 6d 20 7b 20 49 44 48 4f 54 5f 53 4e  .enum { IDHOT_SN
10c70 41 50 44 45 53 4b 54 4f 50 20 3d 20 2d 32 20 7d  APDESKTOP = -2 }
10c80 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 57 49  ....// #ifdef WI
10c90 4e 5f 49 4e 54 45 52 4e 41 4c 0d 0a 2f 2f 20 20  N_INTERNAL..//  
10ca0 20 20 20 23 69 66 6e 64 65 66 20 4c 53 54 52 49     #ifndef LSTRI
10cb0 4e 47 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  NG..// #.....// 
10cc0 20 20 20 20 23 65 6e 64 69 66 20 2f 2a 20 4c 53      #endif /* LS
10cd0 54 52 49 4e 47 20 2a 2f 0d 0a 2f 2f 20 20 20 20  TRING */..//    
10ce0 20 23 69 66 6e 64 65 66 20 4c 46 49 4c 45 49 4f   #ifndef LFILEIO
10cf0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 20 20  ..// #.....//   
10d00 20 20 23 65 6e 64 69 66 20 2f 2a 20 4c 46 49 4c    #endif /* LFIL
10d10 45 49 4f 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69  EIO */..// #endi
10d20 66 20 2f 2a 20 57 49 4e 5f 49 4e 54 45 52 4e 41  f /* WIN_INTERNA
10d30 4c 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57  L */....// #if(W
10d40 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
10d50 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
10d60 7b 20 45 4e 44 53 45 53 53 49 4f 4e 5f 4c 4f 47  { ENDSESSION_LOG
10d70 4f 46 46 20 3d 20 30 78 38 30 30 30 30 30 30 30  OFF = 0x80000000
10d80 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
10d90 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30   WINVER >= 0x040
10da0 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  0 */....enum : u
10db0 69 6e 74 20 7b 20 45 57 58 5f 4c 4f 47 4f 46 46  int { EWX_LOGOFF
10dc0 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 0 }..enum : u
10dd0 69 6e 74 20 7b 20 45 57 58 5f 53 48 55 54 44 4f  int { EWX_SHUTDO
10de0 57 4e 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  WN = 0x00000001 
10df0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
10e00 20 45 57 58 5f 52 45 42 4f 4f 54 20 3d 20 30 78   EWX_REBOOT = 0x
10e10 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  00000002 }..enum
10e20 20 3a 20 75 69 6e 74 20 7b 20 45 57 58 5f 46 4f   : uint { EWX_FO
10e30 52 43 45 20 3d 20 30 78 30 30 30 30 30 30 30 34  RCE = 0x00000004
10e40 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
10e50 7b 20 45 57 58 5f 50 4f 57 45 52 4f 46 46 20 3d  { EWX_POWEROFF =
10e60 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 2f   0x00000008 }../
10e70 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e  / #if(_WIN32_WIN
10e80 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65  NT >= 0x0500)..e
10e90 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 57 58  num : uint { EWX
10ea0 5f 46 4f 52 43 45 49 46 48 55 4e 47 20 3d 20 30  _FORCEIFHUNG = 0
10eb0 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 2f 2f 20  x00000010 }..// 
10ec0 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32  #endif /* _WIN32
10ed0 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30  _WINNT >= 0x0500
10ee0 20 2a 2f 0d 0a 0d 0a 42 4f 4f 4c 20 45 78 69 74   */....BOOL Exit
10ef0 57 69 6e 64 6f 77 73 28 44 57 4f 52 44 20 64 77  Windows(DWORD dw
10f00 52 65 73 65 72 76 65 64 2c 20 55 49 4e 54 20 43  Reserved, UINT C
10f10 6f 64 65 29 7b 20 72 65 74 75 72 6e 20 45 78 69  ode){ return Exi
10f20 74 57 69 6e 64 6f 77 73 45 78 28 45 57 58 5f 4c  tWindowsEx(EWX_L
10f30 4f 47 4f 46 46 2c 20 30 78 46 46 46 46 46 46 46  OGOFF, 0xFFFFFFF
10f40 46 29 3b 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28  F); }....extern(
10f50 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
10f60 42 4f 4f 4c 20 45 78 69 74 57 69 6e 64 6f 77 73  BOOL ExitWindows
10f70 45 78 28 0d 0a 20 20 55 49 4e 54 20 75 46 6c 61  Ex(..  UINT uFla
10f80 67 73 2c 0d 0a 20 20 44 57 4f 52 44 20 64 77 52  gs,..  DWORD dwR
10f90 65 73 65 72 76 65 64 29 3b 0d 0a 0d 0a 65 78 74  eserved);....ext
10fa0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
10fb0 6f 72 74 20 42 4f 4f 4c 20 53 77 61 70 4d 6f 75  ort BOOL SwapMou
10fc0 73 65 42 75 74 74 6f 6e 28 0d 0a 20 20 42 4f 4f  seButton(..  BOO
10fd0 4c 20 66 53 77 61 70 29 3b 0d 0a 0d 0a 65 78 74  L fSwap);....ext
10fe0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
10ff0 6f 72 74 20 44 57 4f 52 44 20 47 65 74 4d 65 73  ort DWORD GetMes
11000 73 61 67 65 50 6f 73 28 29 3b 0d 0a 0d 0a 65 78  sagePos();....ex
11010 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
11020 70 6f 72 74 20 4c 4f 4e 47 20 47 65 74 4d 65 73  port LONG GetMes
11030 73 61 67 65 54 69 6d 65 28 29 3b 0d 0a 0d 0a 65  sageTime();....e
11040 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
11050 78 70 6f 72 74 20 4c 50 41 52 41 4d 20 47 65 74  xport LPARAM Get
11060 4d 65 73 73 61 67 65 45 78 74 72 61 49 6e 66 6f  MessageExtraInfo
11070 28 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49  ();....// #if(WI
11080 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d  NVER >= 0x0400).
11090 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
110a0 20 65 78 70 6f 72 74 20 4c 50 41 52 41 4d 20 53   export LPARAM S
110b0 65 74 4d 65 73 73 61 67 65 45 78 74 72 61 49 6e  etMessageExtraIn
110c0 66 6f 28 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50  fo(..  LPARAM lP
110d0 61 72 61 6d 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69  aram);..// #endi
110e0 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
110f0 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65 78 74 65  x0400 */....exte
11100 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
11110 72 74 20 4c 52 45 53 55 4c 54 20 53 65 6e 64 4d  rt LRESULT SendM
11120 65 73 73 61 67 65 41 28 0d 0a 20 20 48 57 4e 44  essageA(..  HWND
11130 20 68 57 6e 64 2c 0d 0a 20 20 55 49 4e 54 20 4d   hWnd,..  UINT M
11140 73 67 2c 0d 0a 20 20 57 50 41 52 41 4d 20 77 50  sg,..  WPARAM wP
11150 61 72 61 6d 2c 0d 0a 20 20 4c 50 41 52 41 4d 20  aram,..  LPARAM 
11160 6c 50 61 72 61 6d 29 3b 0d 0a 65 78 74 65 72 6e  lParam);..extern
11170 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
11180 20 4c 52 45 53 55 4c 54 20 53 65 6e 64 4d 65 73   LRESULT SendMes
11190 73 61 67 65 57 28 0d 0a 20 20 48 57 4e 44 20 68  sageW(..  HWND h
111a0 57 6e 64 2c 0d 0a 20 20 55 49 4e 54 20 4d 73 67  Wnd,..  UINT Msg
111b0 2c 0d 0a 20 20 57 50 41 52 41 4d 20 77 50 61 72  ,..  WPARAM wPar
111c0 61 6d 2c 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50  am,..  LPARAM lP
111d0 61 72 61 6d 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  aram);..// #ifde
111e0 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
111f0 20 53 65 6e 64 4d 65 73 73 61 67 65 57 20 53 65   SendMessageW Se
11200 6e 64 4d 65 73 73 61 67 65 3b 0d 0a 2f 2f 20 23  ndMessage;..// #
11210 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
11220 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
11230 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  CODE....extern(W
11240 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4c  indows) export L
11250 52 45 53 55 4c 54 20 53 65 6e 64 4d 65 73 73 61  RESULT SendMessa
11260 67 65 54 69 6d 65 6f 75 74 41 28 0d 0a 20 20 48  geTimeoutA(..  H
11270 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 55 49 4e  WND hWnd,..  UIN
11280 54 20 4d 73 67 2c 0d 0a 20 20 57 50 41 52 41 4d  T Msg,..  WPARAM
11290 20 77 50 61 72 61 6d 2c 0d 0a 20 20 4c 50 41 52   wParam,..  LPAR
112a0 41 4d 20 6c 50 61 72 61 6d 2c 0d 0a 20 20 55 49  AM lParam,..  UI
112b0 4e 54 20 66 75 46 6c 61 67 73 2c 0d 0a 20 20 55  NT fuFlags,..  U
112c0 49 4e 54 20 75 54 69 6d 65 6f 75 74 2c 0d 0a 20  INT uTimeout,.. 
112d0 20 50 44 57 4f 52 44 5f 50 54 52 20 6c 70 64 77   PDWORD_PTR lpdw
112e0 52 65 73 75 6c 74 29 3b 0d 0a 65 78 74 65 72 6e  Result);..extern
112f0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
11300 20 4c 52 45 53 55 4c 54 20 53 65 6e 64 4d 65 73   LRESULT SendMes
11310 73 61 67 65 54 69 6d 65 6f 75 74 57 28 0d 0a 20  sageTimeoutW(.. 
11320 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 55   HWND hWnd,..  U
11330 49 4e 54 20 4d 73 67 2c 0d 0a 20 20 57 50 41 52  INT Msg,..  WPAR
11340 41 4d 20 77 50 61 72 61 6d 2c 0d 0a 20 20 4c 50  AM wParam,..  LP
11350 41 52 41 4d 20 6c 50 61 72 61 6d 2c 0d 0a 20 20  ARAM lParam,..  
11360 55 49 4e 54 20 66 75 46 6c 61 67 73 2c 0d 0a 20  UINT fuFlags,.. 
11370 20 55 49 4e 54 20 75 54 69 6d 65 6f 75 74 2c 0d   UINT uTimeout,.
11380 0a 20 20 50 44 57 4f 52 44 5f 50 54 52 20 6c 70  .  PDWORD_PTR lp
11390 64 77 52 65 73 75 6c 74 29 3b 0d 0a 2f 2f 20 23  dwResult);..// #
113a0 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
113b0 6c 69 61 73 20 53 65 6e 64 4d 65 73 73 61 67 65  lias SendMessage
113c0 54 69 6d 65 6f 75 74 57 20 53 65 6e 64 4d 65 73  TimeoutW SendMes
113d0 73 61 67 65 54 69 6d 65 6f 75 74 3b 0d 0a 2f 2f  sageTimeout;..//
113e0 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
113f0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
11400 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
11410 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
11420 20 42 4f 4f 4c 20 53 65 6e 64 4e 6f 74 69 66 79   BOOL SendNotify
11430 4d 65 73 73 61 67 65 41 28 0d 0a 20 20 48 57 4e  MessageA(..  HWN
11440 44 20 68 57 6e 64 2c 0d 0a 20 20 55 49 4e 54 20  D hWnd,..  UINT 
11450 4d 73 67 2c 0d 0a 20 20 57 50 41 52 41 4d 20 77  Msg,..  WPARAM w
11460 50 61 72 61 6d 2c 0d 0a 20 20 4c 50 41 52 41 4d  Param,..  LPARAM
11470 20 6c 50 61 72 61 6d 29 3b 0d 0a 65 78 74 65 72   lParam);..exter
11480 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
11490 74 20 42 4f 4f 4c 20 53 65 6e 64 4e 6f 74 69 66  t BOOL SendNotif
114a0 79 4d 65 73 73 61 67 65 57 28 0d 0a 20 20 48 57  yMessageW(..  HW
114b0 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 55 49 4e 54  ND hWnd,..  UINT
114c0 20 4d 73 67 2c 0d 0a 20 20 57 50 41 52 41 4d 20   Msg,..  WPARAM 
114d0 77 50 61 72 61 6d 2c 0d 0a 20 20 4c 50 41 52 41  wParam,..  LPARA
114e0 4d 20 6c 50 61 72 61 6d 29 3b 0d 0a 2f 2f 20 23  M lParam);..// #
114f0 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
11500 6c 69 61 73 20 53 65 6e 64 4e 6f 74 69 66 79 4d  lias SendNotifyM
11510 65 73 73 61 67 65 57 20 53 65 6e 64 4e 6f 74 69  essageW SendNoti
11520 66 79 4d 65 73 73 61 67 65 3b 0d 0a 2f 2f 20 23  fyMessage;..// #
11530 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
11540 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
11550 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  CODE....extern(W
11560 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
11570 4f 4f 4c 20 53 65 6e 64 4d 65 73 73 61 67 65 43  OOL SendMessageC
11580 61 6c 6c 62 61 63 6b 41 28 0d 0a 20 20 48 57 4e  allbackA(..  HWN
11590 44 20 68 57 6e 64 2c 0d 0a 20 20 55 49 4e 54 20  D hWnd,..  UINT 
115a0 4d 73 67 2c 0d 0a 20 20 57 50 41 52 41 4d 20 77  Msg,..  WPARAM w
115b0 50 61 72 61 6d 2c 0d 0a 20 20 4c 50 41 52 41 4d  Param,..  LPARAM
115c0 20 6c 50 61 72 61 6d 2c 0d 0a 20 20 53 45 4e 44   lParam,..  SEND
115d0 41 53 59 4e 43 50 52 4f 43 20 6c 70 52 65 73 75  ASYNCPROC lpResu
115e0 6c 74 43 61 6c 6c 42 61 63 6b 2c 0d 0a 20 20 55  ltCallBack,..  U
115f0 4c 4f 4e 47 5f 50 54 52 20 64 77 44 61 74 61 29  LONG_PTR dwData)
11600 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
11610 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53  s) export BOOL S
11620 65 6e 64 4d 65 73 73 61 67 65 43 61 6c 6c 62 61  endMessageCallba
11630 63 6b 57 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  ckW(..  HWND hWn
11640 64 2c 0d 0a 20 20 55 49 4e 54 20 4d 73 67 2c 0d  d,..  UINT Msg,.
11650 0a 20 20 57 50 41 52 41 4d 20 77 50 61 72 61 6d  .  WPARAM wParam
11660 2c 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72  ,..  LPARAM lPar
11670 61 6d 2c 0d 0a 20 20 53 45 4e 44 41 53 59 4e 43  am,..  SENDASYNC
11680 50 52 4f 43 20 6c 70 52 65 73 75 6c 74 43 61 6c  PROC lpResultCal
11690 6c 42 61 63 6b 2c 0d 0a 20 20 55 4c 4f 4e 47 5f  lBack,..  ULONG_
116a0 50 54 52 20 64 77 44 61 74 61 29 3b 0d 0a 2f 2f  PTR dwData);..//
116b0 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
116c0 0a 61 6c 69 61 73 20 53 65 6e 64 4d 65 73 73 61  .alias SendMessa
116d0 67 65 43 61 6c 6c 62 61 63 6b 57 20 53 65 6e 64  geCallbackW Send
116e0 4d 65 73 73 61 67 65 43 61 6c 6c 62 61 63 6b 3b  MessageCallback;
116f0 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
11700 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
11710 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f  / !UNICODE....//
11720 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e   #if(_WIN32_WINN
11730 54 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 73 74  T >= 0x0501)..st
11740 72 75 63 74 20 5f 30 20 7b 0d 0a 20 20 55 49 4e  ruct _0 {..  UIN
11750 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 48 44 45  T cbSize;..  HDE
11760 53 4b 20 68 64 65 73 6b 3b 0d 0a 20 20 48 57 4e  SK hdesk;..  HWN
11770 44 20 68 77 6e 64 3b 0d 0a 20 20 4c 55 49 44 20  D hwnd;..  LUID 
11780 6c 75 69 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  luid;..}..alias 
11790 5f 30 20 42 53 4d 49 4e 46 4f 3b 0d 0a 61 6c 69  _0 BSMINFO;..ali
117a0 61 73 20 5f 30 2a 20 50 42 53 4d 49 4e 46 4f 3b  as _0* PBSMINFO;
117b0 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
117c0 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 42  ws) export int B
117d0 72 6f 61 64 63 61 73 74 53 79 73 74 65 6d 4d 65  roadcastSystemMe
117e0 73 73 61 67 65 45 78 41 28 0d 0a 20 20 44 57 4f  ssageExA(..  DWO
117f0 52 44 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 2c 0d  RD,..  LPDWORD,.
11800 0a 20 20 55 49 4e 54 2c 0d 0a 20 20 57 50 41 52  .  UINT,..  WPAR
11810 41 4d 2c 0d 0a 20 20 4c 50 41 52 41 4d 2c 0d 0a  AM,..  LPARAM,..
11820 20 20 50 42 53 4d 49 4e 46 4f 29 3b 0d 0a 65 78    PBSMINFO);..ex
11830 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
11840 70 6f 72 74 20 69 6e 74 20 42 72 6f 61 64 63 61  port int Broadca
11850 73 74 53 79 73 74 65 6d 4d 65 73 73 61 67 65 45  stSystemMessageE
11860 78 57 28 0d 0a 20 20 44 57 4f 52 44 2c 0d 0a 20  xW(..  DWORD,.. 
11870 20 4c 50 44 57 4f 52 44 2c 0d 0a 20 20 55 49 4e   LPDWORD,..  UIN
11880 54 2c 0d 0a 20 20 57 50 41 52 41 4d 2c 0d 0a 20  T,..  WPARAM,.. 
11890 20 4c 50 41 52 41 4d 2c 0d 0a 20 20 50 42 53 4d   LPARAM,..  PBSM
118a0 49 4e 46 4f 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  INFO);..// #ifde
118b0 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
118c0 20 42 72 6f 61 64 63 61 73 74 53 79 73 74 65 6d   BroadcastSystem
118d0 4d 65 73 73 61 67 65 45 78 57 20 42 72 6f 61 64  MessageExW Broad
118e0 63 61 73 74 53 79 73 74 65 6d 4d 65 73 73 61 67  castSystemMessag
118f0 65 45 78 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  eEx;..// #else..
11900 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
11910 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
11920 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49  // #endif /* _WI
11930 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30  N32_WINNT >= 0x0
11940 35 30 31 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66  501 */....// #if
11950 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30  (WINVER >= 0x040
11960 30 29 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66  0)....// #if def
11970 69 6e 65 64 28 5f 57 49 4e 33 32 5f 57 49 4e 4e  ined(_WIN32_WINN
11980 54 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  T)..extern(Windo
11990 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 42  ws) export int B
119a0 72 6f 61 64 63 61 73 74 53 79 73 74 65 6d 4d 65  roadcastSystemMe
119b0 73 73 61 67 65 41 28 0d 0a 20 20 44 57 4f 52 44  ssageA(..  DWORD
119c0 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 2c 0d 0a 20  ,..  LPDWORD,.. 
119d0 20 55 49 4e 54 2c 0d 0a 20 20 57 50 41 52 41 4d   UINT,..  WPARAM
119e0 2c 0d 0a 20 20 4c 50 41 52 41 4d 29 3b 0d 0a 65  ,..  LPARAM);..e
119f0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
11a00 78 70 6f 72 74 20 69 6e 74 20 42 72 6f 61 64 63  xport int Broadc
11a10 61 73 74 53 79 73 74 65 6d 4d 65 73 73 61 67 65  astSystemMessage
11a20 57 28 0d 0a 20 20 44 57 4f 52 44 2c 0d 0a 20 20  W(..  DWORD,..  
11a30 4c 50 44 57 4f 52 44 2c 0d 0a 20 20 55 49 4e 54  LPDWORD,..  UINT
11a40 2c 0d 0a 20 20 57 50 41 52 41 4d 2c 0d 0a 20 20  ,..  WPARAM,..  
11a50 4c 50 41 52 41 4d 29 3b 0d 0a 2f 2f 20 23 69 66  LPARAM);..// #if
11a60 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69  def UNICODE..ali
11a70 61 73 20 42 72 6f 61 64 63 61 73 74 53 79 73 74  as BroadcastSyst
11a80 65 6d 4d 65 73 73 61 67 65 57 20 42 72 6f 61 64  emMessageW Broad
11a90 63 61 73 74 53 79 73 74 65 6d 4d 65 73 73 61 67  castSystemMessag
11aa0 65 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  e;..// #else..//
11ab0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
11ac0 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 2f 2f   // !UNICODE..//
11ad0 20 23 65 6c 69 66 20 64 65 66 69 6e 65 64 28 5f   #elif defined(_
11ae0 57 49 4e 33 32 5f 57 49 4e 44 4f 57 53 29 0d 0a  WIN32_WINDOWS)..
11af0 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23  ..// .......// #
11b00 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  endif....enum : 
11b10 75 69 6e 74 20 7b 20 42 53 4d 5f 41 4c 4c 43 4f  uint { BSM_ALLCO
11b20 4d 50 4f 4e 45 4e 54 53 20 3d 20 30 78 30 30 30  MPONENTS = 0x000
11b30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
11b40 75 69 6e 74 20 7b 20 42 53 4d 5f 56 58 44 53 20  uint { BSM_VXDS 
11b50 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a  = 0x00000001 }..
11b60 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53  enum : uint { BS
11b70 4d 5f 4e 45 54 44 52 49 56 45 52 20 3d 20 30 78  M_NETDRIVER = 0x
11b80 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  00000002 }..enum
11b90 20 3a 20 75 69 6e 74 20 7b 20 42 53 4d 5f 49 4e   : uint { BSM_IN
11ba0 53 54 41 4c 4c 41 42 4c 45 44 52 49 56 45 52 53  STALLABLEDRIVERS
11bb0 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d   = 0x00000004 }.
11bc0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42  .enum : uint { B
11bd0 53 4d 5f 41 50 50 4c 49 43 41 54 49 4f 4e 53 20  SM_APPLICATIONS 
11be0 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a  = 0x00000008 }..
11bf0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53  enum : uint { BS
11c00 4d 5f 41 4c 4c 44 45 53 4b 54 4f 50 53 20 3d 20  M_ALLDESKTOPS = 
11c10 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 0d 0a  0x00000010 }....
11c20 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53  enum : uint { BS
11c30 46 5f 51 55 45 52 59 20 3d 20 30 78 30 30 30 30  F_QUERY = 0x0000
11c40 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
11c50 69 6e 74 20 7b 20 42 53 46 5f 49 47 4e 4f 52 45  int { BSF_IGNORE
11c60 43 55 52 52 45 4e 54 54 41 53 4b 20 3d 20 30 78  CURRENTTASK = 0x
11c70 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  00000002 }..enum
11c80 20 3a 20 75 69 6e 74 20 7b 20 42 53 46 5f 46 4c   : uint { BSF_FL
11c90 55 53 48 44 49 53 4b 20 3d 20 30 78 30 30 30 30  USHDISK = 0x0000
11ca0 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
11cb0 69 6e 74 20 7b 20 42 53 46 5f 4e 4f 48 41 4e 47  int { BSF_NOHANG
11cc0 20 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d   = 0x00000008 }.
11cd0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42  .enum : uint { B
11ce0 53 46 5f 50 4f 53 54 4d 45 53 53 41 47 45 20 3d  SF_POSTMESSAGE =
11cf0 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65   0x00000010 }..e
11d00 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 46  num : uint { BSF
11d10 5f 46 4f 52 43 45 49 46 48 55 4e 47 20 3d 20 30  _FORCEIFHUNG = 0
11d20 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75  x00000020 }..enu
11d30 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 46 5f 4e  m : uint { BSF_N
11d40 4f 54 49 4d 45 4f 55 54 49 46 4e 4f 54 48 55 4e  OTIMEOUTIFNOTHUN
11d50 47 20 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d  G = 0x00000040 }
11d60 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f  ..// #if(_WIN32_
11d70 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29  WINNT >= 0x0500)
11d80 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
11d90 42 53 46 5f 41 4c 4c 4f 57 53 46 57 20 3d 20 30  BSF_ALLOWSFW = 0
11da0 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75  x00000080 }..enu
11db0 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 46 5f 53  m : uint { BSF_S
11dc0 45 4e 44 4e 4f 54 49 46 59 4d 45 53 53 41 47 45  ENDNOTIFYMESSAGE
11dd0 20 3d 20 30 78 30 30 30 30 30 31 30 30 20 7d 0d   = 0x00000100 }.
11de0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57  .// #endif /* _W
11df0 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
11e00 30 35 30 30 20 2a 2f 0d 0a 2f 2f 20 23 69 66 28  0500 */..// #if(
11e10 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
11e20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20  0x0501)..enum : 
11e30 75 69 6e 74 20 7b 20 42 53 46 5f 52 45 54 55 52  uint { BSF_RETUR
11e40 4e 48 44 45 53 4b 20 3d 20 30 78 30 30 30 30 30  NHDESK = 0x00000
11e50 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  200 }..enum : ui
11e60 6e 74 20 7b 20 42 53 46 5f 4c 55 49 44 20 3d 20  nt { BSF_LUID = 
11e70 30 78 30 30 30 30 30 34 30 30 20 7d 0d 0a 2f 2f  0x00000400 }..//
11e80 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33   #endif /* _WIN3
11e90 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30  2_WINNT >= 0x050
11ea0 31 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  1 */....enum : u
11eb0 69 6e 74 20 7b 20 42 52 4f 41 44 43 41 53 54 5f  int { BROADCAST_
11ec0 51 55 45 52 59 5f 44 45 4e 59 20 3d 20 30 78 34  QUERY_DENY = 0x4
11ed0 32 34 44 35 31 34 34 20 7d 0d 0a 2f 2f 20 23 65  24D5144 }..// #e
11ee0 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e  ndif /* WINVER >
11ef0 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f  = 0x0400 */..../
11f00 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
11f10 30 78 30 35 30 30 29 0d 0a 61 6c 69 61 73 20 50  0x0500)..alias P
11f20 56 4f 49 44 20 48 44 45 56 4e 4f 54 49 46 59 3b  VOID HDEVNOTIFY;
11f30 0d 0a 61 6c 69 61 73 20 48 44 45 56 4e 4f 54 49  ..alias HDEVNOTI
11f40 46 59 2a 20 50 48 44 45 56 4e 4f 54 49 46 59 3b  FY* PHDEVNOTIFY;
11f50 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
11f60 7b 20 44 45 56 49 43 45 5f 4e 4f 54 49 46 59 5f  { DEVICE_NOTIFY_
11f70 57 49 4e 44 4f 57 5f 48 41 4e 44 4c 45 20 3d 20  WINDOW_HANDLE = 
11f80 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00000000 }..en
11f90 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 45 56 49  um : uint { DEVI
11fa0 43 45 5f 4e 4f 54 49 46 59 5f 53 45 52 56 49 43  CE_NOTIFY_SERVIC
11fb0 45 5f 48 41 4e 44 4c 45 20 3d 20 30 78 30 30 30  E_HANDLE = 0x000
11fc0 30 30 30 30 31 20 7d 0d 0a 2f 2f 20 23 69 66 28  00001 }..// #if(
11fd0 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
11fe0 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20  0x0501)..enum : 
11ff0 75 69 6e 74 20 7b 20 44 45 56 49 43 45 5f 4e 4f  uint { DEVICE_NO
12000 54 49 46 59 5f 41 4c 4c 5f 49 4e 54 45 52 46 41  TIFY_ALL_INTERFA
12010 43 45 5f 43 4c 41 53 53 45 53 20 3d 20 30 78 30  CE_CLASSES = 0x0
12020 30 30 30 30 30 30 34 20 7d 0d 0a 2f 2f 20 23 65  0000004 }..// #e
12030 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57  ndif /* _WIN32_W
12040 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a  INNT >= 0x0501 *
12050 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  /....extern(Wind
12060 6f 77 73 29 20 65 78 70 6f 72 74 20 48 44 45 56  ows) export HDEV
12070 4e 4f 54 49 46 59 20 52 65 67 69 73 74 65 72 44  NOTIFY RegisterD
12080 65 76 69 63 65 4e 6f 74 69 66 69 63 61 74 69 6f  eviceNotificatio
12090 6e 41 28 0d 0a 20 20 48 41 4e 44 4c 45 20 68 52  nA(..  HANDLE hR
120a0 65 63 69 70 69 65 6e 74 2c 0d 0a 20 20 4c 50 56  ecipient,..  LPV
120b0 4f 49 44 20 4e 6f 74 69 66 69 63 61 74 69 6f 6e  OID Notification
120c0 46 69 6c 74 65 72 2c 0d 0a 20 20 44 57 4f 52 44  Filter,..  DWORD
120d0 20 46 6c 61 67 73 29 3b 0d 0a 65 78 74 65 72 6e   Flags);..extern
120e0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
120f0 20 48 44 45 56 4e 4f 54 49 46 59 20 52 65 67 69   HDEVNOTIFY Regi
12100 73 74 65 72 44 65 76 69 63 65 4e 6f 74 69 66 69  sterDeviceNotifi
12110 63 61 74 69 6f 6e 57 28 0d 0a 20 20 48 41 4e 44  cationW(..  HAND
12120 4c 45 20 68 52 65 63 69 70 69 65 6e 74 2c 0d 0a  LE hRecipient,..
12130 20 20 4c 50 56 4f 49 44 20 4e 6f 74 69 66 69 63    LPVOID Notific
12140 61 74 69 6f 6e 46 69 6c 74 65 72 2c 0d 0a 20 20  ationFilter,..  
12150 44 57 4f 52 44 20 46 6c 61 67 73 29 3b 0d 0a 2f  DWORD Flags);../
12160 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
12170 0d 0a 61 6c 69 61 73 20 52 65 67 69 73 74 65 72  ..alias Register
12180 44 65 76 69 63 65 4e 6f 74 69 66 69 63 61 74 69  DeviceNotificati
12190 6f 6e 57 20 52 65 67 69 73 74 65 72 44 65 76 69  onW RegisterDevi
121a0 63 65 4e 6f 74 69 66 69 63 61 74 69 6f 6e 3b 0d  ceNotification;.
121b0 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
121c0 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
121d0 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74   !UNICODE....ext
121e0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
121f0 6f 72 74 20 42 4f 4f 4c 20 55 6e 72 65 67 69 73  ort BOOL Unregis
12200 74 65 72 44 65 76 69 63 65 4e 6f 74 69 66 69 63  terDeviceNotific
12210 61 74 69 6f 6e 28 0d 0a 20 20 48 44 45 56 4e 4f  ation(..  HDEVNO
12220 54 49 46 59 20 48 61 6e 64 6c 65 29 3b 0d 0a 2f  TIFY Handle);../
12230 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
12240 45 52 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d  ER >= 0x0500 */.
12250 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
12260 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 50  s) export BOOL P
12270 6f 73 74 4d 65 73 73 61 67 65 41 28 0d 0a 20 20  ostMessageA(..  
12280 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 55 49  HWND hWnd,..  UI
12290 4e 54 20 4d 73 67 2c 0d 0a 20 20 57 50 41 52 41  NT Msg,..  WPARA
122a0 4d 20 77 50 61 72 61 6d 2c 0d 0a 20 20 4c 50 41  M wParam,..  LPA
122b0 52 41 4d 20 6c 50 61 72 61 6d 29 3b 0d 0a 65 78  RAM lParam);..ex
122c0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
122d0 70 6f 72 74 20 42 4f 4f 4c 20 50 6f 73 74 4d 65  port BOOL PostMe
122e0 73 73 61 67 65 57 28 0d 0a 20 20 48 57 4e 44 20  ssageW(..  HWND 
122f0 68 57 6e 64 2c 0d 0a 20 20 55 49 4e 54 20 4d 73  hWnd,..  UINT Ms
12300 67 2c 0d 0a 20 20 57 50 41 52 41 4d 20 77 50 61  g,..  WPARAM wPa
12310 72 61 6d 2c 0d 0a 20 20 4c 50 41 52 41 4d 20 6c  ram,..  LPARAM l
12320 50 61 72 61 6d 29 3b 0d 0a 2f 2f 20 23 69 66 64  Param);..// #ifd
12330 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
12340 73 20 50 6f 73 74 4d 65 73 73 61 67 65 57 20 50  s PostMessageW P
12350 6f 73 74 4d 65 73 73 61 67 65 3b 0d 0a 2f 2f 20  ostMessage;..// 
12360 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
12370 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
12380 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
12390 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
123a0 42 4f 4f 4c 20 50 6f 73 74 54 68 72 65 61 64 4d  BOOL PostThreadM
123b0 65 73 73 61 67 65 41 28 0d 0a 20 20 44 57 4f 52  essageA(..  DWOR
123c0 44 20 69 64 54 68 72 65 61 64 2c 0d 0a 20 20 55  D idThread,..  U
123d0 49 4e 54 20 4d 73 67 2c 0d 0a 20 20 57 50 41 52  INT Msg,..  WPAR
123e0 41 4d 20 77 50 61 72 61 6d 2c 0d 0a 20 20 4c 50  AM wParam,..  LP
123f0 41 52 41 4d 20 6c 50 61 72 61 6d 29 3b 0d 0a 65  ARAM lParam);..e
12400 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
12410 78 70 6f 72 74 20 42 4f 4f 4c 20 50 6f 73 74 54  xport BOOL PostT
12420 68 72 65 61 64 4d 65 73 73 61 67 65 57 28 0d 0a  hreadMessageW(..
12430 20 20 44 57 4f 52 44 20 69 64 54 68 72 65 61 64    DWORD idThread
12440 2c 0d 0a 20 20 55 49 4e 54 20 4d 73 67 2c 0d 0a  ,..  UINT Msg,..
12450 20 20 57 50 41 52 41 4d 20 77 50 61 72 61 6d 2c    WPARAM wParam,
12460 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61  ..  LPARAM lPara
12470 6d 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  m);..// #ifdef U
12480 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 50 6f  NICODE..alias Po
12490 73 74 54 68 72 65 61 64 4d 65 73 73 61 67 65 57  stThreadMessageW
124a0 20 50 6f 73 74 54 68 72 65 61 64 4d 65 73 73 61   PostThreadMessa
124b0 67 65 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  ge;..// #else../
124c0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
124d0 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
124e0 0a 61 6c 69 61 73 20 50 6f 73 74 54 68 72 65 61  .alias PostThrea
124f0 64 4d 65 73 73 61 67 65 41 20 50 6f 73 74 41 70  dMessageA PostAp
12500 70 4d 65 73 73 61 67 65 41 3b 0d 0a 61 6c 69 61  pMessageA;..alia
12510 73 20 50 6f 73 74 54 68 72 65 61 64 4d 65 73 73  s PostThreadMess
12520 61 67 65 57 20 50 6f 73 74 41 70 70 4d 65 73 73  ageW PostAppMess
12530 61 67 65 57 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  ageW;..// #ifdef
12540 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
12550 50 6f 73 74 41 70 70 4d 65 73 73 61 67 65 57 20  PostAppMessageW 
12560 50 6f 73 74 41 70 70 4d 65 73 73 61 67 65 3b 0d  PostAppMessage;.
12570 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
12580 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
12590 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 63 6f 6e   !UNICODE....con
125a0 73 74 20 48 57 4e 44 20 48 57 4e 44 5f 42 52 4f  st HWND HWND_BRO
125b0 41 44 43 41 53 54 20 3d 20 63 61 73 74 28 48 57  ADCAST = cast(HW
125c0 4e 44 29 30 78 66 66 66 66 3b 0d 0a 0d 0a 2f 2f  ND)0xffff;....//
125d0 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
125e0 78 30 35 30 30 29 0d 0a 63 6f 6e 73 74 20 48 57  x0500)..const HW
125f0 4e 44 20 48 57 4e 44 5f 4d 45 53 53 41 47 45 20  ND HWND_MESSAGE 
12600 3d 20 63 61 73 74 28 48 57 4e 44 29 2d 33 3b 0d  = cast(HWND)-3;.
12610 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
12620 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 20 2a  NVER >= 0x0500 *
12630 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  /....extern(Wind
12640 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
12650 20 41 74 74 61 63 68 54 68 72 65 61 64 49 6e 70   AttachThreadInp
12660 75 74 28 0d 0a 20 20 44 57 4f 52 44 20 69 64 41  ut(..  DWORD idA
12670 74 74 61 63 68 2c 0d 0a 20 20 44 57 4f 52 44 20  ttach,..  DWORD 
12680 69 64 41 74 74 61 63 68 54 6f 2c 0d 0a 20 20 42  idAttachTo,..  B
12690 4f 4f 4c 20 66 41 74 74 61 63 68 29 3b 0d 0a 0d  OOL fAttach);...
126a0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
126b0 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 52 65 70   export BOOL Rep
126c0 6c 79 4d 65 73 73 61 67 65 28 0d 0a 20 20 4c 52  lyMessage(..  LR
126d0 45 53 55 4c 54 20 6c 52 65 73 75 6c 74 29 3b 0d  ESULT lResult);.
126e0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
126f0 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 57  s) export BOOL W
12700 61 69 74 4d 65 73 73 61 67 65 28 29 3b 0d 0a 0d  aitMessage();...
12710 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
12720 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20 57 61   export DWORD Wa
12730 69 74 46 6f 72 49 6e 70 75 74 49 64 6c 65 28 0d  itForInputIdle(.
12740 0a 20 20 48 41 4e 44 4c 45 20 68 50 72 6f 63 65  .  HANDLE hProce
12750 73 73 2c 0d 0a 20 20 44 57 4f 52 44 20 64 77 4d  ss,..  DWORD dwM
12760 69 6c 6c 69 73 65 63 6f 6e 64 73 29 3b 0d 0a 0d  illiseconds);...
12770 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
12780 20 65 78 70 6f 72 74 20 4c 52 45 53 55 4c 54 20   export LRESULT 
12790 44 65 66 57 69 6e 64 6f 77 50 72 6f 63 41 28 48  DefWindowProcA(H
127a0 57 4e 44 20 68 57 6e 64 2c 20 55 49 4e 54 20 4d  WND hWnd, UINT M
127b0 73 67 2c 20 57 50 41 52 41 4d 20 77 50 61 72 61  sg, WPARAM wPara
127c0 6d 2c 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d  m, LPARAM lParam
127d0 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
127e0 77 73 29 20 65 78 70 6f 72 74 20 4c 52 45 53 55  ws) export LRESU
127f0 4c 54 20 44 65 66 57 69 6e 64 6f 77 50 72 6f 63  LT DefWindowProc
12800 57 28 48 57 4e 44 20 68 57 6e 64 2c 20 55 49 4e  W(HWND hWnd, UIN
12810 54 20 4d 73 67 2c 20 57 50 41 52 41 4d 20 77 50  T Msg, WPARAM wP
12820 61 72 61 6d 2c 20 4c 50 41 52 41 4d 20 6c 50 61  aram, LPARAM lPa
12830 72 61 6d 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  ram);..// #ifdef
12840 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
12850 44 65 66 57 69 6e 64 6f 77 50 72 6f 63 57 20 44  DefWindowProcW D
12860 65 66 57 69 6e 64 6f 77 50 72 6f 63 3b 0d 0a 2f  efWindowProc;../
12870 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
12880 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
12890 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
128a0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
128b0 74 20 56 4f 49 44 20 50 6f 73 74 51 75 69 74 4d  t VOID PostQuitM
128c0 65 73 73 61 67 65 28 0d 0a 20 20 69 6e 74 20 6e  essage(..  int n
128d0 45 78 69 74 43 6f 64 65 29 3b 0d 0a 0d 0a 2f 2f  ExitCode);....//
128e0 20 23 69 66 64 65 66 20 53 54 52 49 43 54 0d 0a   #ifdef STRICT..
128f0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
12900 29 20 65 78 70 6f 72 74 20 4c 52 45 53 55 4c 54  ) export LRESULT
12910 20 43 61 6c 6c 57 69 6e 64 6f 77 50 72 6f 63 41   CallWindowProcA
12920 28 0d 0a 20 20 57 4e 44 50 52 4f 43 20 6c 70 50  (..  WNDPROC lpP
12930 72 65 76 57 6e 64 46 75 6e 63 2c 0d 0a 20 20 48  revWndFunc,..  H
12940 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 55 49 4e  WND hWnd,..  UIN
12950 54 20 4d 73 67 2c 0d 0a 20 20 57 50 41 52 41 4d  T Msg,..  WPARAM
12960 20 77 50 61 72 61 6d 2c 0d 0a 20 20 4c 50 41 52   wParam,..  LPAR
12970 41 4d 20 6c 50 61 72 61 6d 29 3b 0d 0a 65 78 74  AM lParam);..ext
12980 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
12990 6f 72 74 20 4c 52 45 53 55 4c 54 20 43 61 6c 6c  ort LRESULT Call
129a0 57 69 6e 64 6f 77 50 72 6f 63 57 28 0d 0a 20 20  WindowProcW(..  
129b0 57 4e 44 50 52 4f 43 20 6c 70 50 72 65 76 57 6e  WNDPROC lpPrevWn
129c0 64 46 75 6e 63 2c 0d 0a 20 20 48 57 4e 44 20 68  dFunc,..  HWND h
129d0 57 6e 64 2c 0d 0a 20 20 55 49 4e 54 20 4d 73 67  Wnd,..  UINT Msg
129e0 2c 0d 0a 20 20 57 50 41 52 41 4d 20 77 50 61 72  ,..  WPARAM wPar
129f0 61 6d 2c 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50  am,..  LPARAM lP
12a00 61 72 61 6d 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  aram);..// #ifde
12a10 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
12a20 20 43 61 6c 6c 57 69 6e 64 6f 77 50 72 6f 63 57   CallWindowProcW
12a30 20 43 61 6c 6c 57 69 6e 64 6f 77 50 72 6f 63 3b   CallWindowProc;
12a40 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
12a50 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
12a60 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f  / !UNICODE....//
12a70 20 23 65 6c 73 65 20 2f 2a 20 21 53 54 52 49 43   #else /* !STRIC
12a80 54 20 2a 2f 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a  T */....// .....
12a90 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
12aa0 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
12ab0 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
12ac0 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
12ad0 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  CODE....// #endi
12ae0 66 20 2f 2a 20 21 53 54 52 49 43 54 20 2a 2f 0d  f /* !STRICT */.
12af0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
12b00 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49  s) export BOOL I
12b10 6e 53 65 6e 64 4d 65 73 73 61 67 65 28 29 3b 0d  nSendMessage();.
12b20 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  ...// #if(WINVER
12b30 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 78 74   >= 0x0500)..ext
12b40 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
12b50 6f 72 74 20 44 57 4f 52 44 20 49 6e 53 65 6e 64  ort DWORD InSend
12b60 4d 65 73 73 61 67 65 45 78 28 0d 0a 20 20 4c 50  MessageEx(..  LP
12b70 56 4f 49 44 20 6c 70 52 65 73 65 72 76 65 64 29  VOID lpReserved)
12b80 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  ;....enum : uint
12b90 20 7b 20 49 53 4d 45 58 5f 4e 4f 53 45 4e 44 20   { ISMEX_NOSEND 
12ba0 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x00000000 }..
12bb0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 53  enum : uint { IS
12bc0 4d 45 58 5f 53 45 4e 44 20 3d 20 30 78 30 30 30  MEX_SEND = 0x000
12bd0 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00001 }..enum : 
12be0 75 69 6e 74 20 7b 20 49 53 4d 45 58 5f 4e 4f 54  uint { ISMEX_NOT
12bf0 49 46 59 20 3d 20 30 78 30 30 30 30 30 30 30 32  IFY = 0x00000002
12c00 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
12c10 7b 20 49 53 4d 45 58 5f 43 41 4c 4c 42 41 43 4b  { ISMEX_CALLBACK
12c20 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d   = 0x00000004 }.
12c30 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
12c40 53 4d 45 58 5f 52 45 50 4c 49 45 44 20 3d 20 30  SMEX_REPLIED = 0
12c50 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 2f 2f 20  x00000008 }..// 
12c60 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52  #endif /* WINVER
12c70 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d   >= 0x0500 */...
12c80 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
12c90 20 65 78 70 6f 72 74 20 55 49 4e 54 20 47 65 74   export UINT Get
12ca0 44 6f 75 62 6c 65 43 6c 69 63 6b 54 69 6d 65 28  DoubleClickTime(
12cb0 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
12cc0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
12cd0 4c 20 53 65 74 44 6f 75 62 6c 65 43 6c 69 63 6b  L SetDoubleClick
12ce0 54 69 6d 65 28 0d 0a 20 20 55 49 4e 54 29 3b 0d  Time(..  UINT);.
12cf0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
12d00 73 29 20 65 78 70 6f 72 74 20 41 54 4f 4d 20 52  s) export ATOM R
12d10 65 67 69 73 74 65 72 43 6c 61 73 73 41 28 0d 0a  egisterClassA(..
12d20 20 20 57 4e 44 43 4c 41 53 53 41 20 2a 6c 70 57    WNDCLASSA *lpW
12d30 6e 64 43 6c 61 73 73 29 3b 0d 0a 65 78 74 65 72  ndClass);..exter
12d40 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
12d50 74 20 41 54 4f 4d 20 52 65 67 69 73 74 65 72 43  t ATOM RegisterC
12d60 6c 61 73 73 57 28 0d 0a 20 20 57 4e 44 43 4c 41  lassW(..  WNDCLA
12d70 53 53 57 20 2a 6c 70 57 6e 64 43 6c 61 73 73 29  SSW *lpWndClass)
12d80 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
12d90 43 4f 44 45 0d 0a 61 6c 69 61 73 20 52 65 67 69  CODE..alias Regi
12da0 73 74 65 72 43 6c 61 73 73 57 20 52 65 67 69 73  sterClassW Regis
12db0 74 65 72 43 6c 61 73 73 3b 0d 0a 2f 2f 20 23 65  terClass;..// #e
12dc0 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
12dd0 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
12de0 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ODE....extern(Wi
12df0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
12e00 4f 4c 20 55 6e 72 65 67 69 73 74 65 72 43 6c 61  OL UnregisterCla
12e10 73 73 41 28 0d 0a 20 20 4c 50 43 53 54 52 20 6c  ssA(..  LPCSTR l
12e20 70 43 6c 61 73 73 4e 61 6d 65 2c 0d 0a 20 20 48  pClassName,..  H
12e30 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e  INSTANCE hInstan
12e40 63 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ce);..extern(Win
12e50 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
12e60 4c 20 55 6e 72 65 67 69 73 74 65 72 43 6c 61 73  L UnregisterClas
12e70 73 57 28 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c  sW(..  LPCWSTR l
12e80 70 43 6c 61 73 73 4e 61 6d 65 2c 0d 0a 20 20 48  pClassName,..  H
12e90 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e  INSTANCE hInstan
12ea0 63 65 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  ce);..// #ifdef 
12eb0 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 55  UNICODE..alias U
12ec0 6e 72 65 67 69 73 74 65 72 43 6c 61 73 73 57 20  nregisterClassW 
12ed0 55 6e 72 65 67 69 73 74 65 72 43 6c 61 73 73 3b  UnregisterClass;
12ee0 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
12ef0 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
12f00 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78  / !UNICODE....ex
12f10 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
12f20 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 43 6c 61  port BOOL GetCla
12f30 73 73 49 6e 66 6f 41 28 0d 0a 20 20 48 49 4e 53  ssInfoA(..  HINS
12f40 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 2c  TANCE hInstance,
12f50 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 43 6c 61  ..  LPCSTR lpCla
12f60 73 73 4e 61 6d 65 2c 0d 0a 20 20 4c 50 57 4e 44  ssName,..  LPWND
12f70 43 4c 41 53 53 41 20 6c 70 57 6e 64 43 6c 61 73  CLASSA lpWndClas
12f80 73 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  s);..extern(Wind
12f90 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
12fa0 20 47 65 74 43 6c 61 73 73 49 6e 66 6f 57 28 0d   GetClassInfoW(.
12fb0 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e  .  HINSTANCE hIn
12fc0 73 74 61 6e 63 65 2c 0d 0a 20 20 4c 50 43 57 53  stance,..  LPCWS
12fd0 54 52 20 6c 70 43 6c 61 73 73 4e 61 6d 65 2c 0d  TR lpClassName,.
12fe0 0a 20 20 4c 50 57 4e 44 43 4c 41 53 53 57 20 6c  .  LPWNDCLASSW l
12ff0 70 57 6e 64 43 6c 61 73 73 29 3b 0d 0a 2f 2f 20  pWndClass);..// 
13000 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
13010 61 6c 69 61 73 20 47 65 74 43 6c 61 73 73 49 6e  alias GetClassIn
13020 66 6f 57 20 47 65 74 43 6c 61 73 73 49 6e 66 6f  foW GetClassInfo
13030 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
13040 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  #.....// #endif 
13050 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f  // !UNICODE..../
13060 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
13070 30 78 30 34 30 30 29 0d 0a 65 78 74 65 72 6e 28  0x0400)..extern(
13080 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
13090 41 54 4f 4d 20 52 65 67 69 73 74 65 72 43 6c 61  ATOM RegisterCla
130a0 73 73 45 78 41 28 0d 0a 20 20 57 4e 44 43 4c 41  ssExA(..  WNDCLA
130b0 53 53 45 58 41 20 2a 29 3b 0d 0a 65 78 74 65 72  SSEXA *);..exter
130c0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
130d0 74 20 41 54 4f 4d 20 52 65 67 69 73 74 65 72 43  t ATOM RegisterC
130e0 6c 61 73 73 45 78 57 28 0d 0a 20 20 57 4e 44 43  lassExW(..  WNDC
130f0 4c 41 53 53 45 58 57 20 2a 29 3b 0d 0a 2f 2f 20  LASSEXW *);..// 
13100 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
13110 61 6c 69 61 73 20 52 65 67 69 73 74 65 72 43 6c  alias RegisterCl
13120 61 73 73 45 78 57 20 52 65 67 69 73 74 65 72 43  assExW RegisterC
13130 6c 61 73 73 45 78 3b 0d 0a 2f 2f 20 23 65 6c 73  lassEx;..// #els
13140 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
13150 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
13160 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  E....extern(Wind
13170 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
13180 20 47 65 74 43 6c 61 73 73 49 6e 66 6f 45 78 41   GetClassInfoExA
13190 28 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 2c 0d  (..  HINSTANCE,.
131a0 0a 20 20 4c 50 43 53 54 52 2c 0d 0a 20 20 4c 50  .  LPCSTR,..  LP
131b0 57 4e 44 43 4c 41 53 53 45 58 41 29 3b 0d 0a 65  WNDCLASSEXA);..e
131c0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
131d0 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 43 6c  xport BOOL GetCl
131e0 61 73 73 49 6e 66 6f 45 78 57 28 0d 0a 20 20 48  assInfoExW(..  H
131f0 49 4e 53 54 41 4e 43 45 2c 0d 0a 20 20 4c 50 43  INSTANCE,..  LPC
13200 57 53 54 52 2c 0d 0a 20 20 4c 50 57 4e 44 43 4c  WSTR,..  LPWNDCL
13210 41 53 53 45 58 57 29 3b 0d 0a 2f 2f 20 23 69 66  ASSEXW);..// #if
13220 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69  def UNICODE..ali
13230 61 73 20 47 65 74 43 6c 61 73 73 49 6e 66 6f 45  as GetClassInfoE
13240 78 57 20 47 65 74 43 6c 61 73 73 49 6e 66 6f 45  xW GetClassInfoE
13250 78 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  x;..// #else..//
13260 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
13270 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
13280 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
13290 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f  VER >= 0x0400 */
132a0 0d 0a 0d 0a 65 6e 75 6d 20 7b 20 43 57 5f 55 53  ....enum { CW_US
132b0 45 44 45 46 41 55 4c 54 20 3d 20 69 6e 74 2e 6d  EDEFAULT = int.m
132c0 69 6e 20 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 48 57  in }....const HW
132d0 4e 44 20 48 57 4e 44 5f 44 45 53 4b 54 4f 50 20  ND HWND_DESKTOP 
132e0 3d 20 63 61 73 74 28 48 57 4e 44 29 30 3b 0d 0a  = cast(HWND)0;..
132f0 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f  ..// #if(_WIN32_
13300 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29  WINNT >= 0x0501)
13310 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
13320 29 20 61 6c 69 61 73 20 42 4f 4f 4c 45 41 4e 20  ) alias BOOLEAN 
13330 66 75 6e 63 74 69 6f 6e 28 4c 50 43 57 53 54 52  function(LPCWSTR
13340 29 20 50 52 45 47 49 53 54 45 52 43 4c 41 53 53  ) PREGISTERCLASS
13350 4e 41 4d 45 57 3b 0d 0a 2f 2f 20 23 65 6e 64 69  NAMEW;..// #endi
13360 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e  f /* _WIN32_WINN
13370 54 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f 0d 0a  T >= 0x0501 */..
13380 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
13390 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20 43 72  ) export HWND Cr
133a0 65 61 74 65 57 69 6e 64 6f 77 45 78 41 28 0d 0a  eateWindowExA(..
133b0 20 20 44 57 4f 52 44 20 64 77 45 78 53 74 79 6c    DWORD dwExStyl
133c0 65 2c 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 43  e,..  LPCSTR lpC
133d0 6c 61 73 73 4e 61 6d 65 2c 0d 0a 20 20 4c 50 43  lassName,..  LPC
133e0 53 54 52 20 6c 70 57 69 6e 64 6f 77 4e 61 6d 65  STR lpWindowName
133f0 2c 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 74 79  ,..  DWORD dwSty
13400 6c 65 2c 0d 0a 20 20 69 6e 74 20 58 2c 0d 0a 20  le,..  int X,.. 
13410 20 69 6e 74 20 59 2c 0d 0a 20 20 69 6e 74 20 6e   int Y,..  int n
13420 57 69 64 74 68 2c 0d 0a 20 20 69 6e 74 20 6e 48  Width,..  int nH
13430 65 69 67 68 74 2c 0d 0a 20 20 48 57 4e 44 20 68  eight,..  HWND h
13440 57 6e 64 50 61 72 65 6e 74 2c 0d 0a 20 20 48 4d  WndParent,..  HM
13450 45 4e 55 20 68 4d 65 6e 75 2c 0d 0a 20 20 48 49  ENU hMenu,..  HI
13460 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63  NSTANCE hInstanc
13470 65 2c 0d 0a 20 20 4c 50 56 4f 49 44 20 6c 70 50  e,..  LPVOID lpP
13480 61 72 61 6d 29 3b 0d 0a 65 78 74 65 72 6e 28 57  aram);..extern(W
13490 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48  indows) export H
134a0 57 4e 44 20 43 72 65 61 74 65 57 69 6e 64 6f 77  WND CreateWindow
134b0 45 78 57 28 0d 0a 20 20 44 57 4f 52 44 20 64 77  ExW(..  DWORD dw
134c0 45 78 53 74 79 6c 65 2c 0d 0a 20 20 4c 50 43 57  ExStyle,..  LPCW
134d0 53 54 52 20 6c 70 43 6c 61 73 73 4e 61 6d 65 2c  STR lpClassName,
134e0 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 57 69  ..  LPCWSTR lpWi
134f0 6e 64 6f 77 4e 61 6d 65 2c 0d 0a 20 20 44 57 4f  ndowName,..  DWO
13500 52 44 20 64 77 53 74 79 6c 65 2c 0d 0a 20 20 69  RD dwStyle,..  i
13510 6e 74 20 58 2c 0d 0a 20 20 69 6e 74 20 59 2c 0d  nt X,..  int Y,.
13520 0a 20 20 69 6e 74 20 6e 57 69 64 74 68 2c 0d 0a  .  int nWidth,..
13530 20 20 69 6e 74 20 6e 48 65 69 67 68 74 2c 0d 0a    int nHeight,..
13540 20 20 48 57 4e 44 20 68 57 6e 64 50 61 72 65 6e    HWND hWndParen
13550 74 2c 0d 0a 20 20 48 4d 45 4e 55 20 68 4d 65 6e  t,..  HMENU hMen
13560 75 2c 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20  u,..  HINSTANCE 
13570 68 49 6e 73 74 61 6e 63 65 2c 0d 0a 20 20 4c 50  hInstance,..  LP
13580 56 4f 49 44 20 6c 70 50 61 72 61 6d 29 3b 0d 0a  VOID lpParam);..
13590 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
135a0 45 0d 0a 61 6c 69 61 73 20 43 72 65 61 74 65 57  E..alias CreateW
135b0 69 6e 64 6f 77 45 78 57 20 43 72 65 61 74 65 57  indowExW CreateW
135c0 69 6e 64 6f 77 45 78 3b 0d 0a 2f 2f 20 23 65 6c  indowEx;..// #el
135d0 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
135e0 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
135f0 44 45 0d 0a 0d 0a 48 57 4e 44 20 43 72 65 61 74  DE....HWND Creat
13600 65 57 69 6e 64 6f 77 41 28 4c 50 43 53 54 52 20  eWindowA(LPCSTR 
13610 6c 70 43 6c 61 73 73 4e 61 6d 65 2c 20 4c 50 43  lpClassName, LPC
13620 53 54 52 20 6c 70 57 69 6e 64 6f 77 4e 61 6d 65  STR lpWindowName
13630 2c 20 44 57 4f 52 44 20 64 77 53 74 79 6c 65 2c  , DWORD dwStyle,
13640 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 69   int x, int y, i
13650 6e 74 20 6e 57 69 64 74 68 2c 20 69 6e 74 20 6e  nt nWidth, int n
13660 48 65 69 67 68 74 2c 20 48 57 4e 44 20 68 57 6e  Height, HWND hWn
13670 64 50 61 72 65 6e 74 2c 20 48 4d 45 4e 55 20 68  dParent, HMENU h
13680 4d 65 6e 75 2c 20 48 49 4e 53 54 41 4e 43 45 20  Menu, HINSTANCE 
13690 68 49 6e 73 74 61 6e 63 65 2c 20 4c 50 56 4f 49  hInstance, LPVOI
136a0 44 20 6c 70 50 61 72 61 6d 29 7b 20 72 65 74 75  D lpParam){ retu
136b0 72 6e 20 43 72 65 61 74 65 57 69 6e 64 6f 77 45  rn CreateWindowE
136c0 78 41 28 30 4c 2c 20 6c 70 43 6c 61 73 73 4e 61  xA(0L, lpClassNa
136d0 6d 65 2c 20 6c 70 57 69 6e 64 6f 77 4e 61 6d 65  me, lpWindowName
136e0 2c 20 64 77 53 74 79 6c 65 2c 20 78 2c 20 79 2c  , dwStyle, x, y,
136f0 20 6e 57 69 64 74 68 2c 20 6e 48 65 69 67 68 74   nWidth, nHeight
13700 2c 20 68 57 6e 64 50 61 72 65 6e 74 2c 20 68 4d  , hWndParent, hM
13710 65 6e 75 2c 20 68 49 6e 73 74 61 6e 63 65 2c 20  enu, hInstance, 
13720 6c 70 50 61 72 61 6d 29 3b 20 7d 0d 0a 48 57 4e  lpParam); }..HWN
13730 44 20 43 72 65 61 74 65 57 69 6e 64 6f 77 57 28  D CreateWindowW(
13740 4c 50 43 57 53 54 52 20 6c 70 43 6c 61 73 73 4e  LPCWSTR lpClassN
13750 61 6d 65 2c 20 4c 50 43 57 53 54 52 20 6c 70 57  ame, LPCWSTR lpW
13760 69 6e 64 6f 77 4e 61 6d 65 2c 20 44 57 4f 52 44  indowName, DWORD
13770 20 64 77 53 74 79 6c 65 2c 20 69 6e 74 20 78 2c   dwStyle, int x,
13780 20 69 6e 74 20 79 2c 20 69 6e 74 20 6e 57 69 64   int y, int nWid
13790 74 68 2c 20 69 6e 74 20 6e 48 65 69 67 68 74 2c  th, int nHeight,
137a0 20 48 57 4e 44 20 68 57 6e 64 50 61 72 65 6e 74   HWND hWndParent
137b0 2c 20 48 4d 45 4e 55 20 68 4d 65 6e 75 2c 20 48  , HMENU hMenu, H
137c0 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e  INSTANCE hInstan
137d0 63 65 2c 20 4c 50 56 4f 49 44 20 6c 70 50 61 72  ce, LPVOID lpPar
137e0 61 6d 29 7b 20 72 65 74 75 72 6e 20 43 72 65 61  am){ return Crea
137f0 74 65 57 69 6e 64 6f 77 45 78 57 28 30 4c 2c 20  teWindowExW(0L, 
13800 6c 70 43 6c 61 73 73 4e 61 6d 65 2c 20 6c 70 57  lpClassName, lpW
13810 69 6e 64 6f 77 4e 61 6d 65 2c 20 64 77 53 74 79  indowName, dwSty
13820 6c 65 2c 20 78 2c 20 79 2c 20 6e 57 69 64 74 68  le, x, y, nWidth
13830 2c 20 6e 48 65 69 67 68 74 2c 20 68 57 6e 64 50  , nHeight, hWndP
13840 61 72 65 6e 74 2c 20 68 4d 65 6e 75 2c 20 68 49  arent, hMenu, hI
13850 6e 73 74 61 6e 63 65 2c 20 6c 70 50 61 72 61 6d  nstance, lpParam
13860 29 3b 20 7d 0d 0a 2f 2f 20 23 69 66 64 65 66 20  ); }..// #ifdef 
13870 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 43  UNICODE..alias C
13880 72 65 61 74 65 57 69 6e 64 6f 77 57 20 43 72 65  reateWindowW Cre
13890 61 74 65 57 69 6e 64 6f 77 3b 0d 0a 2f 2f 20 23  ateWindow;..// #
138a0 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
138b0 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
138c0 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  CODE....extern(W
138d0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
138e0 4f 4f 4c 20 49 73 57 69 6e 64 6f 77 28 0d 0a 20  OOL IsWindow(.. 
138f0 20 48 57 4e 44 20 68 57 6e 64 29 3b 0d 0a 0d 0a   HWND hWnd);....
13900 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
13910 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 73 4d 65  export BOOL IsMe
13920 6e 75 28 0d 0a 20 20 48 4d 45 4e 55 20 68 4d 65  nu(..  HMENU hMe
13930 6e 75 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  nu);....extern(W
13940 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
13950 4f 4f 4c 20 49 73 43 68 69 6c 64 28 0d 0a 20 20  OOL IsChild(..  
13960 48 57 4e 44 20 68 57 6e 64 50 61 72 65 6e 74 2c  HWND hWndParent,
13970 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 29 3b 0d  ..  HWND hWnd);.
13980 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
13990 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44  s) export BOOL D
139a0 65 73 74 72 6f 79 57 69 6e 64 6f 77 28 0d 0a 20  estroyWindow(.. 
139b0 20 48 57 4e 44 20 68 57 6e 64 29 3b 0d 0a 0d 0a   HWND hWnd);....
139c0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
139d0 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 68 6f 77  export BOOL Show
139e0 57 69 6e 64 6f 77 28 0d 0a 20 20 48 57 4e 44 20  Window(..  HWND 
139f0 68 57 6e 64 2c 0d 0a 20 20 69 6e 74 20 6e 43 6d  hWnd,..  int nCm
13a00 64 53 68 6f 77 29 3b 0d 0a 0d 0a 2f 2f 20 23 69  dShow);....// #i
13a10 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35  f(WINVER >= 0x05
13a20 30 30 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  00)..extern(Wind
13a30 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
13a40 20 41 6e 69 6d 61 74 65 57 69 6e 64 6f 77 28 0d   AnimateWindow(.
13a50 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20  .  HWND hWnd,.. 
13a60 20 44 57 4f 52 44 20 64 77 54 69 6d 65 2c 0d 0a   DWORD dwTime,..
13a70 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 29    DWORD dwFlags)
13a80 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ;..// #endif /* 
13a90 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30  WINVER >= 0x0500
13aa0 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 5f 57   */....// #if(_W
13ab0 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
13ac0 30 35 30 30 29 0d 0a 2f 2f 20 23 69 66 20 64 65  0500)..// #if de
13ad0 66 69 6e 65 64 28 5f 57 49 4e 47 44 49 5f 29 20  fined(_WINGDI_) 
13ae0 26 26 20 21 64 65 66 69 6e 65 64 20 28 4e 4f 47  && !defined (NOG
13af0 44 49 29 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  DI)....// ...../
13b00 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
13b10 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  if(_WIN32_WINNT 
13b20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 65 78 74 65  >= 0x0501)..exte
13b30 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
13b40 72 74 20 42 4f 4f 4c 20 47 65 74 4c 61 79 65 72  rt BOOL GetLayer
13b50 65 64 57 69 6e 64 6f 77 41 74 74 72 69 62 75 74  edWindowAttribut
13b60 65 73 28 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64  es(..  HWND hwnd
13b70 2c 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 2a 70  ,..  COLORREF *p
13b80 63 72 4b 65 79 2c 0d 0a 20 20 42 59 54 45 20 2a  crKey,..  BYTE *
13b90 70 62 41 6c 70 68 61 2c 0d 0a 20 20 44 57 4f 52  pbAlpha,..  DWOR
13ba0 44 20 2a 70 64 77 46 6c 61 67 73 29 3b 0d 0a 0d  D *pdwFlags);...
13bb0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
13bc0 57 5f 43 4c 49 45 4e 54 4f 4e 4c 59 20 3d 20 30  W_CLIENTONLY = 0
13bd0 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 0d 0a 65  x00000001 }....e
13be0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
13bf0 78 70 6f 72 74 20 42 4f 4f 4c 20 50 72 69 6e 74  xport BOOL Print
13c00 57 69 6e 64 6f 77 28 0d 0a 20 20 48 57 4e 44 20  Window(..  HWND 
13c10 68 77 6e 64 2c 0d 0a 20 20 48 44 43 20 68 64 63  hwnd,..  HDC hdc
13c20 42 6c 74 2c 0d 0a 20 20 55 49 4e 54 20 6e 46 6c  Blt,..  UINT nFl
13c30 61 67 73 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  ags);....// #end
13c40 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e  if /* _WIN32_WIN
13c50 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f 0d  NT >= 0x0501 */.
13c60 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
13c70 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53  s) export BOOL S
13c80 65 74 4c 61 79 65 72 65 64 57 69 6e 64 6f 77 41  etLayeredWindowA
13c90 74 74 72 69 62 75 74 65 73 28 0d 0a 20 20 48 57  ttributes(..  HW
13ca0 4e 44 20 68 77 6e 64 2c 0d 0a 20 20 43 4f 4c 4f  ND hwnd,..  COLO
13cb0 52 52 45 46 20 63 72 4b 65 79 2c 0d 0a 20 20 42  RREF crKey,..  B
13cc0 59 54 45 20 62 41 6c 70 68 61 2c 0d 0a 20 20 44  YTE bAlpha,..  D
13cd0 57 4f 52 44 20 64 77 46 6c 61 67 73 29 3b 0d 0a  WORD dwFlags);..
13ce0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
13cf0 4c 57 41 5f 43 4f 4c 4f 52 4b 45 59 20 3d 20 30  LWA_COLORKEY = 0
13d00 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75  x00000001 }..enu
13d10 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 57 41 5f 41  m : uint { LWA_A
13d20 4c 50 48 41 20 3d 20 30 78 30 30 30 30 30 30 30  LPHA = 0x0000000
13d30 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  2 }....enum : ui
13d40 6e 74 20 7b 20 55 4c 57 5f 43 4f 4c 4f 52 4b 45  nt { ULW_COLORKE
13d50 59 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d  Y = 0x00000001 }
13d60 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
13d70 55 4c 57 5f 41 4c 50 48 41 20 3d 20 30 78 30 30  ULW_ALPHA = 0x00
13d80 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  000002 }..enum :
13d90 20 75 69 6e 74 20 7b 20 55 4c 57 5f 4f 50 41 51   uint { ULW_OPAQ
13da0 55 45 20 3d 20 30 78 30 30 30 30 30 30 30 34 20  UE = 0x00000004 
13db0 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  }....// #endif /
13dc0 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e  * _WIN32_WINNT >
13dd0 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f  = 0x0500 */..../
13de0 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
13df0 30 78 30 34 30 30 29 0d 0a 65 78 74 65 72 6e 28  0x0400)..extern(
13e00 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
13e10 42 4f 4f 4c 20 53 68 6f 77 57 69 6e 64 6f 77 41  BOOL ShowWindowA
13e20 73 79 6e 63 28 0d 0a 20 20 48 57 4e 44 20 68 57  sync(..  HWND hW
13e30 6e 64 2c 0d 0a 20 20 69 6e 74 20 6e 43 6d 64 53  nd,..  int nCmdS
13e40 68 6f 77 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  how);..// #endif
13e50 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
13e60 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72  0400 */....exter
13e70 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
13e80 74 20 42 4f 4f 4c 20 46 6c 61 73 68 57 69 6e 64  t BOOL FlashWind
13e90 6f 77 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  ow(..  HWND hWnd
13ea0 2c 0d 0a 20 20 42 4f 4f 4c 20 62 49 6e 76 65 72  ,..  BOOL bInver
13eb0 74 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49  t);....// #if(WI
13ec0 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d  NVER >= 0x0500).
13ed0 0a 73 74 72 75 63 74 20 5f 31 20 7b 0d 0a 20 20  .struct _1 {..  
13ee0 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20  UINT cbSize;..  
13ef0 48 57 4e 44 20 68 77 6e 64 3b 0d 0a 20 20 44 57  HWND hwnd;..  DW
13f00 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a 20 20  ORD dwFlags;..  
13f10 55 49 4e 54 20 75 43 6f 75 6e 74 3b 0d 0a 20 20  UINT uCount;..  
13f20 44 57 4f 52 44 20 64 77 54 69 6d 65 6f 75 74 3b  DWORD dwTimeout;
13f30 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 31 20 46 4c  ..}..alias _1 FL
13f40 41 53 48 57 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73  ASHWINFO;..alias
13f50 20 5f 31 2a 20 50 46 4c 41 53 48 57 49 4e 46 4f   _1* PFLASHWINFO
13f60 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
13f70 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
13f80 20 46 6c 61 73 68 57 69 6e 64 6f 77 45 78 28 0d   FlashWindowEx(.
13f90 0a 20 20 50 46 4c 41 53 48 57 49 4e 46 4f 20 70  .  PFLASHWINFO p
13fa0 66 77 69 29 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  fwi);....enum : 
13fb0 75 69 6e 74 20 7b 20 46 4c 41 53 48 57 5f 53 54  uint { FLASHW_ST
13fc0 4f 50 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a  OP = 0 }..enum :
13fd0 20 75 69 6e 74 20 7b 20 46 4c 41 53 48 57 5f 43   uint { FLASHW_C
13fe0 41 50 54 49 4f 4e 20 3d 20 30 78 30 30 30 30 30  APTION = 0x00000
13ff0 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
14000 6e 74 20 7b 20 46 4c 41 53 48 57 5f 54 52 41 59  nt { FLASHW_TRAY
14010 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d   = 0x00000002 }.
14020 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46  .enum : uint { F
14030 4c 41 53 48 57 5f 41 4c 4c 20 3d 20 46 4c 41 53  LASHW_ALL = FLAS
14040 48 57 5f 43 41 50 54 49 4f 4e 20 7c 20 46 4c 41  HW_CAPTION | FLA
14050 53 48 57 5f 54 52 41 59 20 7d 0d 0a 65 6e 75 6d  SHW_TRAY }..enum
14060 20 3a 20 75 69 6e 74 20 7b 20 46 4c 41 53 48 57   : uint { FLASHW
14070 5f 54 49 4d 45 52 20 3d 20 30 78 30 30 30 30 30  _TIMER = 0x00000
14080 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
14090 6e 74 20 7b 20 46 4c 41 53 48 57 5f 54 49 4d 45  nt { FLASHW_TIME
140a0 52 4e 4f 46 47 20 3d 20 30 78 30 30 30 30 30 30  RNOFG = 0x000000
140b0 30 43 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  0C }....// #endi
140c0 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
140d0 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 65 78 74 65  x0500 */....exte
140e0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
140f0 72 74 20 42 4f 4f 4c 20 53 68 6f 77 4f 77 6e 65  rt BOOL ShowOwne
14100 64 50 6f 70 75 70 73 28 0d 0a 20 20 48 57 4e 44  dPopups(..  HWND
14110 20 68 57 6e 64 2c 0d 0a 20 20 42 4f 4f 4c 20 66   hWnd,..  BOOL f
14120 53 68 6f 77 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  Show);....extern
14130 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
14140 20 42 4f 4f 4c 20 4f 70 65 6e 49 63 6f 6e 28 0d   BOOL OpenIcon(.
14150 0a 20 20 48 57 4e 44 20 68 57 6e 64 29 3b 0d 0a  .  HWND hWnd);..
14160 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
14170 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 43 6c  ) export BOOL Cl
14180 6f 73 65 57 69 6e 64 6f 77 28 0d 0a 20 20 48 57  oseWindow(..  HW
14190 4e 44 20 68 57 6e 64 29 3b 0d 0a 0d 0a 65 78 74  ND hWnd);....ext
141a0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
141b0 6f 72 74 20 42 4f 4f 4c 20 4d 6f 76 65 57 69 6e  ort BOOL MoveWin
141c0 64 6f 77 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  dow(..  HWND hWn
141d0 64 2c 0d 0a 20 20 69 6e 74 20 58 2c 0d 0a 20 20  d,..  int X,..  
141e0 69 6e 74 20 59 2c 0d 0a 20 20 69 6e 74 20 6e 57  int Y,..  int nW
141f0 69 64 74 68 2c 0d 0a 20 20 69 6e 74 20 6e 48 65  idth,..  int nHe
14200 69 67 68 74 2c 0d 0a 20 20 42 4f 4f 4c 20 62 52  ight,..  BOOL bR
14210 65 70 61 69 6e 74 29 3b 0d 0a 0d 0a 65 78 74 65  epaint);....exte
14220 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
14230 72 74 20 42 4f 4f 4c 20 53 65 74 57 69 6e 64 6f  rt BOOL SetWindo
14240 77 50 6f 73 28 0d 0a 20 20 48 57 4e 44 20 68 57  wPos(..  HWND hW
14250 6e 64 2c 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  nd,..  HWND hWnd
14260 49 6e 73 65 72 74 41 66 74 65 72 2c 0d 0a 20 20  InsertAfter,..  
14270 69 6e 74 20 58 2c 0d 0a 20 20 69 6e 74 20 59 2c  int X,..  int Y,
14280 0d 0a 20 20 69 6e 74 20 63 78 2c 0d 0a 20 20 69  ..  int cx,..  i
14290 6e 74 20 63 79 2c 0d 0a 20 20 55 49 4e 54 20 75  nt cy,..  UINT u
142a0 46 6c 61 67 73 29 3b 0d 0a 0d 0a 65 78 74 65 72  Flags);....exter
142b0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
142c0 74 20 42 4f 4f 4c 20 47 65 74 57 69 6e 64 6f 77  t BOOL GetWindow
142d0 50 6c 61 63 65 6d 65 6e 74 28 0d 0a 20 20 48 57  Placement(..  HW
142e0 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 57 49 4e 44  ND hWnd,..  WIND
142f0 4f 57 50 4c 41 43 45 4d 45 4e 54 20 2a 6c 70 77  OWPLACEMENT *lpw
14300 6e 64 70 6c 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  ndpl);....extern
14310 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
14320 20 42 4f 4f 4c 20 53 65 74 57 69 6e 64 6f 77 50   BOOL SetWindowP
14330 6c 61 63 65 6d 65 6e 74 28 0d 0a 20 20 48 57 4e  lacement(..  HWN
14340 44 20 68 57 6e 64 2c 0d 0a 20 20 57 49 4e 44 4f  D hWnd,..  WINDO
14350 57 50 4c 41 43 45 4d 45 4e 54 20 2a 6c 70 77 6e  WPLACEMENT *lpwn
14360 64 70 6c 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  dpl);....// #ifn
14370 64 65 66 20 4e 4f 44 45 46 45 52 57 49 4e 44 4f  def NODEFERWINDO
14380 57 50 4f 53 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  WPOS....extern(W
14390 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48  indows) export H
143a0 44 57 50 20 42 65 67 69 6e 44 65 66 65 72 57 69  DWP BeginDeferWi
143b0 6e 64 6f 77 50 6f 73 28 0d 0a 20 20 69 6e 74 20  ndowPos(..  int 
143c0 6e 4e 75 6d 57 69 6e 64 6f 77 73 29 3b 0d 0a 0d  nNumWindows);...
143d0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
143e0 20 65 78 70 6f 72 74 20 48 44 57 50 20 44 65 66   export HDWP Def
143f0 65 72 57 69 6e 64 6f 77 50 6f 73 28 0d 0a 20 20  erWindowPos(..  
14400 48 44 57 50 20 68 57 69 6e 50 6f 73 49 6e 66 6f  HDWP hWinPosInfo
14410 2c 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d  ,..  HWND hWnd,.
14420 0a 20 20 48 57 4e 44 20 68 57 6e 64 49 6e 73 65  .  HWND hWndInse
14430 72 74 41 66 74 65 72 2c 0d 0a 20 20 69 6e 74 20  rtAfter,..  int 
14440 78 2c 0d 0a 20 20 69 6e 74 20 79 2c 0d 0a 20 20  x,..  int y,..  
14450 69 6e 74 20 63 78 2c 0d 0a 20 20 69 6e 74 20 63  int cx,..  int c
14460 79 2c 0d 0a 20 20 55 49 4e 54 20 75 46 6c 61 67  y,..  UINT uFlag
14470 73 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  s);....extern(Wi
14480 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
14490 4f 4c 20 45 6e 64 44 65 66 65 72 57 69 6e 64 6f  OL EndDeferWindo
144a0 77 50 6f 73 28 0d 0a 20 20 48 44 57 50 20 68 57  wPos(..  HDWP hW
144b0 69 6e 50 6f 73 49 6e 66 6f 29 3b 0d 0a 0d 0a 2f  inPosInfo);..../
144c0 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 44  / #endif /* !NOD
144d0 45 46 45 52 57 49 4e 44 4f 57 50 4f 53 20 2a 2f  EFERWINDOWPOS */
144e0 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
144f0 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
14500 49 73 57 69 6e 64 6f 77 56 69 73 69 62 6c 65 28  IsWindowVisible(
14510 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 29 3b 0d  ..  HWND hWnd);.
14520 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
14530 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49  s) export BOOL I
14540 73 49 63 6f 6e 69 63 28 0d 0a 20 20 48 57 4e 44  sIconic(..  HWND
14550 20 68 57 6e 64 29 3b 0d 0a 0d 0a 65 78 74 65 72   hWnd);....exter
14560 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
14570 74 20 42 4f 4f 4c 20 41 6e 79 50 6f 70 75 70 28  t BOOL AnyPopup(
14580 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
14590 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
145a0 4c 20 42 72 69 6e 67 57 69 6e 64 6f 77 54 6f 54  L BringWindowToT
145b0 6f 70 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  op(..  HWND hWnd
145c0 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
145d0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
145e0 4c 20 49 73 5a 6f 6f 6d 65 64 28 0d 0a 20 20 48  L IsZoomed(..  H
145f0 57 4e 44 20 68 57 6e 64 29 3b 0d 0a 0d 0a 65 6e  WND hWnd);....en
14600 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57 50 5f  um : uint { SWP_
14610 4e 4f 53 49 5a 45 20 3d 20 30 78 30 30 30 31 20  NOSIZE = 0x0001 
14620 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
14630 20 53 57 50 5f 4e 4f 4d 4f 56 45 20 3d 20 30 78   SWP_NOMOVE = 0x
14640 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
14650 69 6e 74 20 7b 20 53 57 50 5f 4e 4f 5a 4f 52 44  int { SWP_NOZORD
14660 45 52 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65  ER = 0x0004 }..e
14670 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57 50  num : uint { SWP
14680 5f 4e 4f 52 45 44 52 41 57 20 3d 20 30 78 30 30  _NOREDRAW = 0x00
14690 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
146a0 74 20 7b 20 53 57 50 5f 4e 4f 41 43 54 49 56 41  t { SWP_NOACTIVA
146b0 54 45 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65  TE = 0x0010 }..e
146c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57 50  num : uint { SWP
146d0 5f 46 52 41 4d 45 43 48 41 4e 47 45 44 20 3d 20  _FRAMECHANGED = 
146e0 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0020 }..enum :
146f0 20 75 69 6e 74 20 7b 20 53 57 50 5f 53 48 4f 57   uint { SWP_SHOW
14700 57 49 4e 44 4f 57 20 3d 20 30 78 30 30 34 30 20  WINDOW = 0x0040 
14710 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
14720 20 53 57 50 5f 48 49 44 45 57 49 4e 44 4f 57 20   SWP_HIDEWINDOW 
14730 3d 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e 75 6d  = 0x0080 }..enum
14740 20 3a 20 75 69 6e 74 20 7b 20 53 57 50 5f 4e 4f   : uint { SWP_NO
14750 43 4f 50 59 42 49 54 53 20 3d 20 30 78 30 31 30  COPYBITS = 0x010
14760 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
14770 20 7b 20 53 57 50 5f 4e 4f 4f 57 4e 45 52 5a 4f   { SWP_NOOWNERZO
14780 52 44 45 52 20 3d 20 30 78 30 32 30 30 20 7d 0d  RDER = 0x0200 }.
14790 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
147a0 57 50 5f 4e 4f 53 45 4e 44 43 48 41 4e 47 49 4e  WP_NOSENDCHANGIN
147b0 47 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a 0d 0a  G = 0x0400 }....
147c0 61 6c 69 61 73 20 53 57 50 5f 46 52 41 4d 45 43  alias SWP_FRAMEC
147d0 48 41 4e 47 45 44 20 53 57 50 5f 44 52 41 57 46  HANGED SWP_DRAWF
147e0 52 41 4d 45 3b 0d 0a 61 6c 69 61 73 20 53 57 50  RAME;..alias SWP
147f0 5f 4e 4f 4f 57 4e 45 52 5a 4f 52 44 45 52 20 53  _NOOWNERZORDER S
14800 57 50 5f 4e 4f 52 45 50 4f 53 49 54 49 4f 4e 3b  WP_NOREPOSITION;
14810 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45  ....// #if(WINVE
14820 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  R >= 0x0400)..en
14830 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57 50 5f  um : uint { SWP_
14840 44 45 46 45 52 45 52 41 53 45 20 3d 20 30 78 32  DEFERERASE = 0x2
14850 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
14860 6e 74 20 7b 20 53 57 50 5f 41 53 59 4e 43 57 49  nt { SWP_ASYNCWI
14870 4e 44 4f 57 50 4f 53 20 3d 20 30 78 34 30 30 30  NDOWPOS = 0x4000
14880 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
14890 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30   WINVER >= 0x040
148a0 30 20 2a 2f 0d 0a 0d 0a 63 6f 6e 73 74 20 48 57  0 */....const HW
148b0 4e 44 20 48 57 4e 44 5f 54 4f 50 20 3d 20 63 61  ND HWND_TOP = ca
148c0 73 74 28 48 57 4e 44 29 30 3b 0d 0a 63 6f 6e 73  st(HWND)0;..cons
148d0 74 20 48 57 4e 44 20 48 57 4e 44 5f 42 4f 54 54  t HWND HWND_BOTT
148e0 4f 4d 20 3d 20 63 61 73 74 28 48 57 4e 44 29 31  OM = cast(HWND)1
148f0 3b 0d 0a 63 6f 6e 73 74 20 48 57 4e 44 20 48 57  ;..const HWND HW
14900 4e 44 5f 54 4f 50 4d 4f 53 54 20 3d 20 63 61 73  ND_TOPMOST = cas
14910 74 28 48 57 4e 44 29 2d 31 3b 0d 0a 63 6f 6e 73  t(HWND)-1;..cons
14920 74 20 48 57 4e 44 20 48 57 4e 44 5f 4e 4f 54 4f  t HWND HWND_NOTO
14930 50 4d 4f 53 54 20 3d 20 63 61 73 74 28 48 57 4e  PMOST = cast(HWN
14940 44 29 2d 32 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  D)-2;....// #ifn
14950 64 65 66 20 4e 4f 43 54 4c 4d 47 52 0d 0a 0d 0a  def NOCTLMGR....
14960 61 6c 69 67 6e 28 32 29 3a 0d 0a 0d 0a 73 74 72  align(2):....str
14970 75 63 74 20 5f 32 20 7b 0d 0a 20 20 44 57 4f 52  uct _2 {..  DWOR
14980 44 20 73 74 79 6c 65 3b 0d 0a 20 20 44 57 4f 52  D style;..  DWOR
14990 44 20 64 77 45 78 74 65 6e 64 65 64 53 74 79 6c  D dwExtendedStyl
149a0 65 3b 0d 0a 20 20 57 4f 52 44 20 63 64 69 74 3b  e;..  WORD cdit;
149b0 0d 0a 20 20 73 68 6f 72 74 20 78 3b 0d 0a 20 20  ..  short x;..  
149c0 73 68 6f 72 74 20 79 3b 0d 0a 20 20 73 68 6f 72  short y;..  shor
149d0 74 20 63 78 3b 0d 0a 20 20 73 68 6f 72 74 20 63  t cx;..  short c
149e0 79 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 32 20  y;..}..alias _2 
149f0 44 4c 47 54 45 4d 50 4c 41 54 45 3b 0d 0a 0d 0a  DLGTEMPLATE;....
14a00 61 6c 69 61 73 20 44 4c 47 54 45 4d 50 4c 41 54  alias DLGTEMPLAT
14a10 45 2a 20 4c 50 44 4c 47 54 45 4d 50 4c 41 54 45  E* LPDLGTEMPLATE
14a20 41 3b 0d 0a 61 6c 69 61 73 20 44 4c 47 54 45 4d  A;..alias DLGTEM
14a30 50 4c 41 54 45 2a 20 4c 50 44 4c 47 54 45 4d 50  PLATE* LPDLGTEMP
14a40 4c 41 54 45 57 3b 0d 0a 2f 2f 20 23 69 66 64 65  LATEW;..// #ifde
14a50 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
14a60 20 4c 50 44 4c 47 54 45 4d 50 4c 41 54 45 57 20   LPDLGTEMPLATEW 
14a70 4c 50 44 4c 47 54 45 4d 50 4c 41 54 45 3b 0d 0a  LPDLGTEMPLATE;..
14a80 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e  // #else..// ...
14a90 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55  ..// #endif // U
14aa0 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 44 4c  NICODE..alias DL
14ab0 47 54 45 4d 50 4c 41 54 45 2a 20 4c 50 43 44 4c  GTEMPLATE* LPCDL
14ac0 47 54 45 4d 50 4c 41 54 45 41 3b 0d 0a 61 6c 69  GTEMPLATEA;..ali
14ad0 61 73 20 44 4c 47 54 45 4d 50 4c 41 54 45 2a 20  as DLGTEMPLATE* 
14ae0 4c 50 43 44 4c 47 54 45 4d 50 4c 41 54 45 57 3b  LPCDLGTEMPLATEW;
14af0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
14b00 4f 44 45 0d 0a 61 6c 69 61 73 20 4c 50 43 44 4c  ODE..alias LPCDL
14b10 47 54 45 4d 50 4c 41 54 45 57 20 4c 50 43 44 4c  GTEMPLATEW LPCDL
14b20 47 54 45 4d 50 4c 41 54 45 3b 0d 0a 2f 2f 20 23  GTEMPLATE;..// #
14b30 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  else..// .....//
14b40 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f   #endif // UNICO
14b50 44 45 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 33 20  DE....struct _3 
14b60 7b 0d 0a 20 20 44 57 4f 52 44 20 73 74 79 6c 65  {..  DWORD style
14b70 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 45 78 74  ;..  DWORD dwExt
14b80 65 6e 64 65 64 53 74 79 6c 65 3b 0d 0a 20 20 73  endedStyle;..  s
14b90 68 6f 72 74 20 78 3b 0d 0a 20 20 73 68 6f 72 74  hort x;..  short
14ba0 20 79 3b 0d 0a 20 20 73 68 6f 72 74 20 63 78 3b   y;..  short cx;
14bb0 0d 0a 20 20 73 68 6f 72 74 20 63 79 3b 0d 0a 20  ..  short cy;.. 
14bc0 20 57 4f 52 44 20 69 64 3b 0d 0a 7d 0d 0a 61 6c   WORD id;..}..al
14bd0 69 61 73 20 5f 33 20 44 4c 47 49 54 45 4d 54 45  ias _3 DLGITEMTE
14be0 4d 50 4c 41 54 45 3b 0d 0a 0d 0a 61 6c 69 61 73  MPLATE;....alias
14bf0 20 44 4c 47 49 54 45 4d 54 45 4d 50 4c 41 54 45   DLGITEMTEMPLATE
14c00 2a 20 50 44 4c 47 49 54 45 4d 54 45 4d 50 4c 41  * PDLGITEMTEMPLA
14c10 54 45 41 3b 0d 0a 61 6c 69 61 73 20 44 4c 47 49  TEA;..alias DLGI
14c20 54 45 4d 54 45 4d 50 4c 41 54 45 2a 20 50 44 4c  TEMTEMPLATE* PDL
14c30 47 49 54 45 4d 54 45 4d 50 4c 41 54 45 57 3b 0d  GITEMTEMPLATEW;.
14c40 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
14c50 44 45 0d 0a 61 6c 69 61 73 20 50 44 4c 47 49 54  DE..alias PDLGIT
14c60 45 4d 54 45 4d 50 4c 41 54 45 57 20 50 44 4c 47  EMTEMPLATEW PDLG
14c70 49 54 45 4d 54 45 4d 50 4c 41 54 45 3b 0d 0a 2f  ITEMTEMPLATE;../
14c80 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
14c90 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e  .// #endif // UN
14ca0 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 44 4c 47  ICODE..alias DLG
14cb0 49 54 45 4d 54 45 4d 50 4c 41 54 45 2a 20 4c 50  ITEMTEMPLATE* LP
14cc0 44 4c 47 49 54 45 4d 54 45 4d 50 4c 41 54 45 41  DLGITEMTEMPLATEA
14cd0 3b 0d 0a 61 6c 69 61 73 20 44 4c 47 49 54 45 4d  ;..alias DLGITEM
14ce0 54 45 4d 50 4c 41 54 45 2a 20 4c 50 44 4c 47 49  TEMPLATE* LPDLGI
14cf0 54 45 4d 54 45 4d 50 4c 41 54 45 57 3b 0d 0a 2f  TEMTEMPLATEW;../
14d00 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
14d10 0d 0a 61 6c 69 61 73 20 4c 50 44 4c 47 49 54 45  ..alias LPDLGITE
14d20 4d 54 45 4d 50 4c 41 54 45 57 20 4c 50 44 4c 47  MTEMPLATEW LPDLG
14d30 49 54 45 4d 54 45 4d 50 4c 41 54 45 3b 0d 0a 2f  ITEMTEMPLATE;../
14d40 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
14d50 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e  .// #endif // UN
14d60 49 43 4f 44 45 0d 0a 0d 0a 61 6c 69 67 6e 3a 0d  ICODE....align:.
14d70 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
14d80 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20 43  s) export HWND C
14d90 72 65 61 74 65 44 69 61 6c 6f 67 50 61 72 61 6d  reateDialogParam
14da0 41 28 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20  A(..  HINSTANCE 
14db0 68 49 6e 73 74 61 6e 63 65 2c 0d 0a 20 20 4c 50  hInstance,..  LP
14dc0 43 53 54 52 20 6c 70 54 65 6d 70 6c 61 74 65 4e  CSTR lpTemplateN
14dd0 61 6d 65 2c 0d 0a 20 20 48 57 4e 44 20 68 57 6e  ame,..  HWND hWn
14de0 64 50 61 72 65 6e 74 2c 0d 0a 20 20 44 4c 47 50  dParent,..  DLGP
14df0 52 4f 43 20 6c 70 44 69 61 6c 6f 67 46 75 6e 63  ROC lpDialogFunc
14e00 2c 0d 0a 20 20 4c 50 41 52 41 4d 20 64 77 49 6e  ,..  LPARAM dwIn
14e10 69 74 50 61 72 61 6d 29 3b 0d 0a 65 78 74 65 72  itParam);..exter
14e20 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
14e30 74 20 48 57 4e 44 20 43 72 65 61 74 65 44 69 61  t HWND CreateDia
14e40 6c 6f 67 50 61 72 61 6d 57 28 0d 0a 20 20 48 49  logParamW(..  HI
14e50 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63  NSTANCE hInstanc
14e60 65 2c 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70  e,..  LPCWSTR lp
14e70 54 65 6d 70 6c 61 74 65 4e 61 6d 65 2c 0d 0a 20  TemplateName,.. 
14e80 20 48 57 4e 44 20 68 57 6e 64 50 61 72 65 6e 74   HWND hWndParent
14e90 2c 0d 0a 20 20 44 4c 47 50 52 4f 43 20 6c 70 44  ,..  DLGPROC lpD
14ea0 69 61 6c 6f 67 46 75 6e 63 2c 0d 0a 20 20 4c 50  ialogFunc,..  LP
14eb0 41 52 41 4d 20 64 77 49 6e 69 74 50 61 72 61 6d  ARAM dwInitParam
14ec0 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
14ed0 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 43 72 65  ICODE..alias Cre
14ee0 61 74 65 44 69 61 6c 6f 67 50 61 72 61 6d 57 20  ateDialogParamW 
14ef0 43 72 65 61 74 65 44 69 61 6c 6f 67 50 61 72 61  CreateDialogPara
14f00 6d 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  m;..// #else..//
14f10 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
14f20 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
14f30 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
14f40 65 78 70 6f 72 74 20 48 57 4e 44 20 43 72 65 61  export HWND Crea
14f50 74 65 44 69 61 6c 6f 67 49 6e 64 69 72 65 63 74  teDialogIndirect
14f60 50 61 72 61 6d 41 28 0d 0a 20 20 48 49 4e 53 54  ParamA(..  HINST
14f70 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 2c 0d  ANCE hInstance,.
14f80 0a 20 20 4c 50 43 44 4c 47 54 45 4d 50 4c 41 54  .  LPCDLGTEMPLAT
14f90 45 41 20 6c 70 54 65 6d 70 6c 61 74 65 2c 0d 0a  EA lpTemplate,..
14fa0 20 20 48 57 4e 44 20 68 57 6e 64 50 61 72 65 6e    HWND hWndParen
14fb0 74 2c 0d 0a 20 20 44 4c 47 50 52 4f 43 20 6c 70  t,..  DLGPROC lp
14fc0 44 69 61 6c 6f 67 46 75 6e 63 2c 0d 0a 20 20 4c  DialogFunc,..  L
14fd0 50 41 52 41 4d 20 64 77 49 6e 69 74 50 61 72 61  PARAM dwInitPara
14fe0 6d 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  m);..extern(Wind
14ff0 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44  ows) export HWND
15000 20 43 72 65 61 74 65 44 69 61 6c 6f 67 49 6e 64   CreateDialogInd
15010 69 72 65 63 74 50 61 72 61 6d 57 28 0d 0a 20 20  irectParamW(..  
15020 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61  HINSTANCE hInsta
15030 6e 63 65 2c 0d 0a 20 20 4c 50 43 44 4c 47 54 45  nce,..  LPCDLGTE
15040 4d 50 4c 41 54 45 57 20 6c 70 54 65 6d 70 6c 61  MPLATEW lpTempla
15050 74 65 2c 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  te,..  HWND hWnd
15060 50 61 72 65 6e 74 2c 0d 0a 20 20 44 4c 47 50 52  Parent,..  DLGPR
15070 4f 43 20 6c 70 44 69 61 6c 6f 67 46 75 6e 63 2c  OC lpDialogFunc,
15080 0d 0a 20 20 4c 50 41 52 41 4d 20 64 77 49 6e 69  ..  LPARAM dwIni
15090 74 50 61 72 61 6d 29 3b 0d 0a 2f 2f 20 23 69 66  tParam);..// #if
150a0 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69  def UNICODE..ali
150b0 61 73 20 43 72 65 61 74 65 44 69 61 6c 6f 67 49  as CreateDialogI
150c0 6e 64 69 72 65 63 74 50 61 72 61 6d 57 20 43 72  ndirectParamW Cr
150d0 65 61 74 65 44 69 61 6c 6f 67 49 6e 64 69 72 65  eateDialogIndire
150e0 63 74 50 61 72 61 6d 3b 0d 0a 2f 2f 20 23 65 6c  ctParam;..// #el
150f0 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
15100 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
15110 44 45 0d 0a 0d 0a 48 57 4e 44 20 43 72 65 61 74  DE....HWND Creat
15120 65 44 69 61 6c 6f 67 41 28 48 49 4e 53 54 41 4e  eDialogA(HINSTAN
15130 43 45 20 68 49 6e 73 74 61 6e 63 65 2c 20 4c 50  CE hInstance, LP
15140 43 53 54 52 20 6c 70 4e 61 6d 65 2c 20 48 57 4e  CSTR lpName, HWN
15150 44 20 68 57 6e 64 50 61 72 65 6e 74 2c 20 44 4c  D hWndParent, DL
15160 47 50 52 4f 43 20 6c 70 44 69 61 6c 6f 67 46 75  GPROC lpDialogFu
15170 6e 63 29 7b 20 72 65 74 75 72 6e 20 43 72 65 61  nc){ return Crea
15180 74 65 44 69 61 6c 6f 67 50 61 72 61 6d 41 28 68  teDialogParamA(h
15190 49 6e 73 74 61 6e 63 65 2c 20 6c 70 4e 61 6d 65  Instance, lpName
151a0 2c 20 68 57 6e 64 50 61 72 65 6e 74 2c 20 6c 70  , hWndParent, lp
151b0 44 69 61 6c 6f 67 46 75 6e 63 2c 20 30 4c 29 3b  DialogFunc, 0L);
151c0 20 7d 0d 0a 48 57 4e 44 20 43 72 65 61 74 65 44   }..HWND CreateD
151d0 69 61 6c 6f 67 57 28 48 49 4e 53 54 41 4e 43 45  ialogW(HINSTANCE
151e0 20 68 49 6e 73 74 61 6e 63 65 2c 20 4c 50 43 57   hInstance, LPCW
151f0 53 54 52 20 6c 70 4e 61 6d 65 2c 20 48 57 4e 44  STR lpName, HWND
15200 20 68 57 6e 64 50 61 72 65 6e 74 2c 20 44 4c 47   hWndParent, DLG
15210 50 52 4f 43 20 6c 70 44 69 61 6c 6f 67 46 75 6e  PROC lpDialogFun
15220 63 29 7b 20 72 65 74 75 72 6e 20 43 72 65 61 74  c){ return Creat
15230 65 44 69 61 6c 6f 67 50 61 72 61 6d 57 28 68 49  eDialogParamW(hI
15240 6e 73 74 61 6e 63 65 2c 20 6c 70 4e 61 6d 65 2c  nstance, lpName,
15250 20 68 57 6e 64 50 61 72 65 6e 74 2c 20 6c 70 44   hWndParent, lpD
15260 69 61 6c 6f 67 46 75 6e 63 2c 20 30 4c 29 3b 20  ialogFunc, 0L); 
15270 7d 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  }..// #ifdef UNI
15280 43 4f 44 45 0d 0a 61 6c 69 61 73 20 43 72 65 61  CODE..alias Crea
15290 74 65 44 69 61 6c 6f 67 57 20 43 72 65 61 74 65  teDialogW Create
152a0 44 69 61 6c 6f 67 3b 0d 0a 2f 2f 20 23 65 6c 73  Dialog;..// #els
152b0 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
152c0 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
152d0 45 0d 0a 0d 0a 48 57 4e 44 20 43 72 65 61 74 65  E....HWND Create
152e0 44 69 61 6c 6f 67 49 6e 64 69 72 65 63 74 41 28  DialogIndirectA(
152f0 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61  HINSTANCE hInsta
15300 6e 63 65 2c 20 4c 50 43 44 4c 47 54 45 4d 50 4c  nce, LPCDLGTEMPL
15310 41 54 45 20 6c 70 54 65 6d 70 6c 61 74 65 2c 20  ATE lpTemplate, 
15320 48 57 4e 44 20 68 57 6e 64 50 61 72 65 6e 74 2c  HWND hWndParent,
15330 20 44 4c 47 50 52 4f 43 20 6c 70 44 69 61 6c 6f   DLGPROC lpDialo
15340 67 46 75 6e 63 29 7b 20 72 65 74 75 72 6e 20 43  gFunc){ return C
15350 72 65 61 74 65 44 69 61 6c 6f 67 49 6e 64 69 72  reateDialogIndir
15360 65 63 74 50 61 72 61 6d 41 28 68 49 6e 73 74 61  ectParamA(hInsta
15370 6e 63 65 2c 20 6c 70 54 65 6d 70 6c 61 74 65 2c  nce, lpTemplate,
15380 20 68 57 6e 64 50 61 72 65 6e 74 2c 20 6c 70 44   hWndParent, lpD
15390 69 61 6c 6f 67 46 75 6e 63 2c 20 30 4c 29 3b 20  ialogFunc, 0L); 
153a0 7d 0d 0a 48 57 4e 44 20 43 72 65 61 74 65 44 69  }..HWND CreateDi
153b0 61 6c 6f 67 49 6e 64 69 72 65 63 74 57 28 48 49  alogIndirectW(HI
153c0 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63  NSTANCE hInstanc
153d0 65 2c 20 4c 50 43 44 4c 47 54 45 4d 50 4c 41 54  e, LPCDLGTEMPLAT
153e0 45 20 6c 70 54 65 6d 70 6c 61 74 65 2c 20 48 57  E lpTemplate, HW
153f0 4e 44 20 68 57 6e 64 50 61 72 65 6e 74 2c 20 44  ND hWndParent, D
15400 4c 47 50 52 4f 43 20 6c 70 44 69 61 6c 6f 67 46  LGPROC lpDialogF
15410 75 6e 63 29 7b 20 72 65 74 75 72 6e 20 43 72 65  unc){ return Cre
15420 61 74 65 44 69 61 6c 6f 67 49 6e 64 69 72 65 63  ateDialogIndirec
15430 74 50 61 72 61 6d 57 28 68 49 6e 73 74 61 6e 63  tParamW(hInstanc
15440 65 2c 20 6c 70 54 65 6d 70 6c 61 74 65 2c 20 68  e, lpTemplate, h
15450 57 6e 64 50 61 72 65 6e 74 2c 20 6c 70 44 69 61  WndParent, lpDia
15460 6c 6f 67 46 75 6e 63 2c 20 30 4c 29 3b 20 7d 0d  logFunc, 0L); }.
15470 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
15480 44 45 0d 0a 61 6c 69 61 73 20 43 72 65 61 74 65  DE..alias Create
15490 44 69 61 6c 6f 67 49 6e 64 69 72 65 63 74 57 20  DialogIndirectW 
154a0 43 72 65 61 74 65 44 69 61 6c 6f 67 49 6e 64 69  CreateDialogIndi
154b0 72 65 63 74 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  rect;..// #else.
154c0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
154d0 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
154e0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
154f0 73 29 20 65 78 70 6f 72 74 20 49 4e 54 5f 50 54  s) export INT_PT
15500 52 20 44 69 61 6c 6f 67 42 6f 78 50 61 72 61 6d  R DialogBoxParam
15510 41 28 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20  A(..  HINSTANCE 
15520 68 49 6e 73 74 61 6e 63 65 2c 0d 0a 20 20 4c 50  hInstance,..  LP
15530 43 53 54 52 20 6c 70 54 65 6d 70 6c 61 74 65 4e  CSTR lpTemplateN
15540 61 6d 65 2c 0d 0a 20 20 48 57 4e 44 20 68 57 6e  ame,..  HWND hWn
15550 64 50 61 72 65 6e 74 2c 0d 0a 20 20 44 4c 47 50  dParent,..  DLGP
15560 52 4f 43 20 6c 70 44 69 61 6c 6f 67 46 75 6e 63  ROC lpDialogFunc
15570 2c 0d 0a 20 20 4c 50 41 52 41 4d 20 64 77 49 6e  ,..  LPARAM dwIn
15580 69 74 50 61 72 61 6d 29 3b 0d 0a 65 78 74 65 72  itParam);..exter
15590 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
155a0 74 20 49 4e 54 5f 50 54 52 20 44 69 61 6c 6f 67  t INT_PTR Dialog
155b0 42 6f 78 50 61 72 61 6d 57 28 0d 0a 20 20 48 49  BoxParamW(..  HI
155c0 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63  NSTANCE hInstanc
155d0 65 2c 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70  e,..  LPCWSTR lp
155e0 54 65 6d 70 6c 61 74 65 4e 61 6d 65 2c 0d 0a 20  TemplateName,.. 
155f0 20 48 57 4e 44 20 68 57 6e 64 50 61 72 65 6e 74   HWND hWndParent
15600 2c 0d 0a 20 20 44 4c 47 50 52 4f 43 20 6c 70 44  ,..  DLGPROC lpD
15610 69 61 6c 6f 67 46 75 6e 63 2c 0d 0a 20 20 4c 50  ialogFunc,..  LP
15620 41 52 41 4d 20 64 77 49 6e 69 74 50 61 72 61 6d  ARAM dwInitParam
15630 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
15640 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 44 69 61  ICODE..alias Dia
15650 6c 6f 67 42 6f 78 50 61 72 61 6d 57 20 44 69 61  logBoxParamW Dia
15660 6c 6f 67 42 6f 78 50 61 72 61 6d 3b 0d 0a 2f 2f  logBoxParam;..//
15670 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
15680 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
15690 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
156a0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
156b0 20 49 4e 54 5f 50 54 52 20 44 69 61 6c 6f 67 42   INT_PTR DialogB
156c0 6f 78 49 6e 64 69 72 65 63 74 50 61 72 61 6d 41  oxIndirectParamA
156d0 28 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68  (..  HINSTANCE h
156e0 49 6e 73 74 61 6e 63 65 2c 0d 0a 20 20 4c 50 43  Instance,..  LPC
156f0 44 4c 47 54 45 4d 50 4c 41 54 45 41 20 68 44 69  DLGTEMPLATEA hDi
15700 61 6c 6f 67 54 65 6d 70 6c 61 74 65 2c 0d 0a 20  alogTemplate,.. 
15710 20 48 57 4e 44 20 68 57 6e 64 50 61 72 65 6e 74   HWND hWndParent
15720 2c 0d 0a 20 20 44 4c 47 50 52 4f 43 20 6c 70 44  ,..  DLGPROC lpD
15730 69 61 6c 6f 67 46 75 6e 63 2c 0d 0a 20 20 4c 50  ialogFunc,..  LP
15740 41 52 41 4d 20 64 77 49 6e 69 74 50 61 72 61 6d  ARAM dwInitParam
15750 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
15760 77 73 29 20 65 78 70 6f 72 74 20 49 4e 54 5f 50  ws) export INT_P
15770 54 52 20 44 69 61 6c 6f 67 42 6f 78 49 6e 64 69  TR DialogBoxIndi
15780 72 65 63 74 50 61 72 61 6d 57 28 0d 0a 20 20 48  rectParamW(..  H
15790 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e  INSTANCE hInstan
157a0 63 65 2c 0d 0a 20 20 4c 50 43 44 4c 47 54 45 4d  ce,..  LPCDLGTEM
157b0 50 4c 41 54 45 57 20 68 44 69 61 6c 6f 67 54 65  PLATEW hDialogTe
157c0 6d 70 6c 61 74 65 2c 0d 0a 20 20 48 57 4e 44 20  mplate,..  HWND 
157d0 68 57 6e 64 50 61 72 65 6e 74 2c 0d 0a 20 20 44  hWndParent,..  D
157e0 4c 47 50 52 4f 43 20 6c 70 44 69 61 6c 6f 67 46  LGPROC lpDialogF
157f0 75 6e 63 2c 0d 0a 20 20 4c 50 41 52 41 4d 20 64  unc,..  LPARAM d
15800 77 49 6e 69 74 50 61 72 61 6d 29 3b 0d 0a 2f 2f  wInitParam);..//
15810 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
15820 0a 61 6c 69 61 73 20 44 69 61 6c 6f 67 42 6f 78  .alias DialogBox
15830 49 6e 64 69 72 65 63 74 50 61 72 61 6d 57 20 44  IndirectParamW D
15840 69 61 6c 6f 67 42 6f 78 49 6e 64 69 72 65 63 74  ialogBoxIndirect
15850 50 61 72 61 6d 3b 0d 0a 2f 2f 20 23 65 6c 73 65  Param;..// #else
15860 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
15870 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
15880 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44  ....// #define D
15890 69 61 6c 6f 67 42 6f 78 41 28 68 49 6e 73 74 61  ialogBoxA(hInsta
158a0 6e 63 65 2c 20 6c 70 54 65 6d 70 6c 61 74 65 2c  nce, lpTemplate,
158b0 20 68 57 6e 64 50 61 72 65 6e 74 2c 20 6c 70 44   hWndParent, lpD
158c0 69 61 6c 6f 67 46 75 6e 63 29 20 44 69 61 6c 6f  ialogFunc) Dialo
158d0 67 42 6f 78 50 61 72 61 6d 41 28 68 49 6e 73 74  gBoxParamA(hInst
158e0 61 6e 63 65 2c 20 6c 70 54 65 6d 70 6c 61 74 65  ance, lpTemplate
158f0 2c 20 68 57 6e 64 50 61 72 65 6e 74 2c 20 6c 70  , hWndParent, lp
15900 44 69 61 6c 6f 67 46 75 6e 63 2c 20 30 4c 29 0d  DialogFunc, 0L).
15910 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 69 61 6c  .// #define Dial
15920 6f 67 42 6f 78 57 28 68 49 6e 73 74 61 6e 63 65  ogBoxW(hInstance
15930 2c 20 6c 70 54 65 6d 70 6c 61 74 65 2c 20 68 57  , lpTemplate, hW
15940 6e 64 50 61 72 65 6e 74 2c 20 6c 70 44 69 61 6c  ndParent, lpDial
15950 6f 67 46 75 6e 63 29 20 44 69 61 6c 6f 67 42 6f  ogFunc) DialogBo
15960 78 50 61 72 61 6d 57 28 68 49 6e 73 74 61 6e 63  xParamW(hInstanc
15970 65 2c 20 6c 70 54 65 6d 70 6c 61 74 65 2c 20 68  e, lpTemplate, h
15980 57 6e 64 50 61 72 65 6e 74 2c 20 6c 70 44 69 61  WndParent, lpDia
15990 6c 6f 67 46 75 6e 63 2c 20 30 4c 29 0d 0a 2f 2f  logFunc, 0L)..//
159a0 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
159b0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 69 61 6c  .// #define Dial
159c0 6f 67 42 6f 78 20 44 69 61 6c 6f 67 42 6f 78 57  ogBox DialogBoxW
159d0 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
159e0 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
159f0 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f  / !UNICODE....//
15a00 20 23 64 65 66 69 6e 65 20 44 69 61 6c 6f 67 42   #define DialogB
15a10 6f 78 49 6e 64 69 72 65 63 74 41 28 68 49 6e 73  oxIndirectA(hIns
15a20 74 61 6e 63 65 2c 20 6c 70 54 65 6d 70 6c 61 74  tance, lpTemplat
15a30 65 2c 20 68 57 6e 64 50 61 72 65 6e 74 2c 20 6c  e, hWndParent, l
15a40 70 44 69 61 6c 6f 67 46 75 6e 63 29 20 44 69 61  pDialogFunc) Dia
15a50 6c 6f 67 42 6f 78 49 6e 64 69 72 65 63 74 50 61  logBoxIndirectPa
15a60 72 61 6d 41 28 68 49 6e 73 74 61 6e 63 65 2c 20  ramA(hInstance, 
15a70 6c 70 54 65 6d 70 6c 61 74 65 2c 20 68 57 6e 64  lpTemplate, hWnd
15a80 50 61 72 65 6e 74 2c 20 6c 70 44 69 61 6c 6f 67  Parent, lpDialog
15a90 46 75 6e 63 2c 20 30 4c 29 0d 0a 2f 2f 20 23 64  Func, 0L)..// #d
15aa0 65 66 69 6e 65 20 44 69 61 6c 6f 67 42 6f 78 49  efine DialogBoxI
15ab0 6e 64 69 72 65 63 74 57 28 68 49 6e 73 74 61 6e  ndirectW(hInstan
15ac0 63 65 2c 20 6c 70 54 65 6d 70 6c 61 74 65 2c 20  ce, lpTemplate, 
15ad0 68 57 6e 64 50 61 72 65 6e 74 2c 20 6c 70 44 69  hWndParent, lpDi
15ae0 61 6c 6f 67 46 75 6e 63 29 20 44 69 61 6c 6f 67  alogFunc) Dialog
15af0 42 6f 78 49 6e 64 69 72 65 63 74 50 61 72 61 6d  BoxIndirectParam
15b00 57 28 68 49 6e 73 74 61 6e 63 65 2c 20 6c 70 54  W(hInstance, lpT
15b10 65 6d 70 6c 61 74 65 2c 20 68 57 6e 64 50 61 72  emplate, hWndPar
15b20 65 6e 74 2c 20 6c 70 44 69 61 6c 6f 67 46 75 6e  ent, lpDialogFun
15b30 63 2c 20 30 4c 29 0d 0a 2f 2f 20 23 69 66 64 65  c, 0L)..// #ifde
15b40 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 64  f UNICODE..// #d
15b50 65 66 69 6e 65 20 44 69 61 6c 6f 67 42 6f 78 49  efine DialogBoxI
15b60 6e 64 69 72 65 63 74 20 44 69 61 6c 6f 67 42 6f  ndirect DialogBo
15b70 78 49 6e 64 69 72 65 63 74 57 0d 0a 2f 2f 20 23  xIndirectW..// #
15b80 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
15b90 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
15ba0 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  CODE....extern(W
15bb0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
15bc0 4f 4f 4c 20 45 6e 64 44 69 61 6c 6f 67 28 0d 0a  OOL EndDialog(..
15bd0 20 20 48 57 4e 44 20 68 44 6c 67 2c 0d 0a 20 20    HWND hDlg,..  
15be0 49 4e 54 5f 50 54 52 20 6e 52 65 73 75 6c 74 29  INT_PTR nResult)
15bf0 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
15c00 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44  ows) export HWND
15c10 20 47 65 74 44 6c 67 49 74 65 6d 28 0d 0a 20 20   GetDlgItem(..  
15c20 48 57 4e 44 20 68 44 6c 67 2c 0d 0a 20 20 69 6e  HWND hDlg,..  in
15c30 74 20 6e 49 44 44 6c 67 49 74 65 6d 29 3b 0d 0a  t nIDDlgItem);..
15c40 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
15c50 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65  ) export BOOL Se
15c60 74 44 6c 67 49 74 65 6d 49 6e 74 28 0d 0a 20 20  tDlgItemInt(..  
15c70 48 57 4e 44 20 68 44 6c 67 2c 0d 0a 20 20 69 6e  HWND hDlg,..  in
15c80 74 20 6e 49 44 44 6c 67 49 74 65 6d 2c 0d 0a 20  t nIDDlgItem,.. 
15c90 20 55 49 4e 54 20 75 56 61 6c 75 65 2c 0d 0a 20   UINT uValue,.. 
15ca0 20 42 4f 4f 4c 20 62 53 69 67 6e 65 64 29 3b 0d   BOOL bSigned);.
15cb0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
15cc0 73 29 20 65 78 70 6f 72 74 20 55 49 4e 54 20 47  s) export UINT G
15cd0 65 74 44 6c 67 49 74 65 6d 49 6e 74 28 0d 0a 20  etDlgItemInt(.. 
15ce0 20 48 57 4e 44 20 68 44 6c 67 2c 0d 0a 20 20 69   HWND hDlg,..  i
15cf0 6e 74 20 6e 49 44 44 6c 67 49 74 65 6d 2c 0d 0a  nt nIDDlgItem,..
15d00 20 20 42 4f 4f 4c 20 2a 6c 70 54 72 61 6e 73 6c    BOOL *lpTransl
15d10 61 74 65 64 2c 0d 0a 20 20 42 4f 4f 4c 20 62 53  ated,..  BOOL bS
15d20 69 67 6e 65 64 29 3b 0d 0a 0d 0a 65 78 74 65 72  igned);....exter
15d30 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
15d40 74 20 42 4f 4f 4c 20 53 65 74 44 6c 67 49 74 65  t BOOL SetDlgIte
15d50 6d 54 65 78 74 41 28 0d 0a 20 20 48 57 4e 44 20  mTextA(..  HWND 
15d60 68 44 6c 67 2c 0d 0a 20 20 69 6e 74 20 6e 49 44  hDlg,..  int nID
15d70 44 6c 67 49 74 65 6d 2c 0d 0a 20 20 4c 50 43 53  DlgItem,..  LPCS
15d80 54 52 20 6c 70 53 74 72 69 6e 67 29 3b 0d 0a 65  TR lpString);..e
15d90 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
15da0 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74 44 6c  xport BOOL SetDl
15db0 67 49 74 65 6d 54 65 78 74 57 28 0d 0a 20 20 48  gItemTextW(..  H
15dc0 57 4e 44 20 68 44 6c 67 2c 0d 0a 20 20 69 6e 74  WND hDlg,..  int
15dd0 20 6e 49 44 44 6c 67 49 74 65 6d 2c 0d 0a 20 20   nIDDlgItem,..  
15de0 4c 50 43 57 53 54 52 20 6c 70 53 74 72 69 6e 67  LPCWSTR lpString
15df0 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
15e00 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 53 65 74  ICODE..alias Set
15e10 44 6c 67 49 74 65 6d 54 65 78 74 57 20 53 65 74  DlgItemTextW Set
15e20 44 6c 67 49 74 65 6d 54 65 78 74 3b 0d 0a 2f 2f  DlgItemText;..//
15e30 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
15e40 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
15e50 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
15e60 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
15e70 20 55 49 4e 54 20 47 65 74 44 6c 67 49 74 65 6d   UINT GetDlgItem
15e80 54 65 78 74 41 28 0d 0a 20 20 48 57 4e 44 20 68  TextA(..  HWND h
15e90 44 6c 67 2c 0d 0a 20 20 69 6e 74 20 6e 49 44 44  Dlg,..  int nIDD
15ea0 6c 67 49 74 65 6d 2c 0d 0a 20 20 4c 50 53 54 52  lgItem,..  LPSTR
15eb0 20 6c 70 53 74 72 69 6e 67 2c 0d 0a 20 20 69 6e   lpString,..  in
15ec0 74 20 6e 4d 61 78 43 6f 75 6e 74 29 3b 0d 0a 65  t nMaxCount);..e
15ed0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
15ee0 78 70 6f 72 74 20 55 49 4e 54 20 47 65 74 44 6c  xport UINT GetDl
15ef0 67 49 74 65 6d 54 65 78 74 57 28 0d 0a 20 20 48  gItemTextW(..  H
15f00 57 4e 44 20 68 44 6c 67 2c 0d 0a 20 20 69 6e 74  WND hDlg,..  int
15f10 20 6e 49 44 44 6c 67 49 74 65 6d 2c 0d 0a 20 20   nIDDlgItem,..  
15f20 4c 50 57 53 54 52 20 6c 70 53 74 72 69 6e 67 2c  LPWSTR lpString,
15f30 0d 0a 20 20 69 6e 74 20 6e 4d 61 78 43 6f 75 6e  ..  int nMaxCoun
15f40 74 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  t);..// #ifdef U
15f50 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 47 65  NICODE..alias Ge
15f60 74 44 6c 67 49 74 65 6d 54 65 78 74 57 20 47 65  tDlgItemTextW Ge
15f70 74 44 6c 67 49 74 65 6d 54 65 78 74 3b 0d 0a 2f  tDlgItemText;../
15f80 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
15f90 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
15fa0 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
15fb0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
15fc0 74 20 42 4f 4f 4c 20 43 68 65 63 6b 44 6c 67 42  t BOOL CheckDlgB
15fd0 75 74 74 6f 6e 28 0d 0a 20 20 48 57 4e 44 20 68  utton(..  HWND h
15fe0 44 6c 67 2c 0d 0a 20 20 69 6e 74 20 6e 49 44 42  Dlg,..  int nIDB
15ff0 75 74 74 6f 6e 2c 0d 0a 20 20 55 49 4e 54 20 75  utton,..  UINT u
16000 43 68 65 63 6b 29 3b 0d 0a 0d 0a 65 78 74 65 72  Check);....exter
16010 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
16020 74 20 42 4f 4f 4c 20 43 68 65 63 6b 52 61 64 69  t BOOL CheckRadi
16030 6f 42 75 74 74 6f 6e 28 0d 0a 20 20 48 57 4e 44  oButton(..  HWND
16040 20 68 44 6c 67 2c 0d 0a 20 20 69 6e 74 20 6e 49   hDlg,..  int nI
16050 44 46 69 72 73 74 42 75 74 74 6f 6e 2c 0d 0a 20  DFirstButton,.. 
16060 20 69 6e 74 20 6e 49 44 4c 61 73 74 42 75 74 74   int nIDLastButt
16070 6f 6e 2c 0d 0a 20 20 69 6e 74 20 6e 49 44 43 68  on,..  int nIDCh
16080 65 63 6b 42 75 74 74 6f 6e 29 3b 0d 0a 0d 0a 65  eckButton);....e
16090 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
160a0 78 70 6f 72 74 20 55 49 4e 54 20 49 73 44 6c 67  xport UINT IsDlg
160b0 42 75 74 74 6f 6e 43 68 65 63 6b 65 64 28 0d 0a  ButtonChecked(..
160c0 20 20 48 57 4e 44 20 68 44 6c 67 2c 0d 0a 20 20    HWND hDlg,..  
160d0 69 6e 74 20 6e 49 44 42 75 74 74 6f 6e 29 3b 0d  int nIDButton);.
160e0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
160f0 73 29 20 65 78 70 6f 72 74 20 4c 52 45 53 55 4c  s) export LRESUL
16100 54 20 53 65 6e 64 44 6c 67 49 74 65 6d 4d 65 73  T SendDlgItemMes
16110 73 61 67 65 41 28 0d 0a 20 20 48 57 4e 44 20 68  sageA(..  HWND h
16120 44 6c 67 2c 0d 0a 20 20 69 6e 74 20 6e 49 44 44  Dlg,..  int nIDD
16130 6c 67 49 74 65 6d 2c 0d 0a 20 20 55 49 4e 54 20  lgItem,..  UINT 
16140 4d 73 67 2c 0d 0a 20 20 57 50 41 52 41 4d 20 77  Msg,..  WPARAM w
16150 50 61 72 61 6d 2c 0d 0a 20 20 4c 50 41 52 41 4d  Param,..  LPARAM
16160 20 6c 50 61 72 61 6d 29 3b 0d 0a 65 78 74 65 72   lParam);..exter
16170 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
16180 74 20 4c 52 45 53 55 4c 54 20 53 65 6e 64 44 6c  t LRESULT SendDl
16190 67 49 74 65 6d 4d 65 73 73 61 67 65 57 28 0d 0a  gItemMessageW(..
161a0 20 20 48 57 4e 44 20 68 44 6c 67 2c 0d 0a 20 20    HWND hDlg,..  
161b0 69 6e 74 20 6e 49 44 44 6c 67 49 74 65 6d 2c 0d  int nIDDlgItem,.
161c0 0a 20 20 55 49 4e 54 20 4d 73 67 2c 0d 0a 20 20  .  UINT Msg,..  
161d0 57 50 41 52 41 4d 20 77 50 61 72 61 6d 2c 0d 0a  WPARAM wParam,..
161e0 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 29    LPARAM lParam)
161f0 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
16200 43 4f 44 45 0d 0a 61 6c 69 61 73 20 53 65 6e 64  CODE..alias Send
16210 44 6c 67 49 74 65 6d 4d 65 73 73 61 67 65 57 20  DlgItemMessageW 
16220 53 65 6e 64 44 6c 67 49 74 65 6d 4d 65 73 73 61  SendDlgItemMessa
16230 67 65 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  ge;..// #else../
16240 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
16250 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
16260 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
16270 20 65 78 70 6f 72 74 20 48 57 4e 44 20 47 65 74   export HWND Get
16280 4e 65 78 74 44 6c 67 47 72 6f 75 70 49 74 65 6d  NextDlgGroupItem
16290 28 0d 0a 20 20 48 57 4e 44 20 68 44 6c 67 2c 0d  (..  HWND hDlg,.
162a0 0a 20 20 48 57 4e 44 20 68 43 74 6c 2c 0d 0a 20  .  HWND hCtl,.. 
162b0 20 42 4f 4f 4c 20 62 50 72 65 76 69 6f 75 73 29   BOOL bPrevious)
162c0 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
162d0 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44  ows) export HWND
162e0 20 47 65 74 4e 65 78 74 44 6c 67 54 61 62 49 74   GetNextDlgTabIt
162f0 65 6d 28 0d 0a 20 20 48 57 4e 44 20 68 44 6c 67  em(..  HWND hDlg
16300 2c 0d 0a 20 20 48 57 4e 44 20 68 43 74 6c 2c 0d  ,..  HWND hCtl,.
16310 0a 20 20 42 4f 4f 4c 20 62 50 72 65 76 69 6f 75  .  BOOL bPreviou
16320 73 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  s);....extern(Wi
16330 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e  ndows) export in
16340 74 20 47 65 74 44 6c 67 43 74 72 6c 49 44 28 0d  t GetDlgCtrlID(.
16350 0a 20 20 48 57 4e 44 20 68 57 6e 64 29 3b 0d 0a  .  HWND hWnd);..
16360 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
16370 29 20 65 78 70 6f 72 74 20 69 6e 74 20 47 65 74  ) export int Get
16380 44 69 61 6c 6f 67 42 61 73 65 55 6e 69 74 73 28  DialogBaseUnits(
16390 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
163a0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4c 52 45  dows) export LRE
163b0 53 55 4c 54 20 44 65 66 44 6c 67 50 72 6f 63 41  SULT DefDlgProcA
163c0 28 48 57 4e 44 20 68 44 6c 67 2c 20 55 49 4e 54  (HWND hDlg, UINT
163d0 20 4d 73 67 2c 20 57 50 41 52 41 4d 20 77 50 61   Msg, WPARAM wPa
163e0 72 61 6d 2c 20 4c 50 41 52 41 4d 20 6c 50 61 72  ram, LPARAM lPar
163f0 61 6d 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  am);..extern(Win
16400 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4c 52 45  dows) export LRE
16410 53 55 4c 54 20 44 65 66 44 6c 67 50 72 6f 63 57  SULT DefDlgProcW
16420 28 48 57 4e 44 20 68 44 6c 67 2c 20 55 49 4e 54  (HWND hDlg, UINT
16430 20 4d 73 67 2c 20 57 50 41 52 41 4d 20 77 50 61   Msg, WPARAM wPa
16440 72 61 6d 2c 20 4c 50 41 52 41 4d 20 6c 50 61 72  ram, LPARAM lPar
16450 61 6d 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  am);..// #ifdef 
16460 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 44  UNICODE..alias D
16470 65 66 44 6c 67 50 72 6f 63 57 20 44 65 66 44 6c  efDlgProcW DefDl
16480 67 50 72 6f 63 3b 0d 0a 2f 2f 20 23 65 6c 73 65  gProc;..// #else
16490 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
164a0 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
164b0 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f  ....// #ifndef _
164c0 4d 41 43 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  MAC..enum : uint
164d0 20 7b 20 44 4c 47 57 49 4e 44 4f 57 45 58 54 52   { DLGWINDOWEXTR
164e0 41 20 3d 20 33 30 20 7d 0d 0a 2f 2f 20 23 65 6c  A = 30 }..// #el
164f0 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
16500 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e  #endif....// #en
16510 64 69 66 20 2f 2a 20 21 4e 4f 43 54 4c 4d 47 52  dif /* !NOCTLMGR
16520 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65   */....// #ifnde
16530 66 20 4e 4f 4d 53 47 0d 0a 0d 0a 65 78 74 65 72  f NOMSG....exter
16540 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
16550 74 20 42 4f 4f 4c 20 43 61 6c 6c 4d 73 67 46 69  t BOOL CallMsgFi
16560 6c 74 65 72 41 28 0d 0a 20 20 4c 50 4d 53 47 20  lterA(..  LPMSG 
16570 6c 70 4d 73 67 2c 0d 0a 20 20 69 6e 74 20 6e 43  lpMsg,..  int nC
16580 6f 64 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  ode);..extern(Wi
16590 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
165a0 4f 4c 20 43 61 6c 6c 4d 73 67 46 69 6c 74 65 72  OL CallMsgFilter
165b0 57 28 0d 0a 20 20 4c 50 4d 53 47 20 6c 70 4d 73  W(..  LPMSG lpMs
165c0 67 2c 0d 0a 20 20 69 6e 74 20 6e 43 6f 64 65 29  g,..  int nCode)
165d0 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
165e0 43 4f 44 45 0d 0a 61 6c 69 61 73 20 43 61 6c 6c  CODE..alias Call
165f0 4d 73 67 46 69 6c 74 65 72 57 20 43 61 6c 6c 4d  MsgFilterW CallM
16600 73 67 46 69 6c 74 65 72 3b 0d 0a 2f 2f 20 23 65  sgFilter;..// #e
16610 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
16620 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
16630 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  ODE....// #endif
16640 20 2f 2a 20 21 4e 4f 4d 53 47 20 2a 2f 0d 0a 0d   /* !NOMSG */...
16650 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 43 4c  .// #ifndef NOCL
16660 49 50 42 4f 41 52 44 0d 0a 0d 0a 65 78 74 65 72  IPBOARD....exter
16670 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
16680 74 20 42 4f 4f 4c 20 4f 70 65 6e 43 6c 69 70 62  t BOOL OpenClipb
16690 6f 61 72 64 28 0d 0a 20 20 48 57 4e 44 20 68 57  oard(..  HWND hW
166a0 6e 64 4e 65 77 4f 77 6e 65 72 29 3b 0d 0a 0d 0a  ndNewOwner);....
166b0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
166c0 65 78 70 6f 72 74 20 42 4f 4f 4c 20 43 6c 6f 73  export BOOL Clos
166d0 65 43 6c 69 70 62 6f 61 72 64 28 29 3b 0d 0a 0d  eClipboard();...
166e0 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e  .// #if(WINVER >
166f0 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 65 78 74  = 0x0500)....ext
16700 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
16710 6f 72 74 20 44 57 4f 52 44 20 47 65 74 43 6c 69  ort DWORD GetCli
16720 70 62 6f 61 72 64 53 65 71 75 65 6e 63 65 4e 75  pboardSequenceNu
16730 6d 62 65 72 28 29 3b 0d 0a 0d 0a 2f 2f 20 23 65  mber();....// #e
16740 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e  ndif /* WINVER >
16750 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 65  = 0x0500 */....e
16760 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
16770 78 70 6f 72 74 20 48 57 4e 44 20 47 65 74 43 6c  xport HWND GetCl
16780 69 70 62 6f 61 72 64 4f 77 6e 65 72 28 29 3b 0d  ipboardOwner();.
16790 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
167a0 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20 53  s) export HWND S
167b0 65 74 43 6c 69 70 62 6f 61 72 64 56 69 65 77 65  etClipboardViewe
167c0 72 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 4e  r(..  HWND hWndN
167d0 65 77 56 69 65 77 65 72 29 3b 0d 0a 0d 0a 65 78  ewViewer);....ex
167e0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
167f0 70 6f 72 74 20 48 57 4e 44 20 47 65 74 43 6c 69  port HWND GetCli
16800 70 62 6f 61 72 64 56 69 65 77 65 72 28 29 3b 0d  pboardViewer();.
16810 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
16820 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 43  s) export BOOL C
16830 68 61 6e 67 65 43 6c 69 70 62 6f 61 72 64 43 68  hangeClipboardCh
16840 61 69 6e 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  ain(..  HWND hWn
16850 64 52 65 6d 6f 76 65 2c 0d 0a 20 20 48 57 4e 44  dRemove,..  HWND
16860 20 68 57 6e 64 4e 65 77 4e 65 78 74 29 3b 0d 0a   hWndNewNext);..
16870 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
16880 29 20 65 78 70 6f 72 74 20 48 41 4e 44 4c 45 20  ) export HANDLE 
16890 53 65 74 43 6c 69 70 62 6f 61 72 64 44 61 74 61  SetClipboardData
168a0 28 0d 0a 20 20 55 49 4e 54 20 75 46 6f 72 6d 61  (..  UINT uForma
168b0 74 2c 0d 0a 20 20 48 41 4e 44 4c 45 20 68 4d 65  t,..  HANDLE hMe
168c0 6d 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  m);....extern(Wi
168d0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 41  ndows) export HA
168e0 4e 44 4c 45 20 47 65 74 43 6c 69 70 62 6f 61 72  NDLE GetClipboar
168f0 64 44 61 74 61 28 0d 0a 20 20 55 49 4e 54 20 75  dData(..  UINT u
16900 46 6f 72 6d 61 74 29 3b 0d 0a 0d 0a 65 78 74 65  Format);....exte
16910 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
16920 72 74 20 55 49 4e 54 20 52 65 67 69 73 74 65 72  rt UINT Register
16930 43 6c 69 70 62 6f 61 72 64 46 6f 72 6d 61 74 41  ClipboardFormatA
16940 28 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 7a  (..  LPCSTR lpsz
16950 46 6f 72 6d 61 74 29 3b 0d 0a 65 78 74 65 72 6e  Format);..extern
16960 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
16970 20 55 49 4e 54 20 52 65 67 69 73 74 65 72 43 6c   UINT RegisterCl
16980 69 70 62 6f 61 72 64 46 6f 72 6d 61 74 57 28 0d  ipboardFormatW(.
16990 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 73 7a 46  .  LPCWSTR lpszF
169a0 6f 72 6d 61 74 29 3b 0d 0a 2f 2f 20 23 69 66 64  ormat);..// #ifd
169b0 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
169c0 73 20 52 65 67 69 73 74 65 72 43 6c 69 70 62 6f  s RegisterClipbo
169d0 61 72 64 46 6f 72 6d 61 74 57 20 52 65 67 69 73  ardFormatW Regis
169e0 74 65 72 43 6c 69 70 62 6f 61 72 64 46 6f 72 6d  terClipboardForm
169f0 61 74 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  at;..// #else../
16a00 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
16a10 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
16a20 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
16a30 20 65 78 70 6f 72 74 20 69 6e 74 20 43 6f 75 6e   export int Coun
16a40 74 43 6c 69 70 62 6f 61 72 64 46 6f 72 6d 61 74  tClipboardFormat
16a50 73 28 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  s();....extern(W
16a60 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 55  indows) export U
16a70 49 4e 54 20 45 6e 75 6d 43 6c 69 70 62 6f 61 72  INT EnumClipboar
16a80 64 46 6f 72 6d 61 74 73 28 0d 0a 20 20 55 49 4e  dFormats(..  UIN
16a90 54 20 66 6f 72 6d 61 74 29 3b 0d 0a 0d 0a 65 78  T format);....ex
16aa0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
16ab0 70 6f 72 74 20 69 6e 74 20 47 65 74 43 6c 69 70  port int GetClip
16ac0 62 6f 61 72 64 46 6f 72 6d 61 74 4e 61 6d 65 41  boardFormatNameA
16ad0 28 0d 0a 20 20 55 49 4e 54 20 66 6f 72 6d 61 74  (..  UINT format
16ae0 2c 0d 0a 20 20 4c 50 53 54 52 20 6c 70 73 7a 46  ,..  LPSTR lpszF
16af0 6f 72 6d 61 74 4e 61 6d 65 2c 0d 0a 20 20 69 6e  ormatName,..  in
16b00 74 20 63 63 68 4d 61 78 43 6f 75 6e 74 29 3b 0d  t cchMaxCount);.
16b10 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
16b20 20 65 78 70 6f 72 74 20 69 6e 74 20 47 65 74 43   export int GetC
16b30 6c 69 70 62 6f 61 72 64 46 6f 72 6d 61 74 4e 61  lipboardFormatNa
16b40 6d 65 57 28 0d 0a 20 20 55 49 4e 54 20 66 6f 72  meW(..  UINT for
16b50 6d 61 74 2c 0d 0a 20 20 4c 50 57 53 54 52 20 6c  mat,..  LPWSTR l
16b60 70 73 7a 46 6f 72 6d 61 74 4e 61 6d 65 2c 0d 0a  pszFormatName,..
16b70 20 20 69 6e 74 20 63 63 68 4d 61 78 43 6f 75 6e    int cchMaxCoun
16b80 74 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  t);..// #ifdef U
16b90 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 47 65  NICODE..alias Ge
16ba0 74 43 6c 69 70 62 6f 61 72 64 46 6f 72 6d 61 74  tClipboardFormat
16bb0 4e 61 6d 65 57 20 47 65 74 43 6c 69 70 62 6f 61  NameW GetClipboa
16bc0 72 64 46 6f 72 6d 61 74 4e 61 6d 65 3b 0d 0a 2f  rdFormatName;../
16bd0 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
16be0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
16bf0 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
16c00 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
16c10 74 20 42 4f 4f 4c 20 45 6d 70 74 79 43 6c 69 70  t BOOL EmptyClip
16c20 62 6f 61 72 64 28 29 3b 0d 0a 0d 0a 65 78 74 65  board();....exte
16c30 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
16c40 72 74 20 42 4f 4f 4c 20 49 73 43 6c 69 70 62 6f  rt BOOL IsClipbo
16c50 61 72 64 46 6f 72 6d 61 74 41 76 61 69 6c 61 62  ardFormatAvailab
16c60 6c 65 28 0d 0a 20 20 55 49 4e 54 20 66 6f 72 6d  le(..  UINT form
16c70 61 74 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  at);....extern(W
16c80 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69  indows) export i
16c90 6e 74 20 47 65 74 50 72 69 6f 72 69 74 79 43 6c  nt GetPriorityCl
16ca0 69 70 62 6f 61 72 64 46 6f 72 6d 61 74 28 0d 0a  ipboardFormat(..
16cb0 20 20 55 49 4e 54 20 2a 70 61 46 6f 72 6d 61 74    UINT *paFormat
16cc0 50 72 69 6f 72 69 74 79 4c 69 73 74 2c 0d 0a 20  PriorityList,.. 
16cd0 20 69 6e 74 20 63 46 6f 72 6d 61 74 73 29 3b 0d   int cFormats);.
16ce0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
16cf0 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20 47  s) export HWND G
16d00 65 74 4f 70 65 6e 43 6c 69 70 62 6f 61 72 64 57  etOpenClipboardW
16d10 69 6e 64 6f 77 28 29 3b 0d 0a 0d 0a 2f 2f 20 23  indow();....// #
16d20 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 43 4c 49 50  endif /* !NOCLIP
16d30 42 4f 41 52 44 20 2a 2f 0d 0a 0d 0a 65 78 74 65  BOARD */....exte
16d40 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
16d50 72 74 20 42 4f 4f 4c 20 43 68 61 72 54 6f 4f 65  rt BOOL CharToOe
16d60 6d 41 28 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70  mA(..  LPCSTR lp
16d70 73 7a 53 72 63 2c 0d 0a 20 20 4c 50 53 54 52 20  szSrc,..  LPSTR 
16d80 6c 70 73 7a 44 73 74 29 3b 0d 0a 65 78 74 65 72  lpszDst);..exter
16d90 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
16da0 74 20 42 4f 4f 4c 20 43 68 61 72 54 6f 4f 65 6d  t BOOL CharToOem
16db0 57 28 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70  W(..  LPCWSTR lp
16dc0 73 7a 53 72 63 2c 0d 0a 20 20 4c 50 53 54 52 20  szSrc,..  LPSTR 
16dd0 6c 70 73 7a 44 73 74 29 3b 0d 0a 2f 2f 20 23 69  lpszDst);..// #i
16de0 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
16df0 69 61 73 20 43 68 61 72 54 6f 4f 65 6d 57 20 43  ias CharToOemW C
16e00 68 61 72 54 6f 4f 65 6d 3b 0d 0a 2f 2f 20 23 65  harToOem;..// #e
16e10 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
16e20 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
16e30 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ODE....extern(Wi
16e40 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
16e50 4f 4c 20 4f 65 6d 54 6f 43 68 61 72 41 28 0d 0a  OL OemToCharA(..
16e60 20 20 4c 50 43 53 54 52 20 6c 70 73 7a 53 72 63    LPCSTR lpszSrc
16e70 2c 0d 0a 20 20 4c 50 53 54 52 20 6c 70 73 7a 44  ,..  LPSTR lpszD
16e80 73 74 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  st);..extern(Win
16e90 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
16ea0 4c 20 4f 65 6d 54 6f 43 68 61 72 57 28 0d 0a 20  L OemToCharW(.. 
16eb0 20 4c 50 43 53 54 52 20 6c 70 73 7a 53 72 63 2c   LPCSTR lpszSrc,
16ec0 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70 73 7a 44  ..  LPWSTR lpszD
16ed0 73 74 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  st);..// #ifdef 
16ee0 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4f  UNICODE..alias O
16ef0 65 6d 54 6f 43 68 61 72 57 20 4f 65 6d 54 6f 43  emToCharW OemToC
16f00 68 61 72 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  har;..// #else..
16f10 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
16f20 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
16f30 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
16f40 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 43 68  ) export BOOL Ch
16f50 61 72 54 6f 4f 65 6d 42 75 66 66 41 28 0d 0a 20  arToOemBuffA(.. 
16f60 20 4c 50 43 53 54 52 20 6c 70 73 7a 53 72 63 2c   LPCSTR lpszSrc,
16f70 0d 0a 20 20 4c 50 53 54 52 20 6c 70 73 7a 44 73  ..  LPSTR lpszDs
16f80 74 2c 0d 0a 20 20 44 57 4f 52 44 20 63 63 68 44  t,..  DWORD cchD
16f90 73 74 4c 65 6e 67 74 68 29 3b 0d 0a 65 78 74 65  stLength);..exte
16fa0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
16fb0 72 74 20 42 4f 4f 4c 20 43 68 61 72 54 6f 4f 65  rt BOOL CharToOe
16fc0 6d 42 75 66 66 57 28 0d 0a 20 20 4c 50 43 57 53  mBuffW(..  LPCWS
16fd0 54 52 20 6c 70 73 7a 53 72 63 2c 0d 0a 20 20 4c  TR lpszSrc,..  L
16fe0 50 53 54 52 20 6c 70 73 7a 44 73 74 2c 0d 0a 20  PSTR lpszDst,.. 
16ff0 20 44 57 4f 52 44 20 63 63 68 44 73 74 4c 65 6e   DWORD cchDstLen
17000 67 74 68 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  gth);..// #ifdef
17010 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
17020 43 68 61 72 54 6f 4f 65 6d 42 75 66 66 57 20 43  CharToOemBuffW C
17030 68 61 72 54 6f 4f 65 6d 42 75 66 66 3b 0d 0a 2f  harToOemBuff;../
17040 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
17050 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
17060 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
17070 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
17080 74 20 42 4f 4f 4c 20 4f 65 6d 54 6f 43 68 61 72  t BOOL OemToChar
17090 42 75 66 66 41 28 0d 0a 20 20 4c 50 43 53 54 52  BuffA(..  LPCSTR
170a0 20 6c 70 73 7a 53 72 63 2c 0d 0a 20 20 4c 50 53   lpszSrc,..  LPS
170b0 54 52 20 6c 70 73 7a 44 73 74 2c 0d 0a 20 20 44  TR lpszDst,..  D
170c0 57 4f 52 44 20 63 63 68 44 73 74 4c 65 6e 67 74  WORD cchDstLengt
170d0 68 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  h);..extern(Wind
170e0 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
170f0 20 4f 65 6d 54 6f 43 68 61 72 42 75 66 66 57 28   OemToCharBuffW(
17100 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 7a 53  ..  LPCSTR lpszS
17110 72 63 2c 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70  rc,..  LPWSTR lp
17120 73 7a 44 73 74 2c 0d 0a 20 20 44 57 4f 52 44 20  szDst,..  DWORD 
17130 63 63 68 44 73 74 4c 65 6e 67 74 68 29 3b 0d 0a  cchDstLength);..
17140 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
17150 45 0d 0a 61 6c 69 61 73 20 4f 65 6d 54 6f 43 68  E..alias OemToCh
17160 61 72 42 75 66 66 57 20 4f 65 6d 54 6f 43 68 61  arBuffW OemToCha
17170 72 42 75 66 66 3b 0d 0a 2f 2f 20 23 65 6c 73 65  rBuff;..// #else
17180 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
17190 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
171a0 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
171b0 77 73 29 20 65 78 70 6f 72 74 20 4c 50 53 54 52  ws) export LPSTR
171c0 20 43 68 61 72 55 70 70 65 72 41 28 0d 0a 20 20   CharUpperA(..  
171d0 4c 50 53 54 52 20 6c 70 73 7a 29 3b 0d 0a 65 78  LPSTR lpsz);..ex
171e0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
171f0 70 6f 72 74 20 4c 50 57 53 54 52 20 43 68 61 72  port LPWSTR Char
17200 55 70 70 65 72 57 28 0d 0a 20 20 4c 50 57 53 54  UpperW(..  LPWST
17210 52 20 6c 70 73 7a 29 3b 0d 0a 2f 2f 20 23 69 66  R lpsz);..// #if
17220 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69  def UNICODE..ali
17230 61 73 20 43 68 61 72 55 70 70 65 72 57 20 43 68  as CharUpperW Ch
17240 61 72 55 70 70 65 72 3b 0d 0a 2f 2f 20 23 65 6c  arUpper;..// #el
17250 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
17260 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
17270 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
17280 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f  dows) export DWO
17290 52 44 20 43 68 61 72 55 70 70 65 72 42 75 66 66  RD CharUpperBuff
172a0 41 28 0d 0a 20 20 4c 50 53 54 52 20 6c 70 73 7a  A(..  LPSTR lpsz
172b0 2c 0d 0a 20 20 44 57 4f 52 44 20 63 63 68 4c 65  ,..  DWORD cchLe
172c0 6e 67 74 68 29 3b 0d 0a 65 78 74 65 72 6e 28 57  ngth);..extern(W
172d0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44  indows) export D
172e0 57 4f 52 44 20 43 68 61 72 55 70 70 65 72 42 75  WORD CharUpperBu
172f0 66 66 57 28 0d 0a 20 20 4c 50 57 53 54 52 20 6c  ffW(..  LPWSTR l
17300 70 73 7a 2c 0d 0a 20 20 44 57 4f 52 44 20 63 63  psz,..  DWORD cc
17310 68 4c 65 6e 67 74 68 29 3b 0d 0a 2f 2f 20 23 69  hLength);..// #i
17320 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
17330 69 61 73 20 43 68 61 72 55 70 70 65 72 42 75 66  ias CharUpperBuf
17340 66 57 20 43 68 61 72 55 70 70 65 72 42 75 66 66  fW CharUpperBuff
17350 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
17360 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  #.....// #endif 
17370 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65  // !UNICODE....e
17380 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
17390 78 70 6f 72 74 20 4c 50 53 54 52 20 43 68 61 72  xport LPSTR Char
173a0 4c 6f 77 65 72 41 28 0d 0a 20 20 4c 50 53 54 52  LowerA(..  LPSTR
173b0 20 6c 70 73 7a 29 3b 0d 0a 65 78 74 65 72 6e 28   lpsz);..extern(
173c0 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
173d0 4c 50 57 53 54 52 20 43 68 61 72 4c 6f 77 65 72  LPWSTR CharLower
173e0 57 28 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70 73  W(..  LPWSTR lps
173f0 7a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  z);..// #ifdef U
17400 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 43 68  NICODE..alias Ch
17410 61 72 4c 6f 77 65 72 57 20 43 68 61 72 4c 6f 77  arLowerW CharLow
17420 65 72 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  er;..// #else../
17430 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
17440 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
17450 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
17460 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20 43 68   export DWORD Ch
17470 61 72 4c 6f 77 65 72 42 75 66 66 41 28 0d 0a 20  arLowerBuffA(.. 
17480 20 4c 50 53 54 52 20 6c 70 73 7a 2c 0d 0a 20 20   LPSTR lpsz,..  
17490 44 57 4f 52 44 20 63 63 68 4c 65 6e 67 74 68 29  DWORD cchLength)
174a0 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
174b0 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20  s) export DWORD 
174c0 43 68 61 72 4c 6f 77 65 72 42 75 66 66 57 28 0d  CharLowerBuffW(.
174d0 0a 20 20 4c 50 57 53 54 52 20 6c 70 73 7a 2c 0d  .  LPWSTR lpsz,.
174e0 0a 20 20 44 57 4f 52 44 20 63 63 68 4c 65 6e 67  .  DWORD cchLeng
174f0 74 68 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  th);..// #ifdef 
17500 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 43  UNICODE..alias C
17510 68 61 72 4c 6f 77 65 72 42 75 66 66 57 20 43 68  harLowerBuffW Ch
17520 61 72 4c 6f 77 65 72 42 75 66 66 3b 0d 0a 2f 2f  arLowerBuff;..//
17530 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
17540 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
17550 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
17560 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
17570 20 4c 50 53 54 52 20 43 68 61 72 4e 65 78 74 41   LPSTR CharNextA
17580 28 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 7a  (..  LPCSTR lpsz
17590 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
175a0 77 73 29 20 65 78 70 6f 72 74 20 4c 50 57 53 54  ws) export LPWST
175b0 52 20 43 68 61 72 4e 65 78 74 57 28 0d 0a 20 20  R CharNextW(..  
175c0 4c 50 43 57 53 54 52 20 6c 70 73 7a 29 3b 0d 0a  LPCWSTR lpsz);..
175d0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
175e0 45 0d 0a 61 6c 69 61 73 20 43 68 61 72 4e 65 78  E..alias CharNex
175f0 74 57 20 43 68 61 72 4e 65 78 74 3b 0d 0a 2f 2f  tW CharNext;..//
17600 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
17610 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
17620 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
17630 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
17640 20 4c 50 53 54 52 20 43 68 61 72 50 72 65 76 41   LPSTR CharPrevA
17650 28 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 7a  (..  LPCSTR lpsz
17660 53 74 61 72 74 2c 0d 0a 20 20 4c 50 43 53 54 52  Start,..  LPCSTR
17670 20 6c 70 73 7a 43 75 72 72 65 6e 74 29 3b 0d 0a   lpszCurrent);..
17680 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
17690 65 78 70 6f 72 74 20 4c 50 57 53 54 52 20 43 68  export LPWSTR Ch
176a0 61 72 50 72 65 76 57 28 0d 0a 20 20 4c 50 43 57  arPrevW(..  LPCW
176b0 53 54 52 20 6c 70 73 7a 53 74 61 72 74 2c 0d 0a  STR lpszStart,..
176c0 20 20 4c 50 43 57 53 54 52 20 6c 70 73 7a 43 75    LPCWSTR lpszCu
176d0 72 72 65 6e 74 29 3b 0d 0a 2f 2f 20 23 69 66 64  rrent);..// #ifd
176e0 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
176f0 73 20 43 68 61 72 50 72 65 76 57 20 43 68 61 72  s CharPrevW Char
17700 50 72 65 76 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  Prev;..// #else.
17710 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
17720 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
17730 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  ...// #if(WINVER
17740 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 78 74   >= 0x0400)..ext
17750 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
17760 6f 72 74 20 4c 50 53 54 52 20 43 68 61 72 4e 65  ort LPSTR CharNe
17770 78 74 45 78 41 28 0d 0a 20 20 57 4f 52 44 20 43  xtExA(..  WORD C
17780 6f 64 65 50 61 67 65 2c 0d 0a 20 20 4c 50 43 53  odePage,..  LPCS
17790 54 52 20 6c 70 43 75 72 72 65 6e 74 43 68 61 72  TR lpCurrentChar
177a0 2c 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61  ,..  DWORD dwFla
177b0 67 73 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  gs);....extern(W
177c0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4c  indows) export L
177d0 50 53 54 52 20 43 68 61 72 50 72 65 76 45 78 41  PSTR CharPrevExA
177e0 28 0d 0a 20 20 57 4f 52 44 20 43 6f 64 65 50 61  (..  WORD CodePa
177f0 67 65 2c 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70  ge,..  LPCSTR lp
17800 53 74 61 72 74 2c 0d 0a 20 20 4c 50 43 53 54 52  Start,..  LPCSTR
17810 20 6c 70 43 75 72 72 65 6e 74 43 68 61 72 2c 0d   lpCurrentChar,.
17820 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73  .  DWORD dwFlags
17830 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  );..// #endif /*
17840 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30   WINVER >= 0x040
17850 30 20 2a 2f 0d 0a 0d 0a 61 6c 69 61 73 20 43 68  0 */....alias Ch
17860 61 72 54 6f 4f 65 6d 41 20 41 6e 73 69 54 6f 4f  arToOemA AnsiToO
17870 65 6d 3b 0d 0a 61 6c 69 61 73 20 4f 65 6d 54 6f  em;..alias OemTo
17880 43 68 61 72 41 20 4f 65 6d 54 6f 41 6e 73 69 3b  CharA OemToAnsi;
17890 0d 0a 61 6c 69 61 73 20 43 68 61 72 54 6f 4f 65  ..alias CharToOe
178a0 6d 42 75 66 66 41 20 41 6e 73 69 54 6f 4f 65 6d  mBuffA AnsiToOem
178b0 42 75 66 66 3b 0d 0a 61 6c 69 61 73 20 4f 65 6d  Buff;..alias Oem
178c0 54 6f 43 68 61 72 42 75 66 66 41 20 4f 65 6d 54  ToCharBuffA OemT
178d0 6f 41 6e 73 69 42 75 66 66 3b 0d 0a 61 6c 69 61  oAnsiBuff;..alia
178e0 73 20 43 68 61 72 55 70 70 65 72 41 20 41 6e 73  s CharUpperA Ans
178f0 69 55 70 70 65 72 3b 0d 0a 61 6c 69 61 73 20 43  iUpper;..alias C
17900 68 61 72 55 70 70 65 72 42 75 66 66 41 20 41 6e  harUpperBuffA An
17910 73 69 55 70 70 65 72 42 75 66 66 3b 0d 0a 61 6c  siUpperBuff;..al
17920 69 61 73 20 43 68 61 72 4c 6f 77 65 72 41 20 41  ias CharLowerA A
17930 6e 73 69 4c 6f 77 65 72 3b 0d 0a 61 6c 69 61 73  nsiLower;..alias
17940 20 43 68 61 72 4c 6f 77 65 72 42 75 66 66 41 20   CharLowerBuffA 
17950 41 6e 73 69 4c 6f 77 65 72 42 75 66 66 3b 0d 0a  AnsiLowerBuff;..
17960 61 6c 69 61 73 20 43 68 61 72 4e 65 78 74 41 20  alias CharNextA 
17970 41 6e 73 69 4e 65 78 74 3b 0d 0a 61 6c 69 61 73  AnsiNext;..alias
17980 20 43 68 61 72 50 72 65 76 41 20 41 6e 73 69 50   CharPrevA AnsiP
17990 72 65 76 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  rev;....// #ifnd
179a0 65 66 20 20 4e 4f 4c 41 4e 47 55 41 47 45 0d 0a  ef  NOLANGUAGE..
179b0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
179c0 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 73  ) export BOOL Is
179d0 43 68 61 72 41 6c 70 68 61 41 28 0d 0a 20 20 43  CharAlphaA(..  C
179e0 48 41 52 20 63 68 29 3b 0d 0a 65 78 74 65 72 6e  HAR ch);..extern
179f0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
17a00 20 42 4f 4f 4c 20 49 73 43 68 61 72 41 6c 70 68   BOOL IsCharAlph
17a10 61 57 28 0d 0a 20 20 57 43 48 41 52 20 63 68 29  aW(..  WCHAR ch)
17a20 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
17a30 43 4f 44 45 0d 0a 61 6c 69 61 73 20 49 73 43 68  CODE..alias IsCh
17a40 61 72 41 6c 70 68 61 57 20 49 73 43 68 61 72 41  arAlphaW IsCharA
17a50 6c 70 68 61 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  lpha;..// #else.
17a60 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
17a70 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
17a80 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
17a90 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49  s) export BOOL I
17aa0 73 43 68 61 72 41 6c 70 68 61 4e 75 6d 65 72 69  sCharAlphaNumeri
17ab0 63 41 28 0d 0a 20 20 43 48 41 52 20 63 68 29 3b  cA(..  CHAR ch);
17ac0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
17ad0 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 73  ) export BOOL Is
17ae0 43 68 61 72 41 6c 70 68 61 4e 75 6d 65 72 69 63  CharAlphaNumeric
17af0 57 28 0d 0a 20 20 57 43 48 41 52 20 63 68 29 3b  W(..  WCHAR ch);
17b00 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
17b10 4f 44 45 0d 0a 61 6c 69 61 73 20 49 73 43 68 61  ODE..alias IsCha
17b20 72 41 6c 70 68 61 4e 75 6d 65 72 69 63 57 20 49  rAlphaNumericW I
17b30 73 43 68 61 72 41 6c 70 68 61 4e 75 6d 65 72 69  sCharAlphaNumeri
17b40 63 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  c;..// #else..//
17b50 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
17b60 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
17b70 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
17b80 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 73 43 68  export BOOL IsCh
17b90 61 72 55 70 70 65 72 41 28 0d 0a 20 20 43 48 41  arUpperA(..  CHA
17ba0 52 20 63 68 29 3b 0d 0a 65 78 74 65 72 6e 28 57  R ch);..extern(W
17bb0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
17bc0 4f 4f 4c 20 49 73 43 68 61 72 55 70 70 65 72 57  OOL IsCharUpperW
17bd0 28 0d 0a 20 20 57 43 48 41 52 20 63 68 29 3b 0d  (..  WCHAR ch);.
17be0 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
17bf0 44 45 0d 0a 61 6c 69 61 73 20 49 73 43 68 61 72  DE..alias IsChar
17c00 55 70 70 65 72 57 20 49 73 43 68 61 72 55 70 70  UpperW IsCharUpp
17c10 65 72 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  er;..// #else../
17c20 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
17c30 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
17c40 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
17c50 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 73 43   export BOOL IsC
17c60 68 61 72 4c 6f 77 65 72 41 28 0d 0a 20 20 43 48  harLowerA(..  CH
17c70 41 52 20 63 68 29 3b 0d 0a 65 78 74 65 72 6e 28  AR ch);..extern(
17c80 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
17c90 42 4f 4f 4c 20 49 73 43 68 61 72 4c 6f 77 65 72  BOOL IsCharLower
17ca0 57 28 0d 0a 20 20 57 43 48 41 52 20 63 68 29 3b  W(..  WCHAR ch);
17cb0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
17cc0 4f 44 45 0d 0a 61 6c 69 61 73 20 49 73 43 68 61  ODE..alias IsCha
17cd0 72 4c 6f 77 65 72 57 20 49 73 43 68 61 72 4c 6f  rLowerW IsCharLo
17ce0 77 65 72 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  wer;..// #else..
17cf0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
17d00 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
17d10 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2a 20  ..// #endif  /* 
17d20 21 4e 4f 4c 41 4e 47 55 41 47 45 20 2a 2f 0d 0a  !NOLANGUAGE */..
17d30 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
17d40 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20 53 65  ) export HWND Se
17d50 74 46 6f 63 75 73 28 0d 0a 20 20 48 57 4e 44 20  tFocus(..  HWND 
17d60 68 57 6e 64 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  hWnd);....extern
17d70 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
17d80 20 48 57 4e 44 20 47 65 74 41 63 74 69 76 65 57   HWND GetActiveW
17d90 69 6e 64 6f 77 28 29 3b 0d 0a 0d 0a 65 78 74 65  indow();....exte
17da0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
17db0 72 74 20 48 57 4e 44 20 47 65 74 46 6f 63 75 73  rt HWND GetFocus
17dc0 28 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ();....extern(Wi
17dd0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 55 49  ndows) export UI
17de0 4e 54 20 47 65 74 4b 42 43 6f 64 65 50 61 67 65  NT GetKBCodePage
17df0 28 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ();....extern(Wi
17e00 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 53 48  ndows) export SH
17e10 4f 52 54 20 47 65 74 4b 65 79 53 74 61 74 65 28  ORT GetKeyState(
17e20 0d 0a 20 20 69 6e 74 20 6e 56 69 72 74 4b 65 79  ..  int nVirtKey
17e30 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
17e40 64 6f 77 73 29 20 65 78 70 6f 72 74 20 53 48 4f  dows) export SHO
17e50 52 54 20 47 65 74 41 73 79 6e 63 4b 65 79 53 74  RT GetAsyncKeySt
17e60 61 74 65 28 0d 0a 20 20 69 6e 74 20 76 4b 65 79  ate(..  int vKey
17e70 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
17e80 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
17e90 4c 20 47 65 74 4b 65 79 62 6f 61 72 64 53 74 61  L GetKeyboardSta
17ea0 74 65 28 0d 0a 20 20 50 42 59 54 45 20 6c 70 4b  te(..  PBYTE lpK
17eb0 65 79 53 74 61 74 65 29 3b 0d 0a 0d 0a 65 78 74  eyState);....ext
17ec0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
17ed0 6f 72 74 20 42 4f 4f 4c 20 53 65 74 4b 65 79 62  ort BOOL SetKeyb
17ee0 6f 61 72 64 53 74 61 74 65 28 0d 0a 20 20 4c 50  oardState(..  LP
17ef0 42 59 54 45 20 6c 70 4b 65 79 53 74 61 74 65 29  BYTE lpKeyState)
17f00 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
17f10 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20  ows) export int 
17f20 47 65 74 4b 65 79 4e 61 6d 65 54 65 78 74 41 28  GetKeyNameTextA(
17f30 0d 0a 20 20 4c 4f 4e 47 20 6c 50 61 72 61 6d 2c  ..  LONG lParam,
17f40 0d 0a 20 20 4c 50 53 54 52 20 6c 70 53 74 72 69  ..  LPSTR lpStri
17f50 6e 67 2c 0d 0a 20 20 69 6e 74 20 6e 53 69 7a 65  ng,..  int nSize
17f60 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
17f70 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 47  ws) export int G
17f80 65 74 4b 65 79 4e 61 6d 65 54 65 78 74 57 28 0d  etKeyNameTextW(.
17f90 0a 20 20 4c 4f 4e 47 20 6c 50 61 72 61 6d 2c 0d  .  LONG lParam,.
17fa0 0a 20 20 4c 50 57 53 54 52 20 6c 70 53 74 72 69  .  LPWSTR lpStri
17fb0 6e 67 2c 0d 0a 20 20 69 6e 74 20 6e 53 69 7a 65  ng,..  int nSize
17fc0 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
17fd0 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 47 65 74  ICODE..alias Get
17fe0 4b 65 79 4e 61 6d 65 54 65 78 74 57 20 47 65 74  KeyNameTextW Get
17ff0 4b 65 79 4e 61 6d 65 54 65 78 74 3b 0d 0a 2f 2f  KeyNameText;..//
18000 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
18010 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
18020 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
18030 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
18040 20 69 6e 74 20 47 65 74 4b 65 79 62 6f 61 72 64   int GetKeyboard
18050 54 79 70 65 28 0d 0a 20 20 69 6e 74 20 6e 54 79  Type(..  int nTy
18060 70 65 46 6c 61 67 29 3b 0d 0a 0d 0a 65 78 74 65  peFlag);....exte
18070 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
18080 72 74 20 69 6e 74 20 54 6f 41 73 63 69 69 28 0d  rt int ToAscii(.
18090 0a 20 20 55 49 4e 54 20 75 56 69 72 74 4b 65 79  .  UINT uVirtKey
180a0 2c 0d 0a 20 20 55 49 4e 54 20 75 53 63 61 6e 43  ,..  UINT uScanC
180b0 6f 64 65 2c 0d 0a 20 20 42 59 54 45 20 2a 6c 70  ode,..  BYTE *lp
180c0 4b 65 79 53 74 61 74 65 2c 0d 0a 20 20 4c 50 57  KeyState,..  LPW
180d0 4f 52 44 20 6c 70 43 68 61 72 2c 0d 0a 20 20 55  ORD lpChar,..  U
180e0 49 4e 54 20 75 46 6c 61 67 73 29 3b 0d 0a 0d 0a  INT uFlags);....
180f0 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d  // #if(WINVER >=
18100 20 30 78 30 34 30 30 29 0d 0a 65 78 74 65 72 6e   0x0400)..extern
18110 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
18120 20 69 6e 74 20 54 6f 41 73 63 69 69 45 78 28 0d   int ToAsciiEx(.
18130 0a 20 20 55 49 4e 54 20 75 56 69 72 74 4b 65 79  .  UINT uVirtKey
18140 2c 0d 0a 20 20 55 49 4e 54 20 75 53 63 61 6e 43  ,..  UINT uScanC
18150 6f 64 65 2c 0d 0a 20 20 42 59 54 45 20 2a 6c 70  ode,..  BYTE *lp
18160 4b 65 79 53 74 61 74 65 2c 0d 0a 20 20 4c 50 57  KeyState,..  LPW
18170 4f 52 44 20 6c 70 43 68 61 72 2c 0d 0a 20 20 55  ORD lpChar,..  U
18180 49 4e 54 20 75 46 6c 61 67 73 2c 0d 0a 20 20 48  INT uFlags,..  H
18190 4b 4c 20 64 77 68 6b 6c 29 3b 0d 0a 2f 2f 20 23  KL dwhkl);..// #
181a0 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
181b0 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0400 */....
181c0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
181d0 65 78 70 6f 72 74 20 69 6e 74 20 54 6f 55 6e 69  export int ToUni
181e0 63 6f 64 65 28 0d 0a 20 20 55 49 4e 54 20 77 56  code(..  UINT wV
181f0 69 72 74 4b 65 79 2c 0d 0a 20 20 55 49 4e 54 20  irtKey,..  UINT 
18200 77 53 63 61 6e 43 6f 64 65 2c 0d 0a 20 20 42 59  wScanCode,..  BY
18210 54 45 20 2a 6c 70 4b 65 79 53 74 61 74 65 2c 0d  TE *lpKeyState,.
18220 0a 20 20 4c 50 57 53 54 52 20 70 77 73 7a 42 75  .  LPWSTR pwszBu
18230 66 66 2c 0d 0a 20 20 69 6e 74 20 63 63 68 42 75  ff,..  int cchBu
18240 66 66 2c 0d 0a 20 20 55 49 4e 54 20 77 46 6c 61  ff,..  UINT wFla
18250 67 73 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  gs);....extern(W
18260 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44  indows) export D
18270 57 4f 52 44 20 4f 65 6d 4b 65 79 53 63 61 6e 28  WORD OemKeyScan(
18280 0d 0a 20 20 57 4f 52 44 20 77 4f 65 6d 43 68 61  ..  WORD wOemCha
18290 72 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  r);....extern(Wi
182a0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 53 48  ndows) export SH
182b0 4f 52 54 20 56 6b 4b 65 79 53 63 61 6e 41 28 0d  ORT VkKeyScanA(.
182c0 0a 20 20 43 48 41 52 20 63 68 29 3b 0d 0a 65 78  .  CHAR ch);..ex
182d0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
182e0 70 6f 72 74 20 53 48 4f 52 54 20 56 6b 4b 65 79  port SHORT VkKey
182f0 53 63 61 6e 57 28 0d 0a 20 20 57 43 48 41 52 20  ScanW(..  WCHAR 
18300 63 68 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  ch);..// #ifdef 
18310 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 56  UNICODE..alias V
18320 6b 4b 65 79 53 63 61 6e 57 20 56 6b 4b 65 79 53  kKeyScanW VkKeyS
18330 63 61 6e 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  can;..// #else..
18340 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
18350 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
18360 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20  ..// #if(WINVER 
18370 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 78 74 65  >= 0x0400)..exte
18380 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
18390 72 74 20 53 48 4f 52 54 20 56 6b 4b 65 79 53 63  rt SHORT VkKeySc
183a0 61 6e 45 78 41 28 0d 0a 20 20 43 48 41 52 20 63  anExA(..  CHAR c
183b0 68 2c 0d 0a 20 20 48 4b 4c 20 64 77 68 6b 6c 29  h,..  HKL dwhkl)
183c0 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
183d0 73 29 20 65 78 70 6f 72 74 20 53 48 4f 52 54 20  s) export SHORT 
183e0 56 6b 4b 65 79 53 63 61 6e 45 78 57 28 0d 0a 20  VkKeyScanExW(.. 
183f0 20 57 43 48 41 52 20 63 68 2c 0d 0a 20 20 48 4b   WCHAR ch,..  HK
18400 4c 20 64 77 68 6b 6c 29 3b 0d 0a 2f 2f 20 23 69  L dwhkl);..// #i
18410 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
18420 69 61 73 20 56 6b 4b 65 79 53 63 61 6e 45 78 57  ias VkKeyScanExW
18430 20 56 6b 4b 65 79 53 63 61 6e 45 78 3b 0d 0a 2f   VkKeyScanEx;../
18440 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
18450 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
18460 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 65 6e 64  UNICODE..// #end
18470 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20  if /* WINVER >= 
18480 30 78 30 34 30 30 20 2a 2f 0d 0a 65 6e 75 6d 20  0x0400 */..enum 
18490 3a 20 75 69 6e 74 20 7b 20 4b 45 59 45 56 45 4e  : uint { KEYEVEN
184a0 54 46 5f 45 58 54 45 4e 44 45 44 4b 45 59 20 3d  TF_EXTENDEDKEY =
184b0 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
184c0 3a 20 75 69 6e 74 20 7b 20 4b 45 59 45 56 45 4e  : uint { KEYEVEN
184d0 54 46 5f 4b 45 59 55 50 20 3d 20 30 78 30 30 30  TF_KEYUP = 0x000
184e0 32 20 7d 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e  2 }..// #if(_WIN
184f0 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35  32_WINNT >= 0x05
18500 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
18510 20 7b 20 4b 45 59 45 56 45 4e 54 46 5f 55 4e 49   { KEYEVENTF_UNI
18520 43 4f 44 45 20 3d 20 30 78 30 30 30 34 20 7d 0d  CODE = 0x0004 }.
18530 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4b  .enum : uint { K
18540 45 59 45 56 45 4e 54 46 5f 53 43 41 4e 43 4f 44  EYEVENTF_SCANCOD
18550 45 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 2f 2f  E = 0x0008 }..//
18560 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33   #endif /* _WIN3
18570 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30  2_WINNT >= 0x050
18580 30 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  0 */....extern(W
18590 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 56  indows) export V
185a0 4f 49 44 20 6b 65 79 62 64 5f 65 76 65 6e 74 28  OID keybd_event(
185b0 0d 0a 20 20 42 59 54 45 20 62 56 6b 2c 0d 0a 20  ..  BYTE bVk,.. 
185c0 20 42 59 54 45 20 62 53 63 61 6e 2c 0d 0a 20 20   BYTE bScan,..  
185d0 44 57 4f 52 44 20 64 77 46 6c 61 67 73 2c 0d 0a  DWORD dwFlags,..
185e0 20 20 55 4c 4f 4e 47 5f 50 54 52 20 64 77 45 78    ULONG_PTR dwEx
185f0 74 72 61 49 6e 66 6f 29 3b 0d 0a 0d 0a 65 6e 75  traInfo);....enu
18600 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4f 55 53 45  m : uint { MOUSE
18610 45 56 45 4e 54 46 5f 4d 4f 56 45 20 3d 20 30 78  EVENTF_MOVE = 0x
18620 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
18630 69 6e 74 20 7b 20 4d 4f 55 53 45 45 56 45 4e 54  int { MOUSEEVENT
18640 46 5f 4c 45 46 54 44 4f 57 4e 20 3d 20 30 78 30  F_LEFTDOWN = 0x0
18650 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
18660 6e 74 20 7b 20 4d 4f 55 53 45 45 56 45 4e 54 46  nt { MOUSEEVENTF
18670 5f 4c 45 46 54 55 50 20 3d 20 30 78 30 30 30 34  _LEFTUP = 0x0004
18680 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
18690 7b 20 4d 4f 55 53 45 45 56 45 4e 54 46 5f 52 49  { MOUSEEVENTF_RI
186a0 47 48 54 44 4f 57 4e 20 3d 20 30 78 30 30 30 38  GHTDOWN = 0x0008
186b0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
186c0 7b 20 4d 4f 55 53 45 45 56 45 4e 54 46 5f 52 49  { MOUSEEVENTF_RI
186d0 47 48 54 55 50 20 3d 20 30 78 30 30 31 30 20 7d  GHTUP = 0x0010 }
186e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
186f0 4d 4f 55 53 45 45 56 45 4e 54 46 5f 4d 49 44 44  MOUSEEVENTF_MIDD
18700 4c 45 44 4f 57 4e 20 3d 20 30 78 30 30 32 30 20  LEDOWN = 0x0020 
18710 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
18720 20 4d 4f 55 53 45 45 56 45 4e 54 46 5f 4d 49 44   MOUSEEVENTF_MID
18730 44 4c 45 55 50 20 3d 20 30 78 30 30 34 30 20 7d  DLEUP = 0x0040 }
18740 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
18750 4d 4f 55 53 45 45 56 45 4e 54 46 5f 58 44 4f 57  MOUSEEVENTF_XDOW
18760 4e 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e  N = 0x0080 }..en
18770 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4f 55 53  um : uint { MOUS
18780 45 45 56 45 4e 54 46 5f 58 55 50 20 3d 20 30 78  EEVENTF_XUP = 0x
18790 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0100 }..enum : u
187a0 69 6e 74 20 7b 20 4d 4f 55 53 45 45 56 45 4e 54  int { MOUSEEVENT
187b0 46 5f 57 48 45 45 4c 20 3d 20 30 78 30 38 30 30  F_WHEEL = 0x0800
187c0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
187d0 7b 20 4d 4f 55 53 45 45 56 45 4e 54 46 5f 56 49  { MOUSEEVENTF_VI
187e0 52 54 55 41 4c 44 45 53 4b 20 3d 20 30 78 34 30  RTUALDESK = 0x40
187f0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
18800 74 20 7b 20 4d 4f 55 53 45 45 56 45 4e 54 46 5f  t { MOUSEEVENTF_
18810 41 42 53 4f 4c 55 54 45 20 3d 20 30 78 38 30 30  ABSOLUTE = 0x800
18820 30 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  0 }....extern(Wi
18830 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 56 4f  ndows) export VO
18840 49 44 20 6d 6f 75 73 65 5f 65 76 65 6e 74 28 0d  ID mouse_event(.
18850 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73  .  DWORD dwFlags
18860 2c 0d 0a 20 20 44 57 4f 52 44 20 64 78 2c 0d 0a  ,..  DWORD dx,..
18870 20 20 44 57 4f 52 44 20 64 79 2c 0d 0a 20 20 44    DWORD dy,..  D
18880 57 4f 52 44 20 64 77 44 61 74 61 2c 0d 0a 20 20  WORD dwData,..  
18890 55 4c 4f 4e 47 5f 50 54 52 20 64 77 45 78 74 72  ULONG_PTR dwExtr
188a0 61 49 6e 66 6f 29 3b 0d 0a 0d 0a 2f 2f 20 23 69  aInfo);....// #i
188b0 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  f (_WIN32_WINNT 
188c0 3e 20 30 78 30 34 30 30 29 0d 0a 0d 0a 73 74 72  > 0x0400)....str
188d0 75 63 74 20 74 61 67 4d 4f 55 53 45 49 4e 50 55  uct tagMOUSEINPU
188e0 54 20 7b 0d 0a 20 20 4c 4f 4e 47 20 64 78 3b 0d  T {..  LONG dx;.
188f0 0a 20 20 4c 4f 4e 47 20 64 79 3b 0d 0a 20 20 44  .  LONG dy;..  D
18900 57 4f 52 44 20 6d 6f 75 73 65 44 61 74 61 3b 0d  WORD mouseData;.
18910 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73  .  DWORD dwFlags
18920 3b 0d 0a 20 20 44 57 4f 52 44 20 74 69 6d 65 3b  ;..  DWORD time;
18930 0d 0a 20 20 55 4c 4f 4e 47 5f 50 54 52 20 64 77  ..  ULONG_PTR dw
18940 45 78 74 72 61 49 6e 66 6f 3b 0d 0a 7d 0d 0a 61  ExtraInfo;..}..a
18950 6c 69 61 73 20 74 61 67 4d 4f 55 53 45 49 4e 50  lias tagMOUSEINP
18960 55 54 20 4d 4f 55 53 45 49 4e 50 55 54 3b 0d 0a  UT MOUSEINPUT;..
18970 61 6c 69 61 73 20 74 61 67 4d 4f 55 53 45 49 4e  alias tagMOUSEIN
18980 50 55 54 2a 20 50 4d 4f 55 53 45 49 4e 50 55 54  PUT* PMOUSEINPUT
18990 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 4f 55 53  ;..alias tagMOUS
189a0 45 49 4e 50 55 54 2a 20 4c 50 4d 4f 55 53 45 49  EINPUT* LPMOUSEI
189b0 4e 50 55 54 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  NPUT;....struct 
189c0 74 61 67 4b 45 59 42 44 49 4e 50 55 54 20 7b 0d  tagKEYBDINPUT {.
189d0 0a 20 20 57 4f 52 44 20 77 56 6b 3b 0d 0a 20 20  .  WORD wVk;..  
189e0 57 4f 52 44 20 77 53 63 61 6e 3b 0d 0a 20 20 44  WORD wScan;..  D
189f0 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a 20  WORD dwFlags;.. 
18a00 20 44 57 4f 52 44 20 74 69 6d 65 3b 0d 0a 20 20   DWORD time;..  
18a10 55 4c 4f 4e 47 5f 50 54 52 20 64 77 45 78 74 72  ULONG_PTR dwExtr
18a20 61 49 6e 66 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  aInfo;..}..alias
18a30 20 74 61 67 4b 45 59 42 44 49 4e 50 55 54 20 4b   tagKEYBDINPUT K
18a40 45 59 42 44 49 4e 50 55 54 3b 0d 0a 61 6c 69 61  EYBDINPUT;..alia
18a50 73 20 74 61 67 4b 45 59 42 44 49 4e 50 55 54 2a  s tagKEYBDINPUT*
18a60 20 50 4b 45 59 42 44 49 4e 50 55 54 3b 0d 0a 61   PKEYBDINPUT;..a
18a70 6c 69 61 73 20 74 61 67 4b 45 59 42 44 49 4e 50  lias tagKEYBDINP
18a80 55 54 2a 20 4c 50 4b 45 59 42 44 49 4e 50 55 54  UT* LPKEYBDINPUT
18a90 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 48  ;....struct tagH
18aa0 41 52 44 57 41 52 45 49 4e 50 55 54 20 7b 0d 0a  ARDWAREINPUT {..
18ab0 20 20 44 57 4f 52 44 20 75 4d 73 67 3b 0d 0a 20    DWORD uMsg;.. 
18ac0 20 57 4f 52 44 20 77 50 61 72 61 6d 4c 3b 0d 0a   WORD wParamL;..
18ad0 20 20 57 4f 52 44 20 77 50 61 72 61 6d 48 3b 0d    WORD wParamH;.
18ae0 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 48 41 52  .}..alias tagHAR
18af0 44 57 41 52 45 49 4e 50 55 54 20 48 41 52 44 57  DWAREINPUT HARDW
18b00 41 52 45 49 4e 50 55 54 3b 0d 0a 61 6c 69 61 73  AREINPUT;..alias
18b10 20 74 61 67 48 41 52 44 57 41 52 45 49 4e 50 55   tagHARDWAREINPU
18b20 54 2a 20 50 48 41 52 44 57 41 52 45 49 4e 50 55  T* PHARDWAREINPU
18b30 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67 48 41 52  T;..alias tagHAR
18b40 44 57 41 52 45 49 4e 50 55 54 2a 20 4c 50 48 41  DWAREINPUT* LPHA
18b50 52 44 57 41 52 45 49 4e 50 55 54 3b 0d 0a 0d 0a  RDWAREINPUT;....
18b60 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4e  enum : uint { IN
18b70 50 55 54 5f 4d 4f 55 53 45 20 3d 20 30 20 7d 0d  PUT_MOUSE = 0 }.
18b80 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
18b90 4e 50 55 54 5f 4b 45 59 42 4f 41 52 44 20 3d 20  NPUT_KEYBOARD = 
18ba0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
18bb0 20 7b 20 49 4e 50 55 54 5f 48 41 52 44 57 41 52   { INPUT_HARDWAR
18bc0 45 20 3d 20 32 20 7d 0d 0a 0d 0a 73 74 72 75 63  E = 2 }....struc
18bd0 74 20 74 61 67 49 4e 50 55 54 20 7b 0d 0a 20 20  t tagINPUT {..  
18be0 44 57 4f 52 44 20 74 79 70 65 3b 0d 0a 75 6e 69  DWORD type;..uni
18bf0 6f 6e 20 7b 0d 0a 20 20 4d 4f 55 53 45 49 4e 50  on {..  MOUSEINP
18c00 55 54 20 6d 69 3b 0d 0a 20 20 4b 45 59 42 44 49  UT mi;..  KEYBDI
18c10 4e 50 55 54 20 6b 69 3b 0d 0a 20 20 48 41 52 44  NPUT ki;..  HARD
18c20 57 41 52 45 49 4e 50 55 54 20 68 69 3b 0d 0a 7d  WAREINPUT hi;..}
18c30 0d 0a 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  ....}..alias tag
18c40 49 4e 50 55 54 20 49 4e 50 55 54 3b 0d 0a 61 6c  INPUT INPUT;..al
18c50 69 61 73 20 74 61 67 49 4e 50 55 54 2a 20 50 49  ias tagINPUT* PI
18c60 4e 50 55 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67  NPUT;..alias tag
18c70 49 4e 50 55 54 2a 20 4c 50 49 4e 50 55 54 3b 0d  INPUT* LPINPUT;.
18c80 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
18c90 73 29 20 65 78 70 6f 72 74 20 55 49 4e 54 20 53  s) export UINT S
18ca0 65 6e 64 49 6e 70 75 74 28 0d 0a 20 20 55 49 4e  endInput(..  UIN
18cb0 54 20 63 49 6e 70 75 74 73 2c 20 2f 2f 20 6e 75  T cInputs, // nu
18cc0 6d 62 65 72 20 6f 66 20 69 6e 70 75 74 20 69 6e  mber of input in
18cd0 20 74 68 65 20 61 72 72 61 79 0d 0a 20 20 4c 50   the array..  LP
18ce0 49 4e 50 55 54 20 70 49 6e 70 75 74 73 2c 20 2f  INPUT pInputs, /
18cf0 2f 20 61 72 72 61 79 20 6f 66 20 69 6e 70 75 74  / array of input
18d00 73 0d 0a 20 20 69 6e 74 20 63 62 53 69 7a 65 29  s..  int cbSize)
18d10 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  ;....// #endif /
18d20 2f 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  / (_WIN32_WINNT 
18d30 3e 20 30 78 30 34 30 30 29 0d 0a 0d 0a 2f 2f 20  > 0x0400)....// 
18d40 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  #if(_WIN32_WINNT
18d50 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 73 74 72   >= 0x0500)..str
18d60 75 63 74 20 74 61 67 4c 41 53 54 49 4e 50 55 54  uct tagLASTINPUT
18d70 49 4e 46 4f 20 7b 0d 0a 20 20 55 49 4e 54 20 63  INFO {..  UINT c
18d80 62 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20  bSize;..  DWORD 
18d90 64 77 54 69 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61  dwTime;..}..alia
18da0 73 20 74 61 67 4c 41 53 54 49 4e 50 55 54 49 4e  s tagLASTINPUTIN
18db0 46 4f 20 4c 41 53 54 49 4e 50 55 54 49 4e 46 4f  FO LASTINPUTINFO
18dc0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4c 41 53 54  ;..alias tagLAST
18dd0 49 4e 50 55 54 49 4e 46 4f 2a 20 50 4c 41 53 54  INPUTINFO* PLAST
18de0 49 4e 50 55 54 49 4e 46 4f 3b 0d 0a 0d 0a 65 78  INPUTINFO;....ex
18df0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
18e00 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 4c 61 73  port BOOL GetLas
18e10 74 49 6e 70 75 74 49 6e 66 6f 28 0d 0a 20 20 50  tInputInfo(..  P
18e20 4c 41 53 54 49 4e 50 55 54 49 4e 46 4f 20 70 6c  LASTINPUTINFO pl
18e30 69 69 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  ii);..// #endif 
18e40 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  /* _WIN32_WINNT 
18e50 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0500 */....
18e60 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
18e70 65 78 70 6f 72 74 20 55 49 4e 54 20 4d 61 70 56  export UINT MapV
18e80 69 72 74 75 61 6c 4b 65 79 41 28 0d 0a 20 20 55  irtualKeyA(..  U
18e90 49 4e 54 20 75 43 6f 64 65 2c 0d 0a 20 20 55 49  INT uCode,..  UI
18ea0 4e 54 20 75 4d 61 70 54 79 70 65 29 3b 0d 0a 65  NT uMapType);..e
18eb0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
18ec0 78 70 6f 72 74 20 55 49 4e 54 20 4d 61 70 56 69  xport UINT MapVi
18ed0 72 74 75 61 6c 4b 65 79 57 28 0d 0a 20 20 55 49  rtualKeyW(..  UI
18ee0 4e 54 20 75 43 6f 64 65 2c 0d 0a 20 20 55 49 4e  NT uCode,..  UIN
18ef0 54 20 75 4d 61 70 54 79 70 65 29 3b 0d 0a 2f 2f  T uMapType);..//
18f00 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
18f10 0a 61 6c 69 61 73 20 4d 61 70 56 69 72 74 75 61  .alias MapVirtua
18f20 6c 4b 65 79 57 20 4d 61 70 56 69 72 74 75 61 6c  lKeyW MapVirtual
18f30 4b 65 79 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  Key;..// #else..
18f40 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
18f50 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
18f60 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20  ..// #if(WINVER 
18f70 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 78 74 65  >= 0x0400)..exte
18f80 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
18f90 72 74 20 55 49 4e 54 20 4d 61 70 56 69 72 74 75  rt UINT MapVirtu
18fa0 61 6c 4b 65 79 45 78 41 28 0d 0a 20 20 55 49 4e  alKeyExA(..  UIN
18fb0 54 20 75 43 6f 64 65 2c 0d 0a 20 20 55 49 4e 54  T uCode,..  UINT
18fc0 20 75 4d 61 70 54 79 70 65 2c 0d 0a 20 20 48 4b   uMapType,..  HK
18fd0 4c 20 64 77 68 6b 6c 29 3b 0d 0a 65 78 74 65 72  L dwhkl);..exter
18fe0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
18ff0 74 20 55 49 4e 54 20 4d 61 70 56 69 72 74 75 61  t UINT MapVirtua
19000 6c 4b 65 79 45 78 57 28 0d 0a 20 20 55 49 4e 54  lKeyExW(..  UINT
19010 20 75 43 6f 64 65 2c 0d 0a 20 20 55 49 4e 54 20   uCode,..  UINT 
19020 75 4d 61 70 54 79 70 65 2c 0d 0a 20 20 48 4b 4c  uMapType,..  HKL
19030 20 64 77 68 6b 6c 29 3b 0d 0a 2f 2f 20 23 69 66   dwhkl);..// #if
19040 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69  def UNICODE..ali
19050 61 73 20 4d 61 70 56 69 72 74 75 61 6c 4b 65 79  as MapVirtualKey
19060 45 78 57 20 4d 61 70 56 69 72 74 75 61 6c 4b 65  ExW MapVirtualKe
19070 79 45 78 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  yEx;..// #else..
19080 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
19090 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
190a0 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
190b0 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f  VER >= 0x0400 */
190c0 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
190d0 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
190e0 47 65 74 49 6e 70 75 74 53 74 61 74 65 28 29 3b  GetInputState();
190f0 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
19100 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44  ws) export DWORD
19110 20 47 65 74 51 75 65 75 65 53 74 61 74 75 73 28   GetQueueStatus(
19120 0d 0a 20 20 55 49 4e 54 20 66 6c 61 67 73 29 3b  ..  UINT flags);
19130 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
19140 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20  ws) export HWND 
19150 47 65 74 43 61 70 74 75 72 65 28 29 3b 0d 0a 0d  GetCapture();...
19160 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
19170 20 65 78 70 6f 72 74 20 48 57 4e 44 20 53 65 74   export HWND Set
19180 43 61 70 74 75 72 65 28 0d 0a 20 20 48 57 4e 44  Capture(..  HWND
19190 20 68 57 6e 64 29 3b 0d 0a 0d 0a 65 78 74 65 72   hWnd);....exter
191a0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
191b0 74 20 42 4f 4f 4c 20 52 65 6c 65 61 73 65 43 61  t BOOL ReleaseCa
191c0 70 74 75 72 65 28 29 3b 0d 0a 0d 0a 65 78 74 65  pture();....exte
191d0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
191e0 72 74 20 44 57 4f 52 44 20 4d 73 67 57 61 69 74  rt DWORD MsgWait
191f0 46 6f 72 4d 75 6c 74 69 70 6c 65 4f 62 6a 65 63  ForMultipleObjec
19200 74 73 28 0d 0a 20 20 44 57 4f 52 44 20 6e 43 6f  ts(..  DWORD nCo
19210 75 6e 74 2c 0d 0a 20 20 48 41 4e 44 4c 45 20 2a  unt,..  HANDLE *
19220 70 48 61 6e 64 6c 65 73 2c 0d 0a 20 20 42 4f 4f  pHandles,..  BOO
19230 4c 20 66 57 61 69 74 41 6c 6c 2c 0d 0a 20 20 44  L fWaitAll,..  D
19240 57 4f 52 44 20 64 77 4d 69 6c 6c 69 73 65 63 6f  WORD dwMilliseco
19250 6e 64 73 2c 0d 0a 20 20 44 57 4f 52 44 20 64 77  nds,..  DWORD dw
19260 57 61 6b 65 4d 61 73 6b 29 3b 0d 0a 0d 0a 65 78  WakeMask);....ex
19270 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
19280 70 6f 72 74 20 44 57 4f 52 44 20 4d 73 67 57 61  port DWORD MsgWa
19290 69 74 46 6f 72 4d 75 6c 74 69 70 6c 65 4f 62 6a  itForMultipleObj
192a0 65 63 74 73 45 78 28 0d 0a 20 20 44 57 4f 52 44  ectsEx(..  DWORD
192b0 20 6e 43 6f 75 6e 74 2c 0d 0a 20 20 48 41 4e 44   nCount,..  HAND
192c0 4c 45 20 2a 70 48 61 6e 64 6c 65 73 2c 0d 0a 20  LE *pHandles,.. 
192d0 20 44 57 4f 52 44 20 64 77 4d 69 6c 6c 69 73 65   DWORD dwMillise
192e0 63 6f 6e 64 73 2c 0d 0a 20 20 44 57 4f 52 44 20  conds,..  DWORD 
192f0 64 77 57 61 6b 65 4d 61 73 6b 2c 0d 0a 20 20 44  dwWakeMask,..  D
19300 57 4f 52 44 20 64 77 46 6c 61 67 73 29 3b 0d 0a  WORD dwFlags);..
19310 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
19320 4d 57 4d 4f 5f 57 41 49 54 41 4c 4c 20 3d 20 30  MWMO_WAITALL = 0
19330 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0001 }..enum : 
19340 75 69 6e 74 20 7b 20 4d 57 4d 4f 5f 41 4c 45 52  uint { MWMO_ALER
19350 54 41 42 4c 45 20 3d 20 30 78 30 30 30 32 20 7d  TABLE = 0x0002 }
19360 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
19370 4d 57 4d 4f 5f 49 4e 50 55 54 41 56 41 49 4c 41  MWMO_INPUTAVAILA
19380 42 4c 45 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a  BLE = 0x0004 }..
19390 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
193a0 51 53 5f 4b 45 59 20 3d 20 30 78 30 30 30 31 20  QS_KEY = 0x0001 
193b0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
193c0 20 51 53 5f 4d 4f 55 53 45 4d 4f 56 45 20 3d 20   QS_MOUSEMOVE = 
193d0 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0002 }..enum :
193e0 20 75 69 6e 74 20 7b 20 51 53 5f 4d 4f 55 53 45   uint { QS_MOUSE
193f0 42 55 54 54 4f 4e 20 3d 20 30 78 30 30 30 34 20  BUTTON = 0x0004 
19400 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 51 53  }..// #define QS
19410 5f 50 4f 53 54 4d 45 53 53 41 47 45 20 30 78 30  _POSTMESSAGE 0x0
19420 30 30 38 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  008..// #define 
19430 51 53 5f 54 49 4d 45 52 20 30 78 30 30 31 30 0d  QS_TIMER 0x0010.
19440 0a 2f 2f 20 23 64 65 66 69 6e 65 20 51 53 5f 50  .// #define QS_P
19450 41 49 4e 54 20 30 78 30 30 32 30 0d 0a 2f 2f 20  AINT 0x0020..// 
19460 23 64 65 66 69 6e 65 20 51 53 5f 53 45 4e 44 4d  #define QS_SENDM
19470 45 53 53 41 47 45 20 30 78 30 30 34 30 0d 0a 2f  ESSAGE 0x0040../
19480 2f 20 23 64 65 66 69 6e 65 20 51 53 5f 48 4f 54  / #define QS_HOT
19490 4b 45 59 20 30 78 30 30 38 30 0d 0a 65 6e 75 6d  KEY 0x0080..enum
194a0 20 3a 20 75 69 6e 74 20 7b 20 51 53 5f 41 4c 4c   : uint { QS_ALL
194b0 50 4f 53 54 4d 45 53 53 41 47 45 20 3d 20 30 78  POSTMESSAGE = 0x
194c0 30 31 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 5f  0100 }..// #if(_
194d0 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
194e0 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0501)..enum : u
194f0 69 6e 74 20 7b 20 51 53 5f 52 41 57 49 4e 50 55  int { QS_RAWINPU
19500 54 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a 2f 2f  T = 0x0400 }..//
19510 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33   #endif /* _WIN3
19520 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30  2_WINNT >= 0x050
19530 31 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  1 */....enum : u
19540 69 6e 74 20 7b 20 51 53 5f 4d 4f 55 53 45 20 3d  int { QS_MOUSE =
19550 20 51 53 5f 4d 4f 55 53 45 4d 4f 56 45 20 7c 20   QS_MOUSEMOVE | 
19560 51 53 5f 4d 4f 55 53 45 42 55 54 54 4f 4e 20 7d  QS_MOUSEBUTTON }
19570 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  ....// #if (_WIN
19580 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35  32_WINNT >= 0x05
19590 30 31 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  01)..// #define 
195a0 51 53 5f 49 4e 50 55 54 20 28 51 53 5f 4d 4f 55  QS_INPUT (QS_MOU
195b0 53 45 20 7c 20 51 53 5f 4b 45 59 20 7c 20 51 53  SE | QS_KEY | QS
195c0 5f 52 41 57 49 4e 50 55 54 29 0d 0a 2f 2f 20 23  _RAWINPUT)..// #
195d0 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
195e0 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
195f0 20 2f 2f 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e   // (_WIN32_WINN
19600 54 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 0d 0a  T >= 0x0501)....
19610 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 51 53  enum : uint { QS
19620 5f 41 4c 4c 45 56 45 4e 54 53 20 3d 20 51 53 5f  _ALLEVENTS = QS_
19630 49 4e 50 55 54 20 7c 20 51 53 5f 50 4f 53 54 4d  INPUT | QS_POSTM
19640 45 53 53 41 47 45 20 7c 20 51 53 5f 54 49 4d 45  ESSAGE | QS_TIME
19650 52 20 7c 20 51 53 5f 50 41 49 4e 54 20 7c 20 51  R | QS_PAINT | Q
19660 53 5f 48 4f 54 4b 45 59 20 7d 0d 0a 0d 0a 65 6e  S_HOTKEY }....en
19670 75 6d 20 3a 20 75 69 6e 74 20 7b 20 51 53 5f 41  um : uint { QS_A
19680 4c 4c 49 4e 50 55 54 20 3d 20 51 53 5f 49 4e 50  LLINPUT = QS_INP
19690 55 54 20 7c 20 51 53 5f 50 4f 53 54 4d 45 53 53  UT | QS_POSTMESS
196a0 41 47 45 20 7c 20 51 53 5f 54 49 4d 45 52 20 7c  AGE | QS_TIMER |
196b0 20 51 53 5f 50 41 49 4e 54 20 7c 20 51 53 5f 48   QS_PAINT | QS_H
196c0 4f 54 4b 45 59 20 7c 20 51 53 5f 53 45 4e 44 4d  OTKEY | QS_SENDM
196d0 45 53 53 41 47 45 20 7d 0d 0a 0d 0a 65 78 74 65  ESSAGE }....exte
196e0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
196f0 72 74 20 55 49 4e 54 5f 50 54 52 20 53 65 74 54  rt UINT_PTR SetT
19700 69 6d 65 72 28 0d 0a 20 20 48 57 4e 44 20 68 57  imer(..  HWND hW
19710 6e 64 2c 0d 0a 20 20 55 49 4e 54 5f 50 54 52 20  nd,..  UINT_PTR 
19720 6e 49 44 45 76 65 6e 74 2c 0d 0a 20 20 55 49 4e  nIDEvent,..  UIN
19730 54 20 75 45 6c 61 70 73 65 2c 0d 0a 20 20 54 49  T uElapse,..  TI
19740 4d 45 52 50 52 4f 43 20 6c 70 54 69 6d 65 72 46  MERPROC lpTimerF
19750 75 6e 63 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  unc);....extern(
19760 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
19770 42 4f 4f 4c 20 4b 69 6c 6c 54 69 6d 65 72 28 0d  BOOL KillTimer(.
19780 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20  .  HWND hWnd,.. 
19790 20 55 49 4e 54 5f 50 54 52 20 75 49 44 45 76 65   UINT_PTR uIDEve
197a0 6e 74 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  nt);....extern(W
197b0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
197c0 4f 4f 4c 20 49 73 57 69 6e 64 6f 77 55 6e 69 63  OOL IsWindowUnic
197d0 6f 64 65 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  ode(..  HWND hWn
197e0 64 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  d);....extern(Wi
197f0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
19800 4f 4c 20 45 6e 61 62 6c 65 57 69 6e 64 6f 77 28  OL EnableWindow(
19810 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a  ..  HWND hWnd,..
19820 20 20 42 4f 4f 4c 20 62 45 6e 61 62 6c 65 29 3b    BOOL bEnable);
19830 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
19840 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
19850 49 73 57 69 6e 64 6f 77 45 6e 61 62 6c 65 64 28  IsWindowEnabled(
19860 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 29 3b 0d  ..  HWND hWnd);.
19870 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
19880 73 29 20 65 78 70 6f 72 74 20 48 41 43 43 45 4c  s) export HACCEL
19890 20 4c 6f 61 64 41 63 63 65 6c 65 72 61 74 6f 72   LoadAccelerator
198a0 73 41 28 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45  sA(..  HINSTANCE
198b0 20 68 49 6e 73 74 61 6e 63 65 2c 0d 0a 20 20 4c   hInstance,..  L
198c0 50 43 53 54 52 20 6c 70 54 61 62 6c 65 4e 61 6d  PCSTR lpTableNam
198d0 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  e);..extern(Wind
198e0 6f 77 73 29 20 65 78 70 6f 72 74 20 48 41 43 43  ows) export HACC
198f0 45 4c 20 4c 6f 61 64 41 63 63 65 6c 65 72 61 74  EL LoadAccelerat
19900 6f 72 73 57 28 0d 0a 20 20 48 49 4e 53 54 41 4e  orsW(..  HINSTAN
19910 43 45 20 68 49 6e 73 74 61 6e 63 65 2c 0d 0a 20  CE hInstance,.. 
19920 20 4c 50 43 57 53 54 52 20 6c 70 54 61 62 6c 65   LPCWSTR lpTable
19930 4e 61 6d 65 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  Name);..// #ifde
19940 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
19950 20 4c 6f 61 64 41 63 63 65 6c 65 72 61 74 6f 72   LoadAccelerator
19960 73 57 20 4c 6f 61 64 41 63 63 65 6c 65 72 61 74  sW LoadAccelerat
19970 6f 72 73 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  ors;..// #else..
19980 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
19990 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
199a0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
199b0 29 20 65 78 70 6f 72 74 20 48 41 43 43 45 4c 20  ) export HACCEL 
199c0 43 72 65 61 74 65 41 63 63 65 6c 65 72 61 74 6f  CreateAccelerato
199d0 72 54 61 62 6c 65 41 28 0d 0a 20 20 4c 50 41 43  rTableA(..  LPAC
199e0 43 45 4c 2c 20 69 6e 74 29 3b 0d 0a 65 78 74 65  CEL, int);..exte
199f0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
19a00 72 74 20 48 41 43 43 45 4c 20 43 72 65 61 74 65  rt HACCEL Create
19a10 41 63 63 65 6c 65 72 61 74 6f 72 54 61 62 6c 65  AcceleratorTable
19a20 57 28 0d 0a 20 20 4c 50 41 43 43 45 4c 2c 20 69  W(..  LPACCEL, i
19a30 6e 74 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  nt);..// #ifdef 
19a40 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 43  UNICODE..alias C
19a50 72 65 61 74 65 41 63 63 65 6c 65 72 61 74 6f 72  reateAccelerator
19a60 54 61 62 6c 65 57 20 43 72 65 61 74 65 41 63 63  TableW CreateAcc
19a70 65 6c 65 72 61 74 6f 72 54 61 62 6c 65 3b 0d 0a  eleratorTable;..
19a80 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
19a90 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
19aa0 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
19ab0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
19ac0 72 74 20 42 4f 4f 4c 20 44 65 73 74 72 6f 79 41  rt BOOL DestroyA
19ad0 63 63 65 6c 65 72 61 74 6f 72 54 61 62 6c 65 28  cceleratorTable(
19ae0 0d 0a 20 20 48 41 43 43 45 4c 20 68 41 63 63 65  ..  HACCEL hAcce
19af0 6c 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  l);....extern(Wi
19b00 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e  ndows) export in
19b10 74 20 43 6f 70 79 41 63 63 65 6c 65 72 61 74 6f  t CopyAccelerato
19b20 72 54 61 62 6c 65 41 28 0d 0a 20 20 48 41 43 43  rTableA(..  HACC
19b30 45 4c 20 68 41 63 63 65 6c 53 72 63 2c 0d 0a 20  EL hAccelSrc,.. 
19b40 20 4c 50 41 43 43 45 4c 20 6c 70 41 63 63 65 6c   LPACCEL lpAccel
19b50 44 73 74 2c 0d 0a 20 20 69 6e 74 20 63 41 63 63  Dst,..  int cAcc
19b60 65 6c 45 6e 74 72 69 65 73 29 3b 0d 0a 65 78 74  elEntries);..ext
19b70 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
19b80 6f 72 74 20 69 6e 74 20 43 6f 70 79 41 63 63 65  ort int CopyAcce
19b90 6c 65 72 61 74 6f 72 54 61 62 6c 65 57 28 0d 0a  leratorTableW(..
19ba0 20 20 48 41 43 43 45 4c 20 68 41 63 63 65 6c 53    HACCEL hAccelS
19bb0 72 63 2c 0d 0a 20 20 4c 50 41 43 43 45 4c 20 6c  rc,..  LPACCEL l
19bc0 70 41 63 63 65 6c 44 73 74 2c 0d 0a 20 20 69 6e  pAccelDst,..  in
19bd0 74 20 63 41 63 63 65 6c 45 6e 74 72 69 65 73 29  t cAccelEntries)
19be0 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
19bf0 43 4f 44 45 0d 0a 61 6c 69 61 73 20 43 6f 70 79  CODE..alias Copy
19c00 41 63 63 65 6c 65 72 61 74 6f 72 54 61 62 6c 65  AcceleratorTable
19c10 57 20 43 6f 70 79 41 63 63 65 6c 65 72 61 74 6f  W CopyAccelerato
19c20 72 54 61 62 6c 65 3b 0d 0a 2f 2f 20 23 65 6c 73  rTable;..// #els
19c30 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
19c40 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
19c50 45 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  E....// #ifndef 
19c60 4e 4f 4d 53 47 0d 0a 0d 0a 65 78 74 65 72 6e 28  NOMSG....extern(
19c70 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
19c80 69 6e 74 20 54 72 61 6e 73 6c 61 74 65 41 63 63  int TranslateAcc
19c90 65 6c 65 72 61 74 6f 72 41 28 0d 0a 20 20 48 57  eleratorA(..  HW
19ca0 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 48 41 43 43  ND hWnd,..  HACC
19cb0 45 4c 20 68 41 63 63 54 61 62 6c 65 2c 0d 0a 20  EL hAccTable,.. 
19cc0 20 4c 50 4d 53 47 20 6c 70 4d 73 67 29 3b 0d 0a   LPMSG lpMsg);..
19cd0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
19ce0 65 78 70 6f 72 74 20 69 6e 74 20 54 72 61 6e 73  export int Trans
19cf0 6c 61 74 65 41 63 63 65 6c 65 72 61 74 6f 72 57  lateAcceleratorW
19d00 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d  (..  HWND hWnd,.
19d10 0a 20 20 48 41 43 43 45 4c 20 68 41 63 63 54 61  .  HACCEL hAccTa
19d20 62 6c 65 2c 0d 0a 20 20 4c 50 4d 53 47 20 6c 70  ble,..  LPMSG lp
19d30 4d 73 67 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  Msg);..// #ifdef
19d40 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
19d50 54 72 61 6e 73 6c 61 74 65 41 63 63 65 6c 65 72  TranslateAcceler
19d60 61 74 6f 72 57 20 54 72 61 6e 73 6c 61 74 65 41  atorW TranslateA
19d70 63 63 65 6c 65 72 61 74 6f 72 3b 0d 0a 2f 2f 20  ccelerator;..// 
19d80 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
19d90 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
19da0 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  ICODE....// #end
19db0 69 66 20 2f 2a 20 21 4e 4f 4d 53 47 20 2a 2f 0d  if /* !NOMSG */.
19dc0 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f  ...// #ifndef NO
19dd0 53 59 53 4d 45 54 52 49 43 53 0d 0a 0d 0a 65 6e  SYSMETRICS....en
19de0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43  um : uint { SM_C
19df0 58 53 43 52 45 45 4e 20 3d 20 30 20 7d 0d 0a 65  XSCREEN = 0 }..e
19e00 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f  num : uint { SM_
19e10 43 59 53 43 52 45 45 4e 20 3d 20 31 20 7d 0d 0a  CYSCREEN = 1 }..
19e20 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d  enum : uint { SM
19e30 5f 43 58 56 53 43 52 4f 4c 4c 20 3d 20 32 20 7d  _CXVSCROLL = 2 }
19e40 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
19e50 53 4d 5f 43 59 48 53 43 52 4f 4c 4c 20 3d 20 33  SM_CYHSCROLL = 3
19e60 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
19e70 7b 20 53 4d 5f 43 59 43 41 50 54 49 4f 4e 20 3d  { SM_CYCAPTION =
19e80 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   4 }..enum : uin
19e90 74 20 7b 20 53 4d 5f 43 58 42 4f 52 44 45 52 20  t { SM_CXBORDER 
19ea0 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 5 }..enum : ui
19eb0 6e 74 20 7b 20 53 4d 5f 43 59 42 4f 52 44 45 52  nt { SM_CYBORDER
19ec0 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 6 }..enum : u
19ed0 69 6e 74 20 7b 20 53 4d 5f 43 58 44 4c 47 46 52  int { SM_CXDLGFR
19ee0 41 4d 45 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d 20  AME = 7 }..enum 
19ef0 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 59 44 4c  : uint { SM_CYDL
19f00 47 46 52 41 4d 45 20 3d 20 38 20 7d 0d 0a 65 6e  GFRAME = 8 }..en
19f10 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43  um : uint { SM_C
19f20 59 56 54 48 55 4d 42 20 3d 20 39 20 7d 0d 0a 65  YVTHUMB = 9 }..e
19f30 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f  num : uint { SM_
19f40 43 58 48 54 48 55 4d 42 20 3d 20 31 30 20 7d 0d  CXHTHUMB = 10 }.
19f50 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
19f60 4d 5f 43 58 49 43 4f 4e 20 3d 20 31 31 20 7d 0d  M_CXICON = 11 }.
19f70 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
19f80 4d 5f 43 59 49 43 4f 4e 20 3d 20 31 32 20 7d 0d  M_CYICON = 12 }.
19f90 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
19fa0 4d 5f 43 58 43 55 52 53 4f 52 20 3d 20 31 33 20  M_CXCURSOR = 13 
19fb0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
19fc0 20 53 4d 5f 43 59 43 55 52 53 4f 52 20 3d 20 31   SM_CYCURSOR = 1
19fd0 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
19fe0 20 7b 20 53 4d 5f 43 59 4d 45 4e 55 20 3d 20 31   { SM_CYMENU = 1
19ff0 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
1a000 20 7b 20 53 4d 5f 43 58 46 55 4c 4c 53 43 52 45   { SM_CXFULLSCRE
1a010 45 4e 20 3d 20 31 36 20 7d 0d 0a 65 6e 75 6d 20  EN = 16 }..enum 
1a020 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 59 46 55  : uint { SM_CYFU
1a030 4c 4c 53 43 52 45 45 4e 20 3d 20 31 37 20 7d 0d  LLSCREEN = 17 }.
1a040 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
1a050 4d 5f 43 59 4b 41 4e 4a 49 57 49 4e 44 4f 57 20  M_CYKANJIWINDOW 
1a060 3d 20 31 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 18 }..enum : u
1a070 69 6e 74 20 7b 20 53 4d 5f 4d 4f 55 53 45 50 52  int { SM_MOUSEPR
1a080 45 53 45 4e 54 20 3d 20 31 39 20 7d 0d 0a 65 6e  ESENT = 19 }..en
1a090 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43  um : uint { SM_C
1a0a0 59 56 53 43 52 4f 4c 4c 20 3d 20 32 30 20 7d 0d  YVSCROLL = 20 }.
1a0b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
1a0c0 4d 5f 43 58 48 53 43 52 4f 4c 4c 20 3d 20 32 31  M_CXHSCROLL = 21
1a0d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1a0e0 7b 20 53 4d 5f 44 45 42 55 47 20 3d 20 32 32 20  { SM_DEBUG = 22 
1a0f0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1a100 20 53 4d 5f 53 57 41 50 42 55 54 54 4f 4e 20 3d   SM_SWAPBUTTON =
1a110 20 32 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   23 }..enum : ui
1a120 6e 74 20 7b 20 53 4d 5f 52 45 53 45 52 56 45 44  nt { SM_RESERVED
1a130 31 20 3d 20 32 34 20 7d 0d 0a 65 6e 75 6d 20 3a  1 = 24 }..enum :
1a140 20 75 69 6e 74 20 7b 20 53 4d 5f 52 45 53 45 52   uint { SM_RESER
1a150 56 45 44 32 20 3d 20 32 35 20 7d 0d 0a 65 6e 75  VED2 = 25 }..enu
1a160 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 52 45  m : uint { SM_RE
1a170 53 45 52 56 45 44 33 20 3d 20 32 36 20 7d 0d 0a  SERVED3 = 26 }..
1a180 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d  enum : uint { SM
1a190 5f 52 45 53 45 52 56 45 44 34 20 3d 20 32 37 20  _RESERVED4 = 27 
1a1a0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1a1b0 20 53 4d 5f 43 58 4d 49 4e 20 3d 20 32 38 20 7d   SM_CXMIN = 28 }
1a1c0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a1d0 53 4d 5f 43 59 4d 49 4e 20 3d 20 32 39 20 7d 0d  SM_CYMIN = 29 }.
1a1e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
1a1f0 4d 5f 43 58 53 49 5a 45 20 3d 20 33 30 20 7d 0d  M_CXSIZE = 30 }.
1a200 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
1a210 4d 5f 43 59 53 49 5a 45 20 3d 20 33 31 20 7d 0d  M_CYSIZE = 31 }.
1a220 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
1a230 4d 5f 43 58 46 52 41 4d 45 20 3d 20 33 32 20 7d  M_CXFRAME = 32 }
1a240 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a250 53 4d 5f 43 59 46 52 41 4d 45 20 3d 20 33 33 20  SM_CYFRAME = 33 
1a260 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1a270 20 53 4d 5f 43 58 4d 49 4e 54 52 41 43 4b 20 3d   SM_CXMINTRACK =
1a280 20 33 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   34 }..enum : ui
1a290 6e 74 20 7b 20 53 4d 5f 43 59 4d 49 4e 54 52 41  nt { SM_CYMINTRA
1a2a0 43 4b 20 3d 20 33 35 20 7d 0d 0a 65 6e 75 6d 20  CK = 35 }..enum 
1a2b0 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 58 44 4f  : uint { SM_CXDO
1a2c0 55 42 4c 45 43 4c 4b 20 3d 20 33 36 20 7d 0d 0a  UBLECLK = 36 }..
1a2d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d  enum : uint { SM
1a2e0 5f 43 59 44 4f 55 42 4c 45 43 4c 4b 20 3d 20 33  _CYDOUBLECLK = 3
1a2f0 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
1a300 20 7b 20 53 4d 5f 43 58 49 43 4f 4e 53 50 41 43   { SM_CXICONSPAC
1a310 49 4e 47 20 3d 20 33 38 20 7d 0d 0a 65 6e 75 6d  ING = 38 }..enum
1a320 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 59 49   : uint { SM_CYI
1a330 43 4f 4e 53 50 41 43 49 4e 47 20 3d 20 33 39 20  CONSPACING = 39 
1a340 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1a350 20 53 4d 5f 4d 45 4e 55 44 52 4f 50 41 4c 49 47   SM_MENUDROPALIG
1a360 4e 4d 45 4e 54 20 3d 20 34 30 20 7d 0d 0a 65 6e  NMENT = 40 }..en
1a370 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 50  um : uint { SM_P
1a380 45 4e 57 49 4e 44 4f 57 53 20 3d 20 34 31 20 7d  ENWINDOWS = 41 }
1a390 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a3a0 53 4d 5f 44 42 43 53 45 4e 41 42 4c 45 44 20 3d  SM_DBCSENABLED =
1a3b0 20 34 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   42 }..enum : ui
1a3c0 6e 74 20 7b 20 53 4d 5f 43 4d 4f 55 53 45 42 55  nt { SM_CMOUSEBU
1a3d0 54 54 4f 4e 53 20 3d 20 34 33 20 7d 0d 0a 0d 0a  TTONS = 43 }....
1a3e0 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d  // #if(WINVER >=
1a3f0 20 30 78 30 34 30 30 29 0d 0a 61 6c 69 61 73 20   0x0400)..alias 
1a400 53 4d 5f 43 58 44 4c 47 46 52 41 4d 45 20 53 4d  SM_CXDLGFRAME SM
1a410 5f 43 58 46 49 58 45 44 46 52 41 4d 45 3b 0d 0a  _CXFIXEDFRAME;..
1a420 61 6c 69 61 73 20 53 4d 5f 43 59 44 4c 47 46 52  alias SM_CYDLGFR
1a430 41 4d 45 20 53 4d 5f 43 59 46 49 58 45 44 46 52  AME SM_CYFIXEDFR
1a440 41 4d 45 3b 0d 0a 61 6c 69 61 73 20 53 4d 5f 43  AME;..alias SM_C
1a450 58 46 52 41 4d 45 20 53 4d 5f 43 58 53 49 5a 45  XFRAME SM_CXSIZE
1a460 46 52 41 4d 45 3b 0d 0a 61 6c 69 61 73 20 53 4d  FRAME;..alias SM
1a470 5f 43 59 46 52 41 4d 45 20 53 4d 5f 43 59 53 49  _CYFRAME SM_CYSI
1a480 5a 45 46 52 41 4d 45 3b 0d 0a 0d 0a 65 6e 75 6d  ZEFRAME;....enum
1a490 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 53 45 43   : uint { SM_SEC
1a4a0 55 52 45 20 3d 20 34 34 20 7d 0d 0a 65 6e 75 6d  URE = 44 }..enum
1a4b0 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 58 45   : uint { SM_CXE
1a4c0 44 47 45 20 3d 20 34 35 20 7d 0d 0a 65 6e 75 6d  DGE = 45 }..enum
1a4d0 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 59 45   : uint { SM_CYE
1a4e0 44 47 45 20 3d 20 34 36 20 7d 0d 0a 65 6e 75 6d  DGE = 46 }..enum
1a4f0 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 58 4d   : uint { SM_CXM
1a500 49 4e 53 50 41 43 49 4e 47 20 3d 20 34 37 20 7d  INSPACING = 47 }
1a510 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a520 53 4d 5f 43 59 4d 49 4e 53 50 41 43 49 4e 47 20  SM_CYMINSPACING 
1a530 3d 20 34 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 48 }..enum : u
1a540 69 6e 74 20 7b 20 53 4d 5f 43 58 53 4d 49 43 4f  int { SM_CXSMICO
1a550 4e 20 3d 20 34 39 20 7d 0d 0a 65 6e 75 6d 20 3a  N = 49 }..enum :
1a560 20 75 69 6e 74 20 7b 20 53 4d 5f 43 59 53 4d 49   uint { SM_CYSMI
1a570 43 4f 4e 20 3d 20 35 30 20 7d 0d 0a 65 6e 75 6d  CON = 50 }..enum
1a580 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 59 53   : uint { SM_CYS
1a590 4d 43 41 50 54 49 4f 4e 20 3d 20 35 31 20 7d 0d  MCAPTION = 51 }.
1a5a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
1a5b0 4d 5f 43 58 53 4d 53 49 5a 45 20 3d 20 35 32 20  M_CXSMSIZE = 52 
1a5c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1a5d0 20 53 4d 5f 43 59 53 4d 53 49 5a 45 20 3d 20 35   SM_CYSMSIZE = 5
1a5e0 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
1a5f0 20 7b 20 53 4d 5f 43 58 4d 45 4e 55 53 49 5a 45   { SM_CXMENUSIZE
1a600 20 3d 20 35 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 54 }..enum : 
1a610 75 69 6e 74 20 7b 20 53 4d 5f 43 59 4d 45 4e 55  uint { SM_CYMENU
1a620 53 49 5a 45 20 3d 20 35 35 20 7d 0d 0a 65 6e 75  SIZE = 55 }..enu
1a630 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 41 52  m : uint { SM_AR
1a640 52 41 4e 47 45 20 3d 20 35 36 20 7d 0d 0a 65 6e  RANGE = 56 }..en
1a650 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43  um : uint { SM_C
1a660 58 4d 49 4e 49 4d 49 5a 45 44 20 3d 20 35 37 20  XMINIMIZED = 57 
1a670 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1a680 20 53 4d 5f 43 59 4d 49 4e 49 4d 49 5a 45 44 20   SM_CYMINIMIZED 
1a690 3d 20 35 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 58 }..enum : u
1a6a0 69 6e 74 20 7b 20 53 4d 5f 43 58 4d 41 58 54 52  int { SM_CXMAXTR
1a6b0 41 43 4b 20 3d 20 35 39 20 7d 0d 0a 65 6e 75 6d  ACK = 59 }..enum
1a6c0 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 59 4d   : uint { SM_CYM
1a6d0 41 58 54 52 41 43 4b 20 3d 20 36 30 20 7d 0d 0a  AXTRACK = 60 }..
1a6e0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d  enum : uint { SM
1a6f0 5f 43 58 4d 41 58 49 4d 49 5a 45 44 20 3d 20 36  _CXMAXIMIZED = 6
1a700 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
1a710 20 7b 20 53 4d 5f 43 59 4d 41 58 49 4d 49 5a 45   { SM_CYMAXIMIZE
1a720 44 20 3d 20 36 32 20 7d 0d 0a 65 6e 75 6d 20 3a  D = 62 }..enum :
1a730 20 75 69 6e 74 20 7b 20 53 4d 5f 4e 45 54 57 4f   uint { SM_NETWO
1a740 52 4b 20 3d 20 36 33 20 7d 0d 0a 65 6e 75 6d 20  RK = 63 }..enum 
1a750 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43 4c 45 41  : uint { SM_CLEA
1a760 4e 42 4f 4f 54 20 3d 20 36 37 20 7d 0d 0a 65 6e  NBOOT = 67 }..en
1a770 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43  um : uint { SM_C
1a780 58 44 52 41 47 20 3d 20 36 38 20 7d 0d 0a 65 6e  XDRAG = 68 }..en
1a790 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43  um : uint { SM_C
1a7a0 59 44 52 41 47 20 3d 20 36 39 20 7d 0d 0a 2f 2f  YDRAG = 69 }..//
1a7b0 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45   #endif /* WINVE
1a7c0 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a  R >= 0x0400 */..
1a7d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d  enum : uint { SM
1a7e0 5f 53 48 4f 57 53 4f 55 4e 44 53 20 3d 20 37 30  _SHOWSOUNDS = 70
1a7f0 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45   }..// #if(WINVE
1a800 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  R >= 0x0400)..en
1a810 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43  um : uint { SM_C
1a820 58 4d 45 4e 55 43 48 45 43 4b 20 3d 20 37 31 20  XMENUCHECK = 71 
1a830 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1a840 20 53 4d 5f 43 59 4d 45 4e 55 43 48 45 43 4b 20   SM_CYMENUCHECK 
1a850 3d 20 37 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 72 }..enum : u
1a860 69 6e 74 20 7b 20 53 4d 5f 53 4c 4f 57 4d 41 43  int { SM_SLOWMAC
1a870 48 49 4e 45 20 3d 20 37 33 20 7d 0d 0a 65 6e 75  HINE = 73 }..enu
1a880 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 4d 49  m : uint { SM_MI
1a890 44 45 41 53 54 45 4e 41 42 4c 45 44 20 3d 20 37  DEASTENABLED = 7
1a8a0 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  4 }..// #endif /
1a8b0 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  * WINVER >= 0x04
1a8c0 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 20  00 */....// #if 
1a8d0 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30  (WINVER >= 0x050
1a8e0 30 29 20 7c 7c 20 28 5f 57 49 4e 33 32 5f 57 49  0) || (_WIN32_WI
1a8f0 4e 4e 54 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  NNT >= 0x0400)..
1a900 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d  enum : uint { SM
1a910 5f 4d 4f 55 53 45 57 48 45 45 4c 50 52 45 53 45  _MOUSEWHEELPRESE
1a920 4e 54 20 3d 20 37 35 20 7d 0d 0a 2f 2f 20 23 65  NT = 75 }..// #e
1a930 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 28 57 49 4e  ndif..// #if(WIN
1a940 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a  VER >= 0x0500)..
1a950 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d  enum : uint { SM
1a960 5f 58 56 49 52 54 55 41 4c 53 43 52 45 45 4e 20  _XVIRTUALSCREEN 
1a970 3d 20 37 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 76 }..enum : u
1a980 69 6e 74 20 7b 20 53 4d 5f 59 56 49 52 54 55 41  int { SM_YVIRTUA
1a990 4c 53 43 52 45 45 4e 20 3d 20 37 37 20 7d 0d 0a  LSCREEN = 77 }..
1a9a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d  enum : uint { SM
1a9b0 5f 43 58 56 49 52 54 55 41 4c 53 43 52 45 45 4e  _CXVIRTUALSCREEN
1a9c0 20 3d 20 37 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 78 }..enum : 
1a9d0 75 69 6e 74 20 7b 20 53 4d 5f 43 59 56 49 52 54  uint { SM_CYVIRT
1a9e0 55 41 4c 53 43 52 45 45 4e 20 3d 20 37 39 20 7d  UALSCREEN = 79 }
1a9f0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1aa00 53 4d 5f 43 4d 4f 4e 49 54 4f 52 53 20 3d 20 38  SM_CMONITORS = 8
1aa10 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1aa20 20 7b 20 53 4d 5f 53 41 4d 45 44 49 53 50 4c 41   { SM_SAMEDISPLA
1aa30 59 46 4f 52 4d 41 54 20 3d 20 38 31 20 7d 0d 0a  YFORMAT = 81 }..
1aa40 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
1aa50 56 45 52 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f  VER >= 0x0500 */
1aa60 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f  ..// #if(_WIN32_
1aa70 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29  WINNT >= 0x0500)
1aa80 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1aa90 53 4d 5f 49 4d 4d 45 4e 41 42 4c 45 44 20 3d 20  SM_IMMENABLED = 
1aaa0 38 32 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  82 }..// #endif 
1aab0 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  /* _WIN32_WINNT 
1aac0 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 2f 2f  >= 0x0500 */..//
1aad0 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e   #if(_WIN32_WINN
1aae0 54 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e  T >= 0x0501)..en
1aaf0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d 5f 43  um : uint { SM_C
1ab00 58 46 4f 43 55 53 42 4f 52 44 45 52 20 3d 20 38  XFOCUSBORDER = 8
1ab10 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
1ab20 20 7b 20 53 4d 5f 43 59 46 4f 43 55 53 42 4f 52   { SM_CYFOCUSBOR
1ab30 44 45 52 20 3d 20 38 34 20 7d 0d 0a 2f 2f 20 23  DER = 84 }..// #
1ab40 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f  endif /* _WIN32_
1ab50 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 20  WINNT >= 0x0501 
1ab60 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 57 49  */....// #if (WI
1ab70 4e 56 45 52 20 3c 20 30 78 30 35 30 30 29 20 26  NVER < 0x0500) &
1ab80 26 20 28 21 64 65 66 69 6e 65 64 28 5f 57 49 4e  & (!defined(_WIN
1ab90 33 32 5f 57 49 4e 4e 54 29 20 7c 7c 20 28 5f 57  32_WINNT) || (_W
1aba0 49 4e 33 32 5f 57 49 4e 4e 54 20 3c 20 30 78 30  IN32_WINNT < 0x0
1abb0 34 30 30 29 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  400))..// #.....
1abc0 2f 2f 20 23 65 6c 73 65 0d 0a 65 6e 75 6d 20 3a  // #else..enum :
1abd0 20 75 69 6e 74 20 7b 20 53 4d 5f 43 4d 45 54 52   uint { SM_CMETR
1abe0 49 43 53 20 3d 20 38 36 20 7d 0d 0a 2f 2f 20 23  ICS = 86 }..// #
1abf0 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 28  endif....// #if(
1ac00 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30  WINVER >= 0x0500
1ac10 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
1ac20 20 53 4d 5f 52 45 4d 4f 54 45 53 45 53 53 49 4f   SM_REMOTESESSIO
1ac30 4e 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 0d 0a  N = 0x1000 }....
1ac40 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49  // #if(_WIN32_WI
1ac50 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a  NNT >= 0x0501)..
1ac60 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4d  enum : uint { SM
1ac70 5f 53 48 55 54 54 49 4e 47 44 4f 57 4e 20 3d 20  _SHUTTINGDOWN = 
1ac80 30 78 32 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e  0x2000 }..// #en
1ac90 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49  dif /* _WIN32_WI
1aca0 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f  NNT >= 0x0501 */
1acb0 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  ....// #endif /*
1acc0 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30   WINVER >= 0x050
1acd0 30 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  0 */....extern(W
1ace0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69  indows) export i
1acf0 6e 74 20 47 65 74 53 79 73 74 65 6d 4d 65 74 72  nt GetSystemMetr
1ad00 69 63 73 28 0d 0a 20 20 69 6e 74 20 6e 49 6e 64  ics(..  int nInd
1ad10 65 78 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  ex);....// #endi
1ad20 66 20 2f 2a 20 21 4e 4f 53 59 53 4d 45 54 52 49  f /* !NOSYSMETRI
1ad30 43 53 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  CS */....// #ifn
1ad40 64 65 66 20 4e 4f 4d 45 4e 55 53 0d 0a 0d 0a 65  def NOMENUS....e
1ad50 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
1ad60 78 70 6f 72 74 20 48 4d 45 4e 55 20 4c 6f 61 64  xport HMENU Load
1ad70 4d 65 6e 75 41 28 0d 0a 20 20 48 49 4e 53 54 41  MenuA(..  HINSTA
1ad80 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 2c 0d 0a  NCE hInstance,..
1ad90 20 20 4c 50 43 53 54 52 20 6c 70 4d 65 6e 75 4e    LPCSTR lpMenuN
1ada0 61 6d 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  ame);..extern(Wi
1adb0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 4d  ndows) export HM
1adc0 45 4e 55 20 4c 6f 61 64 4d 65 6e 75 57 28 0d 0a  ENU LoadMenuW(..
1add0 20 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73    HINSTANCE hIns
1ade0 74 61 6e 63 65 2c 0d 0a 20 20 4c 50 43 57 53 54  tance,..  LPCWST
1adf0 52 20 6c 70 4d 65 6e 75 4e 61 6d 65 29 3b 0d 0a  R lpMenuName);..
1ae00 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
1ae10 45 0d 0a 61 6c 69 61 73 20 4c 6f 61 64 4d 65 6e  E..alias LoadMen
1ae20 75 57 20 4c 6f 61 64 4d 65 6e 75 3b 0d 0a 2f 2f  uW LoadMenu;..//
1ae30 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
1ae40 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
1ae50 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
1ae60 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
1ae70 20 48 4d 45 4e 55 20 4c 6f 61 64 4d 65 6e 75 49   HMENU LoadMenuI
1ae80 6e 64 69 72 65 63 74 41 28 0d 0a 20 20 4d 45 4e  ndirectA(..  MEN
1ae90 55 54 45 4d 50 4c 41 54 45 41 20 2a 6c 70 4d 65  UTEMPLATEA *lpMe
1aea0 6e 75 54 65 6d 70 6c 61 74 65 29 3b 0d 0a 65 78  nuTemplate);..ex
1aeb0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
1aec0 70 6f 72 74 20 48 4d 45 4e 55 20 4c 6f 61 64 4d  port HMENU LoadM
1aed0 65 6e 75 49 6e 64 69 72 65 63 74 57 28 0d 0a 20  enuIndirectW(.. 
1aee0 20 4d 45 4e 55 54 45 4d 50 4c 41 54 45 57 20 2a   MENUTEMPLATEW *
1aef0 6c 70 4d 65 6e 75 54 65 6d 70 6c 61 74 65 29 3b  lpMenuTemplate);
1af00 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
1af10 4f 44 45 0d 0a 61 6c 69 61 73 20 4c 6f 61 64 4d  ODE..alias LoadM
1af20 65 6e 75 49 6e 64 69 72 65 63 74 57 20 4c 6f 61  enuIndirectW Loa
1af30 64 4d 65 6e 75 49 6e 64 69 72 65 63 74 3b 0d 0a  dMenuIndirect;..
1af40 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
1af50 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
1af60 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
1af70 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
1af80 72 74 20 48 4d 45 4e 55 20 47 65 74 4d 65 6e 75  rt HMENU GetMenu
1af90 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 29 3b  (..  HWND hWnd);
1afa0 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
1afb0 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
1afc0 53 65 74 4d 65 6e 75 28 0d 0a 20 20 48 57 4e 44  SetMenu(..  HWND
1afd0 20 68 57 6e 64 2c 0d 0a 20 20 48 4d 45 4e 55 20   hWnd,..  HMENU 
1afe0 68 4d 65 6e 75 29 3b 0d 0a 0d 0a 65 78 74 65 72  hMenu);....exter
1aff0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
1b000 74 20 42 4f 4f 4c 20 43 68 61 6e 67 65 4d 65 6e  t BOOL ChangeMen
1b010 75 41 28 0d 0a 20 20 48 4d 45 4e 55 20 68 4d 65  uA(..  HMENU hMe
1b020 6e 75 2c 0d 0a 20 20 55 49 4e 54 20 63 6d 64 2c  nu,..  UINT cmd,
1b030 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 7a 4e  ..  LPCSTR lpszN
1b040 65 77 49 74 65 6d 2c 0d 0a 20 20 55 49 4e 54 20  ewItem,..  UINT 
1b050 63 6d 64 49 6e 73 65 72 74 2c 0d 0a 20 20 55 49  cmdInsert,..  UI
1b060 4e 54 20 66 6c 61 67 73 29 3b 0d 0a 65 78 74 65  NT flags);..exte
1b070 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
1b080 72 74 20 42 4f 4f 4c 20 43 68 61 6e 67 65 4d 65  rt BOOL ChangeMe
1b090 6e 75 57 28 0d 0a 20 20 48 4d 45 4e 55 20 68 4d  nuW(..  HMENU hM
1b0a0 65 6e 75 2c 0d 0a 20 20 55 49 4e 54 20 63 6d 64  enu,..  UINT cmd
1b0b0 2c 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 73  ,..  LPCWSTR lps
1b0c0 7a 4e 65 77 49 74 65 6d 2c 0d 0a 20 20 55 49 4e  zNewItem,..  UIN
1b0d0 54 20 63 6d 64 49 6e 73 65 72 74 2c 0d 0a 20 20  T cmdInsert,..  
1b0e0 55 49 4e 54 20 66 6c 61 67 73 29 3b 0d 0a 2f 2f  UINT flags);..//
1b0f0 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
1b100 0a 61 6c 69 61 73 20 43 68 61 6e 67 65 4d 65 6e  .alias ChangeMen
1b110 75 57 20 43 68 61 6e 67 65 4d 65 6e 75 3b 0d 0a  uW ChangeMenu;..
1b120 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
1b130 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
1b140 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
1b150 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
1b160 72 74 20 42 4f 4f 4c 20 48 69 6c 69 74 65 4d 65  rt BOOL HiliteMe
1b170 6e 75 49 74 65 6d 28 0d 0a 20 20 48 57 4e 44 20  nuItem(..  HWND 
1b180 68 57 6e 64 2c 0d 0a 20 20 48 4d 45 4e 55 20 68  hWnd,..  HMENU h
1b190 4d 65 6e 75 2c 0d 0a 20 20 55 49 4e 54 20 75 49  Menu,..  UINT uI
1b1a0 44 48 69 6c 69 74 65 49 74 65 6d 2c 0d 0a 20 20  DHiliteItem,..  
1b1b0 55 49 4e 54 20 75 48 69 6c 69 74 65 29 3b 0d 0a  UINT uHilite);..
1b1c0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
1b1d0 29 20 65 78 70 6f 72 74 20 69 6e 74 20 47 65 74  ) export int Get
1b1e0 4d 65 6e 75 53 74 72 69 6e 67 41 28 0d 0a 20 20  MenuStringA(..  
1b1f0 48 4d 45 4e 55 20 68 4d 65 6e 75 2c 0d 0a 20 20  HMENU hMenu,..  
1b200 55 49 4e 54 20 75 49 44 49 74 65 6d 2c 0d 0a 20  UINT uIDItem,.. 
1b210 20 4c 50 53 54 52 20 6c 70 53 74 72 69 6e 67 2c   LPSTR lpString,
1b220 0d 0a 20 20 69 6e 74 20 6e 4d 61 78 43 6f 75 6e  ..  int nMaxCoun
1b230 74 2c 0d 0a 20 20 55 49 4e 54 20 75 46 6c 61 67  t,..  UINT uFlag
1b240 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
1b250 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 47  ws) export int G
1b260 65 74 4d 65 6e 75 53 74 72 69 6e 67 57 28 0d 0a  etMenuStringW(..
1b270 20 20 48 4d 45 4e 55 20 68 4d 65 6e 75 2c 0d 0a    HMENU hMenu,..
1b280 20 20 55 49 4e 54 20 75 49 44 49 74 65 6d 2c 0d    UINT uIDItem,.
1b290 0a 20 20 4c 50 57 53 54 52 20 6c 70 53 74 72 69  .  LPWSTR lpStri
1b2a0 6e 67 2c 0d 0a 20 20 69 6e 74 20 6e 4d 61 78 43  ng,..  int nMaxC
1b2b0 6f 75 6e 74 2c 0d 0a 20 20 55 49 4e 54 20 75 46  ount,..  UINT uF
1b2c0 6c 61 67 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  lag);..// #ifdef
1b2d0 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
1b2e0 47 65 74 4d 65 6e 75 53 74 72 69 6e 67 57 20 47  GetMenuStringW G
1b2f0 65 74 4d 65 6e 75 53 74 72 69 6e 67 3b 0d 0a 2f  etMenuString;../
1b300 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
1b310 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
1b320 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
1b330 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
1b340 74 20 55 49 4e 54 20 47 65 74 4d 65 6e 75 53 74  t UINT GetMenuSt
1b350 61 74 65 28 0d 0a 20 20 48 4d 45 4e 55 20 68 4d  ate(..  HMENU hM
1b360 65 6e 75 2c 0d 0a 20 20 55 49 4e 54 20 75 49 64  enu,..  UINT uId
1b370 2c 0d 0a 20 20 55 49 4e 54 20 75 46 6c 61 67 73  ,..  UINT uFlags
1b380 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
1b390 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
1b3a0 4c 20 44 72 61 77 4d 65 6e 75 42 61 72 28 0d 0a  L DrawMenuBar(..
1b3b0 20 20 48 57 4e 44 20 68 57 6e 64 29 3b 0d 0a 0d    HWND hWnd);...
1b3c0 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57  .// #if(_WIN32_W
1b3d0 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d  INNT >= 0x0501).
1b3e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
1b3f0 4d 42 5f 41 43 54 49 56 45 20 3d 20 30 78 30 30  MB_ACTIVE = 0x00
1b400 30 30 30 30 30 31 20 7d 0d 0a 0d 0a 2f 2f 20 23  000001 }....// #
1b410 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f  endif /* _WIN32_
1b420 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 20  WINNT >= 0x0501 
1b430 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  */....extern(Win
1b440 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 4d 45  dows) export HME
1b450 4e 55 20 47 65 74 53 79 73 74 65 6d 4d 65 6e 75  NU GetSystemMenu
1b460 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d  (..  HWND hWnd,.
1b470 0a 20 20 42 4f 4f 4c 20 62 52 65 76 65 72 74 29  .  BOOL bRevert)
1b480 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
1b490 6f 77 73 29 20 65 78 70 6f 72 74 20 48 4d 45 4e  ows) export HMEN
1b4a0 55 20 43 72 65 61 74 65 4d 65 6e 75 28 29 3b 0d  U CreateMenu();.
1b4b0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
1b4c0 73 29 20 65 78 70 6f 72 74 20 48 4d 45 4e 55 20  s) export HMENU 
1b4d0 43 72 65 61 74 65 50 6f 70 75 70 4d 65 6e 75 28  CreatePopupMenu(
1b4e0 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
1b4f0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
1b500 4c 20 44 65 73 74 72 6f 79 4d 65 6e 75 28 0d 0a  L DestroyMenu(..
1b510 20 20 48 4d 45 4e 55 20 68 4d 65 6e 75 29 3b 0d    HMENU hMenu);.
1b520 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
1b530 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20  s) export DWORD 
1b540 43 68 65 63 6b 4d 65 6e 75 49 74 65 6d 28 0d 0a  CheckMenuItem(..
1b550 20 20 48 4d 45 4e 55 20 68 4d 65 6e 75 2c 0d 0a    HMENU hMenu,..
1b560 20 20 55 49 4e 54 20 75 49 44 43 68 65 63 6b 49    UINT uIDCheckI
1b570 74 65 6d 2c 0d 0a 20 20 55 49 4e 54 20 75 43 68  tem,..  UINT uCh
1b580 65 63 6b 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  eck);....extern(
1b590 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
1b5a0 42 4f 4f 4c 20 45 6e 61 62 6c 65 4d 65 6e 75 49  BOOL EnableMenuI
1b5b0 74 65 6d 28 0d 0a 20 20 48 4d 45 4e 55 20 68 4d  tem(..  HMENU hM
1b5c0 65 6e 75 2c 0d 0a 20 20 55 49 4e 54 20 75 49 44  enu,..  UINT uID
1b5d0 45 6e 61 62 6c 65 49 74 65 6d 2c 0d 0a 20 20 55  EnableItem,..  U
1b5e0 49 4e 54 20 75 45 6e 61 62 6c 65 29 3b 0d 0a 0d  INT uEnable);...
1b5f0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
1b600 20 65 78 70 6f 72 74 20 48 4d 45 4e 55 20 47 65   export HMENU Ge
1b610 74 53 75 62 4d 65 6e 75 28 0d 0a 20 20 48 4d 45  tSubMenu(..  HME
1b620 4e 55 20 68 4d 65 6e 75 2c 0d 0a 20 20 69 6e 74  NU hMenu,..  int
1b630 20 6e 50 6f 73 29 3b 0d 0a 0d 0a 65 78 74 65 72   nPos);....exter
1b640 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
1b650 74 20 55 49 4e 54 20 47 65 74 4d 65 6e 75 49 74  t UINT GetMenuIt
1b660 65 6d 49 44 28 0d 0a 20 20 48 4d 45 4e 55 20 68  emID(..  HMENU h
1b670 4d 65 6e 75 2c 0d 0a 20 20 69 6e 74 20 6e 50 6f  Menu,..  int nPo
1b680 73 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  s);....extern(Wi
1b690 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e  ndows) export in
1b6a0 74 20 47 65 74 4d 65 6e 75 49 74 65 6d 43 6f 75  t GetMenuItemCou
1b6b0 6e 74 28 0d 0a 20 20 48 4d 45 4e 55 20 68 4d 65  nt(..  HMENU hMe
1b6c0 6e 75 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  nu);....extern(W
1b6d0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
1b6e0 4f 4f 4c 20 49 6e 73 65 72 74 4d 65 6e 75 41 28  OOL InsertMenuA(
1b6f0 0d 0a 20 20 48 4d 45 4e 55 20 68 4d 65 6e 75 2c  ..  HMENU hMenu,
1b700 0d 0a 20 20 55 49 4e 54 20 75 50 6f 73 69 74 69  ..  UINT uPositi
1b710 6f 6e 2c 0d 0a 20 20 55 49 4e 54 20 75 46 6c 61  on,..  UINT uFla
1b720 67 73 2c 0d 0a 20 20 55 49 4e 54 5f 50 54 52 20  gs,..  UINT_PTR 
1b730 75 49 44 4e 65 77 49 74 65 6d 2c 0d 0a 20 20 4c  uIDNewItem,..  L
1b740 50 43 53 54 52 20 6c 70 4e 65 77 49 74 65 6d 29  PCSTR lpNewItem)
1b750 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
1b760 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49  s) export BOOL I
1b770 6e 73 65 72 74 4d 65 6e 75 57 28 0d 0a 20 20 48  nsertMenuW(..  H
1b780 4d 45 4e 55 20 68 4d 65 6e 75 2c 0d 0a 20 20 55  MENU hMenu,..  U
1b790 49 4e 54 20 75 50 6f 73 69 74 69 6f 6e 2c 0d 0a  INT uPosition,..
1b7a0 20 20 55 49 4e 54 20 75 46 6c 61 67 73 2c 0d 0a    UINT uFlags,..
1b7b0 20 20 55 49 4e 54 5f 50 54 52 20 75 49 44 4e 65    UINT_PTR uIDNe
1b7c0 77 49 74 65 6d 2c 0d 0a 20 20 4c 50 43 57 53 54  wItem,..  LPCWST
1b7d0 52 20 6c 70 4e 65 77 49 74 65 6d 29 3b 0d 0a 2f  R lpNewItem);../
1b7e0 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
1b7f0 0d 0a 61 6c 69 61 73 20 49 6e 73 65 72 74 4d 65  ..alias InsertMe
1b800 6e 75 57 20 49 6e 73 65 72 74 4d 65 6e 75 3b 0d  nuW InsertMenu;.
1b810 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
1b820 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
1b830 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74   !UNICODE....ext
1b840 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1b850 6f 72 74 20 42 4f 4f 4c 20 41 70 70 65 6e 64 4d  ort BOOL AppendM
1b860 65 6e 75 41 28 0d 0a 20 20 48 4d 45 4e 55 20 68  enuA(..  HMENU h
1b870 4d 65 6e 75 2c 0d 0a 20 20 55 49 4e 54 20 75 46  Menu,..  UINT uF
1b880 6c 61 67 73 2c 0d 0a 20 20 55 49 4e 54 5f 50 54  lags,..  UINT_PT
1b890 52 20 75 49 44 4e 65 77 49 74 65 6d 2c 0d 0a 20  R uIDNewItem,.. 
1b8a0 20 4c 50 43 53 54 52 20 6c 70 4e 65 77 49 74 65   LPCSTR lpNewIte
1b8b0 6d 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  m);..extern(Wind
1b8c0 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
1b8d0 20 41 70 70 65 6e 64 4d 65 6e 75 57 28 0d 0a 20   AppendMenuW(.. 
1b8e0 20 48 4d 45 4e 55 20 68 4d 65 6e 75 2c 0d 0a 20   HMENU hMenu,.. 
1b8f0 20 55 49 4e 54 20 75 46 6c 61 67 73 2c 0d 0a 20   UINT uFlags,.. 
1b900 20 55 49 4e 54 5f 50 54 52 20 75 49 44 4e 65 77   UINT_PTR uIDNew
1b910 49 74 65 6d 2c 0d 0a 20 20 4c 50 43 57 53 54 52  Item,..  LPCWSTR
1b920 20 6c 70 4e 65 77 49 74 65 6d 29 3b 0d 0a 2f 2f   lpNewItem);..//
1b930 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
1b940 0a 61 6c 69 61 73 20 41 70 70 65 6e 64 4d 65 6e  .alias AppendMen
1b950 75 57 20 41 70 70 65 6e 64 4d 65 6e 75 3b 0d 0a  uW AppendMenu;..
1b960 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
1b970 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
1b980 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
1b990 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
1b9a0 72 74 20 42 4f 4f 4c 20 4d 6f 64 69 66 79 4d 65  rt BOOL ModifyMe
1b9b0 6e 75 41 28 0d 0a 20 20 48 4d 45 4e 55 20 68 4d  nuA(..  HMENU hM
1b9c0 6e 75 2c 0d 0a 20 20 55 49 4e 54 20 75 50 6f 73  nu,..  UINT uPos
1b9d0 69 74 69 6f 6e 2c 0d 0a 20 20 55 49 4e 54 20 75  ition,..  UINT u
1b9e0 46 6c 61 67 73 2c 0d 0a 20 20 55 49 4e 54 5f 50  Flags,..  UINT_P
1b9f0 54 52 20 75 49 44 4e 65 77 49 74 65 6d 2c 0d 0a  TR uIDNewItem,..
1ba00 20 20 4c 50 43 53 54 52 20 6c 70 4e 65 77 49 74    LPCSTR lpNewIt
1ba10 65 6d 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  em);..extern(Win
1ba20 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
1ba30 4c 20 4d 6f 64 69 66 79 4d 65 6e 75 57 28 0d 0a  L ModifyMenuW(..
1ba40 20 20 48 4d 45 4e 55 20 68 4d 6e 75 2c 0d 0a 20    HMENU hMnu,.. 
1ba50 20 55 49 4e 54 20 75 50 6f 73 69 74 69 6f 6e 2c   UINT uPosition,
1ba60 0d 0a 20 20 55 49 4e 54 20 75 46 6c 61 67 73 2c  ..  UINT uFlags,
1ba70 0d 0a 20 20 55 49 4e 54 5f 50 54 52 20 75 49 44  ..  UINT_PTR uID
1ba80 4e 65 77 49 74 65 6d 2c 0d 0a 20 20 4c 50 43 57  NewItem,..  LPCW
1ba90 53 54 52 20 6c 70 4e 65 77 49 74 65 6d 29 3b 0d  STR lpNewItem);.
1baa0 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
1bab0 44 45 0d 0a 61 6c 69 61 73 20 4d 6f 64 69 66 79  DE..alias Modify
1bac0 4d 65 6e 75 57 20 4d 6f 64 69 66 79 4d 65 6e 75  MenuW ModifyMenu
1bad0 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
1bae0 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  #.....// #endif 
1baf0 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65  // !UNICODE....e
1bb00 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
1bb10 78 70 6f 72 74 20 42 4f 4f 4c 20 52 65 6d 6f 76  xport BOOL Remov
1bb20 65 4d 65 6e 75 28 0d 0a 20 20 48 4d 45 4e 55 20  eMenu(..  HMENU 
1bb30 68 4d 65 6e 75 2c 0d 0a 20 20 55 49 4e 54 20 75  hMenu,..  UINT u
1bb40 50 6f 73 69 74 69 6f 6e 2c 0d 0a 20 20 55 49 4e  Position,..  UIN
1bb50 54 20 75 46 6c 61 67 73 29 3b 0d 0a 0d 0a 65 78  T uFlags);....ex
1bb60 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
1bb70 70 6f 72 74 20 42 4f 4f 4c 20 44 65 6c 65 74 65  port BOOL Delete
1bb80 4d 65 6e 75 28 0d 0a 20 20 48 4d 45 4e 55 20 68  Menu(..  HMENU h
1bb90 4d 65 6e 75 2c 0d 0a 20 20 55 49 4e 54 20 75 50  Menu,..  UINT uP
1bba0 6f 73 69 74 69 6f 6e 2c 0d 0a 20 20 55 49 4e 54  osition,..  UINT
1bbb0 20 75 46 6c 61 67 73 29 3b 0d 0a 0d 0a 65 78 74   uFlags);....ext
1bbc0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1bbd0 6f 72 74 20 42 4f 4f 4c 20 53 65 74 4d 65 6e 75  ort BOOL SetMenu
1bbe0 49 74 65 6d 42 69 74 6d 61 70 73 28 0d 0a 20 20  ItemBitmaps(..  
1bbf0 48 4d 45 4e 55 20 68 4d 65 6e 75 2c 0d 0a 20 20  HMENU hMenu,..  
1bc00 55 49 4e 54 20 75 50 6f 73 69 74 69 6f 6e 2c 0d  UINT uPosition,.
1bc10 0a 20 20 55 49 4e 54 20 75 46 6c 61 67 73 2c 0d  .  UINT uFlags,.
1bc20 0a 20 20 48 42 49 54 4d 41 50 20 68 42 69 74 6d  .  HBITMAP hBitm
1bc30 61 70 55 6e 63 68 65 63 6b 65 64 2c 0d 0a 20 20  apUnchecked,..  
1bc40 48 42 49 54 4d 41 50 20 68 42 69 74 6d 61 70 43  HBITMAP hBitmapC
1bc50 68 65 63 6b 65 64 29 3b 0d 0a 0d 0a 65 78 74 65  hecked);....exte
1bc60 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
1bc70 72 74 20 4c 4f 4e 47 20 47 65 74 4d 65 6e 75 43  rt LONG GetMenuC
1bc80 68 65 63 6b 4d 61 72 6b 44 69 6d 65 6e 73 69 6f  heckMarkDimensio
1bc90 6e 73 28 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  ns();....extern(
1bca0 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
1bcb0 42 4f 4f 4c 20 54 72 61 63 6b 50 6f 70 75 70 4d  BOOL TrackPopupM
1bcc0 65 6e 75 28 0d 0a 20 20 48 4d 45 4e 55 20 68 4d  enu(..  HMENU hM
1bcd0 65 6e 75 2c 0d 0a 20 20 55 49 4e 54 20 75 46 6c  enu,..  UINT uFl
1bce0 61 67 73 2c 0d 0a 20 20 69 6e 74 20 78 2c 0d 0a  ags,..  int x,..
1bcf0 20 20 69 6e 74 20 79 2c 0d 0a 20 20 69 6e 74 20    int y,..  int 
1bd00 6e 52 65 73 65 72 76 65 64 2c 0d 0a 20 20 48 57  nReserved,..  HW
1bd10 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 52 45 43 54  ND hWnd,..  RECT
1bd20 20 2a 70 72 63 52 65 63 74 29 3b 0d 0a 0d 0a 2f   *prcRect);..../
1bd30 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
1bd40 30 78 30 34 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20  0x0400)....enum 
1bd50 3a 20 75 69 6e 74 20 7b 20 4d 4e 43 5f 49 47 4e  : uint { MNC_IGN
1bd60 4f 52 45 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20  ORE = 0 }..enum 
1bd70 3a 20 75 69 6e 74 20 7b 20 4d 4e 43 5f 43 4c 4f  : uint { MNC_CLO
1bd80 53 45 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  SE = 1 }..enum :
1bd90 20 75 69 6e 74 20 7b 20 4d 4e 43 5f 45 58 45 43   uint { MNC_EXEC
1bda0 55 54 45 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20  UTE = 2 }..enum 
1bdb0 3a 20 75 69 6e 74 20 7b 20 4d 4e 43 5f 53 45 4c  : uint { MNC_SEL
1bdc0 45 43 54 20 3d 20 33 20 7d 0d 0a 0d 0a 73 74 72  ECT = 3 }....str
1bdd0 75 63 74 20 74 61 67 54 50 4d 50 41 52 41 4d 53  uct tagTPMPARAMS
1bde0 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53 69 7a   {..  UINT cbSiz
1bdf0 65 3b 0d 0a 20 20 52 45 43 54 20 72 63 45 78 63  e;..  RECT rcExc
1be00 6c 75 64 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  lude;..}..alias 
1be10 74 61 67 54 50 4d 50 41 52 41 4d 53 20 54 50 4d  tagTPMPARAMS TPM
1be20 50 41 52 41 4d 53 3b 0d 0a 0d 0a 61 6c 69 61 73  PARAMS;....alias
1be30 20 54 50 4d 50 41 52 41 4d 53 2a 20 4c 50 54 50   TPMPARAMS* LPTP
1be40 4d 50 41 52 41 4d 53 3b 0d 0a 0d 0a 65 78 74 65  MPARAMS;....exte
1be50 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
1be60 72 74 20 42 4f 4f 4c 20 54 72 61 63 6b 50 6f 70  rt BOOL TrackPop
1be70 75 70 4d 65 6e 75 45 78 28 0d 0a 20 20 48 4d 45  upMenuEx(..  HME
1be80 4e 55 2c 0d 0a 20 20 55 49 4e 54 2c 0d 0a 20 20  NU,..  UINT,..  
1be90 69 6e 74 2c 0d 0a 20 20 69 6e 74 2c 0d 0a 20 20  int,..  int,..  
1bea0 48 57 4e 44 2c 0d 0a 20 20 4c 50 54 50 4d 50 41  HWND,..  LPTPMPA
1beb0 52 41 4d 53 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69  RAMS);..// #endi
1bec0 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
1bed0 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23  x0400 */....// #
1bee0 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  if(WINVER >= 0x0
1bef0 35 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  500)....enum : u
1bf00 69 6e 74 20 7b 20 4d 4e 53 5f 4e 4f 43 48 45 43  int { MNS_NOCHEC
1bf10 4b 20 3d 20 30 78 38 30 30 30 30 30 30 30 20 7d  K = 0x80000000 }
1bf20 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1bf30 4d 4e 53 5f 4d 4f 44 45 4c 45 53 53 20 3d 20 30  MNS_MODELESS = 0
1bf40 78 34 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x40000000 }..enu
1bf50 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4e 53 5f 44  m : uint { MNS_D
1bf60 52 41 47 44 52 4f 50 20 3d 20 30 78 32 30 30 30  RAGDROP = 0x2000
1bf70 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
1bf80 69 6e 74 20 7b 20 4d 4e 53 5f 41 55 54 4f 44 49  int { MNS_AUTODI
1bf90 53 4d 49 53 53 20 3d 20 30 78 31 30 30 30 30 30  SMISS = 0x100000
1bfa0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
1bfb0 74 20 7b 20 4d 4e 53 5f 4e 4f 54 49 46 59 42 59  t { MNS_NOTIFYBY
1bfc0 50 4f 53 20 3d 20 30 78 30 38 30 30 30 30 30 30  POS = 0x08000000
1bfd0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1bfe0 7b 20 4d 4e 53 5f 43 48 45 43 4b 4f 52 42 4d 50  { MNS_CHECKORBMP
1bff0 20 3d 20 30 78 30 34 30 30 30 30 30 30 20 7d 0d   = 0x04000000 }.
1c000 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1c010 20 4d 49 4d 5f 4d 41 58 48 45 49 47 48 54 20 3d   MIM_MAXHEIGHT =
1c020 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65   0x00000001 }..e
1c030 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 4d  num : uint { MIM
1c040 5f 42 41 43 4b 47 52 4f 55 4e 44 20 3d 20 30 78  _BACKGROUND = 0x
1c050 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  00000002 }..enum
1c060 20 3a 20 75 69 6e 74 20 7b 20 4d 49 4d 5f 48 45   : uint { MIM_HE
1c070 4c 50 49 44 20 3d 20 30 78 30 30 30 30 30 30 30  LPID = 0x0000000
1c080 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
1c090 20 7b 20 4d 49 4d 5f 4d 45 4e 55 44 41 54 41 20   { MIM_MENUDATA 
1c0a0 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a  = 0x00000008 }..
1c0b0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
1c0c0 4d 5f 53 54 59 4c 45 20 3d 20 30 78 30 30 30 30  M_STYLE = 0x0000
1c0d0 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0010 }..enum : u
1c0e0 69 6e 74 20 7b 20 4d 49 4d 5f 41 50 50 4c 59 54  int { MIM_APPLYT
1c0f0 4f 53 55 42 4d 45 4e 55 53 20 3d 20 30 78 38 30  OSUBMENUS = 0x80
1c100 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 73 74 72 75  000000 }....stru
1c110 63 74 20 74 61 67 4d 45 4e 55 49 4e 46 4f 20 7b  ct tagMENUINFO {
1c120 0d 0a 20 20 44 57 4f 52 44 20 63 62 53 69 7a 65  ..  DWORD cbSize
1c130 3b 0d 0a 20 20 44 57 4f 52 44 20 66 4d 61 73 6b  ;..  DWORD fMask
1c140 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 74 79  ;..  DWORD dwSty
1c150 6c 65 3b 0d 0a 20 20 55 49 4e 54 20 63 79 4d 61  le;..  UINT cyMa
1c160 78 3b 0d 0a 20 20 48 42 52 55 53 48 20 68 62 72  x;..  HBRUSH hbr
1c170 42 61 63 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 64  Back;..  DWORD d
1c180 77 43 6f 6e 74 65 78 74 48 65 6c 70 49 44 3b 0d  wContextHelpID;.
1c190 0a 20 20 55 4c 4f 4e 47 5f 50 54 52 20 64 77 4d  .  ULONG_PTR dwM
1c1a0 65 6e 75 44 61 74 61 3b 0d 0a 7d 0d 0a 61 6c 69  enuData;..}..ali
1c1b0 61 73 20 74 61 67 4d 45 4e 55 49 4e 46 4f 20 4d  as tagMENUINFO M
1c1c0 45 4e 55 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20  ENUINFO;..alias 
1c1d0 74 61 67 4d 45 4e 55 49 4e 46 4f 2a 20 4c 50 4d  tagMENUINFO* LPM
1c1e0 45 4e 55 49 4e 46 4f 3b 0d 0a 0d 0a 61 6c 69 61  ENUINFO;....alia
1c1f0 73 20 4d 45 4e 55 49 4e 46 4f 2a 20 4c 50 43 4d  s MENUINFO* LPCM
1c200 45 4e 55 49 4e 46 4f 3b 0d 0a 0d 0a 65 78 74 65  ENUINFO;....exte
1c210 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
1c220 72 74 20 42 4f 4f 4c 20 47 65 74 4d 65 6e 75 49  rt BOOL GetMenuI
1c230 6e 66 6f 28 0d 0a 20 20 48 4d 45 4e 55 2c 0d 0a  nfo(..  HMENU,..
1c240 20 20 4c 50 4d 45 4e 55 49 4e 46 4f 29 3b 0d 0a    LPMENUINFO);..
1c250 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
1c260 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65  ) export BOOL Se
1c270 74 4d 65 6e 75 49 6e 66 6f 28 0d 0a 20 20 48 4d  tMenuInfo(..  HM
1c280 45 4e 55 2c 0d 0a 20 20 4c 50 43 4d 45 4e 55 49  ENU,..  LPCMENUI
1c290 4e 46 4f 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  NFO);....extern(
1c2a0 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
1c2b0 42 4f 4f 4c 20 45 6e 64 4d 65 6e 75 28 29 3b 0d  BOOL EndMenu();.
1c2c0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1c2d0 20 4d 4e 44 5f 43 4f 4e 54 49 4e 55 45 20 3d 20   MND_CONTINUE = 
1c2e0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1c2f0 20 7b 20 4d 4e 44 5f 45 4e 44 4d 45 4e 55 20 3d   { MND_ENDMENU =
1c300 20 31 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74   1 }....struct t
1c310 61 67 4d 45 4e 55 47 45 54 4f 42 4a 45 43 54 49  agMENUGETOBJECTI
1c320 4e 46 4f 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64  NFO {..  DWORD d
1c330 77 46 6c 61 67 73 3b 0d 0a 20 20 55 49 4e 54 20  wFlags;..  UINT 
1c340 75 50 6f 73 3b 0d 0a 20 20 48 4d 45 4e 55 20 68  uPos;..  HMENU h
1c350 6d 65 6e 75 3b 0d 0a 20 20 50 56 4f 49 44 20 72  menu;..  PVOID r
1c360 69 69 64 3b 0d 0a 20 20 50 56 4f 49 44 20 70 76  iid;..  PVOID pv
1c370 4f 62 6a 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  Obj;..}..alias t
1c380 61 67 4d 45 4e 55 47 45 54 4f 42 4a 45 43 54 49  agMENUGETOBJECTI
1c390 4e 46 4f 20 4d 45 4e 55 47 45 54 4f 42 4a 45 43  NFO MENUGETOBJEC
1c3a0 54 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61  TINFO;..alias ta
1c3b0 67 4d 45 4e 55 47 45 54 4f 42 4a 45 43 54 49 4e  gMENUGETOBJECTIN
1c3c0 46 4f 2a 20 50 4d 45 4e 55 47 45 54 4f 42 4a 45  FO* PMENUGETOBJE
1c3d0 43 54 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d 20  CTINFO;....enum 
1c3e0 3a 20 75 69 6e 74 20 7b 20 4d 4e 47 4f 46 5f 54  : uint { MNGOF_T
1c3f0 4f 50 47 41 50 20 3d 20 30 78 30 30 30 30 30 30  OPGAP = 0x000000
1c400 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
1c410 74 20 7b 20 4d 4e 47 4f 46 5f 42 4f 54 54 4f 4d  t { MNGOF_BOTTOM
1c420 47 41 50 20 3d 20 30 78 30 30 30 30 30 30 30 32  GAP = 0x00000002
1c430 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
1c440 74 20 7b 20 4d 4e 47 4f 5f 4e 4f 49 4e 54 45 52  t { MNGO_NOINTER
1c450 46 41 43 45 20 3d 20 30 78 30 30 30 30 30 30 30  FACE = 0x0000000
1c460 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1c470 20 7b 20 4d 4e 47 4f 5f 4e 4f 45 52 52 4f 52 20   { MNGO_NOERROR 
1c480 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a  = 0x00000001 }..
1c490 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
1c4a0 56 45 52 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f  VER >= 0x0500 */
1c4b0 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45  ....// #if(WINVE
1c4c0 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  R >= 0x0400)..en
1c4d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 49 4d  um : uint { MIIM
1c4e0 5f 53 54 41 54 45 20 3d 20 30 78 30 30 30 30 30  _STATE = 0x00000
1c4f0 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
1c500 6e 74 20 7b 20 4d 49 49 4d 5f 49 44 20 3d 20 30  nt { MIIM_ID = 0
1c510 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75  x00000002 }..enu
1c520 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 49 4d 5f  m : uint { MIIM_
1c530 53 55 42 4d 45 4e 55 20 3d 20 30 78 30 30 30 30  SUBMENU = 0x0000
1c540 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
1c550 69 6e 74 20 7b 20 4d 49 49 4d 5f 43 48 45 43 4b  int { MIIM_CHECK
1c560 4d 41 52 4b 53 20 3d 20 30 78 30 30 30 30 30 30  MARKS = 0x000000
1c570 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
1c580 74 20 7b 20 4d 49 49 4d 5f 54 59 50 45 20 3d 20  t { MIIM_TYPE = 
1c590 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e  0x00000010 }..en
1c5a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 49 4d  um : uint { MIIM
1c5b0 5f 44 41 54 41 20 3d 20 30 78 30 30 30 30 30 30  _DATA = 0x000000
1c5c0 32 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  20 }..// #endif 
1c5d0 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
1c5e0 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66  400 */....// #if
1c5f0 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30  (WINVER >= 0x050
1c600 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
1c610 7b 20 4d 49 49 4d 5f 53 54 52 49 4e 47 20 3d 20  { MIIM_STRING = 
1c620 30 78 30 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e  0x00000040 }..en
1c630 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 49 4d  um : uint { MIIM
1c640 5f 42 49 54 4d 41 50 20 3d 20 30 78 30 30 30 30  _BITMAP = 0x0000
1c650 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0080 }..enum : u
1c660 69 6e 74 20 7b 20 4d 49 49 4d 5f 46 54 59 50 45  int { MIIM_FTYPE
1c670 20 3d 20 30 78 30 30 30 30 30 31 30 30 20 7d 0d   = 0x00000100 }.
1c680 0a 0d 0a 63 6f 6e 73 74 20 48 42 49 54 4d 41 50  ...const HBITMAP
1c690 20 48 42 4d 4d 45 4e 55 5f 43 41 4c 4c 42 41 43   HBMMENU_CALLBAC
1c6a0 4b 20 3d 20 63 61 73 74 28 48 42 49 54 4d 41 50  K = cast(HBITMAP
1c6b0 29 2d 31 3b 0d 0a 63 6f 6e 73 74 20 48 42 49 54  )-1;..const HBIT
1c6c0 4d 41 50 20 48 42 4d 4d 45 4e 55 5f 53 59 53 54  MAP HBMMENU_SYST
1c6d0 45 4d 20 3d 20 63 61 73 74 28 48 42 49 54 4d 41  EM = cast(HBITMA
1c6e0 50 29 31 3b 0d 0a 63 6f 6e 73 74 20 48 42 49 54  P)1;..const HBIT
1c6f0 4d 41 50 20 48 42 4d 4d 45 4e 55 5f 4d 42 41 52  MAP HBMMENU_MBAR
1c700 5f 52 45 53 54 4f 52 45 20 3d 20 63 61 73 74 28  _RESTORE = cast(
1c710 48 42 49 54 4d 41 50 29 32 3b 0d 0a 63 6f 6e 73  HBITMAP)2;..cons
1c720 74 20 48 42 49 54 4d 41 50 20 48 42 4d 4d 45 4e  t HBITMAP HBMMEN
1c730 55 5f 4d 42 41 52 5f 4d 49 4e 49 4d 49 5a 45 20  U_MBAR_MINIMIZE 
1c740 3d 20 63 61 73 74 28 48 42 49 54 4d 41 50 29 33  = cast(HBITMAP)3
1c750 3b 0d 0a 63 6f 6e 73 74 20 48 42 49 54 4d 41 50  ;..const HBITMAP
1c760 20 48 42 4d 4d 45 4e 55 5f 4d 42 41 52 5f 43 4c   HBMMENU_MBAR_CL
1c770 4f 53 45 20 3d 20 63 61 73 74 28 48 42 49 54 4d  OSE = cast(HBITM
1c780 41 50 29 35 3b 0d 0a 63 6f 6e 73 74 20 48 42 49  AP)5;..const HBI
1c790 54 4d 41 50 20 48 42 4d 4d 45 4e 55 5f 4d 42 41  TMAP HBMMENU_MBA
1c7a0 52 5f 43 4c 4f 53 45 5f 44 20 3d 20 63 61 73 74  R_CLOSE_D = cast
1c7b0 28 48 42 49 54 4d 41 50 29 36 3b 0d 0a 63 6f 6e  (HBITMAP)6;..con
1c7c0 73 74 20 48 42 49 54 4d 41 50 20 48 42 4d 4d 45  st HBITMAP HBMME
1c7d0 4e 55 5f 4d 42 41 52 5f 4d 49 4e 49 4d 49 5a 45  NU_MBAR_MINIMIZE
1c7e0 5f 44 20 3d 20 63 61 73 74 28 48 42 49 54 4d 41  _D = cast(HBITMA
1c7f0 50 29 37 3b 0d 0a 63 6f 6e 73 74 20 48 42 49 54  P)7;..const HBIT
1c800 4d 41 50 20 48 42 4d 4d 45 4e 55 5f 50 4f 50 55  MAP HBMMENU_POPU
1c810 50 5f 43 4c 4f 53 45 20 3d 20 63 61 73 74 28 48  P_CLOSE = cast(H
1c820 42 49 54 4d 41 50 29 38 3b 0d 0a 63 6f 6e 73 74  BITMAP)8;..const
1c830 20 48 42 49 54 4d 41 50 20 48 42 4d 4d 45 4e 55   HBITMAP HBMMENU
1c840 5f 50 4f 50 55 50 5f 52 45 53 54 4f 52 45 20 3d  _POPUP_RESTORE =
1c850 20 63 61 73 74 28 48 42 49 54 4d 41 50 29 39 3b   cast(HBITMAP)9;
1c860 0d 0a 63 6f 6e 73 74 20 48 42 49 54 4d 41 50 20  ..const HBITMAP 
1c870 48 42 4d 4d 45 4e 55 5f 50 4f 50 55 50 5f 4d 41  HBMMENU_POPUP_MA
1c880 58 49 4d 49 5a 45 20 3d 20 63 61 73 74 28 48 42  XIMIZE = cast(HB
1c890 49 54 4d 41 50 29 31 30 3b 0d 0a 63 6f 6e 73 74  ITMAP)10;..const
1c8a0 20 48 42 49 54 4d 41 50 20 48 42 4d 4d 45 4e 55   HBITMAP HBMMENU
1c8b0 5f 50 4f 50 55 50 5f 4d 49 4e 49 4d 49 5a 45 20  _POPUP_MINIMIZE 
1c8c0 3d 20 63 61 73 74 28 48 42 49 54 4d 41 50 29 31  = cast(HBITMAP)1
1c8d0 31 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  1;..// #endif /*
1c8e0 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30   WINVER >= 0x050
1c8f0 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57  0 */....// #if(W
1c900 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
1c910 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 45 4e 55  ..struct tagMENU
1c920 49 54 45 4d 49 4e 46 4f 41 20 7b 0d 0a 20 20 55  ITEMINFOA {..  U
1c930 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 55  INT cbSize;..  U
1c940 49 4e 54 20 66 4d 61 73 6b 3b 0d 0a 20 20 55 49  INT fMask;..  UI
1c950 4e 54 20 66 54 79 70 65 3b 0d 0a 20 20 55 49 4e  NT fType;..  UIN
1c960 54 20 66 53 74 61 74 65 3b 0d 0a 20 20 55 49 4e  T fState;..  UIN
1c970 54 20 77 49 44 3b 0d 0a 20 20 48 4d 45 4e 55 20  T wID;..  HMENU 
1c980 68 53 75 62 4d 65 6e 75 3b 0d 0a 20 20 48 42 49  hSubMenu;..  HBI
1c990 54 4d 41 50 20 68 62 6d 70 43 68 65 63 6b 65 64  TMAP hbmpChecked
1c9a0 3b 0d 0a 20 20 48 42 49 54 4d 41 50 20 68 62 6d  ;..  HBITMAP hbm
1c9b0 70 55 6e 63 68 65 63 6b 65 64 3b 0d 0a 20 20 55  pUnchecked;..  U
1c9c0 4c 4f 4e 47 5f 50 54 52 20 64 77 49 74 65 6d 44  LONG_PTR dwItemD
1c9d0 61 74 61 3b 0d 0a 20 20 4c 50 53 54 52 20 64 77  ata;..  LPSTR dw
1c9e0 54 79 70 65 44 61 74 61 3b 0d 0a 20 20 55 49 4e  TypeData;..  UIN
1c9f0 54 20 63 63 68 3b 0d 0a 2f 2f 20 23 69 66 28 57  T cch;..// #if(W
1ca00 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29  INVER >= 0x0500)
1ca10 0d 0a 20 20 48 42 49 54 4d 41 50 20 68 62 6d 70  ..  HBITMAP hbmp
1ca20 49 74 65 6d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  Item;..// #endif
1ca30 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
1ca40 30 35 30 30 20 2a 2f 0d 0a 7d 0d 0a 61 6c 69 61  0500 */..}..alia
1ca50 73 20 74 61 67 4d 45 4e 55 49 54 45 4d 49 4e 46  s tagMENUITEMINF
1ca60 4f 41 20 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 41  OA MENUITEMINFOA
1ca70 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 45 4e 55  ;..alias tagMENU
1ca80 49 54 45 4d 49 4e 46 4f 41 2a 20 4c 50 4d 45 4e  ITEMINFOA* LPMEN
1ca90 55 49 54 45 4d 49 4e 46 4f 41 3b 0d 0a 0d 0a 73  UITEMINFOA;....s
1caa0 74 72 75 63 74 20 74 61 67 4d 45 4e 55 49 54 45  truct tagMENUITE
1cab0 4d 49 4e 46 4f 57 20 7b 0d 0a 20 20 55 49 4e 54  MINFOW {..  UINT
1cac0 20 63 62 53 69 7a 65 3b 0d 0a 20 20 55 49 4e 54   cbSize;..  UINT
1cad0 20 66 4d 61 73 6b 3b 0d 0a 20 20 55 49 4e 54 20   fMask;..  UINT 
1cae0 66 54 79 70 65 3b 0d 0a 20 20 55 49 4e 54 20 66  fType;..  UINT f
1caf0 53 74 61 74 65 3b 0d 0a 20 20 55 49 4e 54 20 77  State;..  UINT w
1cb00 49 44 3b 0d 0a 20 20 48 4d 45 4e 55 20 68 53 75  ID;..  HMENU hSu
1cb10 62 4d 65 6e 75 3b 0d 0a 20 20 48 42 49 54 4d 41  bMenu;..  HBITMA
1cb20 50 20 68 62 6d 70 43 68 65 63 6b 65 64 3b 0d 0a  P hbmpChecked;..
1cb30 20 20 48 42 49 54 4d 41 50 20 68 62 6d 70 55 6e    HBITMAP hbmpUn
1cb40 63 68 65 63 6b 65 64 3b 0d 0a 20 20 55 4c 4f 4e  checked;..  ULON
1cb50 47 5f 50 54 52 20 64 77 49 74 65 6d 44 61 74 61  G_PTR dwItemData
1cb60 3b 0d 0a 20 20 4c 50 57 53 54 52 20 64 77 54 79  ;..  LPWSTR dwTy
1cb70 70 65 44 61 74 61 3b 0d 0a 20 20 55 49 4e 54 20  peData;..  UINT 
1cb80 63 63 68 3b 0d 0a 2f 2f 20 23 69 66 28 57 49 4e  cch;..// #if(WIN
1cb90 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a  VER >= 0x0500)..
1cba0 20 20 48 42 49 54 4d 41 50 20 68 62 6d 70 49 74    HBITMAP hbmpIt
1cbb0 65 6d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  em;..// #endif /
1cbc0 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35  * WINVER >= 0x05
1cbd0 30 30 20 2a 2f 0d 0a 7d 0d 0a 61 6c 69 61 73 20  00 */..}..alias 
1cbe0 74 61 67 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 57  tagMENUITEMINFOW
1cbf0 20 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 57 3b 0d   MENUITEMINFOW;.
1cc00 0a 61 6c 69 61 73 20 74 61 67 4d 45 4e 55 49 54  .alias tagMENUIT
1cc10 45 4d 49 4e 46 4f 57 2a 20 4c 50 4d 45 4e 55 49  EMINFOW* LPMENUI
1cc20 54 45 4d 49 4e 46 4f 57 3b 0d 0a 0d 0a 2f 2f 20  TEMINFOW;....// 
1cc30 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
1cc40 61 6c 69 61 73 20 4d 45 4e 55 49 54 45 4d 49 4e  alias MENUITEMIN
1cc50 46 4f 57 20 4d 45 4e 55 49 54 45 4d 49 4e 46 4f  FOW MENUITEMINFO
1cc60 3b 0d 0a 61 6c 69 61 73 20 4c 50 4d 45 4e 55 49  ;..alias LPMENUI
1cc70 54 45 4d 49 4e 46 4f 57 20 4c 50 4d 45 4e 55 49  TEMINFOW LPMENUI
1cc80 54 45 4d 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6c  TEMINFO;..// #el
1cc90 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  se..// .....// #
1cca0 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45  endif // UNICODE
1ccb0 0d 0a 61 6c 69 61 73 20 4d 45 4e 55 49 54 45 4d  ..alias MENUITEM
1ccc0 49 4e 46 4f 41 2a 20 4c 50 43 4d 45 4e 55 49 54  INFOA* LPCMENUIT
1ccd0 45 4d 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61 73 20  EMINFOA;..alias 
1cce0 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 57 2a 20 4c  MENUITEMINFOW* L
1ccf0 50 43 4d 45 4e 55 49 54 45 4d 49 4e 46 4f 57 3b  PCMENUITEMINFOW;
1cd00 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
1cd10 4f 44 45 0d 0a 61 6c 69 61 73 20 4c 50 43 4d 45  ODE..alias LPCME
1cd20 4e 55 49 54 45 4d 49 4e 46 4f 57 20 4c 50 43 4d  NUITEMINFOW LPCM
1cd30 45 4e 55 49 54 45 4d 49 4e 46 4f 3b 0d 0a 2f 2f  ENUITEMINFO;..//
1cd40 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   #else..// .....
1cd50 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49  // #endif // UNI
1cd60 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  CODE....extern(W
1cd70 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
1cd80 4f 4f 4c 20 49 6e 73 65 72 74 4d 65 6e 75 49 74  OOL InsertMenuIt
1cd90 65 6d 41 28 0d 0a 20 20 48 4d 45 4e 55 2c 0d 0a  emA(..  HMENU,..
1cda0 20 20 55 49 4e 54 2c 0d 0a 20 20 42 4f 4f 4c 2c    UINT,..  BOOL,
1cdb0 0d 0a 20 20 4c 50 43 4d 45 4e 55 49 54 45 4d 49  ..  LPCMENUITEMI
1cdc0 4e 46 4f 41 29 3b 0d 0a 65 78 74 65 72 6e 28 57  NFOA);..extern(W
1cdd0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
1cde0 4f 4f 4c 20 49 6e 73 65 72 74 4d 65 6e 75 49 74  OOL InsertMenuIt
1cdf0 65 6d 57 28 0d 0a 20 20 48 4d 45 4e 55 2c 0d 0a  emW(..  HMENU,..
1ce00 20 20 55 49 4e 54 2c 0d 0a 20 20 42 4f 4f 4c 2c    UINT,..  BOOL,
1ce10 0d 0a 20 20 4c 50 43 4d 45 4e 55 49 54 45 4d 49  ..  LPCMENUITEMI
1ce20 4e 46 4f 57 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  NFOW);..// #ifde
1ce30 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
1ce40 20 49 6e 73 65 72 74 4d 65 6e 75 49 74 65 6d 57   InsertMenuItemW
1ce50 20 49 6e 73 65 72 74 4d 65 6e 75 49 74 65 6d 3b   InsertMenuItem;
1ce60 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
1ce70 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
1ce80 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78  / !UNICODE....ex
1ce90 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
1cea0 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 4d 65 6e  port BOOL GetMen
1ceb0 75 49 74 65 6d 49 6e 66 6f 41 28 0d 0a 20 20 48  uItemInfoA(..  H
1cec0 4d 45 4e 55 2c 0d 0a 20 20 55 49 4e 54 2c 0d 0a  MENU,..  UINT,..
1ced0 20 20 42 4f 4f 4c 2c 0d 0a 20 20 4c 50 4d 45 4e    BOOL,..  LPMEN
1cee0 55 49 54 45 4d 49 4e 46 4f 41 29 3b 0d 0a 65 78  UITEMINFOA);..ex
1cef0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
1cf00 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 4d 65 6e  port BOOL GetMen
1cf10 75 49 74 65 6d 49 6e 66 6f 57 28 0d 0a 20 20 48  uItemInfoW(..  H
1cf20 4d 45 4e 55 2c 0d 0a 20 20 55 49 4e 54 2c 0d 0a  MENU,..  UINT,..
1cf30 20 20 42 4f 4f 4c 2c 0d 0a 20 20 4c 50 4d 45 4e    BOOL,..  LPMEN
1cf40 55 49 54 45 4d 49 4e 46 4f 57 29 3b 0d 0a 2f 2f  UITEMINFOW);..//
1cf50 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
1cf60 0a 61 6c 69 61 73 20 47 65 74 4d 65 6e 75 49 74  .alias GetMenuIt
1cf70 65 6d 49 6e 66 6f 57 20 47 65 74 4d 65 6e 75 49  emInfoW GetMenuI
1cf80 74 65 6d 49 6e 66 6f 3b 0d 0a 2f 2f 20 23 65 6c  temInfo;..// #el
1cf90 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
1cfa0 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
1cfb0 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
1cfc0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
1cfd0 4c 20 53 65 74 4d 65 6e 75 49 74 65 6d 49 6e 66  L SetMenuItemInf
1cfe0 6f 41 28 0d 0a 20 20 48 4d 45 4e 55 2c 0d 0a 20  oA(..  HMENU,.. 
1cff0 20 55 49 4e 54 2c 0d 0a 20 20 42 4f 4f 4c 2c 0d   UINT,..  BOOL,.
1d000 0a 20 20 4c 50 43 4d 45 4e 55 49 54 45 4d 49 4e  .  LPCMENUITEMIN
1d010 46 4f 41 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  FOA);..extern(Wi
1d020 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
1d030 4f 4c 20 53 65 74 4d 65 6e 75 49 74 65 6d 49 6e  OL SetMenuItemIn
1d040 66 6f 57 28 0d 0a 20 20 48 4d 45 4e 55 2c 0d 0a  foW(..  HMENU,..
1d050 20 20 55 49 4e 54 2c 0d 0a 20 20 42 4f 4f 4c 2c    UINT,..  BOOL,
1d060 0d 0a 20 20 4c 50 43 4d 45 4e 55 49 54 45 4d 49  ..  LPCMENUITEMI
1d070 4e 46 4f 57 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  NFOW);..// #ifde
1d080 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
1d090 20 53 65 74 4d 65 6e 75 49 74 65 6d 49 6e 66 6f   SetMenuItemInfo
1d0a0 57 20 53 65 74 4d 65 6e 75 49 74 65 6d 49 6e 66  W SetMenuItemInf
1d0b0 6f 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  o;..// #else..//
1d0c0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
1d0d0 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
1d0e0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 4d  enum : uint { GM
1d0f0 44 49 5f 55 53 45 44 49 53 41 42 4c 45 44 20 3d  DI_USEDISABLED =
1d100 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
1d110 3a 20 75 69 6e 74 20 7b 20 47 4d 44 49 5f 47 4f  : uint { GMDI_GO
1d120 49 4e 54 4f 50 4f 50 55 50 53 20 3d 20 30 78 30  INTOPOPUPS = 0x0
1d130 30 30 32 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28  002 }....extern(
1d140 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
1d150 55 49 4e 54 20 47 65 74 4d 65 6e 75 44 65 66 61  UINT GetMenuDefa
1d160 75 6c 74 49 74 65 6d 28 48 4d 45 4e 55 20 68 4d  ultItem(HMENU hM
1d170 65 6e 75 2c 20 55 49 4e 54 20 66 42 79 50 6f 73  enu, UINT fByPos
1d180 2c 20 55 49 4e 54 20 67 6d 64 69 46 6c 61 67 73  , UINT gmdiFlags
1d190 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
1d1a0 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
1d1b0 53 65 74 4d 65 6e 75 44 65 66 61 75 6c 74 49 74  SetMenuDefaultIt
1d1c0 65 6d 28 48 4d 45 4e 55 20 68 4d 65 6e 75 2c 20  em(HMENU hMenu, 
1d1d0 55 49 4e 54 20 75 49 74 65 6d 2c 20 55 49 4e 54  UINT uItem, UINT
1d1e0 20 66 42 79 50 6f 73 29 3b 0d 0a 0d 0a 65 78 74   fByPos);....ext
1d1f0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1d200 6f 72 74 20 42 4f 4f 4c 20 47 65 74 4d 65 6e 75  ort BOOL GetMenu
1d210 49 74 65 6d 52 65 63 74 28 48 57 4e 44 20 68 57  ItemRect(HWND hW
1d220 6e 64 2c 20 48 4d 45 4e 55 20 68 4d 65 6e 75 2c  nd, HMENU hMenu,
1d230 20 55 49 4e 54 20 75 49 74 65 6d 2c 20 4c 50 52   UINT uItem, LPR
1d240 45 43 54 20 6c 70 72 63 49 74 65 6d 29 3b 0d 0a  ECT lprcItem);..
1d250 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
1d260 65 78 70 6f 72 74 20 69 6e 74 20 4d 65 6e 75 49  export int MenuI
1d270 74 65 6d 46 72 6f 6d 50 6f 69 6e 74 28 48 57 4e  temFromPoint(HWN
1d280 44 20 68 57 6e 64 2c 20 48 4d 45 4e 55 20 68 4d  D hWnd, HMENU hM
1d290 65 6e 75 2c 20 50 4f 49 4e 54 20 70 74 53 63 72  enu, POINT ptScr
1d2a0 65 65 6e 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  een);..// #endif
1d2b0 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
1d2c0 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20  0400 */....enum 
1d2d0 3a 20 75 69 6e 74 20 7b 20 54 50 4d 5f 4c 45 46  : uint { TPM_LEF
1d2e0 54 42 55 54 54 4f 4e 20 3d 20 30 78 30 30 30 30  TBUTTON = 0x0000
1d2f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1d300 7b 20 54 50 4d 5f 52 49 47 48 54 42 55 54 54 4f  { TPM_RIGHTBUTTO
1d310 4e 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e  N = 0x0002 }..en
1d320 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 50 4d 5f  um : uint { TPM_
1d330 4c 45 46 54 41 4c 49 47 4e 20 3d 20 30 78 30 30  LEFTALIGN = 0x00
1d340 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
1d350 74 20 7b 20 54 50 4d 5f 43 45 4e 54 45 52 41 4c  t { TPM_CENTERAL
1d360 49 47 4e 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a  IGN = 0x0004 }..
1d370 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 50  enum : uint { TP
1d380 4d 5f 52 49 47 48 54 41 4c 49 47 4e 20 3d 20 30  M_RIGHTALIGN = 0
1d390 78 30 30 30 38 20 7d 0d 0a 2f 2f 20 23 69 66 28  x0008 }..// #if(
1d3a0 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
1d3b0 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
1d3c0 20 54 50 4d 5f 54 4f 50 41 4c 49 47 4e 20 3d 20   TPM_TOPALIGN = 
1d3d0 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0000 }..enum :
1d3e0 20 75 69 6e 74 20 7b 20 54 50 4d 5f 56 43 45 4e   uint { TPM_VCEN
1d3f0 54 45 52 41 4c 49 47 4e 20 3d 20 30 78 30 30 31  TERALIGN = 0x001
1d400 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1d410 20 7b 20 54 50 4d 5f 42 4f 54 54 4f 4d 41 4c 49   { TPM_BOTTOMALI
1d420 47 4e 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 0d  GN = 0x0020 }...
1d430 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
1d440 50 4d 5f 48 4f 52 49 5a 4f 4e 54 41 4c 20 3d 20  PM_HORIZONTAL = 
1d450 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0000 }..enum :
1d460 20 75 69 6e 74 20 7b 20 54 50 4d 5f 56 45 52 54   uint { TPM_VERT
1d470 49 43 41 4c 20 3d 20 30 78 30 30 34 30 20 7d 0d  ICAL = 0x0040 }.
1d480 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
1d490 50 4d 5f 4e 4f 4e 4f 54 49 46 59 20 3d 20 30 78  PM_NONOTIFY = 0x
1d4a0 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0080 }..enum : u
1d4b0 69 6e 74 20 7b 20 54 50 4d 5f 52 45 54 55 52 4e  int { TPM_RETURN
1d4c0 43 4d 44 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a  CMD = 0x0100 }..
1d4d0 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
1d4e0 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f  VER >= 0x0400 */
1d4f0 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20  ..// #if(WINVER 
1d500 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d  >= 0x0500)..enum
1d510 20 3a 20 75 69 6e 74 20 7b 20 54 50 4d 5f 52 45   : uint { TPM_RE
1d520 43 55 52 53 45 20 3d 20 30 78 30 30 30 31 20 7d  CURSE = 0x0001 }
1d530 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1d540 54 50 4d 5f 48 4f 52 50 4f 53 41 4e 49 4d 41 54  TPM_HORPOSANIMAT
1d550 49 4f 4e 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a  ION = 0x0400 }..
1d560 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 50  enum : uint { TP
1d570 4d 5f 48 4f 52 4e 45 47 41 4e 49 4d 41 54 49 4f  M_HORNEGANIMATIO
1d580 4e 20 3d 20 30 78 30 38 30 30 20 7d 0d 0a 65 6e  N = 0x0800 }..en
1d590 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 50 4d 5f  um : uint { TPM_
1d5a0 56 45 52 50 4f 53 41 4e 49 4d 41 54 49 4f 4e 20  VERPOSANIMATION 
1d5b0 3d 20 30 78 31 30 30 30 20 7d 0d 0a 65 6e 75 6d  = 0x1000 }..enum
1d5c0 20 3a 20 75 69 6e 74 20 7b 20 54 50 4d 5f 56 45   : uint { TPM_VE
1d5d0 52 4e 45 47 41 4e 49 4d 41 54 49 4f 4e 20 3d 20  RNEGANIMATION = 
1d5e0 30 78 32 30 30 30 20 7d 0d 0a 2f 2f 20 23 69 66  0x2000 }..// #if
1d5f0 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
1d600 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0500)..enum :
1d610 20 75 69 6e 74 20 7b 20 54 50 4d 5f 4e 4f 41 4e   uint { TPM_NOAN
1d620 49 4d 41 54 49 4f 4e 20 3d 20 30 78 34 30 30 30  IMATION = 0x4000
1d630 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
1d640 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d   _WIN32_WINNT >=
1d650 20 30 78 30 35 30 30 20 2a 2f 0d 0a 2f 2f 20 23   0x0500 */..// #
1d660 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  if(_WIN32_WINNT 
1d670 3e 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d  >= 0x0501)..enum
1d680 20 3a 20 75 69 6e 74 20 7b 20 54 50 4d 5f 4c 41   : uint { TPM_LA
1d690 59 4f 55 54 52 54 4c 20 3d 20 30 78 38 30 30 30  YOUTRTL = 0x8000
1d6a0 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
1d6b0 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d   _WIN32_WINNT >=
1d6c0 20 30 78 30 35 30 31 20 2a 2f 0d 0a 2f 2f 20 23   0x0501 */..// #
1d6d0 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
1d6e0 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0500 */....
1d6f0 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f  // #endif /* !NO
1d700 4d 45 4e 55 53 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23  MENUS */....// #
1d710 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  if(WINVER >= 0x0
1d720 34 30 30 29 0d 0a 0d 0a 73 74 72 75 63 74 20 74  400)....struct t
1d730 61 67 44 52 4f 50 53 54 52 55 43 54 20 7b 0d 0a  agDROPSTRUCT {..
1d740 20 20 48 57 4e 44 20 68 77 6e 64 53 6f 75 72 63    HWND hwndSourc
1d750 65 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 53  e;..  HWND hwndS
1d760 69 6e 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 77 46  ink;..  DWORD wF
1d770 6d 74 3b 0d 0a 20 20 55 4c 4f 4e 47 5f 50 54 52  mt;..  ULONG_PTR
1d780 20 64 77 44 61 74 61 3b 0d 0a 20 20 50 4f 49 4e   dwData;..  POIN
1d790 54 20 70 74 44 72 6f 70 3b 0d 0a 20 20 44 57 4f  T ptDrop;..  DWO
1d7a0 52 44 20 64 77 43 6f 6e 74 72 6f 6c 44 61 74 61  RD dwControlData
1d7b0 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 44  ;..}..alias tagD
1d7c0 52 4f 50 53 54 52 55 43 54 20 44 52 4f 50 53 54  ROPSTRUCT DROPST
1d7d0 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67  RUCT;..alias tag
1d7e0 44 52 4f 50 53 54 52 55 43 54 2a 20 50 44 52 4f  DROPSTRUCT* PDRO
1d7f0 50 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20  PSTRUCT;..alias 
1d800 74 61 67 44 52 4f 50 53 54 52 55 43 54 2a 20 4c  tagDROPSTRUCT* L
1d810 50 44 52 4f 50 53 54 52 55 43 54 3b 0d 0a 0d 0a  PDROPSTRUCT;....
1d820 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f  enum : uint { DO
1d830 46 5f 45 58 45 43 55 54 41 42 4c 45 20 3d 20 30  F_EXECUTABLE = 0
1d840 78 38 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x8001 }..enum : 
1d850 75 69 6e 74 20 7b 20 44 4f 46 5f 44 4f 43 55 4d  uint { DOF_DOCUM
1d860 45 4e 54 20 3d 20 30 78 38 30 30 32 20 7d 0d 0a  ENT = 0x8002 }..
1d870 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f  enum : uint { DO
1d880 46 5f 44 49 52 45 43 54 4f 52 59 20 3d 20 30 78  F_DIRECTORY = 0x
1d890 38 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  8003 }..enum : u
1d8a0 69 6e 74 20 7b 20 44 4f 46 5f 4d 55 4c 54 49 50  int { DOF_MULTIP
1d8b0 4c 45 20 3d 20 30 78 38 30 30 34 20 7d 0d 0a 65  LE = 0x8004 }..e
1d8c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f 46  num : uint { DOF
1d8d0 5f 50 52 4f 47 4d 41 4e 20 3d 20 30 78 30 30 30  _PROGMAN = 0x000
1d8e0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
1d8f0 20 7b 20 44 4f 46 5f 53 48 45 4c 4c 44 41 54 41   { DOF_SHELLDATA
1d900 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 0d 0a 65   = 0x0002 }....e
1d910 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4f 5f  num : uint { DO_
1d920 44 52 4f 50 46 49 4c 45 20 3d 20 30 78 34 35 34  DROPFILE = 0x454
1d930 43 34 39 34 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20  C4946 }..enum : 
1d940 75 69 6e 74 20 7b 20 44 4f 5f 50 52 49 4e 54 46  uint { DO_PRINTF
1d950 49 4c 45 20 3d 20 30 78 35 34 34 45 35 32 35 30  ILE = 0x544E5250
1d960 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e   }....extern(Win
1d970 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f  dows) export DWO
1d980 52 44 20 44 72 61 67 4f 62 6a 65 63 74 28 0d 0a  RD DragObject(..
1d990 20 20 48 57 4e 44 2c 0d 0a 20 20 48 57 4e 44 2c    HWND,..  HWND,
1d9a0 0d 0a 20 20 55 49 4e 54 2c 0d 0a 20 20 55 4c 4f  ..  UINT,..  ULO
1d9b0 4e 47 5f 50 54 52 2c 0d 0a 20 20 48 43 55 52 53  NG_PTR,..  HCURS
1d9c0 4f 52 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  OR);....extern(W
1d9d0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
1d9e0 4f 4f 4c 20 44 72 61 67 44 65 74 65 63 74 28 0d  OOL DragDetect(.
1d9f0 0a 20 20 48 57 4e 44 2c 0d 0a 20 20 50 4f 49 4e  .  HWND,..  POIN
1da00 54 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  T);..// #endif /
1da10 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  * WINVER >= 0x04
1da20 30 30 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28  00 */....extern(
1da30 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
1da40 42 4f 4f 4c 20 44 72 61 77 49 63 6f 6e 28 0d 0a  BOOL DrawIcon(..
1da50 20 20 48 44 43 20 68 44 43 2c 0d 0a 20 20 69 6e    HDC hDC,..  in
1da60 74 20 58 2c 0d 0a 20 20 69 6e 74 20 59 2c 0d 0a  t X,..  int Y,..
1da70 20 20 48 49 43 4f 4e 20 68 49 63 6f 6e 29 3b 0d    HICON hIcon);.
1da80 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f  ...// #ifndef NO
1da90 44 52 41 57 54 45 58 54 0d 0a 0d 0a 65 6e 75 6d  DRAWTEXT....enum
1daa0 20 3a 20 75 69 6e 74 20 7b 20 44 54 5f 54 4f 50   : uint { DT_TOP
1dab0 20 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d   = 0x00000000 }.
1dac0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
1dad0 54 5f 4c 45 46 54 20 3d 20 30 78 30 30 30 30 30  T_LEFT = 0x00000
1dae0 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
1daf0 6e 74 20 7b 20 44 54 5f 43 45 4e 54 45 52 20 3d  nt { DT_CENTER =
1db00 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65   0x00000001 }..e
1db10 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 5f  num : uint { DT_
1db20 52 49 47 48 54 20 3d 20 30 78 30 30 30 30 30 30  RIGHT = 0x000000
1db30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
1db40 74 20 7b 20 44 54 5f 56 43 45 4e 54 45 52 20 3d  t { DT_VCENTER =
1db50 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65   0x00000004 }..e
1db60 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 5f  num : uint { DT_
1db70 42 4f 54 54 4f 4d 20 3d 20 30 78 30 30 30 30 30  BOTTOM = 0x00000
1db80 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
1db90 6e 74 20 7b 20 44 54 5f 57 4f 52 44 42 52 45 41  nt { DT_WORDBREA
1dba0 4b 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d  K = 0x00000010 }
1dbb0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1dbc0 44 54 5f 53 49 4e 47 4c 45 4c 49 4e 45 20 3d 20  DT_SINGLELINE = 
1dbd0 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e  0x00000020 }..en
1dbe0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 5f 45  um : uint { DT_E
1dbf0 58 50 41 4e 44 54 41 42 53 20 3d 20 30 78 30 30  XPANDTABS = 0x00
1dc00 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000040 }..enum :
1dc10 20 75 69 6e 74 20 7b 20 44 54 5f 54 41 42 53 54   uint { DT_TABST
1dc20 4f 50 20 3d 20 30 78 30 30 30 30 30 30 38 30 20  OP = 0x00000080 
1dc30 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1dc40 20 44 54 5f 4e 4f 43 4c 49 50 20 3d 20 30 78 30   DT_NOCLIP = 0x0
1dc50 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000100 }..enum 
1dc60 3a 20 75 69 6e 74 20 7b 20 44 54 5f 45 58 54 45  : uint { DT_EXTE
1dc70 52 4e 41 4c 4c 45 41 44 49 4e 47 20 3d 20 30 78  RNALLEADING = 0x
1dc80 30 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d  00000200 }..enum
1dc90 20 3a 20 75 69 6e 74 20 7b 20 44 54 5f 43 41 4c   : uint { DT_CAL
1dca0 43 52 45 43 54 20 3d 20 30 78 30 30 30 30 30 34  CRECT = 0x000004
1dcb0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
1dcc0 74 20 7b 20 44 54 5f 4e 4f 50 52 45 46 49 58 20  t { DT_NOPREFIX 
1dcd0 3d 20 30 78 30 30 30 30 30 38 30 30 20 7d 0d 0a  = 0x00000800 }..
1dce0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54  enum : uint { DT
1dcf0 5f 49 4e 54 45 52 4e 41 4c 20 3d 20 30 78 30 30  _INTERNAL = 0x00
1dd00 30 30 31 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23  001000 }....// #
1dd10 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  if(WINVER >= 0x0
1dd20 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  400)..enum : uin
1dd30 74 20 7b 20 44 54 5f 45 44 49 54 43 4f 4e 54 52  t { DT_EDITCONTR
1dd40 4f 4c 20 3d 20 30 78 30 30 30 30 32 30 30 30 20  OL = 0x00002000 
1dd50 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1dd60 20 44 54 5f 50 41 54 48 5f 45 4c 4c 49 50 53 49   DT_PATH_ELLIPSI
1dd70 53 20 3d 20 30 78 30 30 30 30 34 30 30 30 20 7d  S = 0x00004000 }
1dd80 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1dd90 44 54 5f 45 4e 44 5f 45 4c 4c 49 50 53 49 53 20  DT_END_ELLIPSIS 
1dda0 3d 20 30 78 30 30 30 30 38 30 30 30 20 7d 0d 0a  = 0x00008000 }..
1ddb0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54  enum : uint { DT
1ddc0 5f 4d 4f 44 49 46 59 53 54 52 49 4e 47 20 3d 20  _MODIFYSTRING = 
1ddd0 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e  0x00010000 }..en
1dde0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 5f 52  um : uint { DT_R
1ddf0 54 4c 52 45 41 44 49 4e 47 20 3d 20 30 78 30 30  TLREADING = 0x00
1de00 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  020000 }..enum :
1de10 20 75 69 6e 74 20 7b 20 44 54 5f 57 4f 52 44 5f   uint { DT_WORD_
1de20 45 4c 4c 49 50 53 49 53 20 3d 20 30 78 30 30 30  ELLIPSIS = 0x000
1de30 34 30 30 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 28  40000 }..// #if(
1de40 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30  WINVER >= 0x0500
1de50 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
1de60 20 44 54 5f 4e 4f 46 55 4c 4c 57 49 44 54 48 43   DT_NOFULLWIDTHC
1de70 48 41 52 42 52 45 41 4b 20 3d 20 30 78 30 30 30  HARBREAK = 0x000
1de80 38 30 30 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 28  80000 }..// #if(
1de90 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
1dea0 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0500)..enum : 
1deb0 75 69 6e 74 20 7b 20 44 54 5f 48 49 44 45 50 52  uint { DT_HIDEPR
1dec0 45 46 49 58 20 3d 20 30 78 30 30 31 30 30 30 30  EFIX = 0x0010000
1ded0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1dee0 20 7b 20 44 54 5f 50 52 45 46 49 58 4f 4e 4c 59   { DT_PREFIXONLY
1def0 20 3d 20 30 78 30 30 32 30 30 30 30 30 20 7d 0d   = 0x00200000 }.
1df00 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57  .// #endif /* _W
1df10 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
1df20 30 35 30 30 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64  0500 */..// #end
1df30 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20  if /* WINVER >= 
1df40 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 73 74 72  0x0500 */....str
1df50 75 63 74 20 74 61 67 44 52 41 57 54 45 58 54 50  uct tagDRAWTEXTP
1df60 41 52 41 4d 53 20 7b 0d 0a 20 20 55 49 4e 54 20  ARAMS {..  UINT 
1df70 63 62 53 69 7a 65 3b 0d 0a 20 20 69 6e 74 20 69  cbSize;..  int i
1df80 54 61 62 4c 65 6e 67 74 68 3b 0d 0a 20 20 69 6e  TabLength;..  in
1df90 74 20 69 4c 65 66 74 4d 61 72 67 69 6e 3b 0d 0a  t iLeftMargin;..
1dfa0 20 20 69 6e 74 20 69 52 69 67 68 74 4d 61 72 67    int iRightMarg
1dfb0 69 6e 3b 0d 0a 20 20 55 49 4e 54 20 75 69 4c 65  in;..  UINT uiLe
1dfc0 6e 67 74 68 44 72 61 77 6e 3b 0d 0a 7d 0d 0a 61  ngthDrawn;..}..a
1dfd0 6c 69 61 73 20 74 61 67 44 52 41 57 54 45 58 54  lias tagDRAWTEXT
1dfe0 50 41 52 41 4d 53 20 44 52 41 57 54 45 58 54 50  PARAMS DRAWTEXTP
1dff0 41 52 41 4d 53 3b 0d 0a 61 6c 69 61 73 20 74 61  ARAMS;..alias ta
1e000 67 44 52 41 57 54 45 58 54 50 41 52 41 4d 53 2a  gDRAWTEXTPARAMS*
1e010 20 4c 50 44 52 41 57 54 45 58 54 50 41 52 41 4d   LPDRAWTEXTPARAM
1e020 53 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  S;....// #endif 
1e030 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
1e040 34 30 30 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e  400 */....extern
1e050 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
1e060 20 69 6e 74 20 44 72 61 77 54 65 78 74 41 28 0d   int DrawTextA(.
1e070 0a 20 20 48 44 43 20 68 44 43 2c 0d 0a 20 20 4c  .  HDC hDC,..  L
1e080 50 43 53 54 52 20 6c 70 53 74 72 69 6e 67 2c 0d  PCSTR lpString,.
1e090 0a 20 20 69 6e 74 20 6e 43 6f 75 6e 74 2c 0d 0a  .  int nCount,..
1e0a0 20 20 4c 50 52 45 43 54 20 6c 70 52 65 63 74 2c    LPRECT lpRect,
1e0b0 0d 0a 20 20 55 49 4e 54 20 75 46 6f 72 6d 61 74  ..  UINT uFormat
1e0c0 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
1e0d0 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 44  ws) export int D
1e0e0 72 61 77 54 65 78 74 57 28 0d 0a 20 20 48 44 43  rawTextW(..  HDC
1e0f0 20 68 44 43 2c 0d 0a 20 20 4c 50 43 57 53 54 52   hDC,..  LPCWSTR
1e100 20 6c 70 53 74 72 69 6e 67 2c 0d 0a 20 20 69 6e   lpString,..  in
1e110 74 20 6e 43 6f 75 6e 74 2c 0d 0a 20 20 4c 50 52  t nCount,..  LPR
1e120 45 43 54 20 6c 70 52 65 63 74 2c 0d 0a 20 20 55  ECT lpRect,..  U
1e130 49 4e 54 20 75 46 6f 72 6d 61 74 29 3b 0d 0a 2f  INT uFormat);../
1e140 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
1e150 0d 0a 61 6c 69 61 73 20 44 72 61 77 54 65 78 74  ..alias DrawText
1e160 57 20 44 72 61 77 54 65 78 74 3b 0d 0a 2f 2f 20  W DrawText;..// 
1e170 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
1e180 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
1e190 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 69 66 28  ICODE....// #if(
1e1a0 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
1e1b0 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  )..extern(Window
1e1c0 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 44 72  s) export int Dr
1e1d0 61 77 54 65 78 74 45 78 41 28 0d 0a 20 20 48 44  awTextExA(..  HD
1e1e0 43 2c 0d 0a 20 20 4c 50 53 54 52 2c 0d 0a 20 20  C,..  LPSTR,..  
1e1f0 69 6e 74 2c 0d 0a 20 20 4c 50 52 45 43 54 2c 0d  int,..  LPRECT,.
1e200 0a 20 20 55 49 4e 54 2c 0d 0a 20 20 4c 50 44 52  .  UINT,..  LPDR
1e210 41 57 54 45 58 54 50 41 52 41 4d 53 29 3b 0d 0a  AWTEXTPARAMS);..
1e220 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
1e230 65 78 70 6f 72 74 20 69 6e 74 20 44 72 61 77 54  export int DrawT
1e240 65 78 74 45 78 57 28 0d 0a 20 20 48 44 43 2c 0d  extExW(..  HDC,.
1e250 0a 20 20 4c 50 57 53 54 52 2c 0d 0a 20 20 69 6e  .  LPWSTR,..  in
1e260 74 2c 0d 0a 20 20 4c 50 52 45 43 54 2c 0d 0a 20  t,..  LPRECT,.. 
1e270 20 55 49 4e 54 2c 0d 0a 20 20 4c 50 44 52 41 57   UINT,..  LPDRAW
1e280 54 45 58 54 50 41 52 41 4d 53 29 3b 0d 0a 2f 2f  TEXTPARAMS);..//
1e290 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
1e2a0 0a 61 6c 69 61 73 20 44 72 61 77 54 65 78 74 45  .alias DrawTextE
1e2b0 78 57 20 44 72 61 77 54 65 78 74 45 78 3b 0d 0a  xW DrawTextEx;..
1e2c0 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
1e2d0 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
1e2e0 21 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 65 6e  !UNICODE..// #en
1e2f0 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d  dif /* WINVER >=
1e300 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f   0x0400 */....//
1e310 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 44 52   #endif /* !NODR
1e320 41 57 54 45 58 54 20 2a 2f 0d 0a 0d 0a 65 78 74  AWTEXT */....ext
1e330 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1e340 6f 72 74 20 42 4f 4f 4c 20 47 72 61 79 53 74 72  ort BOOL GrayStr
1e350 69 6e 67 41 28 0d 0a 20 20 48 44 43 20 68 44 43  ingA(..  HDC hDC
1e360 2c 0d 0a 20 20 48 42 52 55 53 48 20 68 42 72 75  ,..  HBRUSH hBru
1e370 73 68 2c 0d 0a 20 20 47 52 41 59 53 54 52 49 4e  sh,..  GRAYSTRIN
1e380 47 50 52 4f 43 20 6c 70 4f 75 74 70 75 74 46 75  GPROC lpOutputFu
1e390 6e 63 2c 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 70  nc,..  LPARAM lp
1e3a0 44 61 74 61 2c 0d 0a 20 20 69 6e 74 20 6e 43 6f  Data,..  int nCo
1e3b0 75 6e 74 2c 0d 0a 20 20 69 6e 74 20 58 2c 0d 0a  unt,..  int X,..
1e3c0 20 20 69 6e 74 20 59 2c 0d 0a 20 20 69 6e 74 20    int Y,..  int 
1e3d0 6e 57 69 64 74 68 2c 0d 0a 20 20 69 6e 74 20 6e  nWidth,..  int n
1e3e0 48 65 69 67 68 74 29 3b 0d 0a 65 78 74 65 72 6e  Height);..extern
1e3f0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
1e400 20 42 4f 4f 4c 20 47 72 61 79 53 74 72 69 6e 67   BOOL GrayString
1e410 57 28 0d 0a 20 20 48 44 43 20 68 44 43 2c 0d 0a  W(..  HDC hDC,..
1e420 20 20 48 42 52 55 53 48 20 68 42 72 75 73 68 2c    HBRUSH hBrush,
1e430 0d 0a 20 20 47 52 41 59 53 54 52 49 4e 47 50 52  ..  GRAYSTRINGPR
1e440 4f 43 20 6c 70 4f 75 74 70 75 74 46 75 6e 63 2c  OC lpOutputFunc,
1e450 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 70 44 61 74  ..  LPARAM lpDat
1e460 61 2c 0d 0a 20 20 69 6e 74 20 6e 43 6f 75 6e 74  a,..  int nCount
1e470 2c 0d 0a 20 20 69 6e 74 20 58 2c 0d 0a 20 20 69  ,..  int X,..  i
1e480 6e 74 20 59 2c 0d 0a 20 20 69 6e 74 20 6e 57 69  nt Y,..  int nWi
1e490 64 74 68 2c 0d 0a 20 20 69 6e 74 20 6e 48 65 69  dth,..  int nHei
1e4a0 67 68 74 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  ght);..// #ifdef
1e4b0 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
1e4c0 47 72 61 79 53 74 72 69 6e 67 57 20 47 72 61 79  GrayStringW Gray
1e4d0 53 74 72 69 6e 67 3b 0d 0a 2f 2f 20 23 65 6c 73  String;..// #els
1e4e0 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
1e4f0 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
1e500 45 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56  E....// #if(WINV
1e510 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d  ER >= 0x0400)...
1e520 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
1e530 53 54 5f 43 4f 4d 50 4c 45 58 20 3d 20 30 78 30  ST_COMPLEX = 0x0
1e540 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
1e550 6e 74 20 7b 20 44 53 54 5f 54 45 58 54 20 3d 20  nt { DST_TEXT = 
1e560 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0001 }..enum :
1e570 20 75 69 6e 74 20 7b 20 44 53 54 5f 50 52 45 46   uint { DST_PREF
1e580 49 58 54 45 58 54 20 3d 20 30 78 30 30 30 32 20  IXTEXT = 0x0002 
1e590 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1e5a0 20 44 53 54 5f 49 43 4f 4e 20 3d 20 30 78 30 30   DST_ICON = 0x00
1e5b0 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  03 }..enum : uin
1e5c0 74 20 7b 20 44 53 54 5f 42 49 54 4d 41 50 20 3d  t { DST_BITMAP =
1e5d0 20 30 78 30 30 30 34 20 7d 0d 0a 0d 0a 65 6e 75   0x0004 }....enu
1e5e0 6d 20 3a 20 75 69 6e 74 20 7b 20 44 53 53 5f 4e  m : uint { DSS_N
1e5f0 4f 52 4d 41 4c 20 3d 20 30 78 30 30 30 30 20 7d  ORMAL = 0x0000 }
1e600 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1e610 44 53 53 5f 55 4e 49 4f 4e 20 3d 20 30 78 30 30  DSS_UNION = 0x00
1e620 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
1e630 74 20 7b 20 44 53 53 5f 44 49 53 41 42 4c 45 44  t { DSS_DISABLED
1e640 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75   = 0x0020 }..enu
1e650 6d 20 3a 20 75 69 6e 74 20 7b 20 44 53 53 5f 4d  m : uint { DSS_M
1e660 4f 4e 4f 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a  ONO = 0x0080 }..
1e670 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49  // #if(_WIN32_WI
1e680 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a  NNT >= 0x0500)..
1e690 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 53  enum : uint { DS
1e6a0 53 5f 48 49 44 45 50 52 45 46 49 58 20 3d 20 30  S_HIDEPREFIX = 0
1e6b0 78 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0200 }..enum : 
1e6c0 75 69 6e 74 20 7b 20 44 53 53 5f 50 52 45 46 49  uint { DSS_PREFI
1e6d0 58 4f 4e 4c 59 20 3d 20 30 78 30 34 30 30 20 7d  XONLY = 0x0400 }
1e6e0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f  ..// #endif /* _
1e6f0 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
1e700 78 30 35 30 30 20 2a 2f 0d 0a 65 6e 75 6d 20 3a  x0500 */..enum :
1e710 20 75 69 6e 74 20 7b 20 44 53 53 5f 52 49 47 48   uint { DSS_RIGH
1e720 54 20 3d 20 30 78 38 30 30 30 20 7d 0d 0a 0d 0a  T = 0x8000 }....
1e730 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
1e740 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44 72 61 77  export BOOL Draw
1e750 53 74 61 74 65 41 28 0d 0a 20 20 48 44 43 2c 0d  StateA(..  HDC,.
1e760 0a 20 20 48 42 52 55 53 48 2c 0d 0a 20 20 44 52  .  HBRUSH,..  DR
1e770 41 57 53 54 41 54 45 50 52 4f 43 2c 0d 0a 20 20  AWSTATEPROC,..  
1e780 4c 50 41 52 41 4d 2c 0d 0a 20 20 57 50 41 52 41  LPARAM,..  WPARA
1e790 4d 2c 0d 0a 20 20 69 6e 74 2c 0d 0a 20 20 69 6e  M,..  int,..  in
1e7a0 74 2c 0d 0a 20 20 69 6e 74 2c 0d 0a 20 20 69 6e  t,..  int,..  in
1e7b0 74 2c 0d 0a 20 20 55 49 4e 54 29 3b 0d 0a 65 78  t,..  UINT);..ex
1e7c0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
1e7d0 70 6f 72 74 20 42 4f 4f 4c 20 44 72 61 77 53 74  port BOOL DrawSt
1e7e0 61 74 65 57 28 0d 0a 20 20 48 44 43 2c 0d 0a 20  ateW(..  HDC,.. 
1e7f0 20 48 42 52 55 53 48 2c 0d 0a 20 20 44 52 41 57   HBRUSH,..  DRAW
1e800 53 54 41 54 45 50 52 4f 43 2c 0d 0a 20 20 4c 50  STATEPROC,..  LP
1e810 41 52 41 4d 2c 0d 0a 20 20 57 50 41 52 41 4d 2c  ARAM,..  WPARAM,
1e820 0d 0a 20 20 69 6e 74 2c 0d 0a 20 20 69 6e 74 2c  ..  int,..  int,
1e830 0d 0a 20 20 69 6e 74 2c 0d 0a 20 20 69 6e 74 2c  ..  int,..  int,
1e840 0d 0a 20 20 55 49 4e 54 29 3b 0d 0a 2f 2f 20 23  ..  UINT);..// #
1e850 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
1e860 6c 69 61 73 20 44 72 61 77 53 74 61 74 65 57 20  lias DrawStateW 
1e870 44 72 61 77 53 74 61 74 65 3b 0d 0a 2f 2f 20 23  DrawState;..// #
1e880 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
1e890 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
1e8a0 43 4f 44 45 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  CODE..// #endif 
1e8b0 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
1e8c0 34 30 30 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e  400 */....extern
1e8d0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
1e8e0 20 4c 4f 4e 47 20 54 61 62 62 65 64 54 65 78 74   LONG TabbedText
1e8f0 4f 75 74 41 28 0d 0a 20 20 48 44 43 20 68 44 43  OutA(..  HDC hDC
1e900 2c 0d 0a 20 20 69 6e 74 20 58 2c 0d 0a 20 20 69  ,..  int X,..  i
1e910 6e 74 20 59 2c 0d 0a 20 20 4c 50 43 53 54 52 20  nt Y,..  LPCSTR 
1e920 6c 70 53 74 72 69 6e 67 2c 0d 0a 20 20 69 6e 74  lpString,..  int
1e930 20 6e 43 6f 75 6e 74 2c 0d 0a 20 20 69 6e 74 20   nCount,..  int 
1e940 6e 54 61 62 50 6f 73 69 74 69 6f 6e 73 2c 0d 0a  nTabPositions,..
1e950 20 20 49 4e 54 20 2a 6c 70 6e 54 61 62 53 74 6f    INT *lpnTabSto
1e960 70 50 6f 73 69 74 69 6f 6e 73 2c 0d 0a 20 20 69  pPositions,..  i
1e970 6e 74 20 6e 54 61 62 4f 72 69 67 69 6e 29 3b 0d  nt nTabOrigin);.
1e980 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
1e990 20 65 78 70 6f 72 74 20 4c 4f 4e 47 20 54 61 62   export LONG Tab
1e9a0 62 65 64 54 65 78 74 4f 75 74 57 28 0d 0a 20 20  bedTextOutW(..  
1e9b0 48 44 43 20 68 44 43 2c 0d 0a 20 20 69 6e 74 20  HDC hDC,..  int 
1e9c0 58 2c 0d 0a 20 20 69 6e 74 20 59 2c 0d 0a 20 20  X,..  int Y,..  
1e9d0 4c 50 43 57 53 54 52 20 6c 70 53 74 72 69 6e 67  LPCWSTR lpString
1e9e0 2c 0d 0a 20 20 69 6e 74 20 6e 43 6f 75 6e 74 2c  ,..  int nCount,
1e9f0 0d 0a 20 20 69 6e 74 20 6e 54 61 62 50 6f 73 69  ..  int nTabPosi
1ea00 74 69 6f 6e 73 2c 0d 0a 20 20 49 4e 54 20 2a 6c  tions,..  INT *l
1ea10 70 6e 54 61 62 53 74 6f 70 50 6f 73 69 74 69 6f  pnTabStopPositio
1ea20 6e 73 2c 0d 0a 20 20 69 6e 74 20 6e 54 61 62 4f  ns,..  int nTabO
1ea30 72 69 67 69 6e 29 3b 0d 0a 2f 2f 20 23 69 66 64  rigin);..// #ifd
1ea40 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
1ea50 73 20 54 61 62 62 65 64 54 65 78 74 4f 75 74 57  s TabbedTextOutW
1ea60 20 54 61 62 62 65 64 54 65 78 74 4f 75 74 3b 0d   TabbedTextOut;.
1ea70 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
1ea80 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
1ea90 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74   !UNICODE....ext
1eaa0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1eab0 6f 72 74 20 44 57 4f 52 44 20 47 65 74 54 61 62  ort DWORD GetTab
1eac0 62 65 64 54 65 78 74 45 78 74 65 6e 74 41 28 0d  bedTextExtentA(.
1ead0 0a 20 20 48 44 43 20 68 44 43 2c 0d 0a 20 20 4c  .  HDC hDC,..  L
1eae0 50 43 53 54 52 20 6c 70 53 74 72 69 6e 67 2c 0d  PCSTR lpString,.
1eaf0 0a 20 20 69 6e 74 20 6e 43 6f 75 6e 74 2c 0d 0a  .  int nCount,..
1eb00 20 20 69 6e 74 20 6e 54 61 62 50 6f 73 69 74 69    int nTabPositi
1eb10 6f 6e 73 2c 0d 0a 20 20 49 4e 54 20 2a 6c 70 6e  ons,..  INT *lpn
1eb20 54 61 62 53 74 6f 70 50 6f 73 69 74 69 6f 6e 73  TabStopPositions
1eb30 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
1eb40 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44  ws) export DWORD
1eb50 20 47 65 74 54 61 62 62 65 64 54 65 78 74 45 78   GetTabbedTextEx
1eb60 74 65 6e 74 57 28 0d 0a 20 20 48 44 43 20 68 44  tentW(..  HDC hD
1eb70 43 2c 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70  C,..  LPCWSTR lp
1eb80 53 74 72 69 6e 67 2c 0d 0a 20 20 69 6e 74 20 6e  String,..  int n
1eb90 43 6f 75 6e 74 2c 0d 0a 20 20 69 6e 74 20 6e 54  Count,..  int nT
1eba0 61 62 50 6f 73 69 74 69 6f 6e 73 2c 0d 0a 20 20  abPositions,..  
1ebb0 49 4e 54 20 2a 6c 70 6e 54 61 62 53 74 6f 70 50  INT *lpnTabStopP
1ebc0 6f 73 69 74 69 6f 6e 73 29 3b 0d 0a 2f 2f 20 23  ositions);..// #
1ebd0 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
1ebe0 6c 69 61 73 20 47 65 74 54 61 62 62 65 64 54 65  lias GetTabbedTe
1ebf0 78 74 45 78 74 65 6e 74 57 20 47 65 74 54 61 62  xtExtentW GetTab
1ec00 62 65 64 54 65 78 74 45 78 74 65 6e 74 3b 0d 0a  bedTextExtent;..
1ec10 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
1ec20 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
1ec30 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
1ec40 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
1ec50 72 74 20 42 4f 4f 4c 20 55 70 64 61 74 65 57 69  rt BOOL UpdateWi
1ec60 6e 64 6f 77 28 0d 0a 20 20 48 57 4e 44 20 68 57  ndow(..  HWND hW
1ec70 6e 64 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  nd);....extern(W
1ec80 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48  indows) export H
1ec90 57 4e 44 20 53 65 74 41 63 74 69 76 65 57 69 6e  WND SetActiveWin
1eca0 64 6f 77 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  dow(..  HWND hWn
1ecb0 64 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  d);....extern(Wi
1ecc0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57  ndows) export HW
1ecd0 4e 44 20 47 65 74 46 6f 72 65 67 72 6f 75 6e 64  ND GetForeground
1ece0 57 69 6e 64 6f 77 28 29 3b 0d 0a 0d 0a 2f 2f 20  Window();....// 
1ecf0 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  #if(WINVER >= 0x
1ed00 30 34 30 30 29 0d 0a 65 78 74 65 72 6e 28 57 69  0400)..extern(Wi
1ed10 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
1ed20 4f 4c 20 50 61 69 6e 74 44 65 73 6b 74 6f 70 28  OL PaintDesktop(
1ed30 0d 0a 20 20 48 44 43 20 68 64 63 29 3b 0d 0a 0d  ..  HDC hdc);...
1ed40 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
1ed50 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a  NVER >= 0x0400 *
1ed60 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  /....extern(Wind
1ed70 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
1ed80 20 53 65 74 46 6f 72 65 67 72 6f 75 6e 64 57 69   SetForegroundWi
1ed90 6e 64 6f 77 28 0d 0a 20 20 48 57 4e 44 20 68 57  ndow(..  HWND hW
1eda0 6e 64 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28 5f  nd);....// #if(_
1edb0 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
1edc0 78 30 35 30 30 29 0d 0a 65 78 74 65 72 6e 28 57  x0500)..extern(W
1edd0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
1ede0 4f 4f 4c 20 41 6c 6c 6f 77 53 65 74 46 6f 72 65  OOL AllowSetFore
1edf0 67 72 6f 75 6e 64 57 69 6e 64 6f 77 28 0d 0a 20  groundWindow(.. 
1ee00 20 44 57 4f 52 44 20 64 77 50 72 6f 63 65 73 73   DWORD dwProcess
1ee10 49 64 29 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 44  Id);....enum : D
1ee20 57 4f 52 44 20 7b 20 41 53 46 57 5f 41 4e 59 20  WORD { ASFW_ANY 
1ee30 3d 20 63 61 73 74 28 44 57 4f 52 44 29 2d 31 20  = cast(DWORD)-1 
1ee40 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  }....extern(Wind
1ee50 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
1ee60 20 4c 6f 63 6b 53 65 74 46 6f 72 65 67 72 6f 75   LockSetForegrou
1ee70 6e 64 57 69 6e 64 6f 77 28 0d 0a 20 20 55 49 4e  ndWindow(..  UIN
1ee80 54 20 75 4c 6f 63 6b 43 6f 64 65 29 3b 0d 0a 0d  T uLockCode);...
1ee90 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1eea0 53 46 57 5f 4c 4f 43 4b 20 3d 20 31 20 7d 0d 0a  SFW_LOCK = 1 }..
1eeb0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 53  enum : uint { LS
1eec0 46 57 5f 55 4e 4c 4f 43 4b 20 3d 20 32 20 7d 0d  FW_UNLOCK = 2 }.
1eed0 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
1eee0 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
1eef0 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 65 78 74  0x0500 */....ext
1ef00 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1ef10 6f 72 74 20 48 57 4e 44 20 57 69 6e 64 6f 77 46  ort HWND WindowF
1ef20 72 6f 6d 44 43 28 0d 0a 20 20 48 44 43 20 68 44  romDC(..  HDC hD
1ef30 43 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  C);....extern(Wi
1ef40 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 44  ndows) export HD
1ef50 43 20 47 65 74 44 43 28 0d 0a 20 20 48 57 4e 44  C GetDC(..  HWND
1ef60 20 68 57 6e 64 29 3b 0d 0a 0d 0a 65 78 74 65 72   hWnd);....exter
1ef70 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
1ef80 74 20 48 44 43 20 47 65 74 44 43 45 78 28 0d 0a  t HDC GetDCEx(..
1ef90 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20    HWND hWnd,..  
1efa0 48 52 47 4e 20 68 72 67 6e 43 6c 69 70 2c 0d 0a  HRGN hrgnClip,..
1efb0 20 20 44 57 4f 52 44 20 66 6c 61 67 73 29 3b 0d    DWORD flags);.
1efc0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1efd0 20 44 43 58 5f 57 49 4e 44 4f 57 20 3d 20 30 78   DCX_WINDOW = 0x
1efe0 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  00000001 }..enum
1eff0 20 3a 20 75 69 6e 74 20 7b 20 44 43 58 5f 43 41   : uint { DCX_CA
1f000 43 48 45 20 3d 20 30 78 30 30 30 30 30 30 30 32  CHE = 0x00000002
1f010 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1f020 7b 20 44 43 58 5f 4e 4f 52 45 53 45 54 41 54 54  { DCX_NORESETATT
1f030 52 53 20 3d 20 30 78 30 30 30 30 30 30 30 34 20  RS = 0x00000004 
1f040 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1f050 20 44 43 58 5f 43 4c 49 50 43 48 49 4c 44 52 45   DCX_CLIPCHILDRE
1f060 4e 20 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d  N = 0x00000008 }
1f070 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1f080 44 43 58 5f 43 4c 49 50 53 49 42 4c 49 4e 47 53  DCX_CLIPSIBLINGS
1f090 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d   = 0x00000010 }.
1f0a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
1f0b0 43 58 5f 50 41 52 45 4e 54 43 4c 49 50 20 3d 20  CX_PARENTCLIP = 
1f0c0 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e  0x00000020 }..en
1f0d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 43 58 5f  um : uint { DCX_
1f0e0 45 58 43 4c 55 44 45 52 47 4e 20 3d 20 30 78 30  EXCLUDERGN = 0x0
1f0f0 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20  0000040 }..enum 
1f100 3a 20 75 69 6e 74 20 7b 20 44 43 58 5f 49 4e 54  : uint { DCX_INT
1f110 45 52 53 45 43 54 52 47 4e 20 3d 20 30 78 30 30  ERSECTRGN = 0x00
1f120 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000080 }..enum :
1f130 20 75 69 6e 74 20 7b 20 44 43 58 5f 45 58 43 4c   uint { DCX_EXCL
1f140 55 44 45 55 50 44 41 54 45 20 3d 20 30 78 30 30  UDEUPDATE = 0x00
1f150 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000100 }..enum :
1f160 20 75 69 6e 74 20 7b 20 44 43 58 5f 49 4e 54 45   uint { DCX_INTE
1f170 52 53 45 43 54 55 50 44 41 54 45 20 3d 20 30 78  RSECTUPDATE = 0x
1f180 30 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d  00000200 }..enum
1f190 20 3a 20 75 69 6e 74 20 7b 20 44 43 58 5f 4c 4f   : uint { DCX_LO
1f1a0 43 4b 57 49 4e 44 4f 57 55 50 44 41 54 45 20 3d  CKWINDOWUPDATE =
1f1b0 20 30 78 30 30 30 30 30 34 30 30 20 7d 0d 0a 0d   0x00000400 }...
1f1c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
1f1d0 43 58 5f 56 41 4c 49 44 41 54 45 20 3d 20 30 78  CX_VALIDATE = 0x
1f1e0 30 30 32 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 78  00200000 }....ex
1f1f0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
1f200 70 6f 72 74 20 48 44 43 20 47 65 74 57 69 6e 64  port HDC GetWind
1f210 6f 77 44 43 28 0d 0a 20 20 48 57 4e 44 20 68 57  owDC(..  HWND hW
1f220 6e 64 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  nd);....extern(W
1f230 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69  indows) export i
1f240 6e 74 20 52 65 6c 65 61 73 65 44 43 28 0d 0a 20  nt ReleaseDC(.. 
1f250 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 48   HWND hWnd,..  H
1f260 44 43 20 68 44 43 29 3b 0d 0a 0d 0a 65 78 74 65  DC hDC);....exte
1f270 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
1f280 72 74 20 48 44 43 20 42 65 67 69 6e 50 61 69 6e  rt HDC BeginPain
1f290 74 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c  t(..  HWND hWnd,
1f2a0 0d 0a 20 20 4c 50 50 41 49 4e 54 53 54 52 55 43  ..  LPPAINTSTRUC
1f2b0 54 20 6c 70 50 61 69 6e 74 29 3b 0d 0a 0d 0a 65  T lpPaint);....e
1f2c0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
1f2d0 78 70 6f 72 74 20 42 4f 4f 4c 20 45 6e 64 50 61  xport BOOL EndPa
1f2e0 69 6e 74 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  int(..  HWND hWn
1f2f0 64 2c 0d 0a 20 20 50 41 49 4e 54 53 54 52 55 43  d,..  PAINTSTRUC
1f300 54 20 2a 6c 70 50 61 69 6e 74 29 3b 0d 0a 0d 0a  T *lpPaint);....
1f310 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
1f320 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 55  export BOOL GetU
1f330 70 64 61 74 65 52 65 63 74 28 0d 0a 20 20 48 57  pdateRect(..  HW
1f340 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 4c 50 52 45  ND hWnd,..  LPRE
1f350 43 54 20 6c 70 52 65 63 74 2c 0d 0a 20 20 42 4f  CT lpRect,..  BO
1f360 4f 4c 20 62 45 72 61 73 65 29 3b 0d 0a 0d 0a 65  OL bErase);....e
1f370 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
1f380 78 70 6f 72 74 20 69 6e 74 20 47 65 74 55 70 64  xport int GetUpd
1f390 61 74 65 52 67 6e 28 0d 0a 20 20 48 57 4e 44 20  ateRgn(..  HWND 
1f3a0 68 57 6e 64 2c 0d 0a 20 20 48 52 47 4e 20 68 52  hWnd,..  HRGN hR
1f3b0 67 6e 2c 0d 0a 20 20 42 4f 4f 4c 20 62 45 72 61  gn,..  BOOL bEra
1f3c0 73 65 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  se);....extern(W
1f3d0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69  indows) export i
1f3e0 6e 74 20 53 65 74 57 69 6e 64 6f 77 52 67 6e 28  nt SetWindowRgn(
1f3f0 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a  ..  HWND hWnd,..
1f400 20 20 48 52 47 4e 20 68 52 67 6e 2c 0d 0a 20 20    HRGN hRgn,..  
1f410 42 4f 4f 4c 20 62 52 65 64 72 61 77 29 3b 0d 0a  BOOL bRedraw);..
1f420 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
1f430 29 20 65 78 70 6f 72 74 20 69 6e 74 20 47 65 74  ) export int Get
1f440 57 69 6e 64 6f 77 52 67 6e 28 0d 0a 20 20 48 57  WindowRgn(..  HW
1f450 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 48 52 47 4e  ND hWnd,..  HRGN
1f460 20 68 52 67 6e 29 3b 0d 0a 0d 0a 2f 2f 20 23 69   hRgn);....// #i
1f470 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e  f(_WIN32_WINNT >
1f480 3d 20 30 78 30 35 30 31 29 0d 0a 0d 0a 65 78 74  = 0x0501)....ext
1f490 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1f4a0 6f 72 74 20 69 6e 74 20 47 65 74 57 69 6e 64 6f  ort int GetWindo
1f4b0 77 52 67 6e 42 6f 78 28 0d 0a 20 20 48 57 4e 44  wRgnBox(..  HWND
1f4c0 20 68 57 6e 64 2c 0d 0a 20 20 4c 50 52 45 43 54   hWnd,..  LPRECT
1f4d0 20 6c 70 72 63 29 3b 0d 0a 0d 0a 2f 2f 20 23 65   lprc);....// #e
1f4e0 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57  ndif /* _WIN32_W
1f4f0 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a  INNT >= 0x0501 *
1f500 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  /....extern(Wind
1f510 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20  ows) export int 
1f520 45 78 63 6c 75 64 65 55 70 64 61 74 65 52 67 6e  ExcludeUpdateRgn
1f530 28 0d 0a 20 20 48 44 43 20 68 44 43 2c 0d 0a 20  (..  HDC hDC,.. 
1f540 20 48 57 4e 44 20 68 57 6e 64 29 3b 0d 0a 0d 0a   HWND hWnd);....
1f550 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
1f560 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6e 76 61  export BOOL Inva
1f570 6c 69 64 61 74 65 52 65 63 74 28 0d 0a 20 20 48  lidateRect(..  H
1f580 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 52 45 43  WND hWnd,..  REC
1f590 54 20 2a 6c 70 52 65 63 74 2c 0d 0a 20 20 42 4f  T *lpRect,..  BO
1f5a0 4f 4c 20 62 45 72 61 73 65 29 3b 0d 0a 0d 0a 65  OL bErase);....e
1f5b0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
1f5c0 78 70 6f 72 74 20 42 4f 4f 4c 20 56 61 6c 69 64  xport BOOL Valid
1f5d0 61 74 65 52 65 63 74 28 0d 0a 20 20 48 57 4e 44  ateRect(..  HWND
1f5e0 20 68 57 6e 64 2c 0d 0a 20 20 52 45 43 54 20 2a   hWnd,..  RECT *
1f5f0 6c 70 52 65 63 74 29 3b 0d 0a 0d 0a 65 78 74 65  lpRect);....exte
1f600 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
1f610 72 74 20 42 4f 4f 4c 20 49 6e 76 61 6c 69 64 61  rt BOOL Invalida
1f620 74 65 52 67 6e 28 0d 0a 20 20 48 57 4e 44 20 68  teRgn(..  HWND h
1f630 57 6e 64 2c 0d 0a 20 20 48 52 47 4e 20 68 52 67  Wnd,..  HRGN hRg
1f640 6e 2c 0d 0a 20 20 42 4f 4f 4c 20 62 45 72 61 73  n,..  BOOL bEras
1f650 65 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  e);....extern(Wi
1f660 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
1f670 4f 4c 20 56 61 6c 69 64 61 74 65 52 67 6e 28 0d  OL ValidateRgn(.
1f680 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20  .  HWND hWnd,.. 
1f690 20 48 52 47 4e 20 68 52 67 6e 29 3b 0d 0a 0d 0a   HRGN hRgn);....
1f6a0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
1f6b0 65 78 70 6f 72 74 20 42 4f 4f 4c 20 52 65 64 72  export BOOL Redr
1f6c0 61 77 57 69 6e 64 6f 77 28 0d 0a 20 20 48 57 4e  awWindow(..  HWN
1f6d0 44 20 68 57 6e 64 2c 0d 0a 20 20 52 45 43 54 20  D hWnd,..  RECT 
1f6e0 2a 6c 70 72 63 55 70 64 61 74 65 2c 0d 0a 20 20  *lprcUpdate,..  
1f6f0 48 52 47 4e 20 68 72 67 6e 55 70 64 61 74 65 2c  HRGN hrgnUpdate,
1f700 0d 0a 20 20 55 49 4e 54 20 66 6c 61 67 73 29 3b  ..  UINT flags);
1f710 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
1f720 7b 20 52 44 57 5f 49 4e 56 41 4c 49 44 41 54 45  { RDW_INVALIDATE
1f730 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75   = 0x0001 }..enu
1f740 6d 20 3a 20 75 69 6e 74 20 7b 20 52 44 57 5f 49  m : uint { RDW_I
1f750 4e 54 45 52 4e 41 4c 50 41 49 4e 54 20 3d 20 30  NTERNALPAINT = 0
1f760 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0002 }..enum : 
1f770 75 69 6e 74 20 7b 20 52 44 57 5f 45 52 41 53 45  uint { RDW_ERASE
1f780 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 0d 0a 65   = 0x0004 }....e
1f790 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 44 57  num : uint { RDW
1f7a0 5f 56 41 4c 49 44 41 54 45 20 3d 20 30 78 30 30  _VALIDATE = 0x00
1f7b0 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
1f7c0 74 20 7b 20 52 44 57 5f 4e 4f 49 4e 54 45 52 4e  t { RDW_NOINTERN
1f7d0 41 4c 50 41 49 4e 54 20 3d 20 30 78 30 30 31 30  ALPAINT = 0x0010
1f7e0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1f7f0 7b 20 52 44 57 5f 4e 4f 45 52 41 53 45 20 3d 20  { RDW_NOERASE = 
1f800 30 78 30 30 32 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  0x0020 }....enum
1f810 20 3a 20 75 69 6e 74 20 7b 20 52 44 57 5f 4e 4f   : uint { RDW_NO
1f820 43 48 49 4c 44 52 45 4e 20 3d 20 30 78 30 30 34  CHILDREN = 0x004
1f830 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1f840 20 7b 20 52 44 57 5f 41 4c 4c 43 48 49 4c 44 52   { RDW_ALLCHILDR
1f850 45 4e 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a 0d  EN = 0x0080 }...
1f860 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
1f870 44 57 5f 55 50 44 41 54 45 4e 4f 57 20 3d 20 30  DW_UPDATENOW = 0
1f880 78 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0100 }..enum : 
1f890 75 69 6e 74 20 7b 20 52 44 57 5f 45 52 41 53 45  uint { RDW_ERASE
1f8a0 4e 4f 57 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a  NOW = 0x0200 }..
1f8b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1f8c0 52 44 57 5f 46 52 41 4d 45 20 3d 20 30 78 30 34  RDW_FRAME = 0x04
1f8d0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
1f8e0 74 20 7b 20 52 44 57 5f 4e 4f 46 52 41 4d 45 20  t { RDW_NOFRAME 
1f8f0 3d 20 30 78 30 38 30 30 20 7d 0d 0a 0d 0a 65 78  = 0x0800 }....ex
1f900 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
1f910 70 6f 72 74 20 42 4f 4f 4c 20 4c 6f 63 6b 57 69  port BOOL LockWi
1f920 6e 64 6f 77 55 70 64 61 74 65 28 0d 0a 20 20 48  ndowUpdate(..  H
1f930 57 4e 44 20 68 57 6e 64 4c 6f 63 6b 29 3b 0d 0a  WND hWndLock);..
1f940 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
1f950 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 63  ) export BOOL Sc
1f960 72 6f 6c 6c 57 69 6e 64 6f 77 28 0d 0a 20 20 48  rollWindow(..  H
1f970 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 69 6e 74  WND hWnd,..  int
1f980 20 58 41 6d 6f 75 6e 74 2c 0d 0a 20 20 69 6e 74   XAmount,..  int
1f990 20 59 41 6d 6f 75 6e 74 2c 0d 0a 20 20 52 45 43   YAmount,..  REC
1f9a0 54 20 2a 6c 70 52 65 63 74 2c 0d 0a 20 20 52 45  T *lpRect,..  RE
1f9b0 43 54 20 2a 6c 70 43 6c 69 70 52 65 63 74 29 3b  CT *lpClipRect);
1f9c0 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
1f9d0 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
1f9e0 53 63 72 6f 6c 6c 44 43 28 0d 0a 20 20 48 44 43  ScrollDC(..  HDC
1f9f0 20 68 44 43 2c 0d 0a 20 20 69 6e 74 20 64 78 2c   hDC,..  int dx,
1fa00 0d 0a 20 20 69 6e 74 20 64 79 2c 0d 0a 20 20 52  ..  int dy,..  R
1fa10 45 43 54 20 2a 6c 70 72 63 53 63 72 6f 6c 6c 2c  ECT *lprcScroll,
1fa20 0d 0a 20 20 52 45 43 54 20 2a 6c 70 72 63 43 6c  ..  RECT *lprcCl
1fa30 69 70 2c 0d 0a 20 20 48 52 47 4e 20 68 72 67 6e  ip,..  HRGN hrgn
1fa40 55 70 64 61 74 65 2c 0d 0a 20 20 4c 50 52 45 43  Update,..  LPREC
1fa50 54 20 6c 70 72 63 55 70 64 61 74 65 29 3b 0d 0a  T lprcUpdate);..
1fa60 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
1fa70 29 20 65 78 70 6f 72 74 20 69 6e 74 20 53 63 72  ) export int Scr
1fa80 6f 6c 6c 57 69 6e 64 6f 77 45 78 28 0d 0a 20 20  ollWindowEx(..  
1fa90 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 69 6e  HWND hWnd,..  in
1faa0 74 20 64 78 2c 0d 0a 20 20 69 6e 74 20 64 79 2c  t dx,..  int dy,
1fab0 0d 0a 20 20 52 45 43 54 20 2a 70 72 63 53 63 72  ..  RECT *prcScr
1fac0 6f 6c 6c 2c 0d 0a 20 20 52 45 43 54 20 2a 70 72  oll,..  RECT *pr
1fad0 63 43 6c 69 70 2c 0d 0a 20 20 48 52 47 4e 20 68  cClip,..  HRGN h
1fae0 72 67 6e 55 70 64 61 74 65 2c 0d 0a 20 20 4c 50  rgnUpdate,..  LP
1faf0 52 45 43 54 20 70 72 63 55 70 64 61 74 65 2c 0d  RECT prcUpdate,.
1fb00 0a 20 20 55 49 4e 54 20 66 6c 61 67 73 29 3b 0d  .  UINT flags);.
1fb10 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1fb20 20 53 57 5f 53 43 52 4f 4c 4c 43 48 49 4c 44 52   SW_SCROLLCHILDR
1fb30 45 4e 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65  EN = 0x0001 }..e
1fb40 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 57 5f  num : uint { SW_
1fb50 49 4e 56 41 4c 49 44 41 54 45 20 3d 20 30 78 30  INVALIDATE = 0x0
1fb60 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
1fb70 6e 74 20 7b 20 53 57 5f 45 52 41 53 45 20 3d 20  nt { SW_ERASE = 
1fb80 30 78 30 30 30 34 20 7d 0d 0a 2f 2f 20 23 69 66  0x0004 }..// #if
1fb90 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30  (WINVER >= 0x050
1fba0 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
1fbb0 7b 20 53 57 5f 53 4d 4f 4f 54 48 53 43 52 4f 4c  { SW_SMOOTHSCROL
1fbc0 4c 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 2f 2f  L = 0x0010 }..//
1fbd0 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45   #endif /* WINVE
1fbe0 52 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a  R >= 0x0500 */..
1fbf0 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 53  ..// #ifndef NOS
1fc00 43 52 4f 4c 4c 0d 0a 0d 0a 65 78 74 65 72 6e 28  CROLL....extern(
1fc10 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
1fc20 69 6e 74 20 53 65 74 53 63 72 6f 6c 6c 50 6f 73  int SetScrollPos
1fc30 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d  (..  HWND hWnd,.
1fc40 0a 20 20 69 6e 74 20 6e 42 61 72 2c 0d 0a 20 20  .  int nBar,..  
1fc50 69 6e 74 20 6e 50 6f 73 2c 0d 0a 20 20 42 4f 4f  int nPos,..  BOO
1fc60 4c 20 62 52 65 64 72 61 77 29 3b 0d 0a 0d 0a 65  L bRedraw);....e
1fc70 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
1fc80 78 70 6f 72 74 20 69 6e 74 20 47 65 74 53 63 72  xport int GetScr
1fc90 6f 6c 6c 50 6f 73 28 0d 0a 20 20 48 57 4e 44 20  ollPos(..  HWND 
1fca0 68 57 6e 64 2c 0d 0a 20 20 69 6e 74 20 6e 42 61  hWnd,..  int nBa
1fcb0 72 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  r);....extern(Wi
1fcc0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
1fcd0 4f 4c 20 53 65 74 53 63 72 6f 6c 6c 52 61 6e 67  OL SetScrollRang
1fce0 65 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c  e(..  HWND hWnd,
1fcf0 0d 0a 20 20 69 6e 74 20 6e 42 61 72 2c 0d 0a 20  ..  int nBar,.. 
1fd00 20 69 6e 74 20 6e 4d 69 6e 50 6f 73 2c 0d 0a 20   int nMinPos,.. 
1fd10 20 69 6e 74 20 6e 4d 61 78 50 6f 73 2c 0d 0a 20   int nMaxPos,.. 
1fd20 20 42 4f 4f 4c 20 62 52 65 64 72 61 77 29 3b 0d   BOOL bRedraw);.
1fd30 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
1fd40 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47  s) export BOOL G
1fd50 65 74 53 63 72 6f 6c 6c 52 61 6e 67 65 28 0d 0a  etScrollRange(..
1fd60 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20    HWND hWnd,..  
1fd70 69 6e 74 20 6e 42 61 72 2c 0d 0a 20 20 4c 50 49  int nBar,..  LPI
1fd80 4e 54 20 6c 70 4d 69 6e 50 6f 73 2c 0d 0a 20 20  NT lpMinPos,..  
1fd90 4c 50 49 4e 54 20 6c 70 4d 61 78 50 6f 73 29 3b  LPINT lpMaxPos);
1fda0 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
1fdb0 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
1fdc0 53 68 6f 77 53 63 72 6f 6c 6c 42 61 72 28 0d 0a  ShowScrollBar(..
1fdd0 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20    HWND hWnd,..  
1fde0 69 6e 74 20 77 42 61 72 2c 0d 0a 20 20 42 4f 4f  int wBar,..  BOO
1fdf0 4c 20 62 53 68 6f 77 29 3b 0d 0a 0d 0a 65 78 74  L bShow);....ext
1fe00 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1fe10 6f 72 74 20 42 4f 4f 4c 20 45 6e 61 62 6c 65 53  ort BOOL EnableS
1fe20 63 72 6f 6c 6c 42 61 72 28 0d 0a 20 20 48 57 4e  crollBar(..  HWN
1fe30 44 20 68 57 6e 64 2c 0d 0a 20 20 55 49 4e 54 20  D hWnd,..  UINT 
1fe40 77 53 42 66 6c 61 67 73 2c 0d 0a 20 20 55 49 4e  wSBflags,..  UIN
1fe50 54 20 77 41 72 72 6f 77 73 29 3b 0d 0a 0d 0a 65  T wArrows);....e
1fe60 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 53 42  num : uint { ESB
1fe70 5f 45 4e 41 42 4c 45 5f 42 4f 54 48 20 3d 20 30  _ENABLE_BOTH = 0
1fe80 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0000 }..enum : 
1fe90 75 69 6e 74 20 7b 20 45 53 42 5f 44 49 53 41 42  uint { ESB_DISAB
1fea0 4c 45 5f 42 4f 54 48 20 3d 20 30 78 30 30 30 33  LE_BOTH = 0x0003
1feb0 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
1fec0 74 20 7b 20 45 53 42 5f 44 49 53 41 42 4c 45 5f  t { ESB_DISABLE_
1fed0 4c 45 46 54 20 3d 20 30 78 30 30 30 31 20 7d 0d  LEFT = 0x0001 }.
1fee0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
1fef0 53 42 5f 44 49 53 41 42 4c 45 5f 52 49 47 48 54  SB_DISABLE_RIGHT
1ff00 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 0d 0a 65   = 0x0002 }....e
1ff10 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 53 42  num : uint { ESB
1ff20 5f 44 49 53 41 42 4c 45 5f 55 50 20 3d 20 30 78  _DISABLE_UP = 0x
1ff30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
1ff40 69 6e 74 20 7b 20 45 53 42 5f 44 49 53 41 42 4c  int { ESB_DISABL
1ff50 45 5f 44 4f 57 4e 20 3d 20 30 78 30 30 30 32 20  E_DOWN = 0x0002 
1ff60 7d 0d 0a 0d 0a 61 6c 69 61 73 20 45 53 42 5f 44  }....alias ESB_D
1ff70 49 53 41 42 4c 45 5f 4c 45 46 54 20 45 53 42 5f  ISABLE_LEFT ESB_
1ff80 44 49 53 41 42 4c 45 5f 4c 54 55 50 3b 0d 0a 61  DISABLE_LTUP;..a
1ff90 6c 69 61 73 20 45 53 42 5f 44 49 53 41 42 4c 45  lias ESB_DISABLE
1ffa0 5f 52 49 47 48 54 20 45 53 42 5f 44 49 53 41 42  _RIGHT ESB_DISAB
1ffb0 4c 45 5f 52 54 44 4e 3b 0d 0a 0d 0a 2f 2f 20 23  LE_RTDN;....// #
1ffc0 65 6e 64 69 66 20 20 2f 2a 20 21 4e 4f 53 43 52  endif  /* !NOSCR
1ffd0 4f 4c 4c 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e  OLL */....extern
1ffe0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
1fff0 20 42 4f 4f 4c 20 53 65 74 50 72 6f 70 41 28 0d   BOOL SetPropA(.
20000 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20  .  HWND hWnd,.. 
20010 20 4c 50 43 53 54 52 20 6c 70 53 74 72 69 6e 67   LPCSTR lpString
20020 2c 0d 0a 20 20 48 41 4e 44 4c 45 20 68 44 61 74  ,..  HANDLE hDat
20030 61 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  a);..extern(Wind
20040 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
20050 20 53 65 74 50 72 6f 70 57 28 0d 0a 20 20 48 57   SetPropW(..  HW
20060 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 4c 50 43 57  ND hWnd,..  LPCW
20070 53 54 52 20 6c 70 53 74 72 69 6e 67 2c 0d 0a 20  STR lpString,.. 
20080 20 48 41 4e 44 4c 45 20 68 44 61 74 61 29 3b 0d   HANDLE hData);.
20090 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
200a0 44 45 0d 0a 61 6c 69 61 73 20 53 65 74 50 72 6f  DE..alias SetPro
200b0 70 57 20 53 65 74 50 72 6f 70 3b 0d 0a 2f 2f 20  pW SetProp;..// 
200c0 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
200d0 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
200e0 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
200f0 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
20100 48 41 4e 44 4c 45 20 47 65 74 50 72 6f 70 41 28  HANDLE GetPropA(
20110 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a  ..  HWND hWnd,..
20120 20 20 4c 50 43 53 54 52 20 6c 70 53 74 72 69 6e    LPCSTR lpStrin
20130 67 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  g);..extern(Wind
20140 6f 77 73 29 20 65 78 70 6f 72 74 20 48 41 4e 44  ows) export HAND
20150 4c 45 20 47 65 74 50 72 6f 70 57 28 0d 0a 20 20  LE GetPropW(..  
20160 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 4c 50  HWND hWnd,..  LP
20170 43 57 53 54 52 20 6c 70 53 74 72 69 6e 67 29 3b  CWSTR lpString);
20180 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
20190 4f 44 45 0d 0a 61 6c 69 61 73 20 47 65 74 50 72  ODE..alias GetPr
201a0 6f 70 57 20 47 65 74 50 72 6f 70 3b 0d 0a 2f 2f  opW GetProp;..//
201b0 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
201c0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
201d0 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
201e0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
201f0 20 48 41 4e 44 4c 45 20 52 65 6d 6f 76 65 50 72   HANDLE RemovePr
20200 6f 70 41 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  opA(..  HWND hWn
20210 64 2c 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 53  d,..  LPCSTR lpS
20220 74 72 69 6e 67 29 3b 0d 0a 65 78 74 65 72 6e 28  tring);..extern(
20230 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
20240 48 41 4e 44 4c 45 20 52 65 6d 6f 76 65 50 72 6f  HANDLE RemovePro
20250 70 57 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  pW(..  HWND hWnd
20260 2c 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 53  ,..  LPCWSTR lpS
20270 74 72 69 6e 67 29 3b 0d 0a 2f 2f 20 23 69 66 64  tring);..// #ifd
20280 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
20290 73 20 52 65 6d 6f 76 65 50 72 6f 70 57 20 52 65  s RemovePropW Re
202a0 6d 6f 76 65 50 72 6f 70 3b 0d 0a 2f 2f 20 23 65  moveProp;..// #e
202b0 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
202c0 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
202d0 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ODE....extern(Wi
202e0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e  ndows) export in
202f0 74 20 45 6e 75 6d 50 72 6f 70 73 45 78 41 28 0d  t EnumPropsExA(.
20300 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20  .  HWND hWnd,.. 
20310 20 50 52 4f 50 45 4e 55 4d 50 52 4f 43 45 58 41   PROPENUMPROCEXA
20320 20 6c 70 45 6e 75 6d 46 75 6e 63 2c 0d 0a 20 20   lpEnumFunc,..  
20330 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 29 3b 0d  LPARAM lParam);.
20340 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
20350 20 65 78 70 6f 72 74 20 69 6e 74 20 45 6e 75 6d   export int Enum
20360 50 72 6f 70 73 45 78 57 28 0d 0a 20 20 48 57 4e  PropsExW(..  HWN
20370 44 20 68 57 6e 64 2c 0d 0a 20 20 50 52 4f 50 45  D hWnd,..  PROPE
20380 4e 55 4d 50 52 4f 43 45 58 57 20 6c 70 45 6e 75  NUMPROCEXW lpEnu
20390 6d 46 75 6e 63 2c 0d 0a 20 20 4c 50 41 52 41 4d  mFunc,..  LPARAM
203a0 20 6c 50 61 72 61 6d 29 3b 0d 0a 2f 2f 20 23 69   lParam);..// #i
203b0 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
203c0 69 61 73 20 45 6e 75 6d 50 72 6f 70 73 45 78 57  ias EnumPropsExW
203d0 20 45 6e 75 6d 50 72 6f 70 73 45 78 3b 0d 0a 2f   EnumPropsEx;../
203e0 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
203f0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
20400 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
20410 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
20420 74 20 69 6e 74 20 45 6e 75 6d 50 72 6f 70 73 41  t int EnumPropsA
20430 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d  (..  HWND hWnd,.
20440 0a 20 20 50 52 4f 50 45 4e 55 4d 50 52 4f 43 41  .  PROPENUMPROCA
20450 20 6c 70 45 6e 75 6d 46 75 6e 63 29 3b 0d 0a 65   lpEnumFunc);..e
20460 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
20470 78 70 6f 72 74 20 69 6e 74 20 45 6e 75 6d 50 72  xport int EnumPr
20480 6f 70 73 57 28 0d 0a 20 20 48 57 4e 44 20 68 57  opsW(..  HWND hW
20490 6e 64 2c 0d 0a 20 20 50 52 4f 50 45 4e 55 4d 50  nd,..  PROPENUMP
204a0 52 4f 43 57 20 6c 70 45 6e 75 6d 46 75 6e 63 29  ROCW lpEnumFunc)
204b0 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
204c0 43 4f 44 45 0d 0a 61 6c 69 61 73 20 45 6e 75 6d  CODE..alias Enum
204d0 50 72 6f 70 73 57 20 45 6e 75 6d 50 72 6f 70 73  PropsW EnumProps
204e0 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
204f0 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  #.....// #endif 
20500 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65  // !UNICODE....e
20510 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
20520 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74 57 69  xport BOOL SetWi
20530 6e 64 6f 77 54 65 78 74 41 28 0d 0a 20 20 48 57  ndowTextA(..  HW
20540 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 4c 50 43 53  ND hWnd,..  LPCS
20550 54 52 20 6c 70 53 74 72 69 6e 67 29 3b 0d 0a 65  TR lpString);..e
20560 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
20570 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74 57 69  xport BOOL SetWi
20580 6e 64 6f 77 54 65 78 74 57 28 0d 0a 20 20 48 57  ndowTextW(..  HW
20590 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 4c 50 43 57  ND hWnd,..  LPCW
205a0 53 54 52 20 6c 70 53 74 72 69 6e 67 29 3b 0d 0a  STR lpString);..
205b0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
205c0 45 0d 0a 61 6c 69 61 73 20 53 65 74 57 69 6e 64  E..alias SetWind
205d0 6f 77 54 65 78 74 57 20 53 65 74 57 69 6e 64 6f  owTextW SetWindo
205e0 77 54 65 78 74 3b 0d 0a 2f 2f 20 23 65 6c 73 65  wText;..// #else
205f0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
20600 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
20610 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
20620 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 47  ws) export int G
20630 65 74 57 69 6e 64 6f 77 54 65 78 74 41 28 0d 0a  etWindowTextA(..
20640 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20    HWND hWnd,..  
20650 4c 50 53 54 52 20 6c 70 53 74 72 69 6e 67 2c 0d  LPSTR lpString,.
20660 0a 20 20 69 6e 74 20 6e 4d 61 78 43 6f 75 6e 74  .  int nMaxCount
20670 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
20680 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 47  ws) export int G
20690 65 74 57 69 6e 64 6f 77 54 65 78 74 57 28 0d 0a  etWindowTextW(..
206a0 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20    HWND hWnd,..  
206b0 4c 50 57 53 54 52 20 6c 70 53 74 72 69 6e 67 2c  LPWSTR lpString,
206c0 0d 0a 20 20 69 6e 74 20 6e 4d 61 78 43 6f 75 6e  ..  int nMaxCoun
206d0 74 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  t);..// #ifdef U
206e0 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 47 65  NICODE..alias Ge
206f0 74 57 69 6e 64 6f 77 54 65 78 74 57 20 47 65 74  tWindowTextW Get
20700 57 69 6e 64 6f 77 54 65 78 74 3b 0d 0a 2f 2f 20  WindowText;..// 
20710 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
20720 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
20730 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
20740 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
20750 69 6e 74 20 47 65 74 57 69 6e 64 6f 77 54 65 78  int GetWindowTex
20760 74 4c 65 6e 67 74 68 41 28 0d 0a 20 20 48 57 4e  tLengthA(..  HWN
20770 44 20 68 57 6e 64 29 3b 0d 0a 65 78 74 65 72 6e  D hWnd);..extern
20780 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
20790 20 69 6e 74 20 47 65 74 57 69 6e 64 6f 77 54 65   int GetWindowTe
207a0 78 74 4c 65 6e 67 74 68 57 28 0d 0a 20 20 48 57  xtLengthW(..  HW
207b0 4e 44 20 68 57 6e 64 29 3b 0d 0a 2f 2f 20 23 69  ND hWnd);..// #i
207c0 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
207d0 69 61 73 20 47 65 74 57 69 6e 64 6f 77 54 65 78  ias GetWindowTex
207e0 74 4c 65 6e 67 74 68 57 20 47 65 74 57 69 6e 64  tLengthW GetWind
207f0 6f 77 54 65 78 74 4c 65 6e 67 74 68 3b 0d 0a 2f  owTextLength;../
20800 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
20810 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
20820 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
20830 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
20840 74 20 42 4f 4f 4c 20 47 65 74 43 6c 69 65 6e 74  t BOOL GetClient
20850 52 65 63 74 28 0d 0a 20 20 48 57 4e 44 20 68 57  Rect(..  HWND hW
20860 6e 64 2c 0d 0a 20 20 4c 50 52 45 43 54 20 6c 70  nd,..  LPRECT lp
20870 52 65 63 74 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  Rect);....extern
20880 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
20890 20 42 4f 4f 4c 20 47 65 74 57 69 6e 64 6f 77 52   BOOL GetWindowR
208a0 65 63 74 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  ect(..  HWND hWn
208b0 64 2c 0d 0a 20 20 4c 50 52 45 43 54 20 6c 70 52  d,..  LPRECT lpR
208c0 65 63 74 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  ect);....extern(
208d0 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
208e0 42 4f 4f 4c 20 41 64 6a 75 73 74 57 69 6e 64 6f  BOOL AdjustWindo
208f0 77 52 65 63 74 28 0d 0a 20 20 4c 50 52 45 43 54  wRect(..  LPRECT
20900 20 6c 70 52 65 63 74 2c 0d 0a 20 20 44 57 4f 52   lpRect,..  DWOR
20910 44 20 64 77 53 74 79 6c 65 2c 0d 0a 20 20 42 4f  D dwStyle,..  BO
20920 4f 4c 20 62 4d 65 6e 75 29 3b 0d 0a 0d 0a 65 78  OL bMenu);....ex
20930 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
20940 70 6f 72 74 20 42 4f 4f 4c 20 41 64 6a 75 73 74  port BOOL Adjust
20950 57 69 6e 64 6f 77 52 65 63 74 45 78 28 0d 0a 20  WindowRectEx(.. 
20960 20 4c 50 52 45 43 54 20 6c 70 52 65 63 74 2c 0d   LPRECT lpRect,.
20970 0a 20 20 44 57 4f 52 44 20 64 77 53 74 79 6c 65  .  DWORD dwStyle
20980 2c 0d 0a 20 20 42 4f 4f 4c 20 62 4d 65 6e 75 2c  ,..  BOOL bMenu,
20990 0d 0a 20 20 44 57 4f 52 44 20 64 77 45 78 53 74  ..  DWORD dwExSt
209a0 79 6c 65 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28  yle);....// #if(
209b0 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
209c0 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
209d0 20 48 45 4c 50 49 4e 46 4f 5f 57 49 4e 44 4f 57   HELPINFO_WINDOW
209e0 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75   = 0x0001 }..enu
209f0 6d 20 3a 20 75 69 6e 74 20 7b 20 48 45 4c 50 49  m : uint { HELPI
20a00 4e 46 4f 5f 4d 45 4e 55 49 54 45 4d 20 3d 20 30  NFO_MENUITEM = 0
20a10 78 30 30 30 32 20 7d 0d 0a 73 74 72 75 63 74 20  x0002 }..struct 
20a20 74 61 67 48 45 4c 50 49 4e 46 4f 20 7b 0d 0a 20  tagHELPINFO {.. 
20a30 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20   UINT cbSize;.. 
20a40 20 69 6e 74 20 69 43 6f 6e 74 65 78 74 54 79 70   int iContextTyp
20a50 65 3b 0d 0a 20 20 69 6e 74 20 69 43 74 72 6c 49  e;..  int iCtrlI
20a60 64 3b 0d 0a 20 20 48 41 4e 44 4c 45 20 68 49 74  d;..  HANDLE hIt
20a70 65 6d 48 61 6e 64 6c 65 3b 0d 0a 20 20 44 57 4f  emHandle;..  DWO
20a80 52 44 5f 50 54 52 20 64 77 43 6f 6e 74 65 78 74  RD_PTR dwContext
20a90 49 64 3b 0d 0a 20 20 50 4f 49 4e 54 20 4d 6f 75  Id;..  POINT Mou
20aa0 73 65 50 6f 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  sePos;..}..alias
20ab0 20 74 61 67 48 45 4c 50 49 4e 46 4f 20 48 45 4c   tagHELPINFO HEL
20ac0 50 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61  PINFO;..alias ta
20ad0 67 48 45 4c 50 49 4e 46 4f 2a 20 4c 50 48 45 4c  gHELPINFO* LPHEL
20ae0 50 49 4e 46 4f 3b 0d 0a 0d 0a 65 78 74 65 72 6e  PINFO;....extern
20af0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
20b00 20 42 4f 4f 4c 20 53 65 74 57 69 6e 64 6f 77 43   BOOL SetWindowC
20b10 6f 6e 74 65 78 74 48 65 6c 70 49 64 28 0d 0a 20  ontextHelpId(.. 
20b20 20 48 57 4e 44 2c 0d 0a 20 20 44 57 4f 52 44 29   HWND,..  DWORD)
20b30 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
20b40 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52  ows) export DWOR
20b50 44 20 47 65 74 57 69 6e 64 6f 77 43 6f 6e 74 65  D GetWindowConte
20b60 78 74 48 65 6c 70 49 64 28 0d 0a 20 20 48 57 4e  xtHelpId(..  HWN
20b70 44 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  D);....extern(Wi
20b80 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
20b90 4f 4c 20 53 65 74 4d 65 6e 75 43 6f 6e 74 65 78  OL SetMenuContex
20ba0 74 48 65 6c 70 49 64 28 0d 0a 20 20 48 4d 45 4e  tHelpId(..  HMEN
20bb0 55 2c 0d 0a 20 20 44 57 4f 52 44 29 3b 0d 0a 0d  U,..  DWORD);...
20bc0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
20bd0 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20 47 65   export DWORD Ge
20be0 74 4d 65 6e 75 43 6f 6e 74 65 78 74 48 65 6c 70  tMenuContextHelp
20bf0 49 64 28 0d 0a 20 20 48 4d 45 4e 55 29 3b 0d 0a  Id(..  HMENU);..
20c00 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
20c10 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20  INVER >= 0x0400 
20c20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  */....// #ifndef
20c30 20 4e 4f 4d 42 0d 0a 0d 0a 65 6e 75 6d 20 3a 20   NOMB....enum : 
20c40 75 69 6e 74 20 7b 20 4d 42 5f 4f 4b 20 3d 20 30  uint { MB_OK = 0
20c50 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x00000000 }..enu
20c60 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 42 5f 4f 4b  m : uint { MB_OK
20c70 43 41 4e 43 45 4c 20 3d 20 30 78 30 30 30 30 30  CANCEL = 0x00000
20c80 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
20c90 6e 74 20 7b 20 4d 42 5f 41 42 4f 52 54 52 45 54  nt { MB_ABORTRET
20ca0 52 59 49 47 4e 4f 52 45 20 3d 20 30 78 30 30 30  RYIGNORE = 0x000
20cb0 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00002 }..enum : 
20cc0 75 69 6e 74 20 7b 20 4d 42 5f 59 45 53 4e 4f 43  uint { MB_YESNOC
20cd0 41 4e 43 45 4c 20 3d 20 30 78 30 30 30 30 30 30  ANCEL = 0x000000
20ce0 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  03 }..enum : uin
20cf0 74 20 7b 20 4d 42 5f 59 45 53 4e 4f 20 3d 20 30  t { MB_YESNO = 0
20d00 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75  x00000004 }..enu
20d10 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 42 5f 52 45  m : uint { MB_RE
20d20 54 52 59 43 41 4e 43 45 4c 20 3d 20 30 78 30 30  TRYCANCEL = 0x00
20d30 30 30 30 30 30 35 20 7d 0d 0a 2f 2f 20 23 69 66  000005 }..// #if
20d40 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30  (WINVER >= 0x050
20d50 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
20d60 7b 20 4d 42 5f 43 41 4e 43 45 4c 54 52 59 43 4f  { MB_CANCELTRYCO
20d70 4e 54 49 4e 55 45 20 3d 20 30 78 30 30 30 30 30  NTINUE = 0x00000
20d80 30 30 36 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  006 }..// #endif
20d90 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
20da0 30 35 30 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20  0500 */....enum 
20db0 3a 20 75 69 6e 74 20 7b 20 4d 42 5f 49 43 4f 4e  : uint { MB_ICON
20dc0 48 41 4e 44 20 3d 20 30 78 30 30 30 30 30 30 31  HAND = 0x0000001
20dd0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
20de0 20 7b 20 4d 42 5f 49 43 4f 4e 51 55 45 53 54 49   { MB_ICONQUESTI
20df0 4f 4e 20 3d 20 30 78 30 30 30 30 30 30 32 30 20  ON = 0x00000020 
20e00 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
20e10 20 4d 42 5f 49 43 4f 4e 45 58 43 4c 41 4d 41 54   MB_ICONEXCLAMAT
20e20 49 4f 4e 20 3d 20 30 78 30 30 30 30 30 30 33 30  ION = 0x00000030
20e30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
20e40 7b 20 4d 42 5f 49 43 4f 4e 41 53 54 45 52 49 53  { MB_ICONASTERIS
20e50 4b 20 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d  K = 0x00000040 }
20e60 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45  ....// #if(WINVE
20e70 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  R >= 0x0400)..en
20e80 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 42 5f 55  um : uint { MB_U
20e90 53 45 52 49 43 4f 4e 20 3d 20 30 78 30 30 30 30  SERICON = 0x0000
20ea0 30 30 38 30 20 7d 0d 0a 61 6c 69 61 73 20 4d 42  0080 }..alias MB
20eb0 5f 49 43 4f 4e 45 58 43 4c 41 4d 41 54 49 4f 4e  _ICONEXCLAMATION
20ec0 20 4d 42 5f 49 43 4f 4e 57 41 52 4e 49 4e 47 3b   MB_ICONWARNING;
20ed0 0d 0a 61 6c 69 61 73 20 4d 42 5f 49 43 4f 4e 48  ..alias MB_ICONH
20ee0 41 4e 44 20 4d 42 5f 49 43 4f 4e 45 52 52 4f 52  AND MB_ICONERROR
20ef0 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ;..// #endif /* 
20f00 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
20f10 20 2a 2f 0d 0a 0d 0a 61 6c 69 61 73 20 4d 42 5f   */....alias MB_
20f20 49 43 4f 4e 41 53 54 45 52 49 53 4b 20 4d 42 5f  ICONASTERISK MB_
20f30 49 43 4f 4e 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b  ICONINFORMATION;
20f40 0d 0a 61 6c 69 61 73 20 4d 42 5f 49 43 4f 4e 48  ..alias MB_ICONH
20f50 41 4e 44 20 4d 42 5f 49 43 4f 4e 53 54 4f 50 3b  AND MB_ICONSTOP;
20f60 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
20f70 7b 20 4d 42 5f 44 45 46 42 55 54 54 4f 4e 31 20  { MB_DEFBUTTON1 
20f80 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x00000000 }..
20f90 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 42  enum : uint { MB
20fa0 5f 44 45 46 42 55 54 54 4f 4e 32 20 3d 20 30 78  _DEFBUTTON2 = 0x
20fb0 30 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d  00000100 }..enum
20fc0 20 3a 20 75 69 6e 74 20 7b 20 4d 42 5f 44 45 46   : uint { MB_DEF
20fd0 42 55 54 54 4f 4e 33 20 3d 20 30 78 30 30 30 30  BUTTON3 = 0x0000
20fe0 30 32 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 57  0200 }..// #if(W
20ff0 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
21000 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
21010 4d 42 5f 44 45 46 42 55 54 54 4f 4e 34 20 3d 20  MB_DEFBUTTON4 = 
21020 30 78 30 30 30 30 30 33 30 30 20 7d 0d 0a 2f 2f  0x00000300 }..//
21030 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45   #endif /* WINVE
21040 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a  R >= 0x0400 */..
21050 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
21060 4d 42 5f 41 50 50 4c 4d 4f 44 41 4c 20 3d 20 30  MB_APPLMODAL = 0
21070 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x00000000 }..enu
21080 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 42 5f 53 59  m : uint { MB_SY
21090 53 54 45 4d 4d 4f 44 41 4c 20 3d 20 30 78 30 30  STEMMODAL = 0x00
210a0 30 30 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  001000 }..enum :
210b0 20 75 69 6e 74 20 7b 20 4d 42 5f 54 41 53 4b 4d   uint { MB_TASKM
210c0 4f 44 41 4c 20 3d 20 30 78 30 30 30 30 32 30 30  ODAL = 0x0000200
210d0 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56  0 }..// #if(WINV
210e0 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65  ER >= 0x0400)..e
210f0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 42 5f  num : uint { MB_
21100 48 45 4c 50 20 3d 20 30 78 30 30 30 30 34 30 30  HELP = 0x0000400
21110 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  0 }..// #endif /
21120 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  * WINVER >= 0x04
21130 30 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  00 */....enum : 
21140 75 69 6e 74 20 7b 20 4d 42 5f 4e 4f 46 4f 43 55  uint { MB_NOFOCU
21150 53 20 3d 20 30 78 30 30 30 30 38 30 30 30 20 7d  S = 0x00008000 }
21160 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
21170 4d 42 5f 53 45 54 46 4f 52 45 47 52 4f 55 4e 44  MB_SETFOREGROUND
21180 20 3d 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d   = 0x00010000 }.
21190 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
211a0 42 5f 44 45 46 41 55 4c 54 5f 44 45 53 4b 54 4f  B_DEFAULT_DESKTO
211b0 50 5f 4f 4e 4c 59 20 3d 20 30 78 30 30 30 32 30  P_ONLY = 0x00020
211c0 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 28  000 }....// #if(
211d0 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
211e0 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
211f0 20 4d 42 5f 54 4f 50 4d 4f 53 54 20 3d 20 30 78   MB_TOPMOST = 0x
21200 30 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00040000 }..enum
21210 20 3a 20 75 69 6e 74 20 7b 20 4d 42 5f 52 49 47   : uint { MB_RIG
21220 48 54 20 3d 20 30 78 30 30 30 38 30 30 30 30 20  HT = 0x00080000 
21230 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
21240 20 4d 42 5f 52 54 4c 52 45 41 44 49 4e 47 20 3d   MB_RTLREADING =
21250 20 30 78 30 30 31 30 30 30 30 30 20 7d 0d 0a 0d   0x00100000 }...
21260 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
21270 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a  NVER >= 0x0400 *
21280 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f  /....// #ifdef _
21290 57 49 4e 33 32 5f 57 49 4e 4e 54 0d 0a 2f 2f 20  WIN32_WINNT..// 
212a0 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e  #if (_WIN32_WINN
212b0 54 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  T >= 0x0400)..en
212c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 42 5f 53  um : uint { MB_S
212d0 45 52 56 49 43 45 5f 4e 4f 54 49 46 49 43 41 54  ERVICE_NOTIFICAT
212e0 49 4f 4e 20 3d 20 30 78 30 30 32 30 30 30 30 30  ION = 0x00200000
212f0 20 7d 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f   }..// #else..//
21300 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
21310 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
21320 4d 42 5f 53 45 52 56 49 43 45 5f 4e 4f 54 49 46  MB_SERVICE_NOTIF
21330 49 43 41 54 49 4f 4e 5f 4e 54 33 58 20 3d 20 30  ICATION_NT3X = 0
21340 78 30 30 30 34 30 30 30 30 20 7d 0d 0a 2f 2f 20  x00040000 }..// 
21350 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a  #endif....enum :
21360 20 75 69 6e 74 20 7b 20 4d 42 5f 54 59 50 45 4d   uint { MB_TYPEM
21370 41 53 4b 20 3d 20 30 78 30 30 30 30 30 30 30 46  ASK = 0x0000000F
21380 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
21390 7b 20 4d 42 5f 49 43 4f 4e 4d 41 53 4b 20 3d 20  { MB_ICONMASK = 
213a0 30 78 30 30 30 30 30 30 46 30 20 7d 0d 0a 65 6e  0x000000F0 }..en
213b0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 42 5f 44  um : uint { MB_D
213c0 45 46 4d 41 53 4b 20 3d 20 30 78 30 30 30 30 30  EFMASK = 0x00000
213d0 46 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  F00 }..enum : ui
213e0 6e 74 20 7b 20 4d 42 5f 4d 4f 44 45 4d 41 53 4b  nt { MB_MODEMASK
213f0 20 3d 20 30 78 30 30 30 30 33 30 30 30 20 7d 0d   = 0x00003000 }.
21400 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
21410 42 5f 4d 49 53 43 4d 41 53 4b 20 3d 20 30 78 30  B_MISCMASK = 0x0
21420 30 30 30 43 30 30 30 20 7d 0d 0a 0d 0a 65 78 74  000C000 }....ext
21430 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
21440 6f 72 74 20 69 6e 74 20 4d 65 73 73 61 67 65 42  ort int MessageB
21450 6f 78 41 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  oxA(..  HWND hWn
21460 64 2c 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 54  d,..  LPCSTR lpT
21470 65 78 74 2c 0d 0a 20 20 4c 50 43 53 54 52 20 6c  ext,..  LPCSTR l
21480 70 43 61 70 74 69 6f 6e 2c 0d 0a 20 20 55 49 4e  pCaption,..  UIN
21490 54 20 75 54 79 70 65 29 3b 0d 0a 65 78 74 65 72  T uType);..exter
214a0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
214b0 74 20 69 6e 74 20 4d 65 73 73 61 67 65 42 6f 78  t int MessageBox
214c0 57 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c  W(..  HWND hWnd,
214d0 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 54 65  ..  LPCWSTR lpTe
214e0 78 74 2c 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c  xt,..  LPCWSTR l
214f0 70 43 61 70 74 69 6f 6e 2c 0d 0a 20 20 55 49 4e  pCaption,..  UIN
21500 54 20 75 54 79 70 65 29 3b 0d 0a 2f 2f 20 23 69  T uType);..// #i
21510 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
21520 69 61 73 20 4d 65 73 73 61 67 65 42 6f 78 57 20  ias MessageBoxW 
21530 4d 65 73 73 61 67 65 42 6f 78 3b 0d 0a 2f 2f 20  MessageBox;..// 
21540 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
21550 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
21560 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
21570 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
21580 69 6e 74 20 4d 65 73 73 61 67 65 42 6f 78 45 78  int MessageBoxEx
21590 41 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c  A(..  HWND hWnd,
215a0 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 54 65 78  ..  LPCSTR lpTex
215b0 74 2c 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 43  t,..  LPCSTR lpC
215c0 61 70 74 69 6f 6e 2c 0d 0a 20 20 55 49 4e 54 20  aption,..  UINT 
215d0 75 54 79 70 65 2c 0d 0a 20 20 57 4f 52 44 20 77  uType,..  WORD w
215e0 4c 61 6e 67 75 61 67 65 49 64 29 3b 0d 0a 65 78  LanguageId);..ex
215f0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
21600 70 6f 72 74 20 69 6e 74 20 4d 65 73 73 61 67 65  port int Message
21610 42 6f 78 45 78 57 28 0d 0a 20 20 48 57 4e 44 20  BoxExW(..  HWND 
21620 68 57 6e 64 2c 0d 0a 20 20 4c 50 43 57 53 54 52  hWnd,..  LPCWSTR
21630 20 6c 70 54 65 78 74 2c 0d 0a 20 20 4c 50 43 57   lpText,..  LPCW
21640 53 54 52 20 6c 70 43 61 70 74 69 6f 6e 2c 0d 0a  STR lpCaption,..
21650 20 20 55 49 4e 54 20 75 54 79 70 65 2c 0d 0a 20    UINT uType,.. 
21660 20 57 4f 52 44 20 77 4c 61 6e 67 75 61 67 65 49   WORD wLanguageI
21670 64 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  d);..// #ifdef U
21680 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4d 65  NICODE..alias Me
21690 73 73 61 67 65 42 6f 78 45 78 57 20 4d 65 73 73  ssageBoxExW Mess
216a0 61 67 65 42 6f 78 45 78 3b 0d 0a 2f 2f 20 23 65  ageBoxEx;..// #e
216b0 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
216c0 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
216d0 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49  ODE....// #if(WI
216e0 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d  NVER >= 0x0400).
216f0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
21700 73 29 20 61 6c 69 61 73 20 76 6f 69 64 20 66 75  s) alias void fu
21710 6e 63 74 69 6f 6e 28 4c 50 48 45 4c 50 49 4e 46  nction(LPHELPINF
21720 4f 20 6c 70 48 65 6c 70 49 6e 66 6f 29 20 4d 53  O lpHelpInfo) MS
21730 47 42 4f 58 43 41 4c 4c 42 41 43 4b 3b 0d 0a 0d  GBOXCALLBACK;...
21740 0a 73 74 72 75 63 74 20 74 61 67 4d 53 47 42 4f  .struct tagMSGBO
21750 58 50 41 52 41 4d 53 41 20 7b 0d 0a 20 20 55 49  XPARAMSA {..  UI
21760 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 48 57  NT cbSize;..  HW
21770 4e 44 20 68 77 6e 64 4f 77 6e 65 72 3b 0d 0a 20  ND hwndOwner;.. 
21780 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74   HINSTANCE hInst
21790 61 6e 63 65 3b 0d 0a 20 20 4c 50 43 53 54 52 20  ance;..  LPCSTR 
217a0 6c 70 73 7a 54 65 78 74 3b 0d 0a 20 20 4c 50 43  lpszText;..  LPC
217b0 53 54 52 20 6c 70 73 7a 43 61 70 74 69 6f 6e 3b  STR lpszCaption;
217c0 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 74 79 6c  ..  DWORD dwStyl
217d0 65 3b 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73  e;..  LPCSTR lps
217e0 7a 49 63 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44 5f  zIcon;..  DWORD_
217f0 50 54 52 20 64 77 43 6f 6e 74 65 78 74 48 65 6c  PTR dwContextHel
21800 70 49 64 3b 0d 0a 20 20 4d 53 47 42 4f 58 43 41  pId;..  MSGBOXCA
21810 4c 4c 42 41 43 4b 20 6c 70 66 6e 4d 73 67 42 6f  LLBACK lpfnMsgBo
21820 78 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 44 57  xCallback;..  DW
21830 4f 52 44 20 64 77 4c 61 6e 67 75 61 67 65 49 64  ORD dwLanguageId
21840 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d  ;..}..alias tagM
21850 53 47 42 4f 58 50 41 52 41 4d 53 41 20 4d 53 47  SGBOXPARAMSA MSG
21860 42 4f 58 50 41 52 41 4d 53 41 3b 0d 0a 61 6c 69  BOXPARAMSA;..ali
21870 61 73 20 74 61 67 4d 53 47 42 4f 58 50 41 52 41  as tagMSGBOXPARA
21880 4d 53 41 2a 20 50 4d 53 47 42 4f 58 50 41 52 41  MSA* PMSGBOXPARA
21890 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d  MSA;..alias tagM
218a0 53 47 42 4f 58 50 41 52 41 4d 53 41 2a 20 4c 50  SGBOXPARAMSA* LP
218b0 4d 53 47 42 4f 58 50 41 52 41 4d 53 41 3b 0d 0a  MSGBOXPARAMSA;..
218c0 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 53 47 42  ..struct tagMSGB
218d0 4f 58 50 41 52 41 4d 53 57 20 7b 0d 0a 20 20 55  OXPARAMSW {..  U
218e0 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 48  INT cbSize;..  H
218f0 57 4e 44 20 68 77 6e 64 4f 77 6e 65 72 3b 0d 0a  WND hwndOwner;..
21900 20 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73    HINSTANCE hIns
21910 74 61 6e 63 65 3b 0d 0a 20 20 4c 50 43 57 53 54  tance;..  LPCWST
21920 52 20 6c 70 73 7a 54 65 78 74 3b 0d 0a 20 20 4c  R lpszText;..  L
21930 50 43 57 53 54 52 20 6c 70 73 7a 43 61 70 74 69  PCWSTR lpszCapti
21940 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53  on;..  DWORD dwS
21950 74 79 6c 65 3b 0d 0a 20 20 4c 50 43 57 53 54 52  tyle;..  LPCWSTR
21960 20 6c 70 73 7a 49 63 6f 6e 3b 0d 0a 20 20 44 57   lpszIcon;..  DW
21970 4f 52 44 5f 50 54 52 20 64 77 43 6f 6e 74 65 78  ORD_PTR dwContex
21980 74 48 65 6c 70 49 64 3b 0d 0a 20 20 4d 53 47 42  tHelpId;..  MSGB
21990 4f 58 43 41 4c 4c 42 41 43 4b 20 6c 70 66 6e 4d  OXCALLBACK lpfnM
219a0 73 67 42 6f 78 43 61 6c 6c 62 61 63 6b 3b 0d 0a  sgBoxCallback;..
219b0 20 20 44 57 4f 52 44 20 64 77 4c 61 6e 67 75 61    DWORD dwLangua
219c0 67 65 49 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  geId;..}..alias 
219d0 74 61 67 4d 53 47 42 4f 58 50 41 52 41 4d 53 57  tagMSGBOXPARAMSW
219e0 20 4d 53 47 42 4f 58 50 41 52 41 4d 53 57 3b 0d   MSGBOXPARAMSW;.
219f0 0a 61 6c 69 61 73 20 74 61 67 4d 53 47 42 4f 58  .alias tagMSGBOX
21a00 50 41 52 41 4d 53 57 2a 20 50 4d 53 47 42 4f 58  PARAMSW* PMSGBOX
21a10 50 41 52 41 4d 53 57 3b 0d 0a 61 6c 69 61 73 20  PARAMSW;..alias 
21a20 74 61 67 4d 53 47 42 4f 58 50 41 52 41 4d 53 57  tagMSGBOXPARAMSW
21a30 2a 20 4c 50 4d 53 47 42 4f 58 50 41 52 41 4d 53  * LPMSGBOXPARAMS
21a40 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  W;....// #ifdef 
21a50 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4d  UNICODE..alias M
21a60 53 47 42 4f 58 50 41 52 41 4d 53 57 20 4d 53 47  SGBOXPARAMSW MSG
21a70 42 4f 58 50 41 52 41 4d 53 3b 0d 0a 61 6c 69 61  BOXPARAMS;..alia
21a80 73 20 50 4d 53 47 42 4f 58 50 41 52 41 4d 53 57  s PMSGBOXPARAMSW
21a90 20 50 4d 53 47 42 4f 58 50 41 52 41 4d 53 3b 0d   PMSGBOXPARAMS;.
21aa0 0a 61 6c 69 61 73 20 4c 50 4d 53 47 42 4f 58 50  .alias LPMSGBOXP
21ab0 41 52 41 4d 53 57 20 4c 50 4d 53 47 42 4f 58 50  ARAMSW LPMSGBOXP
21ac0 41 52 41 4d 53 3b 0d 0a 2f 2f 20 23 65 6c 73 65  ARAMS;..// #else
21ad0 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  ..// .....// #en
21ae0 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a  dif // UNICODE..
21af0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
21b00 29 20 65 78 70 6f 72 74 20 69 6e 74 20 4d 65 73  ) export int Mes
21b10 73 61 67 65 42 6f 78 49 6e 64 69 72 65 63 74 41  sageBoxIndirectA
21b20 28 0d 0a 20 20 4d 53 47 42 4f 58 50 41 52 41 4d  (..  MSGBOXPARAM
21b30 53 41 20 2a 29 3b 0d 0a 65 78 74 65 72 6e 28 57  SA *);..extern(W
21b40 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69  indows) export i
21b50 6e 74 20 4d 65 73 73 61 67 65 42 6f 78 49 6e 64  nt MessageBoxInd
21b60 69 72 65 63 74 57 28 0d 0a 20 20 4d 53 47 42 4f  irectW(..  MSGBO
21b70 58 50 41 52 41 4d 53 57 20 2a 29 3b 0d 0a 2f 2f  XPARAMSW *);..//
21b80 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
21b90 0a 61 6c 69 61 73 20 4d 65 73 73 61 67 65 42 6f  .alias MessageBo
21ba0 78 49 6e 64 69 72 65 63 74 57 20 4d 65 73 73 61  xIndirectW Messa
21bb0 67 65 42 6f 78 49 6e 64 69 72 65 63 74 3b 0d 0a  geBoxIndirect;..
21bc0 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
21bd0 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
21be0 21 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 65 6e  !UNICODE..// #en
21bf0 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d  dif /* WINVER >=
21c00 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65 78   0x0400 */....ex
21c10 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
21c20 70 6f 72 74 20 42 4f 4f 4c 20 4d 65 73 73 61 67  port BOOL Messag
21c30 65 42 65 65 70 28 0d 0a 20 20 55 49 4e 54 20 75  eBeep(..  UINT u
21c40 54 79 70 65 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e  Type);....// #en
21c50 64 69 66 20 2f 2a 20 21 4e 4f 4d 42 20 2a 2f 0d  dif /* !NOMB */.
21c60 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
21c70 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 53 68  s) export int Sh
21c80 6f 77 43 75 72 73 6f 72 28 0d 0a 20 20 42 4f 4f  owCursor(..  BOO
21c90 4c 20 62 53 68 6f 77 29 3b 0d 0a 0d 0a 65 78 74  L bShow);....ext
21ca0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
21cb0 6f 72 74 20 42 4f 4f 4c 20 53 65 74 43 75 72 73  ort BOOL SetCurs
21cc0 6f 72 50 6f 73 28 0d 0a 20 20 69 6e 74 20 58 2c  orPos(..  int X,
21cd0 0d 0a 20 20 69 6e 74 20 59 29 3b 0d 0a 0d 0a 65  ..  int Y);....e
21ce0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
21cf0 78 70 6f 72 74 20 48 43 55 52 53 4f 52 20 53 65  xport HCURSOR Se
21d00 74 43 75 72 73 6f 72 28 0d 0a 20 20 48 43 55 52  tCursor(..  HCUR
21d10 53 4f 52 20 68 43 75 72 73 6f 72 29 3b 0d 0a 0d  SOR hCursor);...
21d20 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
21d30 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74   export BOOL Get
21d40 43 75 72 73 6f 72 50 6f 73 28 0d 0a 20 20 4c 50  CursorPos(..  LP
21d50 50 4f 49 4e 54 20 6c 70 50 6f 69 6e 74 29 3b 0d  POINT lpPoint);.
21d60 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
21d70 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 43  s) export BOOL C
21d80 6c 69 70 43 75 72 73 6f 72 28 0d 0a 20 20 52 45  lipCursor(..  RE
21d90 43 54 20 2a 6c 70 52 65 63 74 29 3b 0d 0a 0d 0a  CT *lpRect);....
21da0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
21db0 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 43  export BOOL GetC
21dc0 6c 69 70 43 75 72 73 6f 72 28 0d 0a 20 20 4c 50  lipCursor(..  LP
21dd0 52 45 43 54 20 6c 70 52 65 63 74 29 3b 0d 0a 0d  RECT lpRect);...
21de0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
21df0 20 65 78 70 6f 72 74 20 48 43 55 52 53 4f 52 20   export HCURSOR 
21e00 47 65 74 43 75 72 73 6f 72 28 29 3b 0d 0a 0d 0a  GetCursor();....
21e10 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
21e20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 43 72 65 61  export BOOL Crea
21e30 74 65 43 61 72 65 74 28 0d 0a 20 20 48 57 4e 44  teCaret(..  HWND
21e40 20 68 57 6e 64 2c 0d 0a 20 20 48 42 49 54 4d 41   hWnd,..  HBITMA
21e50 50 20 68 42 69 74 6d 61 70 2c 0d 0a 20 20 69 6e  P hBitmap,..  in
21e60 74 20 6e 57 69 64 74 68 2c 0d 0a 20 20 69 6e 74  t nWidth,..  int
21e70 20 6e 48 65 69 67 68 74 29 3b 0d 0a 0d 0a 65 78   nHeight);....ex
21e80 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
21e90 70 6f 72 74 20 55 49 4e 54 20 47 65 74 43 61 72  port UINT GetCar
21ea0 65 74 42 6c 69 6e 6b 54 69 6d 65 28 29 3b 0d 0a  etBlinkTime();..
21eb0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
21ec0 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65  ) export BOOL Se
21ed0 74 43 61 72 65 74 42 6c 69 6e 6b 54 69 6d 65 28  tCaretBlinkTime(
21ee0 0d 0a 20 20 55 49 4e 54 20 75 4d 53 65 63 6f 6e  ..  UINT uMSecon
21ef0 64 73 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  ds);....extern(W
21f00 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
21f10 4f 4f 4c 20 44 65 73 74 72 6f 79 43 61 72 65 74  OOL DestroyCaret
21f20 28 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ();....extern(Wi
21f30 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
21f40 4f 4c 20 48 69 64 65 43 61 72 65 74 28 0d 0a 20  OL HideCaret(.. 
21f50 20 48 57 4e 44 20 68 57 6e 64 29 3b 0d 0a 0d 0a   HWND hWnd);....
21f60 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
21f70 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 68 6f 77  export BOOL Show
21f80 43 61 72 65 74 28 0d 0a 20 20 48 57 4e 44 20 68  Caret(..  HWND h
21f90 57 6e 64 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  Wnd);....extern(
21fa0 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
21fb0 42 4f 4f 4c 20 53 65 74 43 61 72 65 74 50 6f 73  BOOL SetCaretPos
21fc0 28 0d 0a 20 20 69 6e 74 20 58 2c 0d 0a 20 20 69  (..  int X,..  i
21fd0 6e 74 20 59 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  nt Y);....extern
21fe0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
21ff0 20 42 4f 4f 4c 20 47 65 74 43 61 72 65 74 50 6f   BOOL GetCaretPo
22000 73 28 0d 0a 20 20 4c 50 50 4f 49 4e 54 20 6c 70  s(..  LPPOINT lp
22010 50 6f 69 6e 74 29 3b 0d 0a 0d 0a 65 78 74 65 72  Point);....exter
22020 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
22030 74 20 42 4f 4f 4c 20 43 6c 69 65 6e 74 54 6f 53  t BOOL ClientToS
22040 63 72 65 65 6e 28 0d 0a 20 20 48 57 4e 44 20 68  creen(..  HWND h
22050 57 6e 64 2c 0d 0a 20 20 4c 50 50 4f 49 4e 54 20  Wnd,..  LPPOINT 
22060 6c 70 50 6f 69 6e 74 29 3b 0d 0a 0d 0a 65 78 74  lpPoint);....ext
22070 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
22080 6f 72 74 20 42 4f 4f 4c 20 53 63 72 65 65 6e 54  ort BOOL ScreenT
22090 6f 43 6c 69 65 6e 74 28 0d 0a 20 20 48 57 4e 44  oClient(..  HWND
220a0 20 68 57 6e 64 2c 0d 0a 20 20 4c 50 50 4f 49 4e   hWnd,..  LPPOIN
220b0 54 20 6c 70 50 6f 69 6e 74 29 3b 0d 0a 0d 0a 65  T lpPoint);....e
220c0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
220d0 78 70 6f 72 74 20 69 6e 74 20 4d 61 70 57 69 6e  xport int MapWin
220e0 64 6f 77 50 6f 69 6e 74 73 28 0d 0a 20 20 48 57  dowPoints(..  HW
220f0 4e 44 20 68 57 6e 64 46 72 6f 6d 2c 0d 0a 20 20  ND hWndFrom,..  
22100 48 57 4e 44 20 68 57 6e 64 54 6f 2c 0d 0a 20 20  HWND hWndTo,..  
22110 4c 50 50 4f 49 4e 54 20 6c 70 50 6f 69 6e 74 73  LPPOINT lpPoints
22120 2c 0d 0a 20 20 55 49 4e 54 20 63 50 6f 69 6e 74  ,..  UINT cPoint
22130 73 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  s);....extern(Wi
22140 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57  ndows) export HW
22150 4e 44 20 57 69 6e 64 6f 77 46 72 6f 6d 50 6f 69  ND WindowFromPoi
22160 6e 74 28 0d 0a 20 20 50 4f 49 4e 54 20 50 6f 69  nt(..  POINT Poi
22170 6e 74 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  nt);....extern(W
22180 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48  indows) export H
22190 57 4e 44 20 43 68 69 6c 64 57 69 6e 64 6f 77 46  WND ChildWindowF
221a0 72 6f 6d 50 6f 69 6e 74 28 0d 0a 20 20 48 57 4e  romPoint(..  HWN
221b0 44 20 68 57 6e 64 50 61 72 65 6e 74 2c 0d 0a 20  D hWndParent,.. 
221c0 20 50 4f 49 4e 54 20 50 6f 69 6e 74 29 3b 0d 0a   POINT Point);..
221d0 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20  ..// #if(WINVER 
221e0 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d  >= 0x0400)..enum
221f0 20 3a 20 75 69 6e 74 20 7b 20 43 57 50 5f 41 4c   : uint { CWP_AL
22200 4c 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e  L = 0x0000 }..en
22210 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 57 50 5f  um : uint { CWP_
22220 53 4b 49 50 49 4e 56 49 53 49 42 4c 45 20 3d 20  SKIPINVISIBLE = 
22230 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0001 }..enum :
22240 20 75 69 6e 74 20 7b 20 43 57 50 5f 53 4b 49 50   uint { CWP_SKIP
22250 44 49 53 41 42 4c 45 44 20 3d 20 30 78 30 30 30  DISABLED = 0x000
22260 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
22270 20 7b 20 43 57 50 5f 53 4b 49 50 54 52 41 4e 53   { CWP_SKIPTRANS
22280 50 41 52 45 4e 54 20 3d 20 30 78 30 30 30 34 20  PARENT = 0x0004 
22290 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  }....extern(Wind
222a0 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44  ows) export HWND
222b0 20 43 68 69 6c 64 57 69 6e 64 6f 77 46 72 6f 6d   ChildWindowFrom
222c0 50 6f 69 6e 74 45 78 28 48 57 4e 44 2c 20 50 4f  PointEx(HWND, PO
222d0 49 4e 54 2c 20 55 49 4e 54 29 3b 0d 0a 2f 2f 20  INT, UINT);..// 
222e0 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52  #endif /* WINVER
222f0 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d   >= 0x0400 */...
22300 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 43 4f  .// #ifndef NOCO
22310 4c 4f 52 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  LOR....enum : ui
22320 6e 74 20 7b 20 43 54 4c 43 4f 4c 4f 52 5f 4d 53  nt { CTLCOLOR_MS
22330 47 42 4f 58 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d  GBOX = 0 }..enum
22340 20 3a 20 75 69 6e 74 20 7b 20 43 54 4c 43 4f 4c   : uint { CTLCOL
22350 4f 52 5f 45 44 49 54 20 3d 20 31 20 7d 0d 0a 65  OR_EDIT = 1 }..e
22360 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 54 4c  num : uint { CTL
22370 43 4f 4c 4f 52 5f 4c 49 53 54 42 4f 58 20 3d 20  COLOR_LISTBOX = 
22380 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
22390 20 7b 20 43 54 4c 43 4f 4c 4f 52 5f 42 54 4e 20   { CTLCOLOR_BTN 
223a0 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 3 }..enum : ui
223b0 6e 74 20 7b 20 43 54 4c 43 4f 4c 4f 52 5f 44 4c  nt { CTLCOLOR_DL
223c0 47 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  G = 4 }..enum : 
223d0 75 69 6e 74 20 7b 20 43 54 4c 43 4f 4c 4f 52 5f  uint { CTLCOLOR_
223e0 53 43 52 4f 4c 4c 42 41 52 20 3d 20 35 20 7d 0d  SCROLLBAR = 5 }.
223f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
22400 54 4c 43 4f 4c 4f 52 5f 53 54 41 54 49 43 20 3d  TLCOLOR_STATIC =
22410 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   6 }..enum : uin
22420 74 20 7b 20 43 54 4c 43 4f 4c 4f 52 5f 4d 41 58  t { CTLCOLOR_MAX
22430 20 3d 20 37 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a   = 7 }....enum :
22440 20 75 69 6e 74 20 7b 20 43 4f 4c 4f 52 5f 53 43   uint { COLOR_SC
22450 52 4f 4c 4c 42 41 52 20 3d 20 30 20 7d 0d 0a 65  ROLLBAR = 0 }..e
22460 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4c  num : uint { COL
22470 4f 52 5f 42 41 43 4b 47 52 4f 55 4e 44 20 3d 20  OR_BACKGROUND = 
22480 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
22490 20 7b 20 43 4f 4c 4f 52 5f 41 43 54 49 56 45 43   { COLOR_ACTIVEC
224a0 41 50 54 49 4f 4e 20 3d 20 32 20 7d 0d 0a 65 6e  APTION = 2 }..en
224b0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4c 4f  um : uint { COLO
224c0 52 5f 49 4e 41 43 54 49 56 45 43 41 50 54 49 4f  R_INACTIVECAPTIO
224d0 4e 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  N = 3 }..enum : 
224e0 75 69 6e 74 20 7b 20 43 4f 4c 4f 52 5f 4d 45 4e  uint { COLOR_MEN
224f0 55 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  U = 4 }..enum : 
22500 75 69 6e 74 20 7b 20 43 4f 4c 4f 52 5f 57 49 4e  uint { COLOR_WIN
22510 44 4f 57 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20  DOW = 5 }..enum 
22520 3a 20 75 69 6e 74 20 7b 20 43 4f 4c 4f 52 5f 57  : uint { COLOR_W
22530 49 4e 44 4f 57 46 52 41 4d 45 20 3d 20 36 20 7d  INDOWFRAME = 6 }
22540 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
22550 43 4f 4c 4f 52 5f 4d 45 4e 55 54 45 58 54 20 3d  COLOR_MENUTEXT =
22560 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   7 }..enum : uin
22570 74 20 7b 20 43 4f 4c 4f 52 5f 57 49 4e 44 4f 57  t { COLOR_WINDOW
22580 54 45 58 54 20 3d 20 38 20 7d 0d 0a 65 6e 75 6d  TEXT = 8 }..enum
22590 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4c 4f 52 5f   : uint { COLOR_
225a0 43 41 50 54 49 4f 4e 54 45 58 54 20 3d 20 39 20  CAPTIONTEXT = 9 
225b0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
225c0 20 43 4f 4c 4f 52 5f 41 43 54 49 56 45 42 4f 52   COLOR_ACTIVEBOR
225d0 44 45 52 20 3d 20 31 30 20 7d 0d 0a 65 6e 75 6d  DER = 10 }..enum
225e0 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4c 4f 52 5f   : uint { COLOR_
225f0 49 4e 41 43 54 49 56 45 42 4f 52 44 45 52 20 3d  INACTIVEBORDER =
22600 20 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   11 }..enum : ui
22610 6e 74 20 7b 20 43 4f 4c 4f 52 5f 41 50 50 57 4f  nt { COLOR_APPWO
22620 52 4b 53 50 41 43 45 20 3d 20 31 32 20 7d 0d 0a  RKSPACE = 12 }..
22630 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f  enum : uint { CO
22640 4c 4f 52 5f 48 49 47 48 4c 49 47 48 54 20 3d 20  LOR_HIGHLIGHT = 
22650 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  13 }..enum : uin
22660 74 20 7b 20 43 4f 4c 4f 52 5f 48 49 47 48 4c 49  t { COLOR_HIGHLI
22670 47 48 54 54 45 58 54 20 3d 20 31 34 20 7d 0d 0a  GHTTEXT = 14 }..
22680 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f  enum : uint { CO
22690 4c 4f 52 5f 42 54 4e 46 41 43 45 20 3d 20 31 35  LOR_BTNFACE = 15
226a0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
226b0 7b 20 43 4f 4c 4f 52 5f 42 54 4e 53 48 41 44 4f  { COLOR_BTNSHADO
226c0 57 20 3d 20 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a  W = 16 }..enum :
226d0 20 75 69 6e 74 20 7b 20 43 4f 4c 4f 52 5f 47 52   uint { COLOR_GR
226e0 41 59 54 45 58 54 20 3d 20 31 37 20 7d 0d 0a 65  AYTEXT = 17 }..e
226f0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4c  num : uint { COL
22700 4f 52 5f 42 54 4e 54 45 58 54 20 3d 20 31 38 20  OR_BTNTEXT = 18 
22710 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
22720 20 43 4f 4c 4f 52 5f 49 4e 41 43 54 49 56 45 43   COLOR_INACTIVEC
22730 41 50 54 49 4f 4e 54 45 58 54 20 3d 20 31 39 20  APTIONTEXT = 19 
22740 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
22750 20 43 4f 4c 4f 52 5f 42 54 4e 48 49 47 48 4c 49   COLOR_BTNHIGHLI
22760 47 48 54 20 3d 20 32 30 20 7d 0d 0a 0d 0a 2f 2f  GHT = 20 }....//
22770 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
22780 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0400)..enum : u
22790 69 6e 74 20 7b 20 43 4f 4c 4f 52 5f 33 44 44 4b  int { COLOR_3DDK
227a0 53 48 41 44 4f 57 20 3d 20 32 31 20 7d 0d 0a 65  SHADOW = 21 }..e
227b0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4c  num : uint { COL
227c0 4f 52 5f 33 44 4c 49 47 48 54 20 3d 20 32 32 20  OR_3DLIGHT = 22 
227d0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
227e0 20 43 4f 4c 4f 52 5f 49 4e 46 4f 54 45 58 54 20   COLOR_INFOTEXT 
227f0 3d 20 32 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 23 }..enum : u
22800 69 6e 74 20 7b 20 43 4f 4c 4f 52 5f 49 4e 46 4f  int { COLOR_INFO
22810 42 4b 20 3d 20 32 34 20 7d 0d 0a 2f 2f 20 23 65  BK = 24 }..// #e
22820 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e  ndif /* WINVER >
22830 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f  = 0x0400 */..../
22840 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
22850 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0500)..enum : 
22860 75 69 6e 74 20 7b 20 43 4f 4c 4f 52 5f 48 4f 54  uint { COLOR_HOT
22870 4c 49 47 48 54 20 3d 20 32 36 20 7d 0d 0a 65 6e  LIGHT = 26 }..en
22880 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4c 4f  um : uint { COLO
22890 52 5f 47 52 41 44 49 45 4e 54 41 43 54 49 56 45  R_GRADIENTACTIVE
228a0 43 41 50 54 49 4f 4e 20 3d 20 32 37 20 7d 0d 0a  CAPTION = 27 }..
228b0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f  enum : uint { CO
228c0 4c 4f 52 5f 47 52 41 44 49 45 4e 54 49 4e 41 43  LOR_GRADIENTINAC
228d0 54 49 56 45 43 41 50 54 49 4f 4e 20 3d 20 32 38  TIVECAPTION = 28
228e0 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45   }..// #if(WINVE
228f0 52 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e  R >= 0x0501)..en
22900 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4c 4f  um : uint { COLO
22910 52 5f 4d 45 4e 55 48 49 4c 49 47 48 54 20 3d 20  R_MENUHILIGHT = 
22920 32 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  29 }..enum : uin
22930 74 20 7b 20 43 4f 4c 4f 52 5f 4d 45 4e 55 42 41  t { COLOR_MENUBA
22940 52 20 3d 20 33 30 20 7d 0d 0a 2f 2f 20 23 65 6e  R = 30 }..// #en
22950 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d  dif /* WINVER >=
22960 20 30 78 30 35 30 31 20 2a 2f 0d 0a 2f 2f 20 23   0x0501 */..// #
22970 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
22980 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0500 */....
22990 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d  // #if(WINVER >=
229a0 20 30 78 30 34 30 30 29 0d 0a 61 6c 69 61 73 20   0x0400)..alias 
229b0 43 4f 4c 4f 52 5f 42 41 43 4b 47 52 4f 55 4e 44  COLOR_BACKGROUND
229c0 20 43 4f 4c 4f 52 5f 44 45 53 4b 54 4f 50 3b 0d   COLOR_DESKTOP;.
229d0 0a 61 6c 69 61 73 20 43 4f 4c 4f 52 5f 42 54 4e  .alias COLOR_BTN
229e0 46 41 43 45 20 43 4f 4c 4f 52 5f 33 44 46 41 43  FACE COLOR_3DFAC
229f0 45 3b 0d 0a 61 6c 69 61 73 20 43 4f 4c 4f 52 5f  E;..alias COLOR_
22a00 42 54 4e 53 48 41 44 4f 57 20 43 4f 4c 4f 52 5f  BTNSHADOW COLOR_
22a10 33 44 53 48 41 44 4f 57 3b 0d 0a 61 6c 69 61 73  3DSHADOW;..alias
22a20 20 43 4f 4c 4f 52 5f 42 54 4e 48 49 47 48 4c 49   COLOR_BTNHIGHLI
22a30 47 48 54 20 43 4f 4c 4f 52 5f 33 44 48 49 47 48  GHT COLOR_3DHIGH
22a40 4c 49 47 48 54 3b 0d 0a 61 6c 69 61 73 20 43 4f  LIGHT;..alias CO
22a50 4c 4f 52 5f 42 54 4e 48 49 47 48 4c 49 47 48 54  LOR_BTNHIGHLIGHT
22a60 20 43 4f 4c 4f 52 5f 33 44 48 49 4c 49 47 48 54   COLOR_3DHILIGHT
22a70 3b 0d 0a 61 6c 69 61 73 20 43 4f 4c 4f 52 5f 42  ;..alias COLOR_B
22a80 54 4e 48 49 47 48 4c 49 47 48 54 20 43 4f 4c 4f  TNHIGHLIGHT COLO
22a90 52 5f 42 54 4e 48 49 4c 49 47 48 54 3b 0d 0a 2f  R_BTNHILIGHT;../
22aa0 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
22ab0 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  ER >= 0x0400 */.
22ac0 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
22ad0 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20  s) export DWORD 
22ae0 47 65 74 53 79 73 43 6f 6c 6f 72 28 0d 0a 20 20  GetSysColor(..  
22af0 69 6e 74 20 6e 49 6e 64 65 78 29 3b 0d 0a 0d 0a  int nIndex);....
22b00 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d  // #if(WINVER >=
22b10 20 30 78 30 34 30 30 29 0d 0a 65 78 74 65 72 6e   0x0400)..extern
22b20 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
22b30 20 48 42 52 55 53 48 20 47 65 74 53 79 73 43 6f   HBRUSH GetSysCo
22b40 6c 6f 72 42 72 75 73 68 28 0d 0a 20 20 69 6e 74  lorBrush(..  int
22b50 20 6e 49 6e 64 65 78 29 3b 0d 0a 0d 0a 2f 2f 20   nIndex);....// 
22b60 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52  #endif /* WINVER
22b70 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d   >= 0x0400 */...
22b80 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
22b90 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74   export BOOL Set
22ba0 53 79 73 43 6f 6c 6f 72 73 28 0d 0a 20 20 69 6e  SysColors(..  in
22bb0 74 20 63 45 6c 65 6d 65 6e 74 73 2c 0d 0a 20 20  t cElements,..  
22bc0 49 4e 54 20 2a 20 6c 70 61 45 6c 65 6d 65 6e 74  INT * lpaElement
22bd0 73 2c 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 2a  s,..  COLORREF *
22be0 20 6c 70 61 52 67 62 56 61 6c 75 65 73 29 3b 0d   lpaRgbValues);.
22bf0 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
22c00 21 4e 4f 43 4f 4c 4f 52 20 2a 2f 0d 0a 0d 0a 65  !NOCOLOR */....e
22c10 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
22c20 78 70 6f 72 74 20 42 4f 4f 4c 20 44 72 61 77 46  xport BOOL DrawF
22c30 6f 63 75 73 52 65 63 74 28 0d 0a 20 20 48 44 43  ocusRect(..  HDC
22c40 20 68 44 43 2c 0d 0a 20 20 52 45 43 54 20 2a 20   hDC,..  RECT * 
22c50 6c 70 72 63 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  lprc);....extern
22c60 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
22c70 20 69 6e 74 20 46 69 6c 6c 52 65 63 74 28 0d 0a   int FillRect(..
22c80 20 20 48 44 43 20 68 44 43 2c 0d 0a 20 20 52 45    HDC hDC,..  RE
22c90 43 54 20 2a 6c 70 72 63 2c 0d 0a 20 20 48 42 52  CT *lprc,..  HBR
22ca0 55 53 48 20 68 62 72 29 3b 0d 0a 0d 0a 65 78 74  USH hbr);....ext
22cb0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
22cc0 6f 72 74 20 69 6e 74 20 46 72 61 6d 65 52 65 63  ort int FrameRec
22cd0 74 28 0d 0a 20 20 48 44 43 20 68 44 43 2c 0d 0a  t(..  HDC hDC,..
22ce0 20 20 52 45 43 54 20 2a 6c 70 72 63 2c 0d 0a 20    RECT *lprc,.. 
22cf0 20 48 42 52 55 53 48 20 68 62 72 29 3b 0d 0a 0d   HBRUSH hbr);...
22d00 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
22d10 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6e 76   export BOOL Inv
22d20 65 72 74 52 65 63 74 28 0d 0a 20 20 48 44 43 20  ertRect(..  HDC 
22d30 68 44 43 2c 0d 0a 20 20 52 45 43 54 20 2a 6c 70  hDC,..  RECT *lp
22d40 72 63 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  rc);....extern(W
22d50 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
22d60 4f 4f 4c 20 53 65 74 52 65 63 74 28 0d 0a 20 20  OOL SetRect(..  
22d70 4c 50 52 45 43 54 20 6c 70 72 63 2c 0d 0a 20 20  LPRECT lprc,..  
22d80 69 6e 74 20 78 4c 65 66 74 2c 0d 0a 20 20 69 6e  int xLeft,..  in
22d90 74 20 79 54 6f 70 2c 0d 0a 20 20 69 6e 74 20 78  t yTop,..  int x
22da0 52 69 67 68 74 2c 0d 0a 20 20 69 6e 74 20 79 42  Right,..  int yB
22db0 6f 74 74 6f 6d 29 3b 0d 0a 0d 0a 65 78 74 65 72  ottom);....exter
22dc0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
22dd0 74 20 42 4f 4f 4c 20 53 65 74 52 65 63 74 45 6d  t BOOL SetRectEm
22de0 70 74 79 28 0d 0a 20 20 4c 50 52 45 43 54 20 6c  pty(..  LPRECT l
22df0 70 72 63 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  prc);....extern(
22e00 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
22e10 42 4f 4f 4c 20 43 6f 70 79 52 65 63 74 28 0d 0a  BOOL CopyRect(..
22e20 20 20 4c 50 52 45 43 54 20 6c 70 72 63 44 73 74    LPRECT lprcDst
22e30 2c 0d 0a 20 20 52 45 43 54 20 2a 6c 70 72 63 53  ,..  RECT *lprcS
22e40 72 63 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  rc);....extern(W
22e50 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
22e60 4f 4f 4c 20 49 6e 66 6c 61 74 65 52 65 63 74 28  OOL InflateRect(
22e70 0d 0a 20 20 4c 50 52 45 43 54 20 6c 70 72 63 2c  ..  LPRECT lprc,
22e80 0d 0a 20 20 69 6e 74 20 64 78 2c 0d 0a 20 20 69  ..  int dx,..  i
22e90 6e 74 20 64 79 29 3b 0d 0a 0d 0a 65 78 74 65 72  nt dy);....exter
22ea0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
22eb0 74 20 42 4f 4f 4c 20 49 6e 74 65 72 73 65 63 74  t BOOL Intersect
22ec0 52 65 63 74 28 0d 0a 20 20 4c 50 52 45 43 54 20  Rect(..  LPRECT 
22ed0 6c 70 72 63 44 73 74 2c 0d 0a 20 20 52 45 43 54  lprcDst,..  RECT
22ee0 20 2a 6c 70 72 63 53 72 63 31 2c 0d 0a 20 20 52   *lprcSrc1,..  R
22ef0 45 43 54 20 2a 6c 70 72 63 53 72 63 32 29 3b 0d  ECT *lprcSrc2);.
22f00 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
22f10 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 55  s) export BOOL U
22f20 6e 69 6f 6e 52 65 63 74 28 0d 0a 20 20 4c 50 52  nionRect(..  LPR
22f30 45 43 54 20 6c 70 72 63 44 73 74 2c 0d 0a 20 20  ECT lprcDst,..  
22f40 52 45 43 54 20 2a 6c 70 72 63 53 72 63 31 2c 0d  RECT *lprcSrc1,.
22f50 0a 20 20 52 45 43 54 20 2a 6c 70 72 63 53 72 63  .  RECT *lprcSrc
22f60 32 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  2);....extern(Wi
22f70 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
22f80 4f 4c 20 53 75 62 74 72 61 63 74 52 65 63 74 28  OL SubtractRect(
22f90 0d 0a 20 20 4c 50 52 45 43 54 20 6c 70 72 63 44  ..  LPRECT lprcD
22fa0 73 74 2c 0d 0a 20 20 52 45 43 54 20 2a 6c 70 72  st,..  RECT *lpr
22fb0 63 53 72 63 31 2c 0d 0a 20 20 52 45 43 54 20 2a  cSrc1,..  RECT *
22fc0 6c 70 72 63 53 72 63 32 29 3b 0d 0a 0d 0a 65 78  lprcSrc2);....ex
22fd0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
22fe0 70 6f 72 74 20 42 4f 4f 4c 20 4f 66 66 73 65 74  port BOOL Offset
22ff0 52 65 63 74 28 0d 0a 20 20 4c 50 52 45 43 54 20  Rect(..  LPRECT 
23000 6c 70 72 63 2c 0d 0a 20 20 69 6e 74 20 64 78 2c  lprc,..  int dx,
23010 0d 0a 20 20 69 6e 74 20 64 79 29 3b 0d 0a 0d 0a  ..  int dy);....
23020 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
23030 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 73 52 65  export BOOL IsRe
23040 63 74 45 6d 70 74 79 28 0d 0a 20 20 52 45 43 54  ctEmpty(..  RECT
23050 20 2a 6c 70 72 63 29 3b 0d 0a 0d 0a 65 78 74 65   *lprc);....exte
23060 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
23070 72 74 20 42 4f 4f 4c 20 45 71 75 61 6c 52 65 63  rt BOOL EqualRec
23080 74 28 0d 0a 20 20 52 45 43 54 20 2a 6c 70 72 63  t(..  RECT *lprc
23090 31 2c 0d 0a 20 20 52 45 43 54 20 2a 6c 70 72 63  1,..  RECT *lprc
230a0 32 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  2);....extern(Wi
230b0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
230c0 4f 4c 20 50 74 49 6e 52 65 63 74 28 0d 0a 20 20  OL PtInRect(..  
230d0 52 45 43 54 20 2a 6c 70 72 63 2c 0d 0a 20 20 50  RECT *lprc,..  P
230e0 4f 49 4e 54 20 70 74 29 3b 0d 0a 0d 0a 2f 2f 20  OINT pt);....// 
230f0 23 69 66 6e 64 65 66 20 4e 4f 57 49 4e 4f 46 46  #ifndef NOWINOFF
23100 53 45 54 53 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  SETS....extern(W
23110 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 57  indows) export W
23120 4f 52 44 20 47 65 74 57 69 6e 64 6f 77 57 6f 72  ORD GetWindowWor
23130 64 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c  d(..  HWND hWnd,
23140 0d 0a 20 20 69 6e 74 20 6e 49 6e 64 65 78 29 3b  ..  int nIndex);
23150 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
23160 77 73 29 20 65 78 70 6f 72 74 20 57 4f 52 44 20  ws) export WORD 
23170 53 65 74 57 69 6e 64 6f 77 57 6f 72 64 28 0d 0a  SetWindowWord(..
23180 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20    HWND hWnd,..  
23190 69 6e 74 20 6e 49 6e 64 65 78 2c 0d 0a 20 20 57  int nIndex,..  W
231a0 4f 52 44 20 77 4e 65 77 57 6f 72 64 29 3b 0d 0a  ORD wNewWord);..
231b0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
231c0 29 20 65 78 70 6f 72 74 20 4c 4f 4e 47 20 47 65  ) export LONG Ge
231d0 74 57 69 6e 64 6f 77 4c 6f 6e 67 41 28 0d 0a 20  tWindowLongA(.. 
231e0 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 69   HWND hWnd,..  i
231f0 6e 74 20 6e 49 6e 64 65 78 29 3b 0d 0a 65 78 74  nt nIndex);..ext
23200 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
23210 6f 72 74 20 4c 4f 4e 47 20 47 65 74 57 69 6e 64  ort LONG GetWind
23220 6f 77 4c 6f 6e 67 57 28 0d 0a 20 20 48 57 4e 44  owLongW(..  HWND
23230 20 68 57 6e 64 2c 0d 0a 20 20 69 6e 74 20 6e 49   hWnd,..  int nI
23240 6e 64 65 78 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  ndex);..// #ifde
23250 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
23260 20 47 65 74 57 69 6e 64 6f 77 4c 6f 6e 67 57 20   GetWindowLongW 
23270 47 65 74 57 69 6e 64 6f 77 4c 6f 6e 67 3b 0d 0a  GetWindowLong;..
23280 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
23290 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
232a0 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
232b0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
232c0 72 74 20 4c 4f 4e 47 20 53 65 74 57 69 6e 64 6f  rt LONG SetWindo
232d0 77 4c 6f 6e 67 41 28 0d 0a 20 20 48 57 4e 44 20  wLongA(..  HWND 
232e0 68 57 6e 64 2c 0d 0a 20 20 69 6e 74 20 6e 49 6e  hWnd,..  int nIn
232f0 64 65 78 2c 0d 0a 20 20 4c 4f 4e 47 20 64 77 4e  dex,..  LONG dwN
23300 65 77 4c 6f 6e 67 29 3b 0d 0a 65 78 74 65 72 6e  ewLong);..extern
23310 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
23320 20 4c 4f 4e 47 20 53 65 74 57 69 6e 64 6f 77 4c   LONG SetWindowL
23330 6f 6e 67 57 28 0d 0a 20 20 48 57 4e 44 20 68 57  ongW(..  HWND hW
23340 6e 64 2c 0d 0a 20 20 69 6e 74 20 6e 49 6e 64 65  nd,..  int nInde
23350 78 2c 0d 0a 20 20 4c 4f 4e 47 20 64 77 4e 65 77  x,..  LONG dwNew
23360 4c 6f 6e 67 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  Long);..// #ifde
23370 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
23380 20 53 65 74 57 69 6e 64 6f 77 4c 6f 6e 67 57 20   SetWindowLongW 
23390 53 65 74 57 69 6e 64 6f 77 4c 6f 6e 67 3b 0d 0a  SetWindowLong;..
233a0 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
233b0 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
233c0 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23  !UNICODE....// #
233d0 69 66 64 65 66 20 5f 57 49 4e 36 34 0d 0a 0d 0a  ifdef _WIN64....
233e0 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 64 65  // .....// #ifde
233f0 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
23400 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  ....// #else..//
23410 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
23420 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
23430 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 64 65  // .....// #ifde
23440 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
23450 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  ....// #else..//
23460 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
23470 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
23480 2f 2f 20 23 65 6c 73 65 20 20 2f 2a 20 5f 57 49  // #else  /* _WI
23490 4e 36 34 20 2a 2f 0d 0a 0d 0a 61 6c 69 61 73 20  N64 */....alias 
234a0 47 65 74 57 69 6e 64 6f 77 4c 6f 6e 67 41 20 47  GetWindowLongA G
234b0 65 74 57 69 6e 64 6f 77 4c 6f 6e 67 50 74 72 41  etWindowLongPtrA
234c0 3b 0d 0a 61 6c 69 61 73 20 47 65 74 57 69 6e 64  ;..alias GetWind
234d0 6f 77 4c 6f 6e 67 57 20 47 65 74 57 69 6e 64 6f  owLongW GetWindo
234e0 77 4c 6f 6e 67 50 74 72 57 3b 0d 0a 2f 2f 20 23  wLongPtrW;..// #
234f0 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
23500 6c 69 61 73 20 47 65 74 57 69 6e 64 6f 77 4c 6f  lias GetWindowLo
23510 6e 67 50 74 72 57 20 47 65 74 57 69 6e 64 6f 77  ngPtrW GetWindow
23520 4c 6f 6e 67 50 74 72 3b 0d 0a 2f 2f 20 23 65 6c  LongPtr;..// #el
23530 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
23540 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
23550 44 45 0d 0a 0d 0a 61 6c 69 61 73 20 53 65 74 57  DE....alias SetW
23560 69 6e 64 6f 77 4c 6f 6e 67 41 20 53 65 74 57 69  indowLongA SetWi
23570 6e 64 6f 77 4c 6f 6e 67 50 74 72 41 3b 0d 0a 61  ndowLongPtrA;..a
23580 6c 69 61 73 20 53 65 74 57 69 6e 64 6f 77 4c 6f  lias SetWindowLo
23590 6e 67 57 20 53 65 74 57 69 6e 64 6f 77 4c 6f 6e  ngW SetWindowLon
235a0 67 50 74 72 57 3b 0d 0a 2f 2f 20 23 69 66 64 65  gPtrW;..// #ifde
235b0 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
235c0 20 53 65 74 57 69 6e 64 6f 77 4c 6f 6e 67 50 74   SetWindowLongPt
235d0 72 57 20 53 65 74 57 69 6e 64 6f 77 4c 6f 6e 67  rW SetWindowLong
235e0 50 74 72 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  Ptr;..// #else..
235f0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
23600 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
23610 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f  ..// #endif /* _
23620 57 49 4e 36 34 20 2a 2f 0d 0a 0d 0a 65 78 74 65  WIN64 */....exte
23630 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
23640 72 74 20 57 4f 52 44 20 47 65 74 43 6c 61 73 73  rt WORD GetClass
23650 57 6f 72 64 28 0d 0a 20 20 48 57 4e 44 20 68 57  Word(..  HWND hW
23660 6e 64 2c 0d 0a 20 20 69 6e 74 20 6e 49 6e 64 65  nd,..  int nInde
23670 78 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  x);....extern(Wi
23680 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 57 4f  ndows) export WO
23690 52 44 20 53 65 74 43 6c 61 73 73 57 6f 72 64 28  RD SetClassWord(
236a0 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a  ..  HWND hWnd,..
236b0 20 20 69 6e 74 20 6e 49 6e 64 65 78 2c 0d 0a 20    int nIndex,.. 
236c0 20 57 4f 52 44 20 77 4e 65 77 57 6f 72 64 29 3b   WORD wNewWord);
236d0 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
236e0 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44  ws) export DWORD
236f0 20 47 65 74 43 6c 61 73 73 4c 6f 6e 67 41 28 0d   GetClassLongA(.
23700 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20  .  HWND hWnd,.. 
23710 20 69 6e 74 20 6e 49 6e 64 65 78 29 3b 0d 0a 65   int nIndex);..e
23720 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
23730 78 70 6f 72 74 20 44 57 4f 52 44 20 47 65 74 43  xport DWORD GetC
23740 6c 61 73 73 4c 6f 6e 67 57 28 0d 0a 20 20 48 57  lassLongW(..  HW
23750 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 69 6e 74 20  ND hWnd,..  int 
23760 6e 49 6e 64 65 78 29 3b 0d 0a 2f 2f 20 23 69 66  nIndex);..// #if
23770 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69  def UNICODE..ali
23780 61 73 20 47 65 74 43 6c 61 73 73 4c 6f 6e 67 57  as GetClassLongW
23790 20 47 65 74 43 6c 61 73 73 4c 6f 6e 67 3b 0d 0a   GetClassLong;..
237a0 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
237b0 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
237c0 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
237d0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
237e0 72 74 20 44 57 4f 52 44 20 53 65 74 43 6c 61 73  rt DWORD SetClas
237f0 73 4c 6f 6e 67 41 28 0d 0a 20 20 48 57 4e 44 20  sLongA(..  HWND 
23800 68 57 6e 64 2c 0d 0a 20 20 69 6e 74 20 6e 49 6e  hWnd,..  int nIn
23810 64 65 78 2c 0d 0a 20 20 4c 4f 4e 47 20 64 77 4e  dex,..  LONG dwN
23820 65 77 4c 6f 6e 67 29 3b 0d 0a 65 78 74 65 72 6e  ewLong);..extern
23830 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
23840 20 44 57 4f 52 44 20 53 65 74 43 6c 61 73 73 4c   DWORD SetClassL
23850 6f 6e 67 57 28 0d 0a 20 20 48 57 4e 44 20 68 57  ongW(..  HWND hW
23860 6e 64 2c 0d 0a 20 20 69 6e 74 20 6e 49 6e 64 65  nd,..  int nInde
23870 78 2c 0d 0a 20 20 4c 4f 4e 47 20 64 77 4e 65 77  x,..  LONG dwNew
23880 4c 6f 6e 67 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  Long);..// #ifde
23890 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
238a0 20 53 65 74 43 6c 61 73 73 4c 6f 6e 67 57 20 53   SetClassLongW S
238b0 65 74 43 6c 61 73 73 4c 6f 6e 67 3b 0d 0a 2f 2f  etClassLong;..//
238c0 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
238d0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
238e0 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 69 66  NICODE....// #if
238f0 64 65 66 20 5f 57 49 4e 36 34 0d 0a 0d 0a 2f 2f  def _WIN64....//
23900 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 64 65 66 20   .....// #ifdef 
23910 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e  UNICODE..// #...
23920 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
23930 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
23940 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f  / !UNICODE....//
23950 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 64 65 66 20   .....// #ifdef 
23960 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e  UNICODE..// #...
23970 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
23980 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
23990 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f  / !UNICODE....//
239a0 20 23 65 6c 73 65 20 20 2f 2a 20 5f 57 49 4e 36   #else  /* _WIN6
239b0 34 20 2a 2f 0d 0a 0d 0a 61 6c 69 61 73 20 47 65  4 */....alias Ge
239c0 74 43 6c 61 73 73 4c 6f 6e 67 41 20 47 65 74 43  tClassLongA GetC
239d0 6c 61 73 73 4c 6f 6e 67 50 74 72 41 3b 0d 0a 61  lassLongPtrA;..a
239e0 6c 69 61 73 20 47 65 74 43 6c 61 73 73 4c 6f 6e  lias GetClassLon
239f0 67 57 20 47 65 74 43 6c 61 73 73 4c 6f 6e 67 50  gW GetClassLongP
23a00 74 72 57 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  trW;..// #ifdef 
23a10 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 47  UNICODE..alias G
23a20 65 74 43 6c 61 73 73 4c 6f 6e 67 50 74 72 57 20  etClassLongPtrW 
23a30 47 65 74 43 6c 61 73 73 4c 6f 6e 67 50 74 72 3b  GetClassLongPtr;
23a40 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
23a50 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
23a60 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 61 6c  / !UNICODE....al
23a70 69 61 73 20 53 65 74 43 6c 61 73 73 4c 6f 6e 67  ias SetClassLong
23a80 41 20 53 65 74 43 6c 61 73 73 4c 6f 6e 67 50 74  A SetClassLongPt
23a90 72 41 3b 0d 0a 61 6c 69 61 73 20 53 65 74 43 6c  rA;..alias SetCl
23aa0 61 73 73 4c 6f 6e 67 57 20 53 65 74 43 6c 61 73  assLongW SetClas
23ab0 73 4c 6f 6e 67 50 74 72 57 3b 0d 0a 2f 2f 20 23  sLongPtrW;..// #
23ac0 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
23ad0 6c 69 61 73 20 53 65 74 43 6c 61 73 73 4c 6f 6e  lias SetClassLon
23ae0 67 50 74 72 57 20 53 65 74 43 6c 61 73 73 4c 6f  gPtrW SetClassLo
23af0 6e 67 50 74 72 3b 0d 0a 2f 2f 20 23 65 6c 73 65  ngPtr;..// #else
23b00 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
23b10 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
23b20 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  ....// #endif /*
23b30 20 5f 57 49 4e 36 34 20 2a 2f 0d 0a 0d 0a 2f 2f   _WIN64 */....//
23b40 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 57 49   #endif /* !NOWI
23b50 4e 4f 46 46 53 45 54 53 20 2a 2f 0d 0a 0d 0a 2f  NOFFSETS */..../
23b60 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
23b70 30 78 30 35 30 30 29 0d 0a 65 78 74 65 72 6e 28  0x0500)..extern(
23b80 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
23b90 42 4f 4f 4c 20 47 65 74 50 72 6f 63 65 73 73 44  BOOL GetProcessD
23ba0 65 66 61 75 6c 74 4c 61 79 6f 75 74 28 0d 0a 20  efaultLayout(.. 
23bb0 20 44 57 4f 52 44 20 2a 70 64 77 44 65 66 61 75   DWORD *pdwDefau
23bc0 6c 74 4c 61 79 6f 75 74 29 3b 0d 0a 0d 0a 65 78  ltLayout);....ex
23bd0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
23be0 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74 50 72 6f  port BOOL SetPro
23bf0 63 65 73 73 44 65 66 61 75 6c 74 4c 61 79 6f 75  cessDefaultLayou
23c00 74 28 0d 0a 20 20 44 57 4f 52 44 20 64 77 44 65  t(..  DWORD dwDe
23c10 66 61 75 6c 74 4c 61 79 6f 75 74 29 3b 0d 0a 2f  faultLayout);../
23c20 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
23c30 45 52 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d  ER >= 0x0500 */.
23c40 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
23c50 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20 47  s) export HWND G
23c60 65 74 44 65 73 6b 74 6f 70 57 69 6e 64 6f 77 28  etDesktopWindow(
23c70 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
23c80 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e  dows) export HWN
23c90 44 20 47 65 74 50 61 72 65 6e 74 28 0d 0a 20 20  D GetParent(..  
23ca0 48 57 4e 44 20 68 57 6e 64 29 3b 0d 0a 0d 0a 65  HWND hWnd);....e
23cb0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
23cc0 78 70 6f 72 74 20 48 57 4e 44 20 53 65 74 50 61  xport HWND SetPa
23cd0 72 65 6e 74 28 0d 0a 20 20 48 57 4e 44 20 68 57  rent(..  HWND hW
23ce0 6e 64 43 68 69 6c 64 2c 0d 0a 20 20 48 57 4e 44  ndChild,..  HWND
23cf0 20 68 57 6e 64 4e 65 77 50 61 72 65 6e 74 29 3b   hWndNewParent);
23d00 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
23d10 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
23d20 45 6e 75 6d 43 68 69 6c 64 57 69 6e 64 6f 77 73  EnumChildWindows
23d30 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 50 61  (..  HWND hWndPa
23d40 72 65 6e 74 2c 0d 0a 20 20 57 4e 44 45 4e 55 4d  rent,..  WNDENUM
23d50 50 52 4f 43 20 6c 70 45 6e 75 6d 46 75 6e 63 2c  PROC lpEnumFunc,
23d60 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61  ..  LPARAM lPara
23d70 6d 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  m);....extern(Wi
23d80 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57  ndows) export HW
23d90 4e 44 20 46 69 6e 64 57 69 6e 64 6f 77 41 28 0d  ND FindWindowA(.
23da0 0a 20 20 4c 50 43 53 54 52 20 6c 70 43 6c 61 73  .  LPCSTR lpClas
23db0 73 4e 61 6d 65 2c 0d 0a 20 20 4c 50 43 53 54 52  sName,..  LPCSTR
23dc0 20 6c 70 57 69 6e 64 6f 77 4e 61 6d 65 29 3b 0d   lpWindowName);.
23dd0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
23de0 20 65 78 70 6f 72 74 20 48 57 4e 44 20 46 69 6e   export HWND Fin
23df0 64 57 69 6e 64 6f 77 57 28 0d 0a 20 20 4c 50 43  dWindowW(..  LPC
23e00 57 53 54 52 20 6c 70 43 6c 61 73 73 4e 61 6d 65  WSTR lpClassName
23e10 2c 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 57  ,..  LPCWSTR lpW
23e20 69 6e 64 6f 77 4e 61 6d 65 29 3b 0d 0a 2f 2f 20  indowName);..// 
23e30 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
23e40 61 6c 69 61 73 20 46 69 6e 64 57 69 6e 64 6f 77  alias FindWindow
23e50 57 20 46 69 6e 64 57 69 6e 64 6f 77 3b 0d 0a 2f  W FindWindow;../
23e60 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
23e70 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
23e80 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 69  UNICODE....// #i
23e90 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
23ea0 30 30 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  00)..extern(Wind
23eb0 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44  ows) export HWND
23ec0 20 46 69 6e 64 57 69 6e 64 6f 77 45 78 41 28 48   FindWindowExA(H
23ed0 57 4e 44 2c 20 48 57 4e 44 2c 20 4c 50 43 53 54  WND, HWND, LPCST
23ee0 52 2c 20 4c 50 43 53 54 52 29 3b 0d 0a 65 78 74  R, LPCSTR);..ext
23ef0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
23f00 6f 72 74 20 48 57 4e 44 20 46 69 6e 64 57 69 6e  ort HWND FindWin
23f10 64 6f 77 45 78 57 28 48 57 4e 44 2c 20 48 57 4e  dowExW(HWND, HWN
23f20 44 2c 20 4c 50 43 57 53 54 52 2c 20 4c 50 43 57  D, LPCWSTR, LPCW
23f30 53 54 52 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  STR);..// #ifdef
23f40 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
23f50 46 69 6e 64 57 69 6e 64 6f 77 45 78 57 20 46 69  FindWindowExW Fi
23f60 6e 64 57 69 6e 64 6f 77 45 78 3b 0d 0a 2f 2f 20  ndWindowEx;..// 
23f70 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
23f80 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
23f90 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  ICODE....// #end
23fa0 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20  if /* WINVER >= 
23fb0 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65 78 74  0x0400 */....ext
23fc0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
23fd0 6f 72 74 20 42 4f 4f 4c 20 45 6e 75 6d 57 69 6e  ort BOOL EnumWin
23fe0 64 6f 77 73 28 0d 0a 20 20 57 4e 44 45 4e 55 4d  dows(..  WNDENUM
23ff0 50 52 4f 43 20 6c 70 45 6e 75 6d 46 75 6e 63 2c  PROC lpEnumFunc,
24000 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61  ..  LPARAM lPara
24010 6d 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  m);....extern(Wi
24020 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
24030 4f 4c 20 45 6e 75 6d 54 68 72 65 61 64 57 69 6e  OL EnumThreadWin
24040 64 6f 77 73 28 0d 0a 20 20 44 57 4f 52 44 20 64  dows(..  DWORD d
24050 77 54 68 72 65 61 64 49 64 2c 0d 0a 20 20 57 4e  wThreadId,..  WN
24060 44 45 4e 55 4d 50 52 4f 43 20 6c 70 66 6e 2c 0d  DENUMPROC lpfn,.
24070 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d  .  LPARAM lParam
24080 29 3b 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  );....// #define
24090 20 45 6e 75 6d 54 61 73 6b 57 69 6e 64 6f 77 73   EnumTaskWindows
240a0 28 68 54 61 73 6b 2c 20 6c 70 66 6e 2c 20 6c 50  (hTask, lpfn, lP
240b0 61 72 61 6d 29 20 45 6e 75 6d 54 68 72 65 61 64  aram) EnumThread
240c0 57 69 6e 64 6f 77 73 28 48 61 6e 64 6c 65 54 6f  Windows(HandleTo
240d0 55 6c 6f 6e 67 28 68 54 61 73 6b 29 2c 20 6c 70  Ulong(hTask), lp
240e0 66 6e 2c 20 6c 50 61 72 61 6d 29 0d 0a 0d 0a 65  fn, lParam)....e
240f0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
24100 78 70 6f 72 74 20 69 6e 74 20 47 65 74 43 6c 61  xport int GetCla
24110 73 73 4e 61 6d 65 41 28 0d 0a 20 20 48 57 4e 44  ssNameA(..  HWND
24120 20 68 57 6e 64 2c 0d 0a 20 20 4c 50 53 54 52 20   hWnd,..  LPSTR 
24130 6c 70 43 6c 61 73 73 4e 61 6d 65 2c 0d 0a 20 20  lpClassName,..  
24140 69 6e 74 20 6e 4d 61 78 43 6f 75 6e 74 29 3b 0d  int nMaxCount);.
24150 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
24160 20 65 78 70 6f 72 74 20 69 6e 74 20 47 65 74 43   export int GetC
24170 6c 61 73 73 4e 61 6d 65 57 28 0d 0a 20 20 48 57  lassNameW(..  HW
24180 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 4c 50 57 53  ND hWnd,..  LPWS
24190 54 52 20 6c 70 43 6c 61 73 73 4e 61 6d 65 2c 0d  TR lpClassName,.
241a0 0a 20 20 69 6e 74 20 6e 4d 61 78 43 6f 75 6e 74  .  int nMaxCount
241b0 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
241c0 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 47 65 74  ICODE..alias Get
241d0 43 6c 61 73 73 4e 61 6d 65 57 20 47 65 74 43 6c  ClassNameW GetCl
241e0 61 73 73 4e 61 6d 65 3b 0d 0a 2f 2f 20 23 65 6c  assName;..// #el
241f0 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
24200 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
24210 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
24220 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e  dows) export HWN
24230 44 20 47 65 74 54 6f 70 57 69 6e 64 6f 77 28 0d  D GetTopWindow(.
24240 0a 20 20 48 57 4e 44 20 68 57 6e 64 29 3b 0d 0a  .  HWND hWnd);..
24250 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 47 65 74  ..// #define Get
24260 4e 65 78 74 57 69 6e 64 6f 77 28 68 57 6e 64 2c  NextWindow(hWnd,
24270 20 77 43 6d 64 29 20 47 65 74 57 69 6e 64 6f 77   wCmd) GetWindow
24280 28 68 57 6e 64 2c 20 77 43 6d 64 29 0d 0a 2f 2f  (hWnd, wCmd)..//
24290 20 23 64 65 66 69 6e 65 20 47 65 74 53 79 73 4d   #define GetSysM
242a0 6f 64 61 6c 57 69 6e 64 6f 77 28 29 20 28 4e 55  odalWindow() (NU
242b0 4c 4c 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  LL)..// #define 
242c0 53 65 74 53 79 73 4d 6f 64 61 6c 57 69 6e 64 6f  SetSysModalWindo
242d0 77 28 68 57 6e 64 29 20 28 4e 55 4c 4c 29 0d 0a  w(hWnd) (NULL)..
242e0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
242f0 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20 47  ) export DWORD G
24300 65 74 57 69 6e 64 6f 77 54 68 72 65 61 64 50 72  etWindowThreadPr
24310 6f 63 65 73 73 49 64 28 0d 0a 20 20 48 57 4e 44  ocessId(..  HWND
24320 20 68 57 6e 64 2c 0d 0a 20 20 4c 50 44 57 4f 52   hWnd,..  LPDWOR
24330 44 20 6c 70 64 77 50 72 6f 63 65 73 73 49 64 29  D lpdwProcessId)
24340 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e  ;....// #if(_WIN
24350 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35  32_WINNT >= 0x05
24360 30 31 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  01)..extern(Wind
24370 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
24380 20 49 73 47 55 49 54 68 72 65 61 64 28 0d 0a 20   IsGUIThread(.. 
24390 20 42 4f 4f 4c 20 62 43 6f 6e 76 65 72 74 29 3b   BOOL bConvert);
243a0 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  ....// #endif /*
243b0 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d   _WIN32_WINNT >=
243c0 20 30 78 30 35 30 31 20 2a 2f 0d 0a 0d 0a 2f 2f   0x0501 */....//
243d0 20 23 64 65 66 69 6e 65 20 47 65 74 57 69 6e 64   #define GetWind
243e0 6f 77 54 61 73 6b 28 68 57 6e 64 29 20 28 28 48  owTask(hWnd) ((H
243f0 41 4e 44 4c 45 29 28 44 57 4f 52 44 5f 50 54 52  ANDLE)(DWORD_PTR
24400 29 47 65 74 57 69 6e 64 6f 77 54 68 72 65 61 64  )GetWindowThread
24410 50 72 6f 63 65 73 73 49 64 28 68 57 6e 64 2c 20  ProcessId(hWnd, 
24420 4e 55 4c 4c 29 29 0d 0a 0d 0a 65 78 74 65 72 6e  NULL))....extern
24430 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
24440 20 48 57 4e 44 20 47 65 74 4c 61 73 74 41 63 74   HWND GetLastAct
24450 69 76 65 50 6f 70 75 70 28 0d 0a 20 20 48 57 4e  ivePopup(..  HWN
24460 44 20 68 57 6e 64 29 3b 0d 0a 0d 0a 65 6e 75 6d  D hWnd);....enum
24470 20 3a 20 75 69 6e 74 20 7b 20 47 57 5f 48 57 4e   : uint { GW_HWN
24480 44 46 49 52 53 54 20 3d 20 30 20 7d 0d 0a 65 6e  DFIRST = 0 }..en
24490 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 57 5f 48  um : uint { GW_H
244a0 57 4e 44 4c 41 53 54 20 3d 20 31 20 7d 0d 0a 65  WNDLAST = 1 }..e
244b0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 57 5f  num : uint { GW_
244c0 48 57 4e 44 4e 45 58 54 20 3d 20 32 20 7d 0d 0a  HWNDNEXT = 2 }..
244d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 57  enum : uint { GW
244e0 5f 48 57 4e 44 50 52 45 56 20 3d 20 33 20 7d 0d  _HWNDPREV = 3 }.
244f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47  .enum : uint { G
24500 57 5f 4f 57 4e 45 52 20 3d 20 34 20 7d 0d 0a 65  W_OWNER = 4 }..e
24510 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 57 5f  num : uint { GW_
24520 43 48 49 4c 44 20 3d 20 35 20 7d 0d 0a 2f 2f 20  CHILD = 5 }..// 
24530 23 69 66 28 57 49 4e 56 45 52 20 3c 3d 20 30 78  #if(WINVER <= 0x
24540 30 34 30 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  0400)..// #.....
24550 2f 2f 20 23 65 6c 73 65 0d 0a 65 6e 75 6d 20 3a  // #else..enum :
24560 20 75 69 6e 74 20 7b 20 47 57 5f 45 4e 41 42 4c   uint { GW_ENABL
24570 45 44 50 4f 50 55 50 20 3d 20 36 20 7d 0d 0a 65  EDPOPUP = 6 }..e
24580 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 57 5f  num : uint { GW_
24590 4d 41 58 20 3d 20 36 20 7d 0d 0a 2f 2f 20 23 65  MAX = 6 }..// #e
245a0 6e 64 69 66 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  ndif....extern(W
245b0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48  indows) export H
245c0 57 4e 44 20 47 65 74 57 69 6e 64 6f 77 28 0d 0a  WND GetWindow(..
245d0 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20    HWND hWnd,..  
245e0 55 49 4e 54 20 75 43 6d 64 29 3b 0d 0a 0d 0a 2f  UINT uCmd);..../
245f0 2f 20 23 69 66 6e 64 65 66 20 4e 4f 57 48 0d 0a  / #ifndef NOWH..
24600 0d 0a 2f 2f 20 23 69 66 64 65 66 20 53 54 52 49  ..// #ifdef STRI
24610 43 54 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  CT....extern(Win
24620 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 48 4f  dows) export HHO
24630 4f 4b 20 53 65 74 57 69 6e 64 6f 77 73 48 6f 6f  OK SetWindowsHoo
24640 6b 41 28 0d 0a 20 20 69 6e 74 20 6e 46 69 6c 74  kA(..  int nFilt
24650 65 72 54 79 70 65 2c 0d 0a 20 20 48 4f 4f 4b 50  erType,..  HOOKP
24660 52 4f 43 20 70 66 6e 46 69 6c 74 65 72 50 72 6f  ROC pfnFilterPro
24670 63 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  c);..extern(Wind
24680 6f 77 73 29 20 65 78 70 6f 72 74 20 48 48 4f 4f  ows) export HHOO
24690 4b 20 53 65 74 57 69 6e 64 6f 77 73 48 6f 6f 6b  K SetWindowsHook
246a0 57 28 0d 0a 20 20 69 6e 74 20 6e 46 69 6c 74 65  W(..  int nFilte
246b0 72 54 79 70 65 2c 0d 0a 20 20 48 4f 4f 4b 50 52  rType,..  HOOKPR
246c0 4f 43 20 70 66 6e 46 69 6c 74 65 72 50 72 6f 63  OC pfnFilterProc
246d0 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
246e0 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 53 65 74  ICODE..alias Set
246f0 57 69 6e 64 6f 77 73 48 6f 6f 6b 57 20 53 65 74  WindowsHookW Set
24700 57 69 6e 64 6f 77 73 48 6f 6f 6b 3b 0d 0a 2f 2f  WindowsHook;..//
24710 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
24720 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
24730 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c  NICODE....// #el
24740 73 65 20 2f 2a 20 21 53 54 52 49 43 54 20 2a 2f  se /* !STRICT */
24750 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  ....// .....// #
24760 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
24770 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
24780 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
24790 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
247a0 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  ....// #endif /*
247b0 20 21 53 54 52 49 43 54 20 2a 2f 0d 0a 0d 0a 65   !STRICT */....e
247c0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
247d0 78 70 6f 72 74 20 42 4f 4f 4c 20 55 6e 68 6f 6f  xport BOOL Unhoo
247e0 6b 57 69 6e 64 6f 77 73 48 6f 6f 6b 28 0d 0a 20  kWindowsHook(.. 
247f0 20 69 6e 74 20 6e 43 6f 64 65 2c 0d 0a 20 20 48   int nCode,..  H
24800 4f 4f 4b 50 52 4f 43 20 70 66 6e 46 69 6c 74 65  OOKPROC pfnFilte
24810 72 50 72 6f 63 29 3b 0d 0a 0d 0a 65 78 74 65 72  rProc);....exter
24820 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
24830 74 20 48 48 4f 4f 4b 20 53 65 74 57 69 6e 64 6f  t HHOOK SetWindo
24840 77 73 48 6f 6f 6b 45 78 41 28 0d 0a 20 20 69 6e  wsHookExA(..  in
24850 74 20 69 64 48 6f 6f 6b 2c 0d 0a 20 20 48 4f 4f  t idHook,..  HOO
24860 4b 50 52 4f 43 20 6c 70 66 6e 2c 0d 0a 20 20 48  KPROC lpfn,..  H
24870 49 4e 53 54 41 4e 43 45 20 68 6d 6f 64 2c 0d 0a  INSTANCE hmod,..
24880 20 20 44 57 4f 52 44 20 64 77 54 68 72 65 61 64    DWORD dwThread
24890 49 64 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  Id);..extern(Win
248a0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 48 4f  dows) export HHO
248b0 4f 4b 20 53 65 74 57 69 6e 64 6f 77 73 48 6f 6f  OK SetWindowsHoo
248c0 6b 45 78 57 28 0d 0a 20 20 69 6e 74 20 69 64 48  kExW(..  int idH
248d0 6f 6f 6b 2c 0d 0a 20 20 48 4f 4f 4b 50 52 4f 43  ook,..  HOOKPROC
248e0 20 6c 70 66 6e 2c 0d 0a 20 20 48 49 4e 53 54 41   lpfn,..  HINSTA
248f0 4e 43 45 20 68 6d 6f 64 2c 0d 0a 20 20 44 57 4f  NCE hmod,..  DWO
24900 52 44 20 64 77 54 68 72 65 61 64 49 64 29 3b 0d  RD dwThreadId);.
24910 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
24920 44 45 0d 0a 61 6c 69 61 73 20 53 65 74 57 69 6e  DE..alias SetWin
24930 64 6f 77 73 48 6f 6f 6b 45 78 57 20 53 65 74 57  dowsHookExW SetW
24940 69 6e 64 6f 77 73 48 6f 6f 6b 45 78 3b 0d 0a 2f  indowsHookEx;../
24950 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
24960 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
24970 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
24980 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
24990 74 20 42 4f 4f 4c 20 55 6e 68 6f 6f 6b 57 69 6e  t BOOL UnhookWin
249a0 64 6f 77 73 48 6f 6f 6b 45 78 28 0d 0a 20 20 48  dowsHookEx(..  H
249b0 48 4f 4f 4b 20 68 68 6b 29 3b 0d 0a 0d 0a 65 78  HOOK hhk);....ex
249c0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
249d0 70 6f 72 74 20 4c 52 45 53 55 4c 54 20 43 61 6c  port LRESULT Cal
249e0 6c 4e 65 78 74 48 6f 6f 6b 45 78 28 0d 0a 20 20  lNextHookEx(..  
249f0 48 48 4f 4f 4b 20 68 68 6b 2c 0d 0a 20 20 69 6e  HHOOK hhk,..  in
24a00 74 20 6e 43 6f 64 65 2c 0d 0a 20 20 57 50 41 52  t nCode,..  WPAR
24a10 41 4d 20 77 50 61 72 61 6d 2c 0d 0a 20 20 4c 50  AM wParam,..  LP
24a20 41 52 41 4d 20 6c 50 61 72 61 6d 29 3b 0d 0a 0d  ARAM lParam);...
24a30 0a 2f 2f 20 23 69 66 64 65 66 20 53 54 52 49 43  .// #ifdef STRIC
24a40 54 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 65  T..// #define De
24a50 66 48 6f 6f 6b 50 72 6f 63 28 6e 43 6f 64 65 2c  fHookProc(nCode,
24a60 20 77 50 61 72 61 6d 2c 20 6c 50 61 72 61 6d 2c   wParam, lParam,
24a70 20 70 68 68 6b 29 20 43 61 6c 6c 4e 65 78 74 48   phhk) CallNextH
24a80 6f 6f 6b 45 78 28 2a 70 68 68 6b 2c 20 6e 43 6f  ookEx(*phhk, nCo
24a90 64 65 2c 20 77 50 61 72 61 6d 2c 20 6c 50 61 72  de, wParam, lPar
24aa0 61 6d 29 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  am)..// #else../
24ab0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 2e 2e 2e 0d 0a  / #.....// .....
24ac0 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 53 54 52  // #endif /* STR
24ad0 49 43 54 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69  ICT */..// #endi
24ae0 66 20 2f 2a 20 21 4e 4f 57 48 20 2a 2f 0d 0a 0d  f /* !NOWH */...
24af0 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 4d 45  .// #ifndef NOME
24b00 4e 55 53 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  NUS....enum : ui
24b10 6e 74 20 7b 20 4d 46 5f 49 4e 53 45 52 54 20 3d  nt { MF_INSERT =
24b20 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65   0x00000000 }..e
24b30 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 46 5f  num : uint { MF_
24b40 43 48 41 4e 47 45 20 3d 20 30 78 30 30 30 30 30  CHANGE = 0x00000
24b50 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  080 }..enum : ui
24b60 6e 74 20 7b 20 4d 46 5f 41 50 50 45 4e 44 20 3d  nt { MF_APPEND =
24b70 20 30 78 30 30 30 30 30 31 30 30 20 7d 0d 0a 65   0x00000100 }..e
24b80 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 46 5f  num : uint { MF_
24b90 44 45 4c 45 54 45 20 3d 20 30 78 30 30 30 30 30  DELETE = 0x00000
24ba0 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  200 }..enum : ui
24bb0 6e 74 20 7b 20 4d 46 5f 52 45 4d 4f 56 45 20 3d  nt { MF_REMOVE =
24bc0 20 30 78 30 30 30 30 31 30 30 30 20 7d 0d 0a 0d   0x00001000 }...
24bd0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
24be0 46 5f 42 59 43 4f 4d 4d 41 4e 44 20 3d 20 30 78  F_BYCOMMAND = 0x
24bf0 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00000000 }..enum
24c00 20 3a 20 75 69 6e 74 20 7b 20 4d 46 5f 42 59 50   : uint { MF_BYP
24c10 4f 53 49 54 49 4f 4e 20 3d 20 30 78 30 30 30 30  OSITION = 0x0000
24c20 30 34 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0400 }....enum :
24c30 20 75 69 6e 74 20 7b 20 4d 46 5f 53 45 50 41 52   uint { MF_SEPAR
24c40 41 54 4f 52 20 3d 20 30 78 30 30 30 30 30 38 30  ATOR = 0x0000080
24c50 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
24c60 6e 74 20 7b 20 4d 46 5f 45 4e 41 42 4c 45 44 20  nt { MF_ENABLED 
24c70 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x00000000 }..
24c80 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 46  enum : uint { MF
24c90 5f 47 52 41 59 45 44 20 3d 20 30 78 30 30 30 30  _GRAYED = 0x0000
24ca0 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
24cb0 69 6e 74 20 7b 20 4d 46 5f 44 49 53 41 42 4c 45  int { MF_DISABLE
24cc0 44 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d  D = 0x00000002 }
24cd0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
24ce0 7b 20 4d 46 5f 55 4e 43 48 45 43 4b 45 44 20 3d  { MF_UNCHECKED =
24cf0 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65   0x00000000 }..e
24d00 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 46 5f  num : uint { MF_
24d10 43 48 45 43 4b 45 44 20 3d 20 30 78 30 30 30 30  CHECKED = 0x0000
24d20 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
24d30 69 6e 74 20 7b 20 4d 46 5f 55 53 45 43 48 45 43  int { MF_USECHEC
24d40 4b 42 49 54 4d 41 50 53 20 3d 20 30 78 30 30 30  KBITMAPS = 0x000
24d50 30 30 32 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00200 }....enum 
24d60 3a 20 75 69 6e 74 20 7b 20 4d 46 5f 53 54 52 49  : uint { MF_STRI
24d70 4e 47 20 3d 20 30 78 30 30 30 30 30 30 30 30 20  NG = 0x00000000 
24d80 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
24d90 20 4d 46 5f 42 49 54 4d 41 50 20 3d 20 30 78 30   MF_BITMAP = 0x0
24da0 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20  0000004 }..enum 
24db0 3a 20 75 69 6e 74 20 7b 20 4d 46 5f 4f 57 4e 45  : uint { MF_OWNE
24dc0 52 44 52 41 57 20 3d 20 30 78 30 30 30 30 30 31  RDRAW = 0x000001
24dd0 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
24de0 69 6e 74 20 7b 20 4d 46 5f 50 4f 50 55 50 20 3d  int { MF_POPUP =
24df0 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65   0x00000010 }..e
24e00 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 46 5f  num : uint { MF_
24e10 4d 45 4e 55 42 41 52 42 52 45 41 4b 20 3d 20 30  MENUBARBREAK = 0
24e20 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75  x00000020 }..enu
24e30 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 46 5f 4d 45  m : uint { MF_ME
24e40 4e 55 42 52 45 41 4b 20 3d 20 30 78 30 30 30 30  NUBREAK = 0x0000
24e50 30 30 34 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0040 }....enum :
24e60 20 75 69 6e 74 20 7b 20 4d 46 5f 55 4e 48 49 4c   uint { MF_UNHIL
24e70 49 54 45 20 3d 20 30 78 30 30 30 30 30 30 30 30  ITE = 0x00000000
24e80 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
24e90 7b 20 4d 46 5f 48 49 4c 49 54 45 20 3d 20 30 78  { MF_HILITE = 0x
24ea0 30 30 30 30 30 30 38 30 20 7d 0d 0a 0d 0a 2f 2f  00000080 }....//
24eb0 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
24ec0 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0400)..enum : u
24ed0 69 6e 74 20 7b 20 4d 46 5f 44 45 46 41 55 4c 54  int { MF_DEFAULT
24ee0 20 3d 20 30 78 30 30 30 30 31 30 30 30 20 7d 0d   = 0x00001000 }.
24ef0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
24f00 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a  NVER >= 0x0400 *
24f10 2f 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  /..enum : uint {
24f20 20 4d 46 5f 53 59 53 4d 45 4e 55 20 3d 20 30 78   MF_SYSMENU = 0x
24f30 30 30 30 30 32 30 30 30 20 7d 0d 0a 65 6e 75 6d  00002000 }..enum
24f40 20 3a 20 75 69 6e 74 20 7b 20 4d 46 5f 48 45 4c   : uint { MF_HEL
24f50 50 20 3d 20 30 78 30 30 30 30 34 30 30 30 20 7d  P = 0x00004000 }
24f60 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20  ..// #if(WINVER 
24f70 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d  >= 0x0400)..enum
24f80 20 3a 20 75 69 6e 74 20 7b 20 4d 46 5f 52 49 47   : uint { MF_RIG
24f90 48 54 4a 55 53 54 49 46 59 20 3d 20 30 78 30 30  HTJUSTIFY = 0x00
24fa0 30 30 34 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e  004000 }..// #en
24fb0 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d  dif /* WINVER >=
24fc0 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65 6e   0x0400 */....en
24fd0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 46 5f 4d  um : uint { MF_M
24fe0 4f 55 53 45 53 45 4c 45 43 54 20 3d 20 30 78 30  OUSESELECT = 0x0
24ff0 30 30 30 38 30 30 30 20 7d 0d 0a 2f 2f 20 23 69  0008000 }..// #i
25000 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
25010 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
25020 20 7b 20 4d 46 5f 45 4e 44 20 3d 20 30 78 30 30   { MF_END = 0x00
25030 30 30 30 30 38 30 20 7d 0d 0a 2f 2f 20 23 65 6e  000080 }..// #en
25040 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d  dif /* WINVER >=
25050 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f   0x0400 */....//
25060 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30   #if(WINVER >= 0
25070 78 30 34 30 30 29 0d 0a 61 6c 69 61 73 20 4d 46  x0400)..alias MF
25080 5f 53 54 52 49 4e 47 20 4d 46 54 5f 53 54 52 49  _STRING MFT_STRI
25090 4e 47 3b 0d 0a 61 6c 69 61 73 20 4d 46 5f 42 49  NG;..alias MF_BI
250a0 54 4d 41 50 20 4d 46 54 5f 42 49 54 4d 41 50 3b  TMAP MFT_BITMAP;
250b0 0d 0a 61 6c 69 61 73 20 4d 46 5f 4d 45 4e 55 42  ..alias MF_MENUB
250c0 41 52 42 52 45 41 4b 20 4d 46 54 5f 4d 45 4e 55  ARBREAK MFT_MENU
250d0 42 41 52 42 52 45 41 4b 3b 0d 0a 61 6c 69 61 73  BARBREAK;..alias
250e0 20 4d 46 5f 4d 45 4e 55 42 52 45 41 4b 20 4d 46   MF_MENUBREAK MF
250f0 54 5f 4d 45 4e 55 42 52 45 41 4b 3b 0d 0a 61 6c  T_MENUBREAK;..al
25100 69 61 73 20 4d 46 5f 4f 57 4e 45 52 44 52 41 57  ias MF_OWNERDRAW
25110 20 4d 46 54 5f 4f 57 4e 45 52 44 52 41 57 3b 0d   MFT_OWNERDRAW;.
25120 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
25130 46 54 5f 52 41 44 49 4f 43 48 45 43 4b 20 3d 20  FT_RADIOCHECK = 
25140 30 78 30 30 30 30 30 32 30 30 20 7d 0d 0a 61 6c  0x00000200 }..al
25150 69 61 73 20 4d 46 5f 53 45 50 41 52 41 54 4f 52  ias MF_SEPARATOR
25160 20 4d 46 54 5f 53 45 50 41 52 41 54 4f 52 3b 0d   MFT_SEPARATOR;.
25170 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
25180 46 54 5f 52 49 47 48 54 4f 52 44 45 52 20 3d 20  FT_RIGHTORDER = 
25190 30 78 30 30 30 30 32 30 30 30 20 7d 0d 0a 61 6c  0x00002000 }..al
251a0 69 61 73 20 4d 46 5f 52 49 47 48 54 4a 55 53 54  ias MF_RIGHTJUST
251b0 49 46 59 20 4d 46 54 5f 52 49 47 48 54 4a 55 53  IFY MFT_RIGHTJUS
251c0 54 49 46 59 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  TIFY;....enum : 
251d0 75 69 6e 74 20 7b 20 4d 46 53 5f 47 52 41 59 45  uint { MFS_GRAYE
251e0 44 20 3d 20 30 78 30 30 30 30 30 30 30 33 20 7d  D = 0x00000003 }
251f0 0d 0a 61 6c 69 61 73 20 4d 46 53 5f 47 52 41 59  ..alias MFS_GRAY
25200 45 44 20 4d 46 53 5f 44 49 53 41 42 4c 45 44 3b  ED MFS_DISABLED;
25210 0d 0a 61 6c 69 61 73 20 4d 46 5f 43 48 45 43 4b  ..alias MF_CHECK
25220 45 44 20 4d 46 53 5f 43 48 45 43 4b 45 44 3b 0d  ED MFS_CHECKED;.
25230 0a 61 6c 69 61 73 20 4d 46 5f 48 49 4c 49 54 45  .alias MF_HILITE
25240 20 4d 46 53 5f 48 49 4c 49 54 45 3b 0d 0a 61 6c   MFS_HILITE;..al
25250 69 61 73 20 4d 46 5f 45 4e 41 42 4c 45 44 20 4d  ias MF_ENABLED M
25260 46 53 5f 45 4e 41 42 4c 45 44 3b 0d 0a 61 6c 69  FS_ENABLED;..ali
25270 61 73 20 4d 46 5f 55 4e 43 48 45 43 4b 45 44 20  as MF_UNCHECKED 
25280 4d 46 53 5f 55 4e 43 48 45 43 4b 45 44 3b 0d 0a  MFS_UNCHECKED;..
25290 61 6c 69 61 73 20 4d 46 5f 55 4e 48 49 4c 49 54  alias MF_UNHILIT
252a0 45 20 4d 46 53 5f 55 4e 48 49 4c 49 54 45 3b 0d  E MFS_UNHILITE;.
252b0 0a 61 6c 69 61 73 20 4d 46 5f 44 45 46 41 55 4c  .alias MF_DEFAUL
252c0 54 20 4d 46 53 5f 44 45 46 41 55 4c 54 3b 0d 0a  T MFS_DEFAULT;..
252d0 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
252e0 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f  VER >= 0x0400 */
252f0 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45  ....// #if(WINVE
25300 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a  R >= 0x0400)....
25310 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
25320 65 78 70 6f 72 74 20 42 4f 4f 4c 20 43 68 65 63  export BOOL Chec
25330 6b 4d 65 6e 75 52 61 64 69 6f 49 74 65 6d 28 0d  kMenuRadioItem(.
25340 0a 20 20 48 4d 45 4e 55 2c 0d 0a 20 20 55 49 4e  .  HMENU,..  UIN
25350 54 2c 0d 0a 20 20 55 49 4e 54 2c 0d 0a 20 20 55  T,..  UINT,..  U
25360 49 4e 54 2c 0d 0a 20 20 55 49 4e 54 29 3b 0d 0a  INT,..  UINT);..
25370 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
25380 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f  VER >= 0x0400 */
25390 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 34 20 7b 0d  ....struct _4 {.
253a0 0a 20 20 57 4f 52 44 20 76 65 72 73 69 6f 6e 4e  .  WORD versionN
253b0 75 6d 62 65 72 3b 0d 0a 20 20 57 4f 52 44 20 6f  umber;..  WORD o
253c0 66 66 73 65 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  ffset;..}..alias
253d0 20 5f 34 20 4d 45 4e 55 49 54 45 4d 54 45 4d 50   _4 MENUITEMTEMP
253e0 4c 41 54 45 48 45 41 44 45 52 3b 0d 0a 61 6c 69  LATEHEADER;..ali
253f0 61 73 20 5f 34 2a 20 50 4d 45 4e 55 49 54 45 4d  as _4* PMENUITEM
25400 54 45 4d 50 4c 41 54 45 48 45 41 44 45 52 3b 0d  TEMPLATEHEADER;.
25410 0a 0d 0a 73 74 72 75 63 74 20 5f 35 20 7b 0d 0a  ...struct _5 {..
25420 20 20 57 4f 52 44 20 6d 74 4f 70 74 69 6f 6e 3b    WORD mtOption;
25430 0d 0a 20 20 57 4f 52 44 20 6d 74 49 44 3b 0d 0a  ..  WORD mtID;..
25440 20 20 57 43 48 41 52 20 6d 74 53 74 72 69 6e 67    WCHAR mtString
25450 5b 31 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  [1];..}..alias _
25460 35 20 4d 45 4e 55 49 54 45 4d 54 45 4d 50 4c 41  5 MENUITEMTEMPLA
25470 54 45 3b 0d 0a 61 6c 69 61 73 20 5f 35 2a 20 50  TE;..alias _5* P
25480 4d 45 4e 55 49 54 45 4d 54 45 4d 50 4c 41 54 45  MENUITEMTEMPLATE
25490 3b 0d 0a 0d 0a 2f 2f 20 73 6b 69 70 20 23 64 65  ;....// skip #de
254a0 66 69 6e 65 20 4d 46 5f 45 4e 44 20 30 78 30 30  fine MF_END 0x00
254b0 30 30 30 30 38 30 4c 0d 0a 0d 0a 2f 2f 20 23 65  000080L....// #e
254c0 6e 64 69 66 20 2f 2a 20 21 4e 4f 4d 45 4e 55 53  ndif /* !NOMENUS
254d0 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65   */....// #ifnde
254e0 66 20 4e 4f 53 59 53 43 4f 4d 4d 41 4e 44 53 0d  f NOSYSCOMMANDS.
254f0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
25500 20 53 43 5f 53 49 5a 45 20 3d 20 30 78 46 30 30   SC_SIZE = 0xF00
25510 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
25520 20 7b 20 53 43 5f 4d 4f 56 45 20 3d 20 30 78 46   { SC_MOVE = 0xF
25530 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
25540 6e 74 20 7b 20 53 43 5f 4d 49 4e 49 4d 49 5a 45  nt { SC_MINIMIZE
25550 20 3d 20 30 78 46 30 32 30 20 7d 0d 0a 65 6e 75   = 0xF020 }..enu
25560 6d 20 3a 20 75 69 6e 74 20 7b 20 53 43 5f 4d 41  m : uint { SC_MA
25570 58 49 4d 49 5a 45 20 3d 20 30 78 46 30 33 30 20  XIMIZE = 0xF030 
25580 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
25590 20 53 43 5f 4e 45 58 54 57 49 4e 44 4f 57 20 3d   SC_NEXTWINDOW =
255a0 20 30 78 46 30 34 30 20 7d 0d 0a 65 6e 75 6d 20   0xF040 }..enum 
255b0 3a 20 75 69 6e 74 20 7b 20 53 43 5f 50 52 45 56  : uint { SC_PREV
255c0 57 49 4e 44 4f 57 20 3d 20 30 78 46 30 35 30 20  WINDOW = 0xF050 
255d0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
255e0 20 53 43 5f 43 4c 4f 53 45 20 3d 20 30 78 46 30   SC_CLOSE = 0xF0
255f0 36 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  60 }..enum : uin
25600 74 20 7b 20 53 43 5f 56 53 43 52 4f 4c 4c 20 3d  t { SC_VSCROLL =
25610 20 30 78 46 30 37 30 20 7d 0d 0a 65 6e 75 6d 20   0xF070 }..enum 
25620 3a 20 75 69 6e 74 20 7b 20 53 43 5f 48 53 43 52  : uint { SC_HSCR
25630 4f 4c 4c 20 3d 20 30 78 46 30 38 30 20 7d 0d 0a  OLL = 0xF080 }..
25640 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 43  enum : uint { SC
25650 5f 4d 4f 55 53 45 4d 45 4e 55 20 3d 20 30 78 46  _MOUSEMENU = 0xF
25660 30 39 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  090 }..enum : ui
25670 6e 74 20 7b 20 53 43 5f 4b 45 59 4d 45 4e 55 20  nt { SC_KEYMENU 
25680 3d 20 30 78 46 31 30 30 20 7d 0d 0a 65 6e 75 6d  = 0xF100 }..enum
25690 20 3a 20 75 69 6e 74 20 7b 20 53 43 5f 41 52 52   : uint { SC_ARR
256a0 41 4e 47 45 20 3d 20 30 78 46 31 31 30 20 7d 0d  ANGE = 0xF110 }.
256b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
256c0 43 5f 52 45 53 54 4f 52 45 20 3d 20 30 78 46 31  C_RESTORE = 0xF1
256d0 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  20 }..enum : uin
256e0 74 20 7b 20 53 43 5f 54 41 53 4b 4c 49 53 54 20  t { SC_TASKLIST 
256f0 3d 20 30 78 46 31 33 30 20 7d 0d 0a 65 6e 75 6d  = 0xF130 }..enum
25700 20 3a 20 75 69 6e 74 20 7b 20 53 43 5f 53 43 52   : uint { SC_SCR
25710 45 45 4e 53 41 56 45 20 3d 20 30 78 46 31 34 30  EENSAVE = 0xF140
25720 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
25730 7b 20 53 43 5f 48 4f 54 4b 45 59 20 3d 20 30 78  { SC_HOTKEY = 0x
25740 46 31 35 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 57  F150 }..// #if(W
25750 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
25760 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
25770 53 43 5f 44 45 46 41 55 4c 54 20 3d 20 30 78 46  SC_DEFAULT = 0xF
25780 31 36 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  160 }..enum : ui
25790 6e 74 20 7b 20 53 43 5f 4d 4f 4e 49 54 4f 52 50  nt { SC_MONITORP
257a0 4f 57 45 52 20 3d 20 30 78 46 31 37 30 20 7d 0d  OWER = 0xF170 }.
257b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
257c0 43 5f 43 4f 4e 54 45 58 54 48 45 4c 50 20 3d 20  C_CONTEXTHELP = 
257d0 30 78 46 31 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0xF180 }..enum :
257e0 20 75 69 6e 74 20 7b 20 53 43 5f 53 45 50 41 52   uint { SC_SEPAR
257f0 41 54 4f 52 20 3d 20 30 78 46 30 30 46 20 7d 0d  ATOR = 0xF00F }.
25800 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
25810 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a  NVER >= 0x0400 *
25820 2f 0d 0a 0d 0a 61 6c 69 61 73 20 53 43 5f 4d 49  /....alias SC_MI
25830 4e 49 4d 49 5a 45 20 53 43 5f 49 43 4f 4e 3b 0d  NIMIZE SC_ICON;.
25840 0a 61 6c 69 61 73 20 53 43 5f 4d 41 58 49 4d 49  .alias SC_MAXIMI
25850 5a 45 20 53 43 5f 5a 4f 4f 4d 3b 0d 0a 0d 0a 2f  ZE SC_ZOOM;..../
25860 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 53  / #endif /* !NOS
25870 59 53 43 4f 4d 4d 41 4e 44 53 20 2a 2f 0d 0a 0d  YSCOMMANDS */...
25880 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
25890 20 65 78 70 6f 72 74 20 48 42 49 54 4d 41 50 20   export HBITMAP 
258a0 4c 6f 61 64 42 69 74 6d 61 70 41 28 0d 0a 20 20  LoadBitmapA(..  
258b0 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61  HINSTANCE hInsta
258c0 6e 63 65 2c 0d 0a 20 20 4c 50 43 53 54 52 20 6c  nce,..  LPCSTR l
258d0 70 42 69 74 6d 61 70 4e 61 6d 65 29 3b 0d 0a 65  pBitmapName);..e
258e0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
258f0 78 70 6f 72 74 20 48 42 49 54 4d 41 50 20 4c 6f  xport HBITMAP Lo
25900 61 64 42 69 74 6d 61 70 57 28 0d 0a 20 20 48 49  adBitmapW(..  HI
25910 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63  NSTANCE hInstanc
25920 65 2c 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70  e,..  LPCWSTR lp
25930 42 69 74 6d 61 70 4e 61 6d 65 29 3b 0d 0a 2f 2f  BitmapName);..//
25940 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
25950 0a 61 6c 69 61 73 20 4c 6f 61 64 42 69 74 6d 61  .alias LoadBitma
25960 70 57 20 4c 6f 61 64 42 69 74 6d 61 70 3b 0d 0a  pW LoadBitmap;..
25970 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
25980 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
25990 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
259a0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
259b0 72 74 20 48 43 55 52 53 4f 52 20 4c 6f 61 64 43  rt HCURSOR LoadC
259c0 75 72 73 6f 72 41 28 0d 0a 20 20 48 49 4e 53 54  ursorA(..  HINST
259d0 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 2c 0d  ANCE hInstance,.
259e0 0a 20 20 4c 50 43 53 54 52 20 6c 70 43 75 72 73  .  LPCSTR lpCurs
259f0 6f 72 4e 61 6d 65 29 3b 0d 0a 65 78 74 65 72 6e  orName);..extern
25a00 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
25a10 20 48 43 55 52 53 4f 52 20 4c 6f 61 64 43 75 72   HCURSOR LoadCur
25a20 73 6f 72 57 28 0d 0a 20 20 48 49 4e 53 54 41 4e  sorW(..  HINSTAN
25a30 43 45 20 68 49 6e 73 74 61 6e 63 65 2c 0d 0a 20  CE hInstance,.. 
25a40 20 4c 50 43 57 53 54 52 20 6c 70 43 75 72 73 6f   LPCWSTR lpCurso
25a50 72 4e 61 6d 65 29 3b 0d 0a 2f 2f 20 23 69 66 64  rName);..// #ifd
25a60 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
25a70 73 20 4c 6f 61 64 43 75 72 73 6f 72 57 20 4c 6f  s LoadCursorW Lo
25a80 61 64 43 75 72 73 6f 72 3b 0d 0a 2f 2f 20 23 65  adCursor;..// #e
25a90 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
25aa0 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
25ab0 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ODE....extern(Wi
25ac0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 43  ndows) export HC
25ad0 55 52 53 4f 52 20 4c 6f 61 64 43 75 72 73 6f 72  URSOR LoadCursor
25ae0 46 72 6f 6d 46 69 6c 65 41 28 0d 0a 20 20 4c 50  FromFileA(..  LP
25af0 43 53 54 52 20 6c 70 46 69 6c 65 4e 61 6d 65 29  CSTR lpFileName)
25b00 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
25b10 73 29 20 65 78 70 6f 72 74 20 48 43 55 52 53 4f  s) export HCURSO
25b20 52 20 4c 6f 61 64 43 75 72 73 6f 72 46 72 6f 6d  R LoadCursorFrom
25b30 46 69 6c 65 57 28 0d 0a 20 20 4c 50 43 57 53 54  FileW(..  LPCWST
25b40 52 20 6c 70 46 69 6c 65 4e 61 6d 65 29 3b 0d 0a  R lpFileName);..
25b50 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
25b60 45 0d 0a 61 6c 69 61 73 20 4c 6f 61 64 43 75 72  E..alias LoadCur
25b70 73 6f 72 46 72 6f 6d 46 69 6c 65 57 20 4c 6f 61  sorFromFileW Loa
25b80 64 43 75 72 73 6f 72 46 72 6f 6d 46 69 6c 65 3b  dCursorFromFile;
25b90 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
25ba0 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
25bb0 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78  / !UNICODE....ex
25bc0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
25bd0 70 6f 72 74 20 48 43 55 52 53 4f 52 20 43 72 65  port HCURSOR Cre
25be0 61 74 65 43 75 72 73 6f 72 28 0d 0a 20 20 48 49  ateCursor(..  HI
25bf0 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 2c 0d 0a  NSTANCE hInst,..
25c00 20 20 69 6e 74 20 78 48 6f 74 53 70 6f 74 2c 0d    int xHotSpot,.
25c10 0a 20 20 69 6e 74 20 79 48 6f 74 53 70 6f 74 2c  .  int yHotSpot,
25c20 0d 0a 20 20 69 6e 74 20 6e 57 69 64 74 68 2c 0d  ..  int nWidth,.
25c30 0a 20 20 69 6e 74 20 6e 48 65 69 67 68 74 2c 0d  .  int nHeight,.
25c40 0a 20 20 56 4f 49 44 20 2a 70 76 41 4e 44 50 6c  .  VOID *pvANDPl
25c50 61 6e 65 2c 0d 0a 20 20 56 4f 49 44 20 2a 70 76  ane,..  VOID *pv
25c60 58 4f 52 50 6c 61 6e 65 29 3b 0d 0a 0d 0a 65 78  XORPlane);....ex
25c70 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
25c80 70 6f 72 74 20 42 4f 4f 4c 20 44 65 73 74 72 6f  port BOOL Destro
25c90 79 43 75 72 73 6f 72 28 0d 0a 20 20 48 43 55 52  yCursor(..  HCUR
25ca0 53 4f 52 20 68 43 75 72 73 6f 72 29 3b 0d 0a 0d  SOR hCursor);...
25cb0 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f 4d 41 43  .// #ifndef _MAC
25cc0 0d 0a 61 6c 69 61 73 20 43 6f 70 79 49 63 6f 6e  ..alias CopyIcon
25cd0 20 43 6f 70 79 43 75 72 73 6f 72 3b 0d 0a 2f 2f   CopyCursor;..//
25ce0 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   #else..// .....
25cf0 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 63 6f 6e  // #endif....con
25d00 73 74 20 4c 50 54 53 54 52 20 49 44 43 5f 41 52  st LPTSTR IDC_AR
25d10 52 4f 57 20 3d 20 63 61 73 74 28 4c 50 54 53 54  ROW = cast(LPTST
25d20 52 29 28 33 32 35 31 32 29 3b 0d 0a 63 6f 6e 73  R)(32512);..cons
25d30 74 20 4c 50 54 53 54 52 20 49 44 43 5f 49 42 45  t LPTSTR IDC_IBE
25d40 41 4d 20 3d 20 63 61 73 74 28 4c 50 54 53 54 52  AM = cast(LPTSTR
25d50 29 28 33 32 35 31 33 29 3b 0d 0a 63 6f 6e 73 74  )(32513);..const
25d60 20 4c 50 54 53 54 52 20 49 44 43 5f 57 41 49 54   LPTSTR IDC_WAIT
25d70 20 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29 28   = cast(LPTSTR)(
25d80 33 32 35 31 34 29 3b 0d 0a 63 6f 6e 73 74 20 4c  32514);..const L
25d90 50 54 53 54 52 20 49 44 43 5f 43 52 4f 53 53 20  PTSTR IDC_CROSS 
25da0 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29 28 33  = cast(LPTSTR)(3
25db0 32 35 31 35 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50  2515);..const LP
25dc0 54 53 54 52 20 49 44 43 5f 55 50 41 52 52 4f 57  TSTR IDC_UPARROW
25dd0 20 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29 28   = cast(LPTSTR)(
25de0 33 32 35 31 36 29 3b 0d 0a 63 6f 6e 73 74 20 4c  32516);..const L
25df0 50 54 53 54 52 20 49 44 43 5f 53 49 5a 45 20 3d  PTSTR IDC_SIZE =
25e00 20 63 61 73 74 28 4c 50 54 53 54 52 29 28 33 32   cast(LPTSTR)(32
25e10 36 34 30 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54  640);..const LPT
25e20 53 54 52 20 49 44 43 5f 49 43 4f 4e 20 3d 20 63  STR IDC_ICON = c
25e30 61 73 74 28 4c 50 54 53 54 52 29 28 33 32 36 34  ast(LPTSTR)(3264
25e40 31 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54  1);..const LPTST
25e50 52 20 49 44 43 5f 53 49 5a 45 4e 57 53 45 20 3d  R IDC_SIZENWSE =
25e60 20 63 61 73 74 28 4c 50 54 53 54 52 29 28 33 32   cast(LPTSTR)(32
25e70 36 34 32 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54  642);..const LPT
25e80 53 54 52 20 49 44 43 5f 53 49 5a 45 4e 45 53 57  STR IDC_SIZENESW
25e90 20 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29 28   = cast(LPTSTR)(
25ea0 33 32 36 34 33 29 3b 0d 0a 63 6f 6e 73 74 20 4c  32643);..const L
25eb0 50 54 53 54 52 20 49 44 43 5f 53 49 5a 45 57 45  PTSTR IDC_SIZEWE
25ec0 20 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29 28   = cast(LPTSTR)(
25ed0 33 32 36 34 34 29 3b 0d 0a 63 6f 6e 73 74 20 4c  32644);..const L
25ee0 50 54 53 54 52 20 49 44 43 5f 53 49 5a 45 4e 53  PTSTR IDC_SIZENS
25ef0 20 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29 28   = cast(LPTSTR)(
25f00 33 32 36 34 35 29 3b 0d 0a 63 6f 6e 73 74 20 4c  32645);..const L
25f10 50 54 53 54 52 20 49 44 43 5f 53 49 5a 45 41 4c  PTSTR IDC_SIZEAL
25f20 4c 20 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29  L = cast(LPTSTR)
25f30 28 33 32 36 34 36 29 3b 0d 0a 63 6f 6e 73 74 20  (32646);..const 
25f40 4c 50 54 53 54 52 20 49 44 43 5f 4e 4f 20 3d 20  LPTSTR IDC_NO = 
25f50 63 61 73 74 28 4c 50 54 53 54 52 29 28 33 32 36  cast(LPTSTR)(326
25f60 34 38 29 3b 0d 0a 2f 2f 20 23 69 66 28 57 49 4e  48);..// #if(WIN
25f70 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a  VER >= 0x0500)..
25f80 63 6f 6e 73 74 20 4c 50 54 53 54 52 20 49 44 43  const LPTSTR IDC
25f90 5f 48 41 4e 44 20 3d 20 63 61 73 74 28 4c 50 54  _HAND = cast(LPT
25fa0 53 54 52 29 28 33 32 36 34 39 29 3b 0d 0a 2f 2f  STR)(32649);..//
25fb0 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45   #endif /* WINVE
25fc0 52 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a  R >= 0x0500 */..
25fd0 63 6f 6e 73 74 20 4c 50 54 53 54 52 20 49 44 43  const LPTSTR IDC
25fe0 5f 41 50 50 53 54 41 52 54 49 4e 47 20 3d 20 63  _APPSTARTING = c
25ff0 61 73 74 28 4c 50 54 53 54 52 29 28 33 32 36 35  ast(LPTSTR)(3265
26000 30 29 3b 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56  0);..// #if(WINV
26010 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 63  ER >= 0x0400)..c
26020 6f 6e 73 74 20 4c 50 54 53 54 52 20 49 44 43 5f  onst LPTSTR IDC_
26030 48 45 4c 50 20 3d 20 63 61 73 74 28 4c 50 54 53  HELP = cast(LPTS
26040 54 52 29 28 33 32 36 35 31 29 3b 0d 0a 2f 2f 20  TR)(32651);..// 
26050 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52  #endif /* WINVER
26060 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d   >= 0x0400 */...
26070 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
26080 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74   export BOOL Set
26090 53 79 73 74 65 6d 43 75 72 73 6f 72 28 0d 0a 20  SystemCursor(.. 
260a0 20 48 43 55 52 53 4f 52 20 68 63 75 72 2c 0d 0a   HCURSOR hcur,..
260b0 20 20 44 57 4f 52 44 20 69 64 29 3b 0d 0a 0d 0a    DWORD id);....
260c0 73 74 72 75 63 74 20 5f 49 43 4f 4e 49 4e 46 4f  struct _ICONINFO
260d0 20 7b 0d 0a 20 20 42 4f 4f 4c 20 66 49 63 6f 6e   {..  BOOL fIcon
260e0 3b 0d 0a 20 20 44 57 4f 52 44 20 78 48 6f 74 73  ;..  DWORD xHots
260f0 70 6f 74 3b 0d 0a 20 20 44 57 4f 52 44 20 79 48  pot;..  DWORD yH
26100 6f 74 73 70 6f 74 3b 0d 0a 20 20 48 42 49 54 4d  otspot;..  HBITM
26110 41 50 20 68 62 6d 4d 61 73 6b 3b 0d 0a 20 20 48  AP hbmMask;..  H
26120 42 49 54 4d 41 50 20 68 62 6d 43 6f 6c 6f 72 3b  BITMAP hbmColor;
26130 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49 43 4f 4e  ..}..alias _ICON
26140 49 4e 46 4f 20 49 43 4f 4e 49 4e 46 4f 3b 0d 0a  INFO ICONINFO;..
26150 0d 0a 61 6c 69 61 73 20 49 43 4f 4e 49 4e 46 4f  ..alias ICONINFO
26160 2a 20 50 49 43 4f 4e 49 4e 46 4f 3b 0d 0a 0d 0a  * PICONINFO;....
26170 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
26180 65 78 70 6f 72 74 20 48 49 43 4f 4e 20 4c 6f 61  export HICON Loa
26190 64 49 63 6f 6e 41 28 0d 0a 20 20 48 49 4e 53 54  dIconA(..  HINST
261a0 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 2c 0d  ANCE hInstance,.
261b0 0a 20 20 4c 50 43 53 54 52 20 6c 70 49 63 6f 6e  .  LPCSTR lpIcon
261c0 4e 61 6d 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57  Name);..extern(W
261d0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48  indows) export H
261e0 49 43 4f 4e 20 4c 6f 61 64 49 63 6f 6e 57 28 0d  ICON LoadIconW(.
261f0 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e  .  HINSTANCE hIn
26200 73 74 61 6e 63 65 2c 0d 0a 20 20 4c 50 43 57 53  stance,..  LPCWS
26210 54 52 20 6c 70 49 63 6f 6e 4e 61 6d 65 29 3b 0d  TR lpIconName);.
26220 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
26230 44 45 0d 0a 61 6c 69 61 73 20 4c 6f 61 64 49 63  DE..alias LoadIc
26240 6f 6e 57 20 4c 6f 61 64 49 63 6f 6e 3b 0d 0a 2f  onW LoadIcon;../
26250 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
26260 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
26270 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
26280 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
26290 74 20 48 49 43 4f 4e 20 43 72 65 61 74 65 49 63  t HICON CreateIc
262a0 6f 6e 28 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45  on(..  HINSTANCE
262b0 20 68 49 6e 73 74 61 6e 63 65 2c 0d 0a 20 20 69   hInstance,..  i
262c0 6e 74 20 6e 57 69 64 74 68 2c 0d 0a 20 20 69 6e  nt nWidth,..  in
262d0 74 20 6e 48 65 69 67 68 74 2c 0d 0a 20 20 42 59  t nHeight,..  BY
262e0 54 45 20 63 50 6c 61 6e 65 73 2c 0d 0a 20 20 42  TE cPlanes,..  B
262f0 59 54 45 20 63 42 69 74 73 50 69 78 65 6c 2c 0d  YTE cBitsPixel,.
26300 0a 20 20 42 59 54 45 20 2a 6c 70 62 41 4e 44 62  .  BYTE *lpbANDb
26310 69 74 73 2c 0d 0a 20 20 42 59 54 45 20 2a 6c 70  its,..  BYTE *lp
26320 62 58 4f 52 62 69 74 73 29 3b 0d 0a 0d 0a 65 78  bXORbits);....ex
26330 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
26340 70 6f 72 74 20 42 4f 4f 4c 20 44 65 73 74 72 6f  port BOOL Destro
26350 79 49 63 6f 6e 28 0d 0a 20 20 48 49 43 4f 4e 20  yIcon(..  HICON 
26360 68 49 63 6f 6e 29 3b 0d 0a 0d 0a 65 78 74 65 72  hIcon);....exter
26370 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
26380 74 20 69 6e 74 20 4c 6f 6f 6b 75 70 49 63 6f 6e  t int LookupIcon
26390 49 64 46 72 6f 6d 44 69 72 65 63 74 6f 72 79 28  IdFromDirectory(
263a0 0d 0a 20 20 50 42 59 54 45 20 70 72 65 73 62 69  ..  PBYTE presbi
263b0 74 73 2c 0d 0a 20 20 42 4f 4f 4c 20 66 49 63 6f  ts,..  BOOL fIco
263c0 6e 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49  n);....// #if(WI
263d0 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d  NVER >= 0x0400).
263e0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
263f0 20 65 78 70 6f 72 74 20 69 6e 74 20 4c 6f 6f 6b   export int Look
26400 75 70 49 63 6f 6e 49 64 46 72 6f 6d 44 69 72 65  upIconIdFromDire
26410 63 74 6f 72 79 45 78 28 0d 0a 20 20 50 42 59 54  ctoryEx(..  PBYT
26420 45 20 70 72 65 73 62 69 74 73 2c 0d 0a 20 20 42  E presbits,..  B
26430 4f 4f 4c 20 66 49 63 6f 6e 2c 0d 0a 20 20 69 6e  OOL fIcon,..  in
26440 74 20 63 78 44 65 73 69 72 65 64 2c 0d 0a 20 20  t cxDesired,..  
26450 69 6e 74 20 63 79 44 65 73 69 72 65 64 2c 0d 0a  int cyDesired,..
26460 20 20 55 49 4e 54 20 46 6c 61 67 73 29 3b 0d 0a    UINT Flags);..
26470 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
26480 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f  VER >= 0x0400 */
26490 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
264a0 77 73 29 20 65 78 70 6f 72 74 20 48 49 43 4f 4e  ws) export HICON
264b0 20 43 72 65 61 74 65 49 63 6f 6e 46 72 6f 6d 52   CreateIconFromR
264c0 65 73 6f 75 72 63 65 28 0d 0a 20 20 50 42 59 54  esource(..  PBYT
264d0 45 20 70 72 65 73 62 69 74 73 2c 0d 0a 20 20 44  E presbits,..  D
264e0 57 4f 52 44 20 64 77 52 65 73 53 69 7a 65 2c 0d  WORD dwResSize,.
264f0 0a 20 20 42 4f 4f 4c 20 66 49 63 6f 6e 2c 0d 0a  .  BOOL fIcon,..
26500 20 20 44 57 4f 52 44 20 64 77 56 65 72 29 3b 0d    DWORD dwVer);.
26510 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  ...// #if(WINVER
26520 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 78 74   >= 0x0400)..ext
26530 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
26540 6f 72 74 20 48 49 43 4f 4e 20 43 72 65 61 74 65  ort HICON Create
26550 49 63 6f 6e 46 72 6f 6d 52 65 73 6f 75 72 63 65  IconFromResource
26560 45 78 28 0d 0a 20 20 50 42 59 54 45 20 70 72 65  Ex(..  PBYTE pre
26570 73 62 69 74 73 2c 0d 0a 20 20 44 57 4f 52 44 20  sbits,..  DWORD 
26580 64 77 52 65 73 53 69 7a 65 2c 0d 0a 20 20 42 4f  dwResSize,..  BO
26590 4f 4c 20 66 49 63 6f 6e 2c 0d 0a 20 20 44 57 4f  OL fIcon,..  DWO
265a0 52 44 20 64 77 56 65 72 2c 0d 0a 20 20 69 6e 74  RD dwVer,..  int
265b0 20 63 78 44 65 73 69 72 65 64 2c 0d 0a 20 20 69   cxDesired,..  i
265c0 6e 74 20 63 79 44 65 73 69 72 65 64 2c 0d 0a 20  nt cyDesired,.. 
265d0 20 55 49 4e 54 20 46 6c 61 67 73 29 3b 0d 0a 0d   UINT Flags);...
265e0 0a 73 74 72 75 63 74 20 74 61 67 43 55 52 53 4f  .struct tagCURSO
265f0 52 53 48 41 50 45 20 7b 0d 0a 20 20 69 6e 74 20  RSHAPE {..  int 
26600 78 48 6f 74 53 70 6f 74 3b 0d 0a 20 20 69 6e 74  xHotSpot;..  int
26610 20 79 48 6f 74 53 70 6f 74 3b 0d 0a 20 20 69 6e   yHotSpot;..  in
26620 74 20 63 78 3b 0d 0a 20 20 69 6e 74 20 63 79 3b  t cx;..  int cy;
26630 0d 0a 20 20 69 6e 74 20 63 62 57 69 64 74 68 3b  ..  int cbWidth;
26640 0d 0a 20 20 42 59 54 45 20 50 6c 61 6e 65 73 3b  ..  BYTE Planes;
26650 0d 0a 20 20 42 59 54 45 20 42 69 74 73 50 69 78  ..  BYTE BitsPix
26660 65 6c 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  el;..}..alias ta
26670 67 43 55 52 53 4f 52 53 48 41 50 45 20 43 55 52  gCURSORSHAPE CUR
26680 53 4f 52 53 48 41 50 45 3b 0d 0a 61 6c 69 61 73  SORSHAPE;..alias
26690 20 74 61 67 43 55 52 53 4f 52 53 48 41 50 45 2a   tagCURSORSHAPE*
266a0 20 4c 50 43 55 52 53 4f 52 53 48 41 50 45 3b 0d   LPCURSORSHAPE;.
266b0 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
266c0 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
266d0 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   */....enum : ui
266e0 6e 74 20 7b 20 49 4d 41 47 45 5f 42 49 54 4d 41  nt { IMAGE_BITMA
266f0 50 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  P = 0 }..enum : 
26700 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 49 43 4f  uint { IMAGE_ICO
26710 4e 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  N = 1 }..enum : 
26720 75 69 6e 74 20 7b 20 49 4d 41 47 45 5f 43 55 52  uint { IMAGE_CUR
26730 53 4f 52 20 3d 20 32 20 7d 0d 0a 2f 2f 20 23 69  SOR = 2 }..// #i
26740 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
26750 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
26760 20 7b 20 49 4d 41 47 45 5f 45 4e 48 4d 45 54 41   { IMAGE_ENHMETA
26770 46 49 4c 45 20 3d 20 33 20 7d 0d 0a 0d 0a 65 6e  FILE = 3 }....en
26780 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 52 5f 44  um : uint { LR_D
26790 45 46 41 55 4c 54 43 4f 4c 4f 52 20 3d 20 30 78  EFAULTCOLOR = 0x
267a0 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
267b0 69 6e 74 20 7b 20 4c 52 5f 4d 4f 4e 4f 43 48 52  int { LR_MONOCHR
267c0 4f 4d 45 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a  OME = 0x0001 }..
267d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 52  enum : uint { LR
267e0 5f 43 4f 4c 4f 52 20 3d 20 30 78 30 30 30 32 20  _COLOR = 0x0002 
267f0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
26800 20 4c 52 5f 43 4f 50 59 52 45 54 55 52 4e 4f 52   LR_COPYRETURNOR
26810 47 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e  G = 0x0004 }..en
26820 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 52 5f 43  um : uint { LR_C
26830 4f 50 59 44 45 4c 45 54 45 4f 52 47 20 3d 20 30  OPYDELETEORG = 0
26840 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0008 }..enum : 
26850 75 69 6e 74 20 7b 20 4c 52 5f 4c 4f 41 44 46 52  uint { LR_LOADFR
26860 4f 4d 46 49 4c 45 20 3d 20 30 78 30 30 31 30 20  OMFILE = 0x0010 
26870 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
26880 20 4c 52 5f 4c 4f 41 44 54 52 41 4e 53 50 41 52   LR_LOADTRANSPAR
26890 45 4e 54 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a  ENT = 0x0020 }..
268a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 52  enum : uint { LR
268b0 5f 44 45 46 41 55 4c 54 53 49 5a 45 20 3d 20 30  _DEFAULTSIZE = 0
268c0 78 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0040 }..enum : 
268d0 75 69 6e 74 20 7b 20 4c 52 5f 56 47 41 43 4f 4c  uint { LR_VGACOL
268e0 4f 52 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a 65  OR = 0x0080 }..e
268f0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 52 5f  num : uint { LR_
26900 4c 4f 41 44 4d 41 50 33 44 43 4f 4c 4f 52 53 20  LOADMAP3DCOLORS 
26910 3d 20 30 78 31 30 30 30 20 7d 0d 0a 65 6e 75 6d  = 0x1000 }..enum
26920 20 3a 20 75 69 6e 74 20 7b 20 4c 52 5f 43 52 45   : uint { LR_CRE
26930 41 54 45 44 49 42 53 45 43 54 49 4f 4e 20 3d 20  ATEDIBSECTION = 
26940 30 78 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x2000 }..enum :
26950 20 75 69 6e 74 20 7b 20 4c 52 5f 43 4f 50 59 46   uint { LR_COPYF
26960 52 4f 4d 52 45 53 4f 55 52 43 45 20 3d 20 30 78  ROMRESOURCE = 0x
26970 34 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  4000 }..enum : u
26980 69 6e 74 20 7b 20 4c 52 5f 53 48 41 52 45 44 20  int { LR_SHARED 
26990 3d 20 30 78 38 30 30 30 20 7d 0d 0a 0d 0a 65 78  = 0x8000 }....ex
269a0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
269b0 70 6f 72 74 20 48 41 4e 44 4c 45 20 4c 6f 61 64  port HANDLE Load
269c0 49 6d 61 67 65 41 28 0d 0a 20 20 48 49 4e 53 54  ImageA(..  HINST
269d0 41 4e 43 45 2c 0d 0a 20 20 4c 50 43 53 54 52 2c  ANCE,..  LPCSTR,
269e0 0d 0a 20 20 55 49 4e 54 2c 0d 0a 20 20 69 6e 74  ..  UINT,..  int
269f0 2c 0d 0a 20 20 69 6e 74 2c 0d 0a 20 20 55 49 4e  ,..  int,..  UIN
26a00 54 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  T);..extern(Wind
26a10 6f 77 73 29 20 65 78 70 6f 72 74 20 48 41 4e 44  ows) export HAND
26a20 4c 45 20 4c 6f 61 64 49 6d 61 67 65 57 28 0d 0a  LE LoadImageW(..
26a30 20 20 48 49 4e 53 54 41 4e 43 45 2c 0d 0a 20 20    HINSTANCE,..  
26a40 4c 50 43 57 53 54 52 2c 0d 0a 20 20 55 49 4e 54  LPCWSTR,..  UINT
26a50 2c 0d 0a 20 20 69 6e 74 2c 0d 0a 20 20 69 6e 74  ,..  int,..  int
26a60 2c 0d 0a 20 20 55 49 4e 54 29 3b 0d 0a 2f 2f 20  ,..  UINT);..// 
26a70 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
26a80 61 6c 69 61 73 20 4c 6f 61 64 49 6d 61 67 65 57  alias LoadImageW
26a90 20 4c 6f 61 64 49 6d 61 67 65 3b 0d 0a 2f 2f 20   LoadImage;..// 
26aa0 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
26ab0 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
26ac0 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
26ad0 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
26ae0 48 41 4e 44 4c 45 20 43 6f 70 79 49 6d 61 67 65  HANDLE CopyImage
26af0 28 0d 0a 20 20 48 41 4e 44 4c 45 2c 0d 0a 20 20  (..  HANDLE,..  
26b00 55 49 4e 54 2c 0d 0a 20 20 69 6e 74 2c 0d 0a 20  UINT,..  int,.. 
26b10 20 69 6e 74 2c 0d 0a 20 20 55 49 4e 54 29 3b 0d   int,..  UINT);.
26b20 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
26b30 20 44 49 5f 4d 41 53 4b 20 3d 20 30 78 30 30 30   DI_MASK = 0x000
26b40 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
26b50 20 7b 20 44 49 5f 49 4d 41 47 45 20 3d 20 30 78   { DI_IMAGE = 0x
26b60 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
26b70 69 6e 74 20 7b 20 44 49 5f 4e 4f 52 4d 41 4c 20  int { DI_NORMAL 
26b80 3d 20 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d  = 0x0003 }..enum
26b90 20 3a 20 75 69 6e 74 20 7b 20 44 49 5f 43 4f 4d   : uint { DI_COM
26ba0 50 41 54 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a  PAT = 0x0004 }..
26bb0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 49  enum : uint { DI
26bc0 5f 44 45 46 41 55 4c 54 53 49 5a 45 20 3d 20 30  _DEFAULTSIZE = 0
26bd0 78 30 30 30 38 20 7d 0d 0a 2f 2f 20 23 69 66 28  x0008 }..// #if(
26be0 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
26bf0 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20  0x0501)..enum : 
26c00 75 69 6e 74 20 7b 20 44 49 5f 4e 4f 4d 49 52 52  uint { DI_NOMIRR
26c10 4f 52 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 2f  OR = 0x0010 }../
26c20 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e  / #endif /* _WIN
26c30 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35  32_WINNT >= 0x05
26c40 30 31 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28  01 */....extern(
26c50 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
26c60 42 4f 4f 4c 20 44 72 61 77 49 63 6f 6e 45 78 28  BOOL DrawIconEx(
26c70 48 44 43 20 68 64 63 2c 20 69 6e 74 20 78 4c 65  HDC hdc, int xLe
26c80 66 74 2c 20 69 6e 74 20 79 54 6f 70 2c 0d 0a 20  ft, int yTop,.. 
26c90 20 48 49 43 4f 4e 20 68 49 63 6f 6e 2c 20 69 6e   HICON hIcon, in
26ca0 74 20 63 78 57 69 64 74 68 2c 20 69 6e 74 20 63  t cxWidth, int c
26cb0 79 57 69 64 74 68 2c 0d 0a 20 20 55 49 4e 54 20  yWidth,..  UINT 
26cc0 69 73 74 65 70 49 66 41 6e 69 43 75 72 2c 20 48  istepIfAniCur, H
26cd0 42 52 55 53 48 20 68 62 72 46 6c 69 63 6b 65 72  BRUSH hbrFlicker
26ce0 46 72 65 65 44 72 61 77 2c 20 55 49 4e 54 20 64  FreeDraw, UINT d
26cf0 69 46 6c 61 67 73 29 3b 0d 0a 2f 2f 20 23 65 6e  iFlags);..// #en
26d00 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d  dif /* WINVER >=
26d10 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65 78   0x0400 */....ex
26d20 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
26d30 70 6f 72 74 20 48 49 43 4f 4e 20 43 72 65 61 74  port HICON Creat
26d40 65 49 63 6f 6e 49 6e 64 69 72 65 63 74 28 0d 0a  eIconIndirect(..
26d50 20 20 50 49 43 4f 4e 49 4e 46 4f 20 70 69 63 6f    PICONINFO pico
26d60 6e 69 6e 66 6f 29 3b 0d 0a 0d 0a 65 78 74 65 72  ninfo);....exter
26d70 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
26d80 74 20 48 49 43 4f 4e 20 43 6f 70 79 49 63 6f 6e  t HICON CopyIcon
26d90 28 0d 0a 20 20 48 49 43 4f 4e 20 68 49 63 6f 6e  (..  HICON hIcon
26da0 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
26db0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
26dc0 4c 20 47 65 74 49 63 6f 6e 49 6e 66 6f 28 0d 0a  L GetIconInfo(..
26dd0 20 20 48 49 43 4f 4e 20 68 49 63 6f 6e 2c 0d 0a    HICON hIcon,..
26de0 20 20 50 49 43 4f 4e 49 4e 46 4f 20 70 69 63 6f    PICONINFO pico
26df0 6e 69 6e 66 6f 29 3b 0d 0a 0d 0a 2f 2f 20 23 69  ninfo);....// #i
26e00 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
26e10 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
26e20 20 7b 20 52 45 53 5f 49 43 4f 4e 20 3d 20 31 20   { RES_ICON = 1 
26e30 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
26e40 20 52 45 53 5f 43 55 52 53 4f 52 20 3d 20 32 20   RES_CURSOR = 2 
26e50 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  }..// #endif /* 
26e60 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
26e70 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66   */....// #ifdef
26e80 20 4f 45 4d 52 45 53 4f 55 52 43 45 0d 0a 0d 0a   OEMRESOURCE....
26e90 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
26ea0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
26eb0 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
26ec0 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
26ed0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
26ee0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
26ef0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
26f00 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
26f10 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
26f20 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
26f30 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
26f40 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f  ....// #......./
26f50 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
26f60 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
26f70 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
26f80 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
26f90 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
26fa0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
26fb0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
26fc0 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  ......// #...../
26fd0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
26fe0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
26ff0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
27000 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
27010 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
27020 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
27030 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
27040 2e 2e 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45  ....// #if(WINVE
27050 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 2f 2f  R >= 0x0500)..//
27060 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
27070 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
27080 30 35 30 30 20 2a 2f 0d 0a 2f 2f 20 23 69 66 28  0500 */..// #if(
27090 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
270a0 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  )..// #.....// #
270b0 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
270c0 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0400 */....
270d0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
270e0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
270f0 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
27100 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  #if(WINVER >= 0x
27110 30 34 30 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  0400)..// #.....
27120 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
27130 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
27140 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e  ndif /* WINVER >
27150 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f  = 0x0400 */..../
27160 2f 20 23 65 6e 64 69 66 20 2f 2a 20 4f 45 4d 52  / #endif /* OEMR
27170 45 53 4f 55 52 43 45 20 2a 2f 0d 0a 0d 0a 65 6e  ESOURCE */....en
27180 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 52 44 5f  um : uint { ORD_
27190 4c 41 4e 47 44 52 49 56 45 52 20 3d 20 31 20 7d  LANGDRIVER = 1 }
271a0 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e  ....// #ifndef N
271b0 4f 49 43 4f 4e 53 0d 0a 0d 0a 2f 2f 20 23 69 66  OICONS....// #if
271c0 64 65 66 20 52 43 5f 49 4e 56 4f 4b 45 44 0d 0a  def RC_INVOKED..
271d0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
271e0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
271f0 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
27200 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  #if(WINVER >= 0x
27210 30 34 30 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  0400)..// #.....
27220 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
27230 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f  VER >= 0x0400 */
27240 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 63 6f 6e 73  ..// #else..cons
27250 74 20 4c 50 54 53 54 52 20 49 44 49 5f 41 50 50  t LPTSTR IDI_APP
27260 4c 49 43 41 54 49 4f 4e 20 3d 20 63 61 73 74 28  LICATION = cast(
27270 4c 50 54 53 54 52 29 28 33 32 35 31 32 29 3b 0d  LPTSTR)(32512);.
27280 0a 63 6f 6e 73 74 20 4c 50 54 53 54 52 20 49 44  .const LPTSTR ID
27290 49 5f 48 41 4e 44 20 3d 20 63 61 73 74 28 4c 50  I_HAND = cast(LP
272a0 54 53 54 52 29 28 33 32 35 31 33 29 3b 0d 0a 63  TSTR)(32513);..c
272b0 6f 6e 73 74 20 4c 50 54 53 54 52 20 49 44 49 5f  onst LPTSTR IDI_
272c0 51 55 45 53 54 49 4f 4e 20 3d 20 63 61 73 74 28  QUESTION = cast(
272d0 4c 50 54 53 54 52 29 28 33 32 35 31 34 29 3b 0d  LPTSTR)(32514);.
272e0 0a 63 6f 6e 73 74 20 4c 50 54 53 54 52 20 49 44  .const LPTSTR ID
272f0 49 5f 45 58 43 4c 41 4d 41 54 49 4f 4e 20 3d 20  I_EXCLAMATION = 
27300 63 61 73 74 28 4c 50 54 53 54 52 29 28 33 32 35  cast(LPTSTR)(325
27310 31 35 29 3b 0d 0a 63 6f 6e 73 74 20 4c 50 54 53  15);..const LPTS
27320 54 52 20 49 44 49 5f 41 53 54 45 52 49 53 4b 20  TR IDI_ASTERISK 
27330 3d 20 63 61 73 74 28 4c 50 54 53 54 52 29 28 33  = cast(LPTSTR)(3
27340 32 35 31 36 29 3b 0d 0a 2f 2f 20 23 69 66 28 57  2516);..// #if(W
27350 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
27360 0d 0a 63 6f 6e 73 74 20 4c 50 54 53 54 52 20 49  ..const LPTSTR I
27370 44 49 5f 57 49 4e 4c 4f 47 4f 20 3d 20 63 61 73  DI_WINLOGO = cas
27380 74 28 4c 50 54 53 54 52 29 28 33 32 35 31 37 29  t(LPTSTR)(32517)
27390 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ;..// #endif /* 
273a0 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
273b0 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f   */..// #endif /
273c0 2a 20 52 43 5f 49 4e 56 4f 4b 45 44 20 2a 2f 0d  * RC_INVOKED */.
273d0 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  ...// #if(WINVER
273e0 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 61 6c 69   >= 0x0400)..ali
273f0 61 73 20 49 44 49 5f 45 58 43 4c 41 4d 41 54 49  as IDI_EXCLAMATI
27400 4f 4e 20 49 44 49 5f 57 41 52 4e 49 4e 47 3b 0d  ON IDI_WARNING;.
27410 0a 61 6c 69 61 73 20 49 44 49 5f 48 41 4e 44 20  .alias IDI_HAND 
27420 49 44 49 5f 45 52 52 4f 52 3b 0d 0a 61 6c 69 61  IDI_ERROR;..alia
27430 73 20 49 44 49 5f 41 53 54 45 52 49 53 4b 20 49  s IDI_ASTERISK I
27440 44 49 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d  DI_INFORMATION;.
27450 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
27460 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a  NVER >= 0x0400 *
27470 2f 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  /....// #endif /
27480 2a 20 21 4e 4f 49 43 4f 4e 53 20 2a 2f 0d 0a 0d  * !NOICONS */...
27490 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
274a0 20 65 78 70 6f 72 74 20 69 6e 74 20 4c 6f 61 64   export int Load
274b0 53 74 72 69 6e 67 41 28 0d 0a 20 20 48 49 4e 53  StringA(..  HINS
274c0 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 2c  TANCE hInstance,
274d0 0d 0a 20 20 55 49 4e 54 20 75 49 44 2c 0d 0a 20  ..  UINT uID,.. 
274e0 20 4c 50 53 54 52 20 6c 70 42 75 66 66 65 72 2c   LPSTR lpBuffer,
274f0 0d 0a 20 20 69 6e 74 20 6e 42 75 66 66 65 72 4d  ..  int nBufferM
27500 61 78 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ax);..extern(Win
27510 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74  dows) export int
27520 20 4c 6f 61 64 53 74 72 69 6e 67 57 28 0d 0a 20   LoadStringW(.. 
27530 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74   HINSTANCE hInst
27540 61 6e 63 65 2c 0d 0a 20 20 55 49 4e 54 20 75 49  ance,..  UINT uI
27550 44 2c 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70 42  D,..  LPWSTR lpB
27560 75 66 66 65 72 2c 0d 0a 20 20 69 6e 74 20 6e 42  uffer,..  int nB
27570 75 66 66 65 72 4d 61 78 29 3b 0d 0a 2f 2f 20 23  ufferMax);..// #
27580 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
27590 6c 69 61 73 20 4c 6f 61 64 53 74 72 69 6e 67 57  lias LoadStringW
275a0 20 4c 6f 61 64 53 74 72 69 6e 67 3b 0d 0a 2f 2f   LoadString;..//
275b0 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
275c0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
275d0 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20 3a  NICODE....enum :
275e0 20 75 69 6e 74 20 7b 20 49 44 4f 4b 20 3d 20 31   uint { IDOK = 1
275f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
27600 7b 20 49 44 43 41 4e 43 45 4c 20 3d 20 32 20 7d  { IDCANCEL = 2 }
27610 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
27620 49 44 41 42 4f 52 54 20 3d 20 33 20 7d 0d 0a 65  IDABORT = 3 }..e
27630 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44 52  num : uint { IDR
27640 45 54 52 59 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d  ETRY = 4 }..enum
27650 20 3a 20 75 69 6e 74 20 7b 20 49 44 49 47 4e 4f   : uint { IDIGNO
27660 52 45 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a  RE = 5 }..enum :
27670 20 75 69 6e 74 20 7b 20 49 44 59 45 53 20 3d 20   uint { IDYES = 
27680 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
27690 20 7b 20 49 44 4e 4f 20 3d 20 37 20 7d 0d 0a 2f   { IDNO = 7 }../
276a0 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
276b0 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0400)..enum : 
276c0 75 69 6e 74 20 7b 20 49 44 43 4c 4f 53 45 20 3d  uint { IDCLOSE =
276d0 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   8 }..enum : uin
276e0 74 20 7b 20 49 44 48 45 4c 50 20 3d 20 39 20 7d  t { IDHELP = 9 }
276f0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
27700 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20  INVER >= 0x0400 
27710 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e  */....// #if(WIN
27720 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a  VER >= 0x0500)..
27730 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44  enum : uint { ID
27740 54 52 59 41 47 41 49 4e 20 3d 20 31 30 20 7d 0d  TRYAGAIN = 10 }.
27750 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
27760 44 43 4f 4e 54 49 4e 55 45 20 3d 20 31 31 20 7d  DCONTINUE = 11 }
27770 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
27780 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 20  INVER >= 0x0500 
27790 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e  */....// #if(WIN
277a0 56 45 52 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a  VER >= 0x0501)..
277b0 2f 2f 20 23 69 66 6e 64 65 66 20 49 44 54 49 4d  // #ifndef IDTIM
277c0 45 4f 55 54 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  EOUT..enum : uin
277d0 74 20 7b 20 49 44 54 49 4d 45 4f 55 54 20 3d 20  t { IDTIMEOUT = 
277e0 33 32 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64  32000 }..// #end
277f0 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  if..// #endif /*
27800 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30   WINVER >= 0x050
27810 31 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  1 */....// #ifnd
27820 65 66 20 4e 4f 43 54 4c 4d 47 52 0d 0a 0d 0a 2f  ef NOCTLMGR..../
27830 2f 20 23 69 66 6e 64 65 66 20 4e 4f 57 49 4e 53  / #ifndef NOWINS
27840 54 59 4c 45 53 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  TYLES....enum : 
27850 75 69 6e 74 20 7b 20 45 53 5f 4c 45 46 54 20 3d  uint { ES_LEFT =
27860 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x0000 }..enum 
27870 3a 20 75 69 6e 74 20 7b 20 45 53 5f 43 45 4e 54  : uint { ES_CENT
27880 45 52 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65  ER = 0x0001 }..e
27890 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 53 5f  num : uint { ES_
278a0 52 49 47 48 54 20 3d 20 30 78 30 30 30 32 20 7d  RIGHT = 0x0002 }
278b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
278c0 45 53 5f 4d 55 4c 54 49 4c 49 4e 45 20 3d 20 30  ES_MULTILINE = 0
278d0 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0004 }..enum : 
278e0 75 69 6e 74 20 7b 20 45 53 5f 55 50 50 45 52 43  uint { ES_UPPERC
278f0 41 53 45 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a  ASE = 0x0008 }..
27900 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 53  enum : uint { ES
27910 5f 4c 4f 57 45 52 43 41 53 45 20 3d 20 30 78 30  _LOWERCASE = 0x0
27920 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
27930 6e 74 20 7b 20 45 53 5f 50 41 53 53 57 4f 52 44  nt { ES_PASSWORD
27940 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75   = 0x0020 }..enu
27950 6d 20 3a 20 75 69 6e 74 20 7b 20 45 53 5f 41 55  m : uint { ES_AU
27960 54 4f 56 53 43 52 4f 4c 4c 20 3d 20 30 78 30 30  TOVSCROLL = 0x00
27970 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  40 }..enum : uin
27980 74 20 7b 20 45 53 5f 41 55 54 4f 48 53 43 52 4f  t { ES_AUTOHSCRO
27990 4c 4c 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a 65  LL = 0x0080 }..e
279a0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 53 5f  num : uint { ES_
279b0 4e 4f 48 49 44 45 53 45 4c 20 3d 20 30 78 30 31  NOHIDESEL = 0x01
279c0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
279d0 74 20 7b 20 45 53 5f 4f 45 4d 43 4f 4e 56 45 52  t { ES_OEMCONVER
279e0 54 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a 65 6e  T = 0x0400 }..en
279f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 53 5f 52  um : uint { ES_R
27a00 45 41 44 4f 4e 4c 59 20 3d 20 30 78 30 38 30 30  EADONLY = 0x0800
27a10 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
27a20 7b 20 45 53 5f 57 41 4e 54 52 45 54 55 52 4e 20  { ES_WANTRETURN 
27a30 3d 20 30 78 31 30 30 30 20 7d 0d 0a 2f 2f 20 23  = 0x1000 }..// #
27a40 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  if(WINVER >= 0x0
27a50 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  400)..enum : uin
27a60 74 20 7b 20 45 53 5f 4e 55 4d 42 45 52 20 3d 20  t { ES_NUMBER = 
27a70 30 78 32 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e  0x2000 }..// #en
27a80 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d  dif /* WINVER >=
27a90 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f   0x0400 */....//
27aa0 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 57 49   #endif /* !NOWI
27ab0 4e 53 54 59 4c 45 53 20 2a 2f 0d 0a 0d 0a 65 6e  NSTYLES */....en
27ac0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4e 5f 53  um : uint { EN_S
27ad0 45 54 46 4f 43 55 53 20 3d 20 30 78 30 31 30 30  ETFOCUS = 0x0100
27ae0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
27af0 7b 20 45 4e 5f 4b 49 4c 4c 46 4f 43 55 53 20 3d  { EN_KILLFOCUS =
27b00 20 30 78 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x0200 }..enum 
27b10 3a 20 75 69 6e 74 20 7b 20 45 4e 5f 43 48 41 4e  : uint { EN_CHAN
27b20 47 45 20 3d 20 30 78 30 33 30 30 20 7d 0d 0a 65  GE = 0x0300 }..e
27b30 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4e 5f  num : uint { EN_
27b40 55 50 44 41 54 45 20 3d 20 30 78 30 34 30 30 20  UPDATE = 0x0400 
27b50 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
27b60 20 45 4e 5f 45 52 52 53 50 41 43 45 20 3d 20 30   EN_ERRSPACE = 0
27b70 78 30 35 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0500 }..enum : 
27b80 75 69 6e 74 20 7b 20 45 4e 5f 4d 41 58 54 45 58  uint { EN_MAXTEX
27b90 54 20 3d 20 30 78 30 35 30 31 20 7d 0d 0a 65 6e  T = 0x0501 }..en
27ba0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4e 5f 48  um : uint { EN_H
27bb0 53 43 52 4f 4c 4c 20 3d 20 30 78 30 36 30 31 20  SCROLL = 0x0601 
27bc0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
27bd0 20 45 4e 5f 56 53 43 52 4f 4c 4c 20 3d 20 30 78   EN_VSCROLL = 0x
27be0 30 36 30 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66  0602 }....// #if
27bf0 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
27c00 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0500)..enum :
27c10 20 75 69 6e 74 20 7b 20 45 4e 5f 41 4c 49 47 4e   uint { EN_ALIGN
27c20 5f 4c 54 52 5f 45 43 20 3d 20 30 78 30 37 30 30  _LTR_EC = 0x0700
27c30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
27c40 7b 20 45 4e 5f 41 4c 49 47 4e 5f 52 54 4c 5f 45  { EN_ALIGN_RTL_E
27c50 43 20 3d 20 30 78 30 37 30 31 20 7d 0d 0a 2f 2f  C = 0x0701 }..//
27c60 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33   #endif /* _WIN3
27c70 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30  2_WINNT >= 0x050
27c80 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57  0 */....// #if(W
27c90 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
27ca0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
27cb0 7b 20 45 43 5f 4c 45 46 54 4d 41 52 47 49 4e 20  { EC_LEFTMARGIN 
27cc0 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  = 0x0001 }..enum
27cd0 20 3a 20 75 69 6e 74 20 7b 20 45 43 5f 52 49 47   : uint { EC_RIG
27ce0 48 54 4d 41 52 47 49 4e 20 3d 20 30 78 30 30 30  HTMARGIN = 0x000
27cf0 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
27d00 20 7b 20 45 43 5f 55 53 45 46 4f 4e 54 49 4e 46   { EC_USEFONTINF
27d10 4f 20 3d 20 30 78 66 66 66 66 20 7d 0d 0a 2f 2f  O = 0xffff }..//
27d20 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45   #endif /* WINVE
27d30 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a  R >= 0x0400 */..
27d40 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20  ..// #if(WINVER 
27d50 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 65 6e  >= 0x0500)....en
27d60 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 53 49  um : uint { EMSI
27d70 53 5f 43 4f 4d 50 4f 53 49 54 49 4f 4e 53 54 52  S_COMPOSITIONSTR
27d80 49 4e 47 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a  ING = 0x0001 }..
27d90 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
27da0 45 49 4d 45 53 5f 47 45 54 43 4f 4d 50 53 54 52  EIMES_GETCOMPSTR
27db0 41 54 4f 4e 43 45 20 3d 20 30 78 30 30 30 31 20  ATONCE = 0x0001 
27dc0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
27dd0 20 45 49 4d 45 53 5f 43 41 4e 43 45 4c 43 4f 4d   EIMES_CANCELCOM
27de0 50 53 54 52 49 4e 46 4f 43 55 53 20 3d 20 30 78  PSTRINFOCUS = 0x
27df0 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
27e00 69 6e 74 20 7b 20 45 49 4d 45 53 5f 43 4f 4d 50  int { EIMES_COMP
27e10 4c 45 54 45 43 4f 4d 50 53 54 52 4b 49 4c 4c 46  LETECOMPSTRKILLF
27e20 4f 43 55 53 20 3d 20 30 78 30 30 30 34 20 7d 0d  OCUS = 0x0004 }.
27e30 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
27e40 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 20 2a  NVER >= 0x0500 *
27e50 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  /....// #ifndef 
27e60 4e 4f 57 49 4e 4d 45 53 53 41 47 45 53 0d 0a 0d  NOWINMESSAGES...
27e70 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
27e80 4d 5f 47 45 54 53 45 4c 20 3d 20 30 78 30 30 42  M_GETSEL = 0x00B
27e90 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
27ea0 20 7b 20 45 4d 5f 53 45 54 53 45 4c 20 3d 20 30   { EM_SETSEL = 0
27eb0 78 30 30 42 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x00B1 }..enum : 
27ec0 75 69 6e 74 20 7b 20 45 4d 5f 47 45 54 52 45 43  uint { EM_GETREC
27ed0 54 20 3d 20 30 78 30 30 42 32 20 7d 0d 0a 65 6e  T = 0x00B2 }..en
27ee0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 53  um : uint { EM_S
27ef0 45 54 52 45 43 54 20 3d 20 30 78 30 30 42 33 20  ETRECT = 0x00B3 
27f00 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
27f10 20 45 4d 5f 53 45 54 52 45 43 54 4e 50 20 3d 20   EM_SETRECTNP = 
27f20 30 78 30 30 42 34 20 7d 0d 0a 65 6e 75 6d 20 3a  0x00B4 }..enum :
27f30 20 75 69 6e 74 20 7b 20 45 4d 5f 53 43 52 4f 4c   uint { EM_SCROL
27f40 4c 20 3d 20 30 78 30 30 42 35 20 7d 0d 0a 65 6e  L = 0x00B5 }..en
27f50 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 4c  um : uint { EM_L
27f60 49 4e 45 53 43 52 4f 4c 4c 20 3d 20 30 78 30 30  INESCROLL = 0x00
27f70 42 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  B6 }..enum : uin
27f80 74 20 7b 20 45 4d 5f 53 43 52 4f 4c 4c 43 41 52  t { EM_SCROLLCAR
27f90 45 54 20 3d 20 30 78 30 30 42 37 20 7d 0d 0a 65  ET = 0x00B7 }..e
27fa0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f  num : uint { EM_
27fb0 47 45 54 4d 4f 44 49 46 59 20 3d 20 30 78 30 30  GETMODIFY = 0x00
27fc0 42 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  B8 }..enum : uin
27fd0 74 20 7b 20 45 4d 5f 53 45 54 4d 4f 44 49 46 59  t { EM_SETMODIFY
27fe0 20 3d 20 30 78 30 30 42 39 20 7d 0d 0a 65 6e 75   = 0x00B9 }..enu
27ff0 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 47 45  m : uint { EM_GE
28000 54 4c 49 4e 45 43 4f 55 4e 54 20 3d 20 30 78 30  TLINECOUNT = 0x0
28010 30 42 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  0BA }..enum : ui
28020 6e 74 20 7b 20 45 4d 5f 4c 49 4e 45 49 4e 44 45  nt { EM_LINEINDE
28030 58 20 3d 20 30 78 30 30 42 42 20 7d 0d 0a 65 6e  X = 0x00BB }..en
28040 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 53  um : uint { EM_S
28050 45 54 48 41 4e 44 4c 45 20 3d 20 30 78 30 30 42  ETHANDLE = 0x00B
28060 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  C }..enum : uint
28070 20 7b 20 45 4d 5f 47 45 54 48 41 4e 44 4c 45 20   { EM_GETHANDLE 
28080 3d 20 30 78 30 30 42 44 20 7d 0d 0a 65 6e 75 6d  = 0x00BD }..enum
28090 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 47 45 54   : uint { EM_GET
280a0 54 48 55 4d 42 20 3d 20 30 78 30 30 42 45 20 7d  THUMB = 0x00BE }
280b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
280c0 45 4d 5f 4c 49 4e 45 4c 45 4e 47 54 48 20 3d 20  EM_LINELENGTH = 
280d0 30 78 30 30 43 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x00C1 }..enum :
280e0 20 75 69 6e 74 20 7b 20 45 4d 5f 52 45 50 4c 41   uint { EM_REPLA
280f0 43 45 53 45 4c 20 3d 20 30 78 30 30 43 32 20 7d  CESEL = 0x00C2 }
28100 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
28110 45 4d 5f 47 45 54 4c 49 4e 45 20 3d 20 30 78 30  EM_GETLINE = 0x0
28120 30 43 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  0C4 }..enum : ui
28130 6e 74 20 7b 20 45 4d 5f 4c 49 4d 49 54 54 45 58  nt { EM_LIMITTEX
28140 54 20 3d 20 30 78 30 30 43 35 20 7d 0d 0a 65 6e  T = 0x00C5 }..en
28150 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 43  um : uint { EM_C
28160 41 4e 55 4e 44 4f 20 3d 20 30 78 30 30 43 36 20  ANUNDO = 0x00C6 
28170 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
28180 20 45 4d 5f 55 4e 44 4f 20 3d 20 30 78 30 30 43   EM_UNDO = 0x00C
28190 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
281a0 20 7b 20 45 4d 5f 46 4d 54 4c 49 4e 45 53 20 3d   { EM_FMTLINES =
281b0 20 30 78 30 30 43 38 20 7d 0d 0a 65 6e 75 6d 20   0x00C8 }..enum 
281c0 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 4c 49 4e 45  : uint { EM_LINE
281d0 46 52 4f 4d 43 48 41 52 20 3d 20 30 78 30 30 43  FROMCHAR = 0x00C
281e0 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  9 }..enum : uint
281f0 20 7b 20 45 4d 5f 53 45 54 54 41 42 53 54 4f 50   { EM_SETTABSTOP
28200 53 20 3d 20 30 78 30 30 43 42 20 7d 0d 0a 65 6e  S = 0x00CB }..en
28210 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 53  um : uint { EM_S
28220 45 54 50 41 53 53 57 4f 52 44 43 48 41 52 20 3d  ETPASSWORDCHAR =
28230 20 30 78 30 30 43 43 20 7d 0d 0a 65 6e 75 6d 20   0x00CC }..enum 
28240 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 45 4d 50 54  : uint { EM_EMPT
28250 59 55 4e 44 4f 42 55 46 46 45 52 20 3d 20 30 78  YUNDOBUFFER = 0x
28260 30 30 43 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  00CD }..enum : u
28270 69 6e 74 20 7b 20 45 4d 5f 47 45 54 46 49 52 53  int { EM_GETFIRS
28280 54 56 49 53 49 42 4c 45 4c 49 4e 45 20 3d 20 30  TVISIBLELINE = 0
28290 78 30 30 43 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x00CE }..enum : 
282a0 75 69 6e 74 20 7b 20 45 4d 5f 53 45 54 52 45 41  uint { EM_SETREA
282b0 44 4f 4e 4c 59 20 3d 20 30 78 30 30 43 46 20 7d  DONLY = 0x00CF }
282c0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
282d0 45 4d 5f 53 45 54 57 4f 52 44 42 52 45 41 4b 50  EM_SETWORDBREAKP
282e0 52 4f 43 20 3d 20 30 78 30 30 44 30 20 7d 0d 0a  ROC = 0x00D0 }..
282f0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d  enum : uint { EM
28300 5f 47 45 54 57 4f 52 44 42 52 45 41 4b 50 52 4f  _GETWORDBREAKPRO
28310 43 20 3d 20 30 78 30 30 44 31 20 7d 0d 0a 65 6e  C = 0x00D1 }..en
28320 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 47  um : uint { EM_G
28330 45 54 50 41 53 53 57 4f 52 44 43 48 41 52 20 3d  ETPASSWORDCHAR =
28340 20 30 78 30 30 44 32 20 7d 0d 0a 2f 2f 20 23 69   0x00D2 }..// #i
28350 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
28360 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
28370 20 7b 20 45 4d 5f 53 45 54 4d 41 52 47 49 4e 53   { EM_SETMARGINS
28380 20 3d 20 30 78 30 30 44 33 20 7d 0d 0a 65 6e 75   = 0x00D3 }..enu
28390 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 47 45  m : uint { EM_GE
283a0 54 4d 41 52 47 49 4e 53 20 3d 20 30 78 30 30 44  TMARGINS = 0x00D
283b0 34 20 7d 0d 0a 61 6c 69 61 73 20 45 4d 5f 4c 49  4 }..alias EM_LI
283c0 4d 49 54 54 45 58 54 20 45 4d 5f 53 45 54 4c 49  MITTEXT EM_SETLI
283d0 4d 49 54 54 45 58 54 3b 0d 0a 65 6e 75 6d 20 3a  MITTEXT;..enum :
283e0 20 75 69 6e 74 20 7b 20 45 4d 5f 47 45 54 4c 49   uint { EM_GETLI
283f0 4d 49 54 54 45 58 54 20 3d 20 30 78 30 30 44 35  MITTEXT = 0x00D5
28400 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
28410 7b 20 45 4d 5f 50 4f 53 46 52 4f 4d 43 48 41 52  { EM_POSFROMCHAR
28420 20 3d 20 30 78 30 30 44 36 20 7d 0d 0a 65 6e 75   = 0x00D6 }..enu
28430 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 43 48  m : uint { EM_CH
28440 41 52 46 52 4f 4d 50 4f 53 20 3d 20 30 78 30 30  ARFROMPOS = 0x00
28450 44 37 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  D7 }..// #endif 
28460 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
28470 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66  400 */....// #if
28480 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30  (WINVER >= 0x050
28490 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
284a0 7b 20 45 4d 5f 53 45 54 49 4d 45 53 54 41 54 55  { EM_SETIMESTATU
284b0 53 20 3d 20 30 78 30 30 44 38 20 7d 0d 0a 65 6e  S = 0x00D8 }..en
284c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 47  um : uint { EM_G
284d0 45 54 49 4d 45 53 54 41 54 55 53 20 3d 20 30 78  ETIMESTATUS = 0x
284e0 30 30 44 39 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  00D9 }..// #endi
284f0 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
28500 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23  x0500 */....// #
28510 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 57 49 4e 4d  endif /* !NOWINM
28520 45 53 53 41 47 45 53 20 2a 2f 0d 0a 0d 0a 65 6e  ESSAGES */....en
28530 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 42 5f 4c  um : uint { WB_L
28540 45 46 54 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20  EFT = 0 }..enum 
28550 3a 20 75 69 6e 74 20 7b 20 57 42 5f 52 49 47 48  : uint { WB_RIGH
28560 54 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  T = 1 }..enum : 
28570 75 69 6e 74 20 7b 20 57 42 5f 49 53 44 45 4c 49  uint { WB_ISDELI
28580 4d 49 54 45 52 20 3d 20 32 20 7d 0d 0a 0d 0a 65  MITER = 2 }....e
28590 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 5f  num : uint { BS_
285a0 50 55 53 48 42 55 54 54 4f 4e 20 3d 20 30 78 30  PUSHBUTTON = 0x0
285b0 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000000 }..enum 
285c0 3a 20 75 69 6e 74 20 7b 20 42 53 5f 44 45 46 50  : uint { BS_DEFP
285d0 55 53 48 42 55 54 54 4f 4e 20 3d 20 30 78 30 30  USHBUTTON = 0x00
285e0 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  000001 }..enum :
285f0 20 75 69 6e 74 20 7b 20 42 53 5f 43 48 45 43 4b   uint { BS_CHECK
28600 42 4f 58 20 3d 20 30 78 30 30 30 30 30 30 30 32  BOX = 0x00000002
28610 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
28620 7b 20 42 53 5f 41 55 54 4f 43 48 45 43 4b 42 4f  { BS_AUTOCHECKBO
28630 58 20 3d 20 30 78 30 30 30 30 30 30 30 33 20 7d  X = 0x00000003 }
28640 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
28650 42 53 5f 52 41 44 49 4f 42 55 54 54 4f 4e 20 3d  BS_RADIOBUTTON =
28660 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65   0x00000004 }..e
28670 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 5f  num : uint { BS_
28680 33 53 54 41 54 45 20 3d 20 30 78 30 30 30 30 30  3STATE = 0x00000
28690 30 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  005 }..enum : ui
286a0 6e 74 20 7b 20 42 53 5f 41 55 54 4f 33 53 54 41  nt { BS_AUTO3STA
286b0 54 45 20 3d 20 30 78 30 30 30 30 30 30 30 36 20  TE = 0x00000006 
286c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
286d0 20 42 53 5f 47 52 4f 55 50 42 4f 58 20 3d 20 30   BS_GROUPBOX = 0
286e0 78 30 30 30 30 30 30 30 37 20 7d 0d 0a 65 6e 75  x00000007 }..enu
286f0 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 5f 55 53  m : uint { BS_US
28700 45 52 42 55 54 54 4f 4e 20 3d 20 30 78 30 30 30  ERBUTTON = 0x000
28710 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00008 }..enum : 
28720 75 69 6e 74 20 7b 20 42 53 5f 41 55 54 4f 52 41  uint { BS_AUTORA
28730 44 49 4f 42 55 54 54 4f 4e 20 3d 20 30 78 30 30  DIOBUTTON = 0x00
28740 30 30 30 30 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a  000009 }..enum :
28750 20 75 69 6e 74 20 7b 20 42 53 5f 4f 57 4e 45 52   uint { BS_OWNER
28760 44 52 41 57 20 3d 20 30 78 30 30 30 30 30 30 30  DRAW = 0x0000000
28770 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  B }..enum : uint
28780 20 7b 20 42 53 5f 4c 45 46 54 54 45 58 54 20 3d   { BS_LEFTTEXT =
28790 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 2f   0x00000020 }../
287a0 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
287b0 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0400)..enum : 
287c0 75 69 6e 74 20 7b 20 42 53 5f 54 45 58 54 20 3d  uint { BS_TEXT =
287d0 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65   0x00000000 }..e
287e0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 5f  num : uint { BS_
287f0 49 43 4f 4e 20 3d 20 30 78 30 30 30 30 30 30 34  ICON = 0x0000004
28800 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
28810 20 7b 20 42 53 5f 42 49 54 4d 41 50 20 3d 20 30   { BS_BITMAP = 0
28820 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75  x00000080 }..enu
28830 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 5f 4c 45  m : uint { BS_LE
28840 46 54 20 3d 20 30 78 30 30 30 30 30 31 30 30 20  FT = 0x00000100 
28850 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
28860 20 42 53 5f 52 49 47 48 54 20 3d 20 30 78 30 30   BS_RIGHT = 0x00
28870 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000200 }..enum :
28880 20 75 69 6e 74 20 7b 20 42 53 5f 43 45 4e 54 45   uint { BS_CENTE
28890 52 20 3d 20 30 78 30 30 30 30 30 33 30 30 20 7d  R = 0x00000300 }
288a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
288b0 42 53 5f 54 4f 50 20 3d 20 30 78 30 30 30 30 30  BS_TOP = 0x00000
288c0 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  400 }..enum : ui
288d0 6e 74 20 7b 20 42 53 5f 42 4f 54 54 4f 4d 20 3d  nt { BS_BOTTOM =
288e0 20 30 78 30 30 30 30 30 38 30 30 20 7d 0d 0a 65   0x00000800 }..e
288f0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 5f  num : uint { BS_
28900 56 43 45 4e 54 45 52 20 3d 20 30 78 30 30 30 30  VCENTER = 0x0000
28910 30 43 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0C00 }..enum : u
28920 69 6e 74 20 7b 20 42 53 5f 50 55 53 48 4c 49 4b  int { BS_PUSHLIK
28930 45 20 3d 20 30 78 30 30 30 30 31 30 30 30 20 7d  E = 0x00001000 }
28940 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
28950 42 53 5f 4d 55 4c 54 49 4c 49 4e 45 20 3d 20 30  BS_MULTILINE = 0
28960 78 30 30 30 30 32 30 30 30 20 7d 0d 0a 65 6e 75  x00002000 }..enu
28970 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 5f 4e 4f  m : uint { BS_NO
28980 54 49 46 59 20 3d 20 30 78 30 30 30 30 34 30 30  TIFY = 0x0000400
28990 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
289a0 20 7b 20 42 53 5f 46 4c 41 54 20 3d 20 30 78 30   { BS_FLAT = 0x0
289b0 30 30 30 38 30 30 30 20 7d 0d 0a 61 6c 69 61 73  0008000 }..alias
289c0 20 42 53 5f 4c 45 46 54 54 45 58 54 20 42 53 5f   BS_LEFTTEXT BS_
289d0 52 49 47 48 54 42 55 54 54 4f 4e 3b 0d 0a 2f 2f  RIGHTBUTTON;..//
289e0 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45   #endif /* WINVE
289f0 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a  R >= 0x0400 */..
28a00 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
28a10 42 4e 5f 43 4c 49 43 4b 45 44 20 3d 20 30 20 7d  BN_CLICKED = 0 }
28a20 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
28a30 42 4e 5f 50 41 49 4e 54 20 3d 20 31 20 7d 0d 0a  BN_PAINT = 1 }..
28a40 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 4e  enum : uint { BN
28a50 5f 48 49 4c 49 54 45 20 3d 20 32 20 7d 0d 0a 65  _HILITE = 2 }..e
28a60 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 4e 5f  num : uint { BN_
28a70 55 4e 48 49 4c 49 54 45 20 3d 20 33 20 7d 0d 0a  UNHILITE = 3 }..
28a80 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 4e  enum : uint { BN
28a90 5f 44 49 53 41 42 4c 45 20 3d 20 34 20 7d 0d 0a  _DISABLE = 4 }..
28aa0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 4e  enum : uint { BN
28ab0 5f 44 4f 55 42 4c 45 43 4c 49 43 4b 45 44 20 3d  _DOUBLECLICKED =
28ac0 20 35 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e   5 }..// #if(WIN
28ad0 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  VER >= 0x0400)..
28ae0 61 6c 69 61 73 20 42 4e 5f 48 49 4c 49 54 45 20  alias BN_HILITE 
28af0 42 4e 5f 50 55 53 48 45 44 3b 0d 0a 61 6c 69 61  BN_PUSHED;..alia
28b00 73 20 42 4e 5f 55 4e 48 49 4c 49 54 45 20 42 4e  s BN_UNHILITE BN
28b10 5f 55 4e 50 55 53 48 45 44 3b 0d 0a 61 6c 69 61  _UNPUSHED;..alia
28b20 73 20 42 4e 5f 44 4f 55 42 4c 45 43 4c 49 43 4b  s BN_DOUBLECLICK
28b30 45 44 20 42 4e 5f 44 42 4c 43 4c 4b 3b 0d 0a 65  ED BN_DBLCLK;..e
28b40 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 4e 5f  num : uint { BN_
28b50 53 45 54 46 4f 43 55 53 20 3d 20 36 20 7d 0d 0a  SETFOCUS = 6 }..
28b60 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 4e  enum : uint { BN
28b70 5f 4b 49 4c 4c 46 4f 43 55 53 20 3d 20 37 20 7d  _KILLFOCUS = 7 }
28b80 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
28b90 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20  INVER >= 0x0400 
28ba0 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  */....enum : uin
28bb0 74 20 7b 20 42 4d 5f 47 45 54 43 48 45 43 4b 20  t { BM_GETCHECK 
28bc0 3d 20 30 78 30 30 46 30 20 7d 0d 0a 65 6e 75 6d  = 0x00F0 }..enum
28bd0 20 3a 20 75 69 6e 74 20 7b 20 42 4d 5f 53 45 54   : uint { BM_SET
28be0 43 48 45 43 4b 20 3d 20 30 78 30 30 46 31 20 7d  CHECK = 0x00F1 }
28bf0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
28c00 42 4d 5f 47 45 54 53 54 41 54 45 20 3d 20 30 78  BM_GETSTATE = 0x
28c10 30 30 46 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  00F2 }..enum : u
28c20 69 6e 74 20 7b 20 42 4d 5f 53 45 54 53 54 41 54  int { BM_SETSTAT
28c30 45 20 3d 20 30 78 30 30 46 33 20 7d 0d 0a 65 6e  E = 0x00F3 }..en
28c40 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 4d 5f 53  um : uint { BM_S
28c50 45 54 53 54 59 4c 45 20 3d 20 30 78 30 30 46 34  ETSTYLE = 0x00F4
28c60 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45   }..// #if(WINVE
28c70 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  R >= 0x0400)..en
28c80 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 4d 5f 43  um : uint { BM_C
28c90 4c 49 43 4b 20 3d 20 30 78 30 30 46 35 20 7d 0d  LICK = 0x00F5 }.
28ca0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42  .enum : uint { B
28cb0 4d 5f 47 45 54 49 4d 41 47 45 20 3d 20 30 78 30  M_GETIMAGE = 0x0
28cc0 30 46 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  0F6 }..enum : ui
28cd0 6e 74 20 7b 20 42 4d 5f 53 45 54 49 4d 41 47 45  nt { BM_SETIMAGE
28ce0 20 3d 20 30 78 30 30 46 37 20 7d 0d 0a 0d 0a 65   = 0x00F7 }....e
28cf0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 54  num : uint { BST
28d00 5f 55 4e 43 48 45 43 4b 45 44 20 3d 20 30 78 30  _UNCHECKED = 0x0
28d10 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
28d20 6e 74 20 7b 20 42 53 54 5f 43 48 45 43 4b 45 44  nt { BST_CHECKED
28d30 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75   = 0x0001 }..enu
28d40 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 54 5f 49  m : uint { BST_I
28d50 4e 44 45 54 45 52 4d 49 4e 41 54 45 20 3d 20 30  NDETERMINATE = 0
28d60 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0002 }..enum : 
28d70 75 69 6e 74 20 7b 20 42 53 54 5f 50 55 53 48 45  uint { BST_PUSHE
28d80 44 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e  D = 0x0004 }..en
28d90 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 54 5f  um : uint { BST_
28da0 46 4f 43 55 53 20 3d 20 30 78 30 30 30 38 20 7d  FOCUS = 0x0008 }
28db0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
28dc0 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20  INVER >= 0x0400 
28dd0 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  */....enum : uin
28de0 74 20 7b 20 53 53 5f 4c 45 46 54 20 3d 20 30 78  t { SS_LEFT = 0x
28df0 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00000000 }..enum
28e00 20 3a 20 75 69 6e 74 20 7b 20 53 53 5f 43 45 4e   : uint { SS_CEN
28e10 54 45 52 20 3d 20 30 78 30 30 30 30 30 30 30 31  TER = 0x00000001
28e20 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
28e30 7b 20 53 53 5f 52 49 47 48 54 20 3d 20 30 78 30  { SS_RIGHT = 0x0
28e40 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20  0000002 }..enum 
28e50 3a 20 75 69 6e 74 20 7b 20 53 53 5f 49 43 4f 4e  : uint { SS_ICON
28e60 20 3d 20 30 78 30 30 30 30 30 30 30 33 20 7d 0d   = 0x00000003 }.
28e70 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
28e80 53 5f 42 4c 41 43 4b 52 45 43 54 20 3d 20 30 78  S_BLACKRECT = 0x
28e90 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d  00000004 }..enum
28ea0 20 3a 20 75 69 6e 74 20 7b 20 53 53 5f 47 52 41   : uint { SS_GRA
28eb0 59 52 45 43 54 20 3d 20 30 78 30 30 30 30 30 30  YRECT = 0x000000
28ec0 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  05 }..enum : uin
28ed0 74 20 7b 20 53 53 5f 57 48 49 54 45 52 45 43 54  t { SS_WHITERECT
28ee0 20 3d 20 30 78 30 30 30 30 30 30 30 36 20 7d 0d   = 0x00000006 }.
28ef0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
28f00 53 5f 42 4c 41 43 4b 46 52 41 4d 45 20 3d 20 30  S_BLACKFRAME = 0
28f10 78 30 30 30 30 30 30 30 37 20 7d 0d 0a 65 6e 75  x00000007 }..enu
28f20 6d 20 3a 20 75 69 6e 74 20 7b 20 53 53 5f 47 52  m : uint { SS_GR
28f30 41 59 46 52 41 4d 45 20 3d 20 30 78 30 30 30 30  AYFRAME = 0x0000
28f40 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
28f50 69 6e 74 20 7b 20 53 53 5f 57 48 49 54 45 46 52  int { SS_WHITEFR
28f60 41 4d 45 20 3d 20 30 78 30 30 30 30 30 30 30 39  AME = 0x00000009
28f70 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
28f80 7b 20 53 53 5f 55 53 45 52 49 54 45 4d 20 3d 20  { SS_USERITEM = 
28f90 30 78 30 30 30 30 30 30 30 41 20 7d 0d 0a 65 6e  0x0000000A }..en
28fa0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 53 5f 53  um : uint { SS_S
28fb0 49 4d 50 4c 45 20 3d 20 30 78 30 30 30 30 30 30  IMPLE = 0x000000
28fc0 30 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0B }..enum : uin
28fd0 74 20 7b 20 53 53 5f 4c 45 46 54 4e 4f 57 4f 52  t { SS_LEFTNOWOR
28fe0 44 57 52 41 50 20 3d 20 30 78 30 30 30 30 30 30  DWRAP = 0x000000
28ff0 30 43 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e  0C }..// #if(WIN
29000 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  VER >= 0x0400)..
29010 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 53  enum : uint { SS
29020 5f 4f 57 4e 45 52 44 52 41 57 20 3d 20 30 78 30  _OWNERDRAW = 0x0
29030 30 30 30 30 30 30 44 20 7d 0d 0a 65 6e 75 6d 20  000000D }..enum 
29040 3a 20 75 69 6e 74 20 7b 20 53 53 5f 42 49 54 4d  : uint { SS_BITM
29050 41 50 20 3d 20 30 78 30 30 30 30 30 30 30 45 20  AP = 0x0000000E 
29060 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
29070 20 53 53 5f 45 4e 48 4d 45 54 41 46 49 4c 45 20   SS_ENHMETAFILE 
29080 3d 20 30 78 30 30 30 30 30 30 30 46 20 7d 0d 0a  = 0x0000000F }..
29090 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 53  enum : uint { SS
290a0 5f 45 54 43 48 45 44 48 4f 52 5a 20 3d 20 30 78  _ETCHEDHORZ = 0x
290b0 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d  00000010 }..enum
290c0 20 3a 20 75 69 6e 74 20 7b 20 53 53 5f 45 54 43   : uint { SS_ETC
290d0 48 45 44 56 45 52 54 20 3d 20 30 78 30 30 30 30  HEDVERT = 0x0000
290e0 30 30 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0011 }..enum : u
290f0 69 6e 74 20 7b 20 53 53 5f 45 54 43 48 45 44 46  int { SS_ETCHEDF
29100 52 41 4d 45 20 3d 20 30 78 30 30 30 30 30 30 31  RAME = 0x0000001
29110 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
29120 20 7b 20 53 53 5f 54 59 50 45 4d 41 53 4b 20 3d   { SS_TYPEMASK =
29130 20 30 78 30 30 30 30 30 30 31 46 20 7d 0d 0a 2f   0x0000001F }../
29140 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
29150 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  ER >= 0x0400 */.
29160 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e  .// #if(WINVER >
29170 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20  = 0x0501)..enum 
29180 3a 20 75 69 6e 74 20 7b 20 53 53 5f 52 45 41 4c  : uint { SS_REAL
29190 53 49 5a 45 43 4f 4e 54 52 4f 4c 20 3d 20 30 78  SIZECONTROL = 0x
291a0 30 30 30 30 30 30 34 30 20 7d 0d 0a 2f 2f 20 23  00000040 }..// #
291b0 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
291c0 3e 3d 20 30 78 30 35 30 31 20 2a 2f 0d 0a 65 6e  >= 0x0501 */..en
291d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 53 5f 4e  um : uint { SS_N
291e0 4f 50 52 45 46 49 58 20 3d 20 30 78 30 30 30 30  OPREFIX = 0x0000
291f0 30 30 38 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 57  0080 }..// #if(W
29200 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
29210 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
29220 53 53 5f 4e 4f 54 49 46 59 20 3d 20 30 78 30 30  SS_NOTIFY = 0x00
29230 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000100 }..enum :
29240 20 75 69 6e 74 20 7b 20 53 53 5f 43 45 4e 54 45   uint { SS_CENTE
29250 52 49 4d 41 47 45 20 3d 20 30 78 30 30 30 30 30  RIMAGE = 0x00000
29260 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  200 }..enum : ui
29270 6e 74 20 7b 20 53 53 5f 52 49 47 48 54 4a 55 53  nt { SS_RIGHTJUS
29280 54 20 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d  T = 0x00000400 }
29290 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
292a0 53 53 5f 52 45 41 4c 53 49 5a 45 49 4d 41 47 45  SS_REALSIZEIMAGE
292b0 20 3d 20 30 78 30 30 30 30 30 38 30 30 20 7d 0d   = 0x00000800 }.
292c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
292d0 53 5f 53 55 4e 4b 45 4e 20 3d 20 30 78 30 30 30  S_SUNKEN = 0x000
292e0 30 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  01000 }..enum : 
292f0 75 69 6e 74 20 7b 20 53 53 5f 45 4e 44 45 4c 4c  uint { SS_ENDELL
29300 49 50 53 49 53 20 3d 20 30 78 30 30 30 30 34 30  IPSIS = 0x000040
29310 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
29320 74 20 7b 20 53 53 5f 50 41 54 48 45 4c 4c 49 50  t { SS_PATHELLIP
29330 53 49 53 20 3d 20 30 78 30 30 30 30 38 30 30 30  SIS = 0x00008000
29340 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
29350 7b 20 53 53 5f 57 4f 52 44 45 4c 4c 49 50 53 49  { SS_WORDELLIPSI
29360 53 20 3d 20 30 78 30 30 30 30 43 30 30 30 20 7d  S = 0x0000C000 }
29370 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
29380 53 53 5f 45 4c 4c 49 50 53 49 53 4d 41 53 4b 20  SS_ELLIPSISMASK 
29390 3d 20 30 78 30 30 30 30 43 30 30 30 20 7d 0d 0a  = 0x0000C000 }..
293a0 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
293b0 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f  VER >= 0x0400 */
293c0 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e  ....// #ifndef N
293d0 4f 57 49 4e 4d 45 53 53 41 47 45 53 0d 0a 0d 0a  OWINMESSAGES....
293e0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54  enum : uint { ST
293f0 4d 5f 53 45 54 49 43 4f 4e 20 3d 20 30 78 30 31  M_SETICON = 0x01
29400 37 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  70 }..enum : uin
29410 74 20 7b 20 53 54 4d 5f 47 45 54 49 43 4f 4e 20  t { STM_GETICON 
29420 3d 20 30 78 30 31 37 31 20 7d 0d 0a 2f 2f 20 23  = 0x0171 }..// #
29430 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  if(WINVER >= 0x0
29440 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  400)..enum : uin
29450 74 20 7b 20 53 54 4d 5f 53 45 54 49 4d 41 47 45  t { STM_SETIMAGE
29460 20 3d 20 30 78 30 31 37 32 20 7d 0d 0a 65 6e 75   = 0x0172 }..enu
29470 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 4d 5f 47  m : uint { STM_G
29480 45 54 49 4d 41 47 45 20 3d 20 30 78 30 31 37 33  ETIMAGE = 0x0173
29490 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
294a0 7b 20 53 54 4e 5f 43 4c 49 43 4b 45 44 20 3d 20  { STN_CLICKED = 
294b0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
294c0 20 7b 20 53 54 4e 5f 44 42 4c 43 4c 4b 20 3d 20   { STN_DBLCLK = 
294d0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
294e0 20 7b 20 53 54 4e 5f 45 4e 41 42 4c 45 20 3d 20   { STN_ENABLE = 
294f0 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
29500 20 7b 20 53 54 4e 5f 44 49 53 41 42 4c 45 20 3d   { STN_DISABLE =
29510 20 33 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20   3 }..// #endif 
29520 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
29530 34 30 30 20 2a 2f 0d 0a 65 6e 75 6d 20 3a 20 75  400 */..enum : u
29540 69 6e 74 20 7b 20 53 54 4d 5f 4d 53 47 4d 41 58  int { STM_MSGMAX
29550 20 3d 20 30 78 30 31 37 34 20 7d 0d 0a 2f 2f 20   = 0x0174 }..// 
29560 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 57 49 4e  #endif /* !NOWIN
29570 4d 45 53 53 41 47 45 53 20 2a 2f 0d 0a 0d 0a 63  MESSAGES */....c
29580 6f 6e 73 74 20 41 54 4f 4d 20 57 43 5f 44 49 41  onst ATOM WC_DIA
29590 4c 4f 47 20 3d 20 63 61 73 74 28 41 54 4f 4d 29  LOG = cast(ATOM)
295a0 30 78 38 30 30 32 3b 0d 0a 0d 0a 65 6e 75 6d 20  0x8002;....enum 
295b0 3a 20 75 69 6e 74 20 7b 20 44 57 4c 5f 4d 53 47  : uint { DWL_MSG
295c0 52 45 53 55 4c 54 20 3d 20 30 20 7d 0d 0a 65 6e  RESULT = 0 }..en
295d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 57 4c 5f  um : uint { DWL_
295e0 44 4c 47 50 52 4f 43 20 3d 20 34 20 7d 0d 0a 65  DLGPROC = 4 }..e
295f0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 57 4c  num : uint { DWL
29600 5f 55 53 45 52 20 3d 20 38 20 7d 0d 0a 0d 0a 2f  _USER = 8 }..../
29610 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 36 34 0d  / #ifdef _WIN64.
29620 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
29630 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a  .....// #.......
29640 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49  // #endif /* _WI
29650 4e 36 34 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a  N64 */....enum :
29660 20 75 69 6e 74 20 7b 20 44 57 4c 50 5f 4d 53 47   uint { DWLP_MSG
29670 52 45 53 55 4c 54 20 3d 20 30 20 7d 0d 0a 65 6e  RESULT = 0 }..en
29680 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 57 4c 50  um : uint { DWLP
29690 5f 44 4c 47 50 52 4f 43 20 3d 20 44 57 4c 50 5f  _DLGPROC = DWLP_
296a0 4d 53 47 52 45 53 55 4c 54 20 2b 20 4c 52 45 53  MSGRESULT + LRES
296b0 55 4c 54 2e 73 69 7a 65 6f 66 20 7d 0d 0a 65 6e  ULT.sizeof }..en
296c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 57 4c 50  um : uint { DWLP
296d0 5f 55 53 45 52 20 3d 20 44 57 4c 50 5f 44 4c 47  _USER = DWLP_DLG
296e0 50 52 4f 43 20 2b 20 44 4c 47 50 52 4f 43 2e 73  PROC + DLGPROC.s
296f0 69 7a 65 6f 66 20 7d 0d 0a 0d 0a 2f 2f 20 23 69  izeof }....// #i
29700 66 6e 64 65 66 20 4e 4f 4d 53 47 0d 0a 0d 0a 65  fndef NOMSG....e
29710 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
29720 78 70 6f 72 74 20 42 4f 4f 4c 20 49 73 44 69 61  xport BOOL IsDia
29730 6c 6f 67 4d 65 73 73 61 67 65 41 28 0d 0a 20 20  logMessageA(..  
29740 48 57 4e 44 20 68 44 6c 67 2c 0d 0a 20 20 4c 50  HWND hDlg,..  LP
29750 4d 53 47 20 6c 70 4d 73 67 29 3b 0d 0a 65 78 74  MSG lpMsg);..ext
29760 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
29770 6f 72 74 20 42 4f 4f 4c 20 49 73 44 69 61 6c 6f  ort BOOL IsDialo
29780 67 4d 65 73 73 61 67 65 57 28 0d 0a 20 20 48 57  gMessageW(..  HW
29790 4e 44 20 68 44 6c 67 2c 0d 0a 20 20 4c 50 4d 53  ND hDlg,..  LPMS
297a0 47 20 6c 70 4d 73 67 29 3b 0d 0a 2f 2f 20 23 69  G lpMsg);..// #i
297b0 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
297c0 69 61 73 20 49 73 44 69 61 6c 6f 67 4d 65 73 73  ias IsDialogMess
297d0 61 67 65 57 20 49 73 44 69 61 6c 6f 67 4d 65 73  ageW IsDialogMes
297e0 73 61 67 65 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  sage;..// #else.
297f0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
29800 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
29810 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
29820 21 4e 4f 4d 53 47 20 2a 2f 0d 0a 0d 0a 65 78 74  !NOMSG */....ext
29830 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
29840 6f 72 74 20 42 4f 4f 4c 20 4d 61 70 44 69 61 6c  ort BOOL MapDial
29850 6f 67 52 65 63 74 28 0d 0a 20 20 48 57 4e 44 20  ogRect(..  HWND 
29860 68 44 6c 67 2c 0d 0a 20 20 4c 50 52 45 43 54 20  hDlg,..  LPRECT 
29870 6c 70 52 65 63 74 29 3b 0d 0a 0d 0a 65 78 74 65  lpRect);....exte
29880 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
29890 72 74 20 69 6e 74 20 44 6c 67 44 69 72 4c 69 73  rt int DlgDirLis
298a0 74 41 28 0d 0a 20 20 48 57 4e 44 20 68 44 6c 67  tA(..  HWND hDlg
298b0 2c 0d 0a 20 20 4c 50 53 54 52 20 6c 70 50 61 74  ,..  LPSTR lpPat
298c0 68 53 70 65 63 2c 0d 0a 20 20 69 6e 74 20 6e 49  hSpec,..  int nI
298d0 44 4c 69 73 74 42 6f 78 2c 0d 0a 20 20 69 6e 74  DListBox,..  int
298e0 20 6e 49 44 53 74 61 74 69 63 50 61 74 68 2c 0d   nIDStaticPath,.
298f0 0a 20 20 55 49 4e 54 20 75 46 69 6c 65 54 79 70  .  UINT uFileTyp
29900 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  e);..extern(Wind
29910 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20  ows) export int 
29920 44 6c 67 44 69 72 4c 69 73 74 57 28 0d 0a 20 20  DlgDirListW(..  
29930 48 57 4e 44 20 68 44 6c 67 2c 0d 0a 20 20 4c 50  HWND hDlg,..  LP
29940 57 53 54 52 20 6c 70 50 61 74 68 53 70 65 63 2c  WSTR lpPathSpec,
29950 0d 0a 20 20 69 6e 74 20 6e 49 44 4c 69 73 74 42  ..  int nIDListB
29960 6f 78 2c 0d 0a 20 20 69 6e 74 20 6e 49 44 53 74  ox,..  int nIDSt
29970 61 74 69 63 50 61 74 68 2c 0d 0a 20 20 55 49 4e  aticPath,..  UIN
29980 54 20 75 46 69 6c 65 54 79 70 65 29 3b 0d 0a 2f  T uFileType);../
29990 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
299a0 0d 0a 61 6c 69 61 73 20 44 6c 67 44 69 72 4c 69  ..alias DlgDirLi
299b0 73 74 57 20 44 6c 67 44 69 72 4c 69 73 74 3b 0d  stW DlgDirList;.
299c0 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
299d0 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
299e0 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75   !UNICODE....enu
299f0 6d 20 3a 20 75 69 6e 74 20 7b 20 44 44 4c 5f 52  m : uint { DDL_R
29a00 45 41 44 57 52 49 54 45 20 3d 20 30 78 30 30 30  EADWRITE = 0x000
29a10 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
29a20 20 7b 20 44 44 4c 5f 52 45 41 44 4f 4e 4c 59 20   { DDL_READONLY 
29a30 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  = 0x0001 }..enum
29a40 20 3a 20 75 69 6e 74 20 7b 20 44 44 4c 5f 48 49   : uint { DDL_HI
29a50 44 44 45 4e 20 3d 20 30 78 30 30 30 32 20 7d 0d  DDEN = 0x0002 }.
29a60 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
29a70 44 4c 5f 53 59 53 54 45 4d 20 3d 20 30 78 30 30  DL_SYSTEM = 0x00
29a80 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
29a90 74 20 7b 20 44 44 4c 5f 44 49 52 45 43 54 4f 52  t { DDL_DIRECTOR
29aa0 59 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e  Y = 0x0010 }..en
29ab0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 44 4c 5f  um : uint { DDL_
29ac0 41 52 43 48 49 56 45 20 3d 20 30 78 30 30 32 30  ARCHIVE = 0x0020
29ad0 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
29ae0 74 20 7b 20 44 44 4c 5f 50 4f 53 54 4d 53 47 53  t { DDL_POSTMSGS
29af0 20 3d 20 30 78 32 30 30 30 20 7d 0d 0a 65 6e 75   = 0x2000 }..enu
29b00 6d 20 3a 20 75 69 6e 74 20 7b 20 44 44 4c 5f 44  m : uint { DDL_D
29b10 52 49 56 45 53 20 3d 20 30 78 34 30 30 30 20 7d  RIVES = 0x4000 }
29b20 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
29b30 44 44 4c 5f 45 58 43 4c 55 53 49 56 45 20 3d 20  DDL_EXCLUSIVE = 
29b40 30 78 38 30 30 30 20 7d 0d 0a 0d 0a 65 78 74 65  0x8000 }....exte
29b50 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
29b60 72 74 20 42 4f 4f 4c 20 44 6c 67 44 69 72 53 65  rt BOOL DlgDirSe
29b70 6c 65 63 74 45 78 41 28 0d 0a 20 20 48 57 4e 44  lectExA(..  HWND
29b80 20 68 44 6c 67 2c 0d 0a 20 20 4c 50 53 54 52 20   hDlg,..  LPSTR 
29b90 6c 70 53 74 72 69 6e 67 2c 0d 0a 20 20 69 6e 74  lpString,..  int
29ba0 20 6e 43 6f 75 6e 74 2c 0d 0a 20 20 69 6e 74 20   nCount,..  int 
29bb0 6e 49 44 4c 69 73 74 42 6f 78 29 3b 0d 0a 65 78  nIDListBox);..ex
29bc0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
29bd0 70 6f 72 74 20 42 4f 4f 4c 20 44 6c 67 44 69 72  port BOOL DlgDir
29be0 53 65 6c 65 63 74 45 78 57 28 0d 0a 20 20 48 57  SelectExW(..  HW
29bf0 4e 44 20 68 44 6c 67 2c 0d 0a 20 20 4c 50 57 53  ND hDlg,..  LPWS
29c00 54 52 20 6c 70 53 74 72 69 6e 67 2c 0d 0a 20 20  TR lpString,..  
29c10 69 6e 74 20 6e 43 6f 75 6e 74 2c 0d 0a 20 20 69  int nCount,..  i
29c20 6e 74 20 6e 49 44 4c 69 73 74 42 6f 78 29 3b 0d  nt nIDListBox);.
29c30 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
29c40 44 45 0d 0a 61 6c 69 61 73 20 44 6c 67 44 69 72  DE..alias DlgDir
29c50 53 65 6c 65 63 74 45 78 57 20 44 6c 67 44 69 72  SelectExW DlgDir
29c60 53 65 6c 65 63 74 45 78 3b 0d 0a 2f 2f 20 23 65  SelectEx;..// #e
29c70 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
29c80 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
29c90 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ODE....extern(Wi
29ca0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e  ndows) export in
29cb0 74 20 44 6c 67 44 69 72 4c 69 73 74 43 6f 6d 62  t DlgDirListComb
29cc0 6f 42 6f 78 41 28 0d 0a 20 20 48 57 4e 44 20 68  oBoxA(..  HWND h
29cd0 44 6c 67 2c 0d 0a 20 20 4c 50 53 54 52 20 6c 70  Dlg,..  LPSTR lp
29ce0 50 61 74 68 53 70 65 63 2c 0d 0a 20 20 69 6e 74  PathSpec,..  int
29cf0 20 6e 49 44 43 6f 6d 62 6f 42 6f 78 2c 0d 0a 20   nIDComboBox,.. 
29d00 20 69 6e 74 20 6e 49 44 53 74 61 74 69 63 50 61   int nIDStaticPa
29d10 74 68 2c 0d 0a 20 20 55 49 4e 54 20 75 46 69 6c  th,..  UINT uFil
29d20 65 74 79 70 65 29 3b 0d 0a 65 78 74 65 72 6e 28  etype);..extern(
29d30 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
29d40 69 6e 74 20 44 6c 67 44 69 72 4c 69 73 74 43 6f  int DlgDirListCo
29d50 6d 62 6f 42 6f 78 57 28 0d 0a 20 20 48 57 4e 44  mboBoxW(..  HWND
29d60 20 68 44 6c 67 2c 0d 0a 20 20 4c 50 57 53 54 52   hDlg,..  LPWSTR
29d70 20 6c 70 50 61 74 68 53 70 65 63 2c 0d 0a 20 20   lpPathSpec,..  
29d80 69 6e 74 20 6e 49 44 43 6f 6d 62 6f 42 6f 78 2c  int nIDComboBox,
29d90 0d 0a 20 20 69 6e 74 20 6e 49 44 53 74 61 74 69  ..  int nIDStati
29da0 63 50 61 74 68 2c 0d 0a 20 20 55 49 4e 54 20 75  cPath,..  UINT u
29db0 46 69 6c 65 74 79 70 65 29 3b 0d 0a 2f 2f 20 23  Filetype);..// #
29dc0 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
29dd0 6c 69 61 73 20 44 6c 67 44 69 72 4c 69 73 74 43  lias DlgDirListC
29de0 6f 6d 62 6f 42 6f 78 57 20 44 6c 67 44 69 72 4c  omboBoxW DlgDirL
29df0 69 73 74 43 6f 6d 62 6f 42 6f 78 3b 0d 0a 2f 2f  istComboBox;..//
29e00 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
29e10 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
29e20 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
29e30 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
29e40 20 42 4f 4f 4c 20 44 6c 67 44 69 72 53 65 6c 65   BOOL DlgDirSele
29e50 63 74 43 6f 6d 62 6f 42 6f 78 45 78 41 28 0d 0a  ctComboBoxExA(..
29e60 20 20 48 57 4e 44 20 68 44 6c 67 2c 0d 0a 20 20    HWND hDlg,..  
29e70 4c 50 53 54 52 20 6c 70 53 74 72 69 6e 67 2c 0d  LPSTR lpString,.
29e80 0a 20 20 69 6e 74 20 6e 43 6f 75 6e 74 2c 0d 0a  .  int nCount,..
29e90 20 20 69 6e 74 20 6e 49 44 43 6f 6d 62 6f 42 6f    int nIDComboBo
29ea0 78 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  x);..extern(Wind
29eb0 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
29ec0 20 44 6c 67 44 69 72 53 65 6c 65 63 74 43 6f 6d   DlgDirSelectCom
29ed0 62 6f 42 6f 78 45 78 57 28 0d 0a 20 20 48 57 4e  boBoxExW(..  HWN
29ee0 44 20 68 44 6c 67 2c 0d 0a 20 20 4c 50 57 53 54  D hDlg,..  LPWST
29ef0 52 20 6c 70 53 74 72 69 6e 67 2c 0d 0a 20 20 69  R lpString,..  i
29f00 6e 74 20 6e 43 6f 75 6e 74 2c 0d 0a 20 20 69 6e  nt nCount,..  in
29f10 74 20 6e 49 44 43 6f 6d 62 6f 42 6f 78 29 3b 0d  t nIDComboBox);.
29f20 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
29f30 44 45 0d 0a 61 6c 69 61 73 20 44 6c 67 44 69 72  DE..alias DlgDir
29f40 53 65 6c 65 63 74 43 6f 6d 62 6f 42 6f 78 45 78  SelectComboBoxEx
29f50 57 20 44 6c 67 44 69 72 53 65 6c 65 63 74 43 6f  W DlgDirSelectCo
29f60 6d 62 6f 42 6f 78 45 78 3b 0d 0a 2f 2f 20 23 65  mboBoxEx;..// #e
29f70 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
29f80 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
29f90 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  ODE....enum : ui
29fa0 6e 74 20 7b 20 44 53 5f 41 42 53 41 4c 49 47 4e  nt { DS_ABSALIGN
29fb0 20 3d 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d 20   = 0x01 }..enum 
29fc0 3a 20 75 69 6e 74 20 7b 20 44 53 5f 53 59 53 4d  : uint { DS_SYSM
29fd0 4f 44 41 4c 20 3d 20 30 78 30 32 20 7d 0d 0a 65  ODAL = 0x02 }..e
29fe0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 53 5f  num : uint { DS_
29ff0 4c 4f 43 41 4c 45 44 49 54 20 3d 20 30 78 32 30  LOCALEDIT = 0x20
2a000 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2a010 7b 20 44 53 5f 53 45 54 46 4f 4e 54 20 3d 20 30  { DS_SETFONT = 0
2a020 78 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x40 }..enum : ui
2a030 6e 74 20 7b 20 44 53 5f 4d 4f 44 41 4c 46 52 41  nt { DS_MODALFRA
2a040 4d 45 20 3d 20 30 78 38 30 20 7d 0d 0a 65 6e 75  ME = 0x80 }..enu
2a050 6d 20 3a 20 75 69 6e 74 20 7b 20 44 53 5f 4e 4f  m : uint { DS_NO
2a060 49 44 4c 45 4d 53 47 20 3d 20 30 78 31 30 30 20  IDLEMSG = 0x100 
2a070 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2a080 20 44 53 5f 53 45 54 46 4f 52 45 47 52 4f 55 4e   DS_SETFOREGROUN
2a090 44 20 3d 20 30 78 32 30 30 20 7d 0d 0a 0d 0a 2f  D = 0x200 }..../
2a0a0 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
2a0b0 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0400)..enum : 
2a0c0 75 69 6e 74 20 7b 20 44 53 5f 33 44 4c 4f 4f 4b  uint { DS_3DLOOK
2a0d0 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75   = 0x0004 }..enu
2a0e0 6d 20 3a 20 75 69 6e 74 20 7b 20 44 53 5f 46 49  m : uint { DS_FI
2a0f0 58 45 44 53 59 53 20 3d 20 30 78 30 30 30 38 20  XEDSYS = 0x0008 
2a100 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2a110 20 44 53 5f 4e 4f 46 41 49 4c 43 52 45 41 54 45   DS_NOFAILCREATE
2a120 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75   = 0x0010 }..enu
2a130 6d 20 3a 20 75 69 6e 74 20 7b 20 44 53 5f 43 4f  m : uint { DS_CO
2a140 4e 54 52 4f 4c 20 3d 20 30 78 30 34 30 30 20 7d  NTROL = 0x0400 }
2a150 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2a160 44 53 5f 43 45 4e 54 45 52 20 3d 20 30 78 30 38  DS_CENTER = 0x08
2a170 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
2a180 74 20 7b 20 44 53 5f 43 45 4e 54 45 52 4d 4f 55  t { DS_CENTERMOU
2a190 53 45 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 65  SE = 0x1000 }..e
2a1a0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 53 5f  num : uint { DS_
2a1b0 43 4f 4e 54 45 58 54 48 45 4c 50 20 3d 20 30 78  CONTEXTHELP = 0x
2a1c0 32 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  2000 }....enum :
2a1d0 20 75 69 6e 74 20 7b 20 44 53 5f 53 48 45 4c 4c   uint { DS_SHELL
2a1e0 46 4f 4e 54 20 3d 20 44 53 5f 53 45 54 46 4f 4e  FONT = DS_SETFON
2a1f0 54 20 7c 20 44 53 5f 46 49 58 45 44 53 59 53 20  T | DS_FIXEDSYS 
2a200 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  }..// #endif /* 
2a210 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
2a220 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   */....enum : ui
2a230 6e 74 20 7b 20 44 4d 5f 47 45 54 44 45 46 49 44  nt { DM_GETDEFID
2a240 20 3d 20 57 4d 5f 55 53 45 52 2b 30 20 7d 0d 0a   = WM_USER+0 }..
2a250 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4d  enum : uint { DM
2a260 5f 53 45 54 44 45 46 49 44 20 3d 20 57 4d 5f 55  _SETDEFID = WM_U
2a270 53 45 52 2b 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 69  SER+1 }....// #i
2a280 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
2a290 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
2a2a0 20 7b 20 44 4d 5f 52 45 50 4f 53 49 54 49 4f 4e   { DM_REPOSITION
2a2b0 20 3d 20 57 4d 5f 55 53 45 52 2b 32 20 7d 0d 0a   = WM_USER+2 }..
2a2c0 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
2a2d0 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f  VER >= 0x0400 */
2a2e0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
2a2f0 7b 20 44 43 5f 48 41 53 44 45 46 49 44 20 3d 20  { DC_HASDEFID = 
2a300 30 78 35 33 34 42 20 7d 0d 0a 0d 0a 65 6e 75 6d  0x534B }....enum
2a310 20 3a 20 75 69 6e 74 20 7b 20 44 4c 47 43 5f 57   : uint { DLGC_W
2a320 41 4e 54 41 52 52 4f 57 53 20 3d 20 30 78 30 30  ANTARROWS = 0x00
2a330 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
2a340 74 20 7b 20 44 4c 47 43 5f 57 41 4e 54 54 41 42  t { DLGC_WANTTAB
2a350 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75   = 0x0002 }..enu
2a360 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4c 47 43 5f  m : uint { DLGC_
2a370 57 41 4e 54 41 4c 4c 4b 45 59 53 20 3d 20 30 78  WANTALLKEYS = 0x
2a380 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
2a390 69 6e 74 20 7b 20 44 4c 47 43 5f 57 41 4e 54 4d  int { DLGC_WANTM
2a3a0 45 53 53 41 47 45 20 3d 20 30 78 30 30 30 34 20  ESSAGE = 0x0004 
2a3b0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2a3c0 20 44 4c 47 43 5f 48 41 53 53 45 54 53 45 4c 20   DLGC_HASSETSEL 
2a3d0 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d  = 0x0008 }..enum
2a3e0 20 3a 20 75 69 6e 74 20 7b 20 44 4c 47 43 5f 44   : uint { DLGC_D
2a3f0 45 46 50 55 53 48 42 55 54 54 4f 4e 20 3d 20 30  EFPUSHBUTTON = 0
2a400 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0010 }..enum : 
2a410 75 69 6e 74 20 7b 20 44 4c 47 43 5f 55 4e 44 45  uint { DLGC_UNDE
2a420 46 50 55 53 48 42 55 54 54 4f 4e 20 3d 20 30 78  FPUSHBUTTON = 0x
2a430 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0020 }..enum : u
2a440 69 6e 74 20 7b 20 44 4c 47 43 5f 52 41 44 49 4f  int { DLGC_RADIO
2a450 42 55 54 54 4f 4e 20 3d 20 30 78 30 30 34 30 20  BUTTON = 0x0040 
2a460 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2a470 20 44 4c 47 43 5f 57 41 4e 54 43 48 41 52 53 20   DLGC_WANTCHARS 
2a480 3d 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e 75 6d  = 0x0080 }..enum
2a490 20 3a 20 75 69 6e 74 20 7b 20 44 4c 47 43 5f 53   : uint { DLGC_S
2a4a0 54 41 54 49 43 20 3d 20 30 78 30 31 30 30 20 7d  TATIC = 0x0100 }
2a4b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2a4c0 44 4c 47 43 5f 42 55 54 54 4f 4e 20 3d 20 30 78  DLGC_BUTTON = 0x
2a4d0 32 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  2000 }....enum :
2a4e0 20 75 69 6e 74 20 7b 20 4c 42 5f 43 54 4c 43 4f   uint { LB_CTLCO
2a4f0 44 45 20 3d 20 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  DE = 0 }....enum
2a500 20 3a 20 75 69 6e 74 20 7b 20 4c 42 5f 4f 4b 41   : uint { LB_OKA
2a510 59 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 7b 20  Y = 0 }..enum { 
2a520 4c 42 5f 45 52 52 20 3d 20 2d 31 20 7d 0d 0a 65  LB_ERR = -1 }..e
2a530 6e 75 6d 20 7b 20 4c 42 5f 45 52 52 53 50 41 43  num { LB_ERRSPAC
2a540 45 20 3d 20 2d 32 20 7d 0d 0a 0d 0a 65 6e 75 6d  E = -2 }....enum
2a550 20 7b 20 4c 42 4e 5f 45 52 52 53 50 41 43 45 20   { LBN_ERRSPACE 
2a560 3d 20 2d 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = -2 }..enum : u
2a570 69 6e 74 20 7b 20 4c 42 4e 5f 53 45 4c 43 48 41  int { LBN_SELCHA
2a580 4e 47 45 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20  NGE = 1 }..enum 
2a590 3a 20 75 69 6e 74 20 7b 20 4c 42 4e 5f 44 42 4c  : uint { LBN_DBL
2a5a0 43 4c 4b 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20  CLK = 2 }..enum 
2a5b0 3a 20 75 69 6e 74 20 7b 20 4c 42 4e 5f 53 45 4c  : uint { LBN_SEL
2a5c0 43 41 4e 43 45 4c 20 3d 20 33 20 7d 0d 0a 65 6e  CANCEL = 3 }..en
2a5d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 4e 5f  um : uint { LBN_
2a5e0 53 45 54 46 4f 43 55 53 20 3d 20 34 20 7d 0d 0a  SETFOCUS = 4 }..
2a5f0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42  enum : uint { LB
2a600 4e 5f 4b 49 4c 4c 46 4f 43 55 53 20 3d 20 35 20  N_KILLFOCUS = 5 
2a610 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  }....// #ifndef 
2a620 4e 4f 57 49 4e 4d 45 53 53 41 47 45 53 0d 0a 0d  NOWINMESSAGES...
2a630 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
2a640 42 5f 41 44 44 53 54 52 49 4e 47 20 3d 20 30 78  B_ADDSTRING = 0x
2a650 30 31 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0180 }..enum : u
2a660 69 6e 74 20 7b 20 4c 42 5f 49 4e 53 45 52 54 53  int { LB_INSERTS
2a670 54 52 49 4e 47 20 3d 20 30 78 30 31 38 31 20 7d  TRING = 0x0181 }
2a680 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2a690 4c 42 5f 44 45 4c 45 54 45 53 54 52 49 4e 47 20  LB_DELETESTRING 
2a6a0 3d 20 30 78 30 31 38 32 20 7d 0d 0a 65 6e 75 6d  = 0x0182 }..enum
2a6b0 20 3a 20 75 69 6e 74 20 7b 20 4c 42 5f 53 45 4c   : uint { LB_SEL
2a6c0 49 54 45 4d 52 41 4e 47 45 45 58 20 3d 20 30 78  ITEMRANGEEX = 0x
2a6d0 30 31 38 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0183 }..enum : u
2a6e0 69 6e 74 20 7b 20 4c 42 5f 52 45 53 45 54 43 4f  int { LB_RESETCO
2a6f0 4e 54 45 4e 54 20 3d 20 30 78 30 31 38 34 20 7d  NTENT = 0x0184 }
2a700 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2a710 4c 42 5f 53 45 54 53 45 4c 20 3d 20 30 78 30 31  LB_SETSEL = 0x01
2a720 38 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  85 }..enum : uin
2a730 74 20 7b 20 4c 42 5f 53 45 54 43 55 52 53 45 4c  t { LB_SETCURSEL
2a740 20 3d 20 30 78 30 31 38 36 20 7d 0d 0a 65 6e 75   = 0x0186 }..enu
2a750 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 5f 47 45  m : uint { LB_GE
2a760 54 53 45 4c 20 3d 20 30 78 30 31 38 37 20 7d 0d  TSEL = 0x0187 }.
2a770 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
2a780 42 5f 47 45 54 43 55 52 53 45 4c 20 3d 20 30 78  B_GETCURSEL = 0x
2a790 30 31 38 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0188 }..enum : u
2a7a0 69 6e 74 20 7b 20 4c 42 5f 47 45 54 54 45 58 54  int { LB_GETTEXT
2a7b0 20 3d 20 30 78 30 31 38 39 20 7d 0d 0a 65 6e 75   = 0x0189 }..enu
2a7c0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 5f 47 45  m : uint { LB_GE
2a7d0 54 54 45 58 54 4c 45 4e 20 3d 20 30 78 30 31 38  TTEXTLEN = 0x018
2a7e0 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  A }..enum : uint
2a7f0 20 7b 20 4c 42 5f 47 45 54 43 4f 55 4e 54 20 3d   { LB_GETCOUNT =
2a800 20 30 78 30 31 38 42 20 7d 0d 0a 65 6e 75 6d 20   0x018B }..enum 
2a810 3a 20 75 69 6e 74 20 7b 20 4c 42 5f 53 45 4c 45  : uint { LB_SELE
2a820 43 54 53 54 52 49 4e 47 20 3d 20 30 78 30 31 38  CTSTRING = 0x018
2a830 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  C }..enum : uint
2a840 20 7b 20 4c 42 5f 44 49 52 20 3d 20 30 78 30 31   { LB_DIR = 0x01
2a850 38 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  8D }..enum : uin
2a860 74 20 7b 20 4c 42 5f 47 45 54 54 4f 50 49 4e 44  t { LB_GETTOPIND
2a870 45 58 20 3d 20 30 78 30 31 38 45 20 7d 0d 0a 65  EX = 0x018E }..e
2a880 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 5f  num : uint { LB_
2a890 46 49 4e 44 53 54 52 49 4e 47 20 3d 20 30 78 30  FINDSTRING = 0x0
2a8a0 31 38 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  18F }..enum : ui
2a8b0 6e 74 20 7b 20 4c 42 5f 47 45 54 53 45 4c 43 4f  nt { LB_GETSELCO
2a8c0 55 4e 54 20 3d 20 30 78 30 31 39 30 20 7d 0d 0a  UNT = 0x0190 }..
2a8d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42  enum : uint { LB
2a8e0 5f 47 45 54 53 45 4c 49 54 45 4d 53 20 3d 20 30  _GETSELITEMS = 0
2a8f0 78 30 31 39 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0191 }..enum : 
2a900 75 69 6e 74 20 7b 20 4c 42 5f 53 45 54 54 41 42  uint { LB_SETTAB
2a910 53 54 4f 50 53 20 3d 20 30 78 30 31 39 32 20 7d  STOPS = 0x0192 }
2a920 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2a930 4c 42 5f 47 45 54 48 4f 52 49 5a 4f 4e 54 41 4c  LB_GETHORIZONTAL
2a940 45 58 54 45 4e 54 20 3d 20 30 78 30 31 39 33 20  EXTENT = 0x0193 
2a950 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2a960 20 4c 42 5f 53 45 54 48 4f 52 49 5a 4f 4e 54 41   LB_SETHORIZONTA
2a970 4c 45 58 54 45 4e 54 20 3d 20 30 78 30 31 39 34  LEXTENT = 0x0194
2a980 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2a990 7b 20 4c 42 5f 53 45 54 43 4f 4c 55 4d 4e 57 49  { LB_SETCOLUMNWI
2a9a0 44 54 48 20 3d 20 30 78 30 31 39 35 20 7d 0d 0a  DTH = 0x0195 }..
2a9b0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42  enum : uint { LB
2a9c0 5f 41 44 44 46 49 4c 45 20 3d 20 30 78 30 31 39  _ADDFILE = 0x019
2a9d0 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
2a9e0 20 7b 20 4c 42 5f 53 45 54 54 4f 50 49 4e 44 45   { LB_SETTOPINDE
2a9f0 58 20 3d 20 30 78 30 31 39 37 20 7d 0d 0a 65 6e  X = 0x0197 }..en
2aa00 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 5f 47  um : uint { LB_G
2aa10 45 54 49 54 45 4d 52 45 43 54 20 3d 20 30 78 30  ETITEMRECT = 0x0
2aa20 31 39 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  198 }..enum : ui
2aa30 6e 74 20 7b 20 4c 42 5f 47 45 54 49 54 45 4d 44  nt { LB_GETITEMD
2aa40 41 54 41 20 3d 20 30 78 30 31 39 39 20 7d 0d 0a  ATA = 0x0199 }..
2aa50 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42  enum : uint { LB
2aa60 5f 53 45 54 49 54 45 4d 44 41 54 41 20 3d 20 30  _SETITEMDATA = 0
2aa70 78 30 31 39 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x019A }..enum : 
2aa80 75 69 6e 74 20 7b 20 4c 42 5f 53 45 4c 49 54 45  uint { LB_SELITE
2aa90 4d 52 41 4e 47 45 20 3d 20 30 78 30 31 39 42 20  MRANGE = 0x019B 
2aaa0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2aab0 20 4c 42 5f 53 45 54 41 4e 43 48 4f 52 49 4e 44   LB_SETANCHORIND
2aac0 45 58 20 3d 20 30 78 30 31 39 43 20 7d 0d 0a 65  EX = 0x019C }..e
2aad0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 5f  num : uint { LB_
2aae0 47 45 54 41 4e 43 48 4f 52 49 4e 44 45 58 20 3d  GETANCHORINDEX =
2aaf0 20 30 78 30 31 39 44 20 7d 0d 0a 65 6e 75 6d 20   0x019D }..enum 
2ab00 3a 20 75 69 6e 74 20 7b 20 4c 42 5f 53 45 54 43  : uint { LB_SETC
2ab10 41 52 45 54 49 4e 44 45 58 20 3d 20 30 78 30 31  ARETINDEX = 0x01
2ab20 39 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  9E }..enum : uin
2ab30 74 20 7b 20 4c 42 5f 47 45 54 43 41 52 45 54 49  t { LB_GETCARETI
2ab40 4e 44 45 58 20 3d 20 30 78 30 31 39 46 20 7d 0d  NDEX = 0x019F }.
2ab50 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
2ab60 42 5f 53 45 54 49 54 45 4d 48 45 49 47 48 54 20  B_SETITEMHEIGHT 
2ab70 3d 20 30 78 30 31 41 30 20 7d 0d 0a 65 6e 75 6d  = 0x01A0 }..enum
2ab80 20 3a 20 75 69 6e 74 20 7b 20 4c 42 5f 47 45 54   : uint { LB_GET
2ab90 49 54 45 4d 48 45 49 47 48 54 20 3d 20 30 78 30  ITEMHEIGHT = 0x0
2aba0 31 41 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  1A1 }..enum : ui
2abb0 6e 74 20 7b 20 4c 42 5f 46 49 4e 44 53 54 52 49  nt { LB_FINDSTRI
2abc0 4e 47 45 58 41 43 54 20 3d 20 30 78 30 31 41 32  NGEXACT = 0x01A2
2abd0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2abe0 7b 20 4c 42 5f 53 45 54 4c 4f 43 41 4c 45 20 3d  { LB_SETLOCALE =
2abf0 20 30 78 30 31 41 35 20 7d 0d 0a 65 6e 75 6d 20   0x01A5 }..enum 
2ac00 3a 20 75 69 6e 74 20 7b 20 4c 42 5f 47 45 54 4c  : uint { LB_GETL
2ac10 4f 43 41 4c 45 20 3d 20 30 78 30 31 41 36 20 7d  OCALE = 0x01A6 }
2ac20 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2ac30 4c 42 5f 53 45 54 43 4f 55 4e 54 20 3d 20 30 78  LB_SETCOUNT = 0x
2ac40 30 31 41 37 20 7d 0d 0a 2f 2f 20 23 69 66 28 57  01A7 }..// #if(W
2ac50 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
2ac60 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2ac70 4c 42 5f 49 4e 49 54 53 54 4f 52 41 47 45 20 3d  LB_INITSTORAGE =
2ac80 20 30 78 30 31 41 38 20 7d 0d 0a 65 6e 75 6d 20   0x01A8 }..enum 
2ac90 3a 20 75 69 6e 74 20 7b 20 4c 42 5f 49 54 45 4d  : uint { LB_ITEM
2aca0 46 52 4f 4d 50 4f 49 4e 54 20 3d 20 30 78 30 31  FROMPOINT = 0x01
2acb0 41 39 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  A9 }..// #endif 
2acc0 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
2acd0 34 30 30 20 2a 2f 0d 0a 2f 2f 20 23 69 66 28 5f  400 */..// #if(_
2ace0 57 49 4e 33 32 5f 57 43 45 20 3e 3d 20 30 78 30  WIN32_WCE >= 0x0
2acf0 34 30 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  400)..// #...../
2ad00 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
2ad10 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  if(_WIN32_WINNT 
2ad20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d  >= 0x0501)..enum
2ad30 20 3a 20 75 69 6e 74 20 7b 20 4c 42 5f 47 45 54   : uint { LB_GET
2ad40 4c 49 53 54 42 4f 58 49 4e 46 4f 20 3d 20 30 78  LISTBOXINFO = 0x
2ad50 30 31 42 32 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  01B2 }..// #endi
2ad60 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e  f /* _WIN32_WINN
2ad70 54 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f 0d 0a  T >= 0x0501 */..
2ad80 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f  ..// #if(_WIN32_
2ad90 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29  WINNT >= 0x0501)
2ada0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2adb0 4c 42 5f 4d 53 47 4d 41 58 20 3d 20 30 78 30 31  LB_MSGMAX = 0x01
2adc0 42 33 20 7d 0d 0a 2f 2f 20 23 65 6c 69 66 28 5f  B3 }..// #elif(_
2add0 57 49 4e 33 32 5f 57 43 45 20 3e 3d 20 30 78 30  WIN32_WCE >= 0x0
2ade0 34 30 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  400)..// #...../
2adf0 2f 20 23 65 6c 69 66 28 57 49 4e 56 45 52 20 3e  / #elif(WINVER >
2ae00 3d 20 30 78 30 34 30 30 29 0d 0a 2f 2f 20 23 2e  = 0x0400)..// #.
2ae10 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  ....// #else..//
2ae20 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
2ae30 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  ....// #endif /*
2ae40 20 21 4e 4f 57 49 4e 4d 45 53 53 41 47 45 53 20   !NOWINMESSAGES 
2ae50 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  */....// #ifndef
2ae60 20 4e 4f 57 49 4e 53 54 59 4c 45 53 0d 0a 0d 0a   NOWINSTYLES....
2ae70 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42  enum : uint { LB
2ae80 53 5f 4e 4f 54 49 46 59 20 3d 20 30 78 30 30 30  S_NOTIFY = 0x000
2ae90 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
2aea0 20 7b 20 4c 42 53 5f 53 4f 52 54 20 3d 20 30 78   { LBS_SORT = 0x
2aeb0 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
2aec0 69 6e 74 20 7b 20 4c 42 53 5f 4e 4f 52 45 44 52  int { LBS_NOREDR
2aed0 41 57 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65  AW = 0x0004 }..e
2aee0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 53  num : uint { LBS
2aef0 5f 4d 55 4c 54 49 50 4c 45 53 45 4c 20 3d 20 30  _MULTIPLESEL = 0
2af00 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0008 }..enum : 
2af10 75 69 6e 74 20 7b 20 4c 42 53 5f 4f 57 4e 45 52  uint { LBS_OWNER
2af20 44 52 41 57 46 49 58 45 44 20 3d 20 30 78 30 30  DRAWFIXED = 0x00
2af30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
2af40 74 20 7b 20 4c 42 53 5f 4f 57 4e 45 52 44 52 41  t { LBS_OWNERDRA
2af50 57 56 41 52 49 41 42 4c 45 20 3d 20 30 78 30 30  WVARIABLE = 0x00
2af60 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  20 }..enum : uin
2af70 74 20 7b 20 4c 42 53 5f 48 41 53 53 54 52 49 4e  t { LBS_HASSTRIN
2af80 47 53 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 65  GS = 0x0040 }..e
2af90 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 53  num : uint { LBS
2afa0 5f 55 53 45 54 41 42 53 54 4f 50 53 20 3d 20 30  _USETABSTOPS = 0
2afb0 78 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0080 }..enum : 
2afc0 75 69 6e 74 20 7b 20 4c 42 53 5f 4e 4f 49 4e 54  uint { LBS_NOINT
2afd0 45 47 52 41 4c 48 45 49 47 48 54 20 3d 20 30 78  EGRALHEIGHT = 0x
2afe0 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0100 }..enum : u
2aff0 69 6e 74 20 7b 20 4c 42 53 5f 4d 55 4c 54 49 43  int { LBS_MULTIC
2b000 4f 4c 55 4d 4e 20 3d 20 30 78 30 32 30 30 20 7d  OLUMN = 0x0200 }
2b010 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2b020 4c 42 53 5f 57 41 4e 54 4b 45 59 42 4f 41 52 44  LBS_WANTKEYBOARD
2b030 49 4e 50 55 54 20 3d 20 30 78 30 34 30 30 20 7d  INPUT = 0x0400 }
2b040 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2b050 4c 42 53 5f 45 58 54 45 4e 44 45 44 53 45 4c 20  LBS_EXTENDEDSEL 
2b060 3d 20 30 78 30 38 30 30 20 7d 0d 0a 65 6e 75 6d  = 0x0800 }..enum
2b070 20 3a 20 75 69 6e 74 20 7b 20 4c 42 53 5f 44 49   : uint { LBS_DI
2b080 53 41 42 4c 45 4e 4f 53 43 52 4f 4c 4c 20 3d 20  SABLENOSCROLL = 
2b090 30 78 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x1000 }..enum :
2b0a0 20 75 69 6e 74 20 7b 20 4c 42 53 5f 4e 4f 44 41   uint { LBS_NODA
2b0b0 54 41 20 3d 20 30 78 32 30 30 30 20 7d 0d 0a 2f  TA = 0x2000 }../
2b0c0 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
2b0d0 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0400)..enum : 
2b0e0 75 69 6e 74 20 7b 20 4c 42 53 5f 4e 4f 53 45 4c  uint { LBS_NOSEL
2b0f0 20 3d 20 30 78 34 30 30 30 20 7d 0d 0a 2f 2f 20   = 0x4000 }..// 
2b100 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52  #endif /* WINVER
2b110 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 65   >= 0x0400 */..e
2b120 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 42 53  num : uint { LBS
2b130 5f 53 54 41 4e 44 41 52 44 20 3d 20 4c 42 53 5f  _STANDARD = LBS_
2b140 4e 4f 54 49 46 59 20 7c 20 4c 42 53 5f 53 4f 52  NOTIFY | LBS_SOR
2b150 54 20 7c 20 57 53 5f 56 53 43 52 4f 4c 4c 20 7c  T | WS_VSCROLL |
2b160 20 57 53 5f 42 4f 52 44 45 52 20 7d 0d 0a 0d 0a   WS_BORDER }....
2b170 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f  // #endif /* !NO
2b180 57 49 4e 53 54 59 4c 45 53 20 2a 2f 0d 0a 0d 0a  WINSTYLES */....
2b190 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42  enum : uint { CB
2b1a0 5f 4f 4b 41 59 20 3d 20 30 20 7d 0d 0a 65 6e 75  _OKAY = 0 }..enu
2b1b0 6d 20 7b 20 43 42 5f 45 52 52 20 3d 20 2d 31 20  m { CB_ERR = -1 
2b1c0 7d 0d 0a 65 6e 75 6d 20 7b 20 43 42 5f 45 52 52  }..enum { CB_ERR
2b1d0 53 50 41 43 45 20 3d 20 2d 32 20 7d 0d 0a 0d 0a  SPACE = -2 }....
2b1e0 65 6e 75 6d 20 7b 20 43 42 4e 5f 45 52 52 53 50  enum { CBN_ERRSP
2b1f0 41 43 45 20 3d 20 2d 31 20 7d 0d 0a 65 6e 75 6d  ACE = -1 }..enum
2b200 20 3a 20 75 69 6e 74 20 7b 20 43 42 4e 5f 53 45   : uint { CBN_SE
2b210 4c 43 48 41 4e 47 45 20 3d 20 31 20 7d 0d 0a 65  LCHANGE = 1 }..e
2b220 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 4e  num : uint { CBN
2b230 5f 44 42 4c 43 4c 4b 20 3d 20 32 20 7d 0d 0a 65  _DBLCLK = 2 }..e
2b240 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 4e  num : uint { CBN
2b250 5f 53 45 54 46 4f 43 55 53 20 3d 20 33 20 7d 0d  _SETFOCUS = 3 }.
2b260 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
2b270 42 4e 5f 4b 49 4c 4c 46 4f 43 55 53 20 3d 20 34  BN_KILLFOCUS = 4
2b280 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2b290 7b 20 43 42 4e 5f 45 44 49 54 43 48 41 4e 47 45  { CBN_EDITCHANGE
2b2a0 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 5 }..enum : u
2b2b0 69 6e 74 20 7b 20 43 42 4e 5f 45 44 49 54 55 50  int { CBN_EDITUP
2b2c0 44 41 54 45 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d  DATE = 6 }..enum
2b2d0 20 3a 20 75 69 6e 74 20 7b 20 43 42 4e 5f 44 52   : uint { CBN_DR
2b2e0 4f 50 44 4f 57 4e 20 3d 20 37 20 7d 0d 0a 65 6e  OPDOWN = 7 }..en
2b2f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 4e 5f  um : uint { CBN_
2b300 43 4c 4f 53 45 55 50 20 3d 20 38 20 7d 0d 0a 65  CLOSEUP = 8 }..e
2b310 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 4e  num : uint { CBN
2b320 5f 53 45 4c 45 4e 44 4f 4b 20 3d 20 39 20 7d 0d  _SELENDOK = 9 }.
2b330 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
2b340 42 4e 5f 53 45 4c 45 4e 44 43 41 4e 43 45 4c 20  BN_SELENDCANCEL 
2b350 3d 20 31 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66  = 10 }....// #if
2b360 6e 64 65 66 20 4e 4f 57 49 4e 53 54 59 4c 45 53  ndef NOWINSTYLES
2b370 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
2b380 7b 20 43 42 53 5f 53 49 4d 50 4c 45 20 3d 20 30  { CBS_SIMPLE = 0
2b390 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0001 }..enum : 
2b3a0 75 69 6e 74 20 7b 20 43 42 53 5f 44 52 4f 50 44  uint { CBS_DROPD
2b3b0 4f 57 4e 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a  OWN = 0x0002 }..
2b3c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42  enum : uint { CB
2b3d0 53 5f 44 52 4f 50 44 4f 57 4e 4c 49 53 54 20 3d  S_DROPDOWNLIST =
2b3e0 20 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20   0x0003 }..enum 
2b3f0 3a 20 75 69 6e 74 20 7b 20 43 42 53 5f 4f 57 4e  : uint { CBS_OWN
2b400 45 52 44 52 41 57 46 49 58 45 44 20 3d 20 30 78  ERDRAWFIXED = 0x
2b410 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0010 }..enum : u
2b420 69 6e 74 20 7b 20 43 42 53 5f 4f 57 4e 45 52 44  int { CBS_OWNERD
2b430 52 41 57 56 41 52 49 41 42 4c 45 20 3d 20 30 78  RAWVARIABLE = 0x
2b440 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0020 }..enum : u
2b450 69 6e 74 20 7b 20 43 42 53 5f 41 55 54 4f 48 53  int { CBS_AUTOHS
2b460 43 52 4f 4c 4c 20 3d 20 30 78 30 30 34 30 20 7d  CROLL = 0x0040 }
2b470 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2b480 43 42 53 5f 4f 45 4d 43 4f 4e 56 45 52 54 20 3d  CBS_OEMCONVERT =
2b490 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20   0x0080 }..enum 
2b4a0 3a 20 75 69 6e 74 20 7b 20 43 42 53 5f 53 4f 52  : uint { CBS_SOR
2b4b0 54 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 65 6e  T = 0x0100 }..en
2b4c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 53 5f  um : uint { CBS_
2b4d0 48 41 53 53 54 52 49 4e 47 53 20 3d 20 30 78 30  HASSTRINGS = 0x0
2b4e0 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  200 }..enum : ui
2b4f0 6e 74 20 7b 20 43 42 53 5f 4e 4f 49 4e 54 45 47  nt { CBS_NOINTEG
2b500 52 41 4c 48 45 49 47 48 54 20 3d 20 30 78 30 34  RALHEIGHT = 0x04
2b510 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
2b520 74 20 7b 20 43 42 53 5f 44 49 53 41 42 4c 45 4e  t { CBS_DISABLEN
2b530 4f 53 43 52 4f 4c 4c 20 3d 20 30 78 30 38 30 30  OSCROLL = 0x0800
2b540 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45   }..// #if(WINVE
2b550 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  R >= 0x0400)..en
2b560 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 53 5f  um : uint { CBS_
2b570 55 50 50 45 52 43 41 53 45 20 3d 20 30 78 32 30  UPPERCASE = 0x20
2b580 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
2b590 74 20 7b 20 43 42 53 5f 4c 4f 57 45 52 43 41 53  t { CBS_LOWERCAS
2b5a0 45 20 3d 20 30 78 34 30 30 30 20 7d 0d 0a 2f 2f  E = 0x4000 }..//
2b5b0 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45   #endif /* WINVE
2b5c0 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a  R >= 0x0400 */..
2b5d0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2a 20  ..// #endif  /* 
2b5e0 21 4e 4f 57 49 4e 53 54 59 4c 45 53 20 2a 2f 0d  !NOWINSTYLES */.
2b5f0 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f  ...// #ifndef NO
2b600 57 49 4e 4d 45 53 53 41 47 45 53 0d 0a 65 6e 75  WINMESSAGES..enu
2b610 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 5f 47 45  m : uint { CB_GE
2b620 54 45 44 49 54 53 45 4c 20 3d 20 30 78 30 31 34  TEDITSEL = 0x014
2b630 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
2b640 20 7b 20 43 42 5f 4c 49 4d 49 54 54 45 58 54 20   { CB_LIMITTEXT 
2b650 3d 20 30 78 30 31 34 31 20 7d 0d 0a 65 6e 75 6d  = 0x0141 }..enum
2b660 20 3a 20 75 69 6e 74 20 7b 20 43 42 5f 53 45 54   : uint { CB_SET
2b670 45 44 49 54 53 45 4c 20 3d 20 30 78 30 31 34 32  EDITSEL = 0x0142
2b680 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2b690 7b 20 43 42 5f 41 44 44 53 54 52 49 4e 47 20 3d  { CB_ADDSTRING =
2b6a0 20 30 78 30 31 34 33 20 7d 0d 0a 65 6e 75 6d 20   0x0143 }..enum 
2b6b0 3a 20 75 69 6e 74 20 7b 20 43 42 5f 44 45 4c 45  : uint { CB_DELE
2b6c0 54 45 53 54 52 49 4e 47 20 3d 20 30 78 30 31 34  TESTRING = 0x014
2b6d0 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
2b6e0 20 7b 20 43 42 5f 44 49 52 20 3d 20 30 78 30 31   { CB_DIR = 0x01
2b6f0 34 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  45 }..enum : uin
2b700 74 20 7b 20 43 42 5f 47 45 54 43 4f 55 4e 54 20  t { CB_GETCOUNT 
2b710 3d 20 30 78 30 31 34 36 20 7d 0d 0a 65 6e 75 6d  = 0x0146 }..enum
2b720 20 3a 20 75 69 6e 74 20 7b 20 43 42 5f 47 45 54   : uint { CB_GET
2b730 43 55 52 53 45 4c 20 3d 20 30 78 30 31 34 37 20  CURSEL = 0x0147 
2b740 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2b750 20 43 42 5f 47 45 54 4c 42 54 45 58 54 20 3d 20   CB_GETLBTEXT = 
2b760 30 78 30 31 34 38 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0148 }..enum :
2b770 20 75 69 6e 74 20 7b 20 43 42 5f 47 45 54 4c 42   uint { CB_GETLB
2b780 54 45 58 54 4c 45 4e 20 3d 20 30 78 30 31 34 39  TEXTLEN = 0x0149
2b790 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2b7a0 7b 20 43 42 5f 49 4e 53 45 52 54 53 54 52 49 4e  { CB_INSERTSTRIN
2b7b0 47 20 3d 20 30 78 30 31 34 41 20 7d 0d 0a 65 6e  G = 0x014A }..en
2b7c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 5f 52  um : uint { CB_R
2b7d0 45 53 45 54 43 4f 4e 54 45 4e 54 20 3d 20 30 78  ESETCONTENT = 0x
2b7e0 30 31 34 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  014B }..enum : u
2b7f0 69 6e 74 20 7b 20 43 42 5f 46 49 4e 44 53 54 52  int { CB_FINDSTR
2b800 49 4e 47 20 3d 20 30 78 30 31 34 43 20 7d 0d 0a  ING = 0x014C }..
2b810 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42  enum : uint { CB
2b820 5f 53 45 4c 45 43 54 53 54 52 49 4e 47 20 3d 20  _SELECTSTRING = 
2b830 30 78 30 31 34 44 20 7d 0d 0a 65 6e 75 6d 20 3a  0x014D }..enum :
2b840 20 75 69 6e 74 20 7b 20 43 42 5f 53 45 54 43 55   uint { CB_SETCU
2b850 52 53 45 4c 20 3d 20 30 78 30 31 34 45 20 7d 0d  RSEL = 0x014E }.
2b860 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
2b870 42 5f 53 48 4f 57 44 52 4f 50 44 4f 57 4e 20 3d  B_SHOWDROPDOWN =
2b880 20 30 78 30 31 34 46 20 7d 0d 0a 65 6e 75 6d 20   0x014F }..enum 
2b890 3a 20 75 69 6e 74 20 7b 20 43 42 5f 47 45 54 49  : uint { CB_GETI
2b8a0 54 45 4d 44 41 54 41 20 3d 20 30 78 30 31 35 30  TEMDATA = 0x0150
2b8b0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2b8c0 7b 20 43 42 5f 53 45 54 49 54 45 4d 44 41 54 41  { CB_SETITEMDATA
2b8d0 20 3d 20 30 78 30 31 35 31 20 7d 0d 0a 65 6e 75   = 0x0151 }..enu
2b8e0 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 5f 47 45  m : uint { CB_GE
2b8f0 54 44 52 4f 50 50 45 44 43 4f 4e 54 52 4f 4c 52  TDROPPEDCONTROLR
2b900 45 43 54 20 3d 20 30 78 30 31 35 32 20 7d 0d 0a  ECT = 0x0152 }..
2b910 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42  enum : uint { CB
2b920 5f 53 45 54 49 54 45 4d 48 45 49 47 48 54 20 3d  _SETITEMHEIGHT =
2b930 20 30 78 30 31 35 33 20 7d 0d 0a 65 6e 75 6d 20   0x0153 }..enum 
2b940 3a 20 75 69 6e 74 20 7b 20 43 42 5f 47 45 54 49  : uint { CB_GETI
2b950 54 45 4d 48 45 49 47 48 54 20 3d 20 30 78 30 31  TEMHEIGHT = 0x01
2b960 35 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  54 }..enum : uin
2b970 74 20 7b 20 43 42 5f 53 45 54 45 58 54 45 4e 44  t { CB_SETEXTEND
2b980 45 44 55 49 20 3d 20 30 78 30 31 35 35 20 7d 0d  EDUI = 0x0155 }.
2b990 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
2b9a0 42 5f 47 45 54 45 58 54 45 4e 44 45 44 55 49 20  B_GETEXTENDEDUI 
2b9b0 3d 20 30 78 30 31 35 36 20 7d 0d 0a 65 6e 75 6d  = 0x0156 }..enum
2b9c0 20 3a 20 75 69 6e 74 20 7b 20 43 42 5f 47 45 54   : uint { CB_GET
2b9d0 44 52 4f 50 50 45 44 53 54 41 54 45 20 3d 20 30  DROPPEDSTATE = 0
2b9e0 78 30 31 35 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0157 }..enum : 
2b9f0 75 69 6e 74 20 7b 20 43 42 5f 46 49 4e 44 53 54  uint { CB_FINDST
2ba00 52 49 4e 47 45 58 41 43 54 20 3d 20 30 78 30 31  RINGEXACT = 0x01
2ba10 35 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  58 }..enum : uin
2ba20 74 20 7b 20 43 42 5f 53 45 54 4c 4f 43 41 4c 45  t { CB_SETLOCALE
2ba30 20 3d 20 30 78 30 31 35 39 20 7d 0d 0a 65 6e 75   = 0x0159 }..enu
2ba40 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 5f 47 45  m : uint { CB_GE
2ba50 54 4c 4f 43 41 4c 45 20 3d 20 30 78 30 31 35 41  TLOCALE = 0x015A
2ba60 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45   }..// #if(WINVE
2ba70 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  R >= 0x0400)..en
2ba80 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 5f 47  um : uint { CB_G
2ba90 45 54 54 4f 50 49 4e 44 45 58 20 3d 20 30 78 30  ETTOPINDEX = 0x0
2baa0 31 35 62 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  15b }..enum : ui
2bab0 6e 74 20 7b 20 43 42 5f 53 45 54 54 4f 50 49 4e  nt { CB_SETTOPIN
2bac0 44 45 58 20 3d 20 30 78 30 31 35 63 20 7d 0d 0a  DEX = 0x015c }..
2bad0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42  enum : uint { CB
2bae0 5f 47 45 54 48 4f 52 49 5a 4f 4e 54 41 4c 45 58  _GETHORIZONTALEX
2baf0 54 45 4e 54 20 3d 20 30 78 30 31 35 64 20 7d 0d  TENT = 0x015d }.
2bb00 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
2bb10 42 5f 53 45 54 48 4f 52 49 5a 4f 4e 54 41 4c 45  B_SETHORIZONTALE
2bb20 58 54 45 4e 54 20 3d 20 30 78 30 31 35 65 20 7d  XTENT = 0x015e }
2bb30 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2bb40 43 42 5f 47 45 54 44 52 4f 50 50 45 44 57 49 44  CB_GETDROPPEDWID
2bb50 54 48 20 3d 20 30 78 30 31 35 66 20 7d 0d 0a 65  TH = 0x015f }..e
2bb60 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 5f  num : uint { CB_
2bb70 53 45 54 44 52 4f 50 50 45 44 57 49 44 54 48 20  SETDROPPEDWIDTH 
2bb80 3d 20 30 78 30 31 36 30 20 7d 0d 0a 65 6e 75 6d  = 0x0160 }..enum
2bb90 20 3a 20 75 69 6e 74 20 7b 20 43 42 5f 49 4e 49   : uint { CB_INI
2bba0 54 53 54 4f 52 41 47 45 20 3d 20 30 78 30 31 36  TSTORAGE = 0x016
2bbb0 31 20 7d 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e  1 }..// #if(_WIN
2bbc0 33 32 5f 57 43 45 20 3e 3d 20 30 78 30 34 30 30  32_WCE >= 0x0400
2bbd0 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  )..// #.....// #
2bbe0 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66  endif..// #endif
2bbf0 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
2bc00 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69  0400 */....// #i
2bc10 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e  f(_WIN32_WINNT >
2bc20 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20  = 0x0501)..enum 
2bc30 3a 20 75 69 6e 74 20 7b 20 43 42 5f 47 45 54 43  : uint { CB_GETC
2bc40 4f 4d 42 4f 42 4f 58 49 4e 46 4f 20 3d 20 30 78  OMBOBOXINFO = 0x
2bc50 30 31 36 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0164 }..// #endi
2bc60 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e  f /* _WIN32_WINN
2bc70 54 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f 0d 0a  T >= 0x0501 */..
2bc80 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f  ..// #if(_WIN32_
2bc90 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29  WINNT >= 0x0501)
2bca0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2bcb0 43 42 5f 4d 53 47 4d 41 58 20 3d 20 30 78 30 31  CB_MSGMAX = 0x01
2bcc0 36 35 20 7d 0d 0a 2f 2f 20 23 65 6c 69 66 28 5f  65 }..// #elif(_
2bcd0 57 49 4e 33 32 5f 57 43 45 20 3e 3d 20 30 78 30  WIN32_WCE >= 0x0
2bce0 34 30 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  400)..// #...../
2bcf0 2f 20 23 65 6c 69 66 28 57 49 4e 56 45 52 20 3e  / #elif(WINVER >
2bd00 3d 20 30 78 30 34 30 30 29 0d 0a 2f 2f 20 23 2e  = 0x0400)..// #.
2bd10 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  ....// #else..//
2bd20 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
2bd30 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2a 20  ..// #endif  /* 
2bd40 21 4e 4f 57 49 4e 4d 45 53 53 41 47 45 53 20 2a  !NOWINMESSAGES *
2bd50 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  /....// #ifndef 
2bd60 4e 4f 57 49 4e 53 54 59 4c 45 53 0d 0a 0d 0a 65  NOWINSTYLES....e
2bd70 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 53  num : uint { SBS
2bd80 5f 48 4f 52 5a 20 3d 20 30 78 30 30 30 30 20 7d  _HORZ = 0x0000 }
2bd90 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2bda0 53 42 53 5f 56 45 52 54 20 3d 20 30 78 30 30 30  SBS_VERT = 0x000
2bdb0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
2bdc0 20 7b 20 53 42 53 5f 54 4f 50 41 4c 49 47 4e 20   { SBS_TOPALIGN 
2bdd0 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
2bde0 20 3a 20 75 69 6e 74 20 7b 20 53 42 53 5f 4c 45   : uint { SBS_LE
2bdf0 46 54 41 4c 49 47 4e 20 3d 20 30 78 30 30 30 32  FTALIGN = 0x0002
2be00 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2be10 7b 20 53 42 53 5f 42 4f 54 54 4f 4d 41 4c 49 47  { SBS_BOTTOMALIG
2be20 4e 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e  N = 0x0004 }..en
2be30 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 53 5f  um : uint { SBS_
2be40 52 49 47 48 54 41 4c 49 47 4e 20 3d 20 30 78 30  RIGHTALIGN = 0x0
2be50 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
2be60 6e 74 20 7b 20 53 42 53 5f 53 49 5a 45 42 4f 58  nt { SBS_SIZEBOX
2be70 54 4f 50 4c 45 46 54 41 4c 49 47 4e 20 3d 20 30  TOPLEFTALIGN = 0
2be80 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0002 }..enum : 
2be90 75 69 6e 74 20 7b 20 53 42 53 5f 53 49 5a 45 42  uint { SBS_SIZEB
2bea0 4f 58 42 4f 54 54 4f 4d 52 49 47 48 54 41 4c 49  OXBOTTOMRIGHTALI
2beb0 47 4e 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65  GN = 0x0004 }..e
2bec0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 53  num : uint { SBS
2bed0 5f 53 49 5a 45 42 4f 58 20 3d 20 30 78 30 30 30  _SIZEBOX = 0x000
2bee0 38 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56  8 }..// #if(WINV
2bef0 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65  ER >= 0x0400)..e
2bf00 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 53  num : uint { SBS
2bf10 5f 53 49 5a 45 47 52 49 50 20 3d 20 30 78 30 30  _SIZEGRIP = 0x00
2bf20 31 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  10 }..// #endif 
2bf30 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
2bf40 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 65 6e  400 */....// #en
2bf50 64 69 66 20 2f 2a 20 21 4e 4f 57 49 4e 53 54 59  dif /* !NOWINSTY
2bf60 4c 45 53 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66  LES */....// #if
2bf70 6e 64 65 66 20 4e 4f 57 49 4e 4d 45 53 53 41 47  ndef NOWINMESSAG
2bf80 45 53 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ES..enum : uint 
2bf90 7b 20 53 42 4d 5f 53 45 54 50 4f 53 20 3d 20 30  { SBM_SETPOS = 0
2bfa0 78 30 30 45 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x00E0 }..enum : 
2bfb0 75 69 6e 74 20 7b 20 53 42 4d 5f 47 45 54 50 4f  uint { SBM_GETPO
2bfc0 53 20 3d 20 30 78 30 30 45 31 20 7d 0d 0a 65 6e  S = 0x00E1 }..en
2bfd0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 4d 5f  um : uint { SBM_
2bfe0 53 45 54 52 41 4e 47 45 20 3d 20 30 78 30 30 45  SETRANGE = 0x00E
2bff0 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
2c000 20 7b 20 53 42 4d 5f 53 45 54 52 41 4e 47 45 52   { SBM_SETRANGER
2c010 45 44 52 41 57 20 3d 20 30 78 30 30 45 36 20 7d  EDRAW = 0x00E6 }
2c020 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2c030 53 42 4d 5f 47 45 54 52 41 4e 47 45 20 3d 20 30  SBM_GETRANGE = 0
2c040 78 30 30 45 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x00E3 }..enum : 
2c050 75 69 6e 74 20 7b 20 53 42 4d 5f 45 4e 41 42 4c  uint { SBM_ENABL
2c060 45 5f 41 52 52 4f 57 53 20 3d 20 30 78 30 30 45  E_ARROWS = 0x00E
2c070 34 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56  4 }..// #if(WINV
2c080 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65  ER >= 0x0400)..e
2c090 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 4d  num : uint { SBM
2c0a0 5f 53 45 54 53 43 52 4f 4c 4c 49 4e 46 4f 20 3d  _SETSCROLLINFO =
2c0b0 20 30 78 30 30 45 39 20 7d 0d 0a 65 6e 75 6d 20   0x00E9 }..enum 
2c0c0 3a 20 75 69 6e 74 20 7b 20 53 42 4d 5f 47 45 54  : uint { SBM_GET
2c0d0 53 43 52 4f 4c 4c 49 4e 46 4f 20 3d 20 30 78 30  SCROLLINFO = 0x0
2c0e0 30 45 41 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  0EA }..// #endif
2c0f0 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
2c100 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69  0400 */....// #i
2c110 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e  f(_WIN32_WINNT >
2c120 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20  = 0x0501)..enum 
2c130 3a 20 75 69 6e 74 20 7b 20 53 42 4d 5f 47 45 54  : uint { SBM_GET
2c140 53 43 52 4f 4c 4c 42 41 52 49 4e 46 4f 20 3d 20  SCROLLBARINFO = 
2c150 30 78 30 30 45 42 20 7d 0d 0a 2f 2f 20 23 65 6e  0x00EB }..// #en
2c160 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49  dif /* _WIN32_WI
2c170 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f  NNT >= 0x0501 */
2c180 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45  ....// #if(WINVE
2c190 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  R >= 0x0400)..en
2c1a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 49 46 5f  um : uint { SIF_
2c1b0 52 41 4e 47 45 20 3d 20 30 78 30 30 30 31 20 7d  RANGE = 0x0001 }
2c1c0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2c1d0 53 49 46 5f 50 41 47 45 20 3d 20 30 78 30 30 30  SIF_PAGE = 0x000
2c1e0 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
2c1f0 20 7b 20 53 49 46 5f 50 4f 53 20 3d 20 30 78 30   { SIF_POS = 0x0
2c200 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
2c210 6e 74 20 7b 20 53 49 46 5f 44 49 53 41 42 4c 45  nt { SIF_DISABLE
2c220 4e 4f 53 43 52 4f 4c 4c 20 3d 20 30 78 30 30 30  NOSCROLL = 0x000
2c230 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
2c240 20 7b 20 53 49 46 5f 54 52 41 43 4b 50 4f 53 20   { SIF_TRACKPOS 
2c250 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d  = 0x0010 }..enum
2c260 20 3a 20 75 69 6e 74 20 7b 20 53 49 46 5f 41 4c   : uint { SIF_AL
2c270 4c 20 3d 20 53 49 46 5f 52 41 4e 47 45 20 7c 20  L = SIF_RANGE | 
2c280 53 49 46 5f 50 41 47 45 20 7c 20 53 49 46 5f 50  SIF_PAGE | SIF_P
2c290 4f 53 20 7c 20 53 49 46 5f 54 52 41 43 4b 50 4f  OS | SIF_TRACKPO
2c2a0 53 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  S }....struct ta
2c2b0 67 53 43 52 4f 4c 4c 49 4e 46 4f 20 7b 0d 0a 20  gSCROLLINFO {.. 
2c2c0 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20   UINT cbSize;.. 
2c2d0 20 55 49 4e 54 20 66 4d 61 73 6b 3b 0d 0a 20 20   UINT fMask;..  
2c2e0 69 6e 74 20 6e 4d 69 6e 3b 0d 0a 20 20 69 6e 74  int nMin;..  int
2c2f0 20 6e 4d 61 78 3b 0d 0a 20 20 55 49 4e 54 20 6e   nMax;..  UINT n
2c300 50 61 67 65 3b 0d 0a 20 20 69 6e 74 20 6e 50 6f  Page;..  int nPo
2c310 73 3b 0d 0a 20 20 69 6e 74 20 6e 54 72 61 63 6b  s;..  int nTrack
2c320 50 6f 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  Pos;..}..alias t
2c330 61 67 53 43 52 4f 4c 4c 49 4e 46 4f 20 53 43 52  agSCROLLINFO SCR
2c340 4f 4c 4c 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20  OLLINFO;..alias 
2c350 74 61 67 53 43 52 4f 4c 4c 49 4e 46 4f 2a 20 4c  tagSCROLLINFO* L
2c360 50 53 43 52 4f 4c 4c 49 4e 46 4f 3b 0d 0a 0d 0a  PSCROLLINFO;....
2c370 61 6c 69 61 73 20 53 43 52 4f 4c 4c 49 4e 46 4f  alias SCROLLINFO
2c380 2a 20 4c 50 43 53 43 52 4f 4c 4c 49 4e 46 4f 3b  * LPCSCROLLINFO;
2c390 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
2c3a0 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 53  ws) export int S
2c3b0 65 74 53 63 72 6f 6c 6c 49 6e 66 6f 28 48 57 4e  etScrollInfo(HWN
2c3c0 44 2c 20 69 6e 74 2c 20 4c 50 43 53 43 52 4f 4c  D, int, LPCSCROL
2c3d0 4c 49 4e 46 4f 2c 20 42 4f 4f 4c 29 3b 0d 0a 65  LINFO, BOOL);..e
2c3e0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
2c3f0 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 53 63  xport BOOL GetSc
2c400 72 6f 6c 6c 49 6e 66 6f 28 48 57 4e 44 2c 20 69  rollInfo(HWND, i
2c410 6e 74 2c 20 4c 50 53 43 52 4f 4c 4c 49 4e 46 4f  nt, LPSCROLLINFO
2c420 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  );....// #endif 
2c430 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
2c440 34 30 30 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69  400 */..// #endi
2c450 66 20 2f 2a 20 21 4e 4f 57 49 4e 4d 45 53 53 41  f /* !NOWINMESSA
2c460 47 45 53 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69  GES */..// #endi
2c470 66 20 2f 2a 20 21 4e 4f 43 54 4c 4d 47 52 20 2a  f /* !NOCTLMGR *
2c480 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  /....// #ifndef 
2c490 4e 4f 4d 44 49 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  NOMDI....enum : 
2c4a0 75 69 6e 74 20 7b 20 4d 44 49 53 5f 41 4c 4c 43  uint { MDIS_ALLC
2c4b0 48 49 4c 44 53 54 59 4c 45 53 20 3d 20 30 78 30  HILDSTYLES = 0x0
2c4c0 30 30 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  001 }....enum : 
2c4d0 75 69 6e 74 20 7b 20 4d 44 49 54 49 4c 45 5f 56  uint { MDITILE_V
2c4e0 45 52 54 49 43 41 4c 20 3d 20 30 78 30 30 30 30  ERTICAL = 0x0000
2c4f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2c500 7b 20 4d 44 49 54 49 4c 45 5f 48 4f 52 49 5a 4f  { MDITILE_HORIZO
2c510 4e 54 41 4c 20 3d 20 30 78 30 30 30 31 20 7d 0d  NTAL = 0x0001 }.
2c520 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
2c530 44 49 54 49 4c 45 5f 53 4b 49 50 44 49 53 41 42  DITILE_SKIPDISAB
2c540 4c 45 44 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a  LED = 0x0002 }..
2c550 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57 49  // #if(_WIN32_WI
2c560 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a  NNT >= 0x0500)..
2c570 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 44  enum : uint { MD
2c580 49 54 49 4c 45 5f 5a 4f 52 44 45 52 20 3d 20 30  ITILE_ZORDER = 0
2c590 78 30 30 30 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64  x0004 }..// #end
2c5a0 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e  if /* _WIN32_WIN
2c5b0 4e 54 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d  NT >= 0x0500 */.
2c5c0 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 44 49  ...struct tagMDI
2c5d0 43 52 45 41 54 45 53 54 52 55 43 54 41 20 7b 0d  CREATESTRUCTA {.
2c5e0 0a 20 20 4c 50 43 53 54 52 20 73 7a 43 6c 61 73  .  LPCSTR szClas
2c5f0 73 3b 0d 0a 20 20 4c 50 43 53 54 52 20 73 7a 54  s;..  LPCSTR szT
2c600 69 74 6c 65 3b 0d 0a 20 20 48 41 4e 44 4c 45 20  itle;..  HANDLE 
2c610 68 4f 77 6e 65 72 3b 0d 0a 20 20 69 6e 74 20 78  hOwner;..  int x
2c620 3b 0d 0a 20 20 69 6e 74 20 79 3b 0d 0a 20 20 69  ;..  int y;..  i
2c630 6e 74 20 63 78 3b 0d 0a 20 20 69 6e 74 20 63 79  nt cx;..  int cy
2c640 3b 0d 0a 20 20 44 57 4f 52 44 20 73 74 79 6c 65  ;..  DWORD style
2c650 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72  ;..  LPARAM lPar
2c660 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  am;..}..alias ta
2c670 67 4d 44 49 43 52 45 41 54 45 53 54 52 55 43 54  gMDICREATESTRUCT
2c680 41 20 4d 44 49 43 52 45 41 54 45 53 54 52 55 43  A MDICREATESTRUC
2c690 54 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 44  TA;..alias tagMD
2c6a0 49 43 52 45 41 54 45 53 54 52 55 43 54 41 2a 20  ICREATESTRUCTA* 
2c6b0 4c 50 4d 44 49 43 52 45 41 54 45 53 54 52 55 43  LPMDICREATESTRUC
2c6c0 54 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  TA;....struct ta
2c6d0 67 4d 44 49 43 52 45 41 54 45 53 54 52 55 43 54  gMDICREATESTRUCT
2c6e0 57 20 7b 0d 0a 20 20 4c 50 43 57 53 54 52 20 73  W {..  LPCWSTR s
2c6f0 7a 43 6c 61 73 73 3b 0d 0a 20 20 4c 50 43 57 53  zClass;..  LPCWS
2c700 54 52 20 73 7a 54 69 74 6c 65 3b 0d 0a 20 20 48  TR szTitle;..  H
2c710 41 4e 44 4c 45 20 68 4f 77 6e 65 72 3b 0d 0a 20  ANDLE hOwner;.. 
2c720 20 69 6e 74 20 78 3b 0d 0a 20 20 69 6e 74 20 79   int x;..  int y
2c730 3b 0d 0a 20 20 69 6e 74 20 63 78 3b 0d 0a 20 20  ;..  int cx;..  
2c740 69 6e 74 20 63 79 3b 0d 0a 20 20 44 57 4f 52 44  int cy;..  DWORD
2c750 20 73 74 79 6c 65 3b 0d 0a 20 20 4c 50 41 52 41   style;..  LPARA
2c760 4d 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c  M lParam;..}..al
2c770 69 61 73 20 74 61 67 4d 44 49 43 52 45 41 54 45  ias tagMDICREATE
2c780 53 54 52 55 43 54 57 20 4d 44 49 43 52 45 41 54  STRUCTW MDICREAT
2c790 45 53 54 52 55 43 54 57 3b 0d 0a 61 6c 69 61 73  ESTRUCTW;..alias
2c7a0 20 74 61 67 4d 44 49 43 52 45 41 54 45 53 54 52   tagMDICREATESTR
2c7b0 55 43 54 57 2a 20 4c 50 4d 44 49 43 52 45 41 54  UCTW* LPMDICREAT
2c7c0 45 53 54 52 55 43 54 57 3b 0d 0a 0d 0a 2f 2f 20  ESTRUCTW;....// 
2c7d0 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
2c7e0 61 6c 69 61 73 20 4d 44 49 43 52 45 41 54 45 53  alias MDICREATES
2c7f0 54 52 55 43 54 57 20 4d 44 49 43 52 45 41 54 45  TRUCTW MDICREATE
2c800 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20 4c  STRUCT;..alias L
2c810 50 4d 44 49 43 52 45 41 54 45 53 54 52 55 43 54  PMDICREATESTRUCT
2c820 57 20 4c 50 4d 44 49 43 52 45 41 54 45 53 54 52  W LPMDICREATESTR
2c830 55 43 54 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  UCT;..// #else..
2c840 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  // .....// #endi
2c850 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a  f // UNICODE....
2c860 73 74 72 75 63 74 20 74 61 67 43 4c 49 45 4e 54  struct tagCLIENT
2c870 43 52 45 41 54 45 53 54 52 55 43 54 20 7b 0d 0a  CREATESTRUCT {..
2c880 20 20 48 41 4e 44 4c 45 20 68 57 69 6e 64 6f 77    HANDLE hWindow
2c890 4d 65 6e 75 3b 0d 0a 20 20 55 49 4e 54 20 69 64  Menu;..  UINT id
2c8a0 46 69 72 73 74 43 68 69 6c 64 3b 0d 0a 7d 0d 0a  FirstChild;..}..
2c8b0 61 6c 69 61 73 20 74 61 67 43 4c 49 45 4e 54 43  alias tagCLIENTC
2c8c0 52 45 41 54 45 53 54 52 55 43 54 20 43 4c 49 45  REATESTRUCT CLIE
2c8d0 4e 54 43 52 45 41 54 45 53 54 52 55 43 54 3b 0d  NTCREATESTRUCT;.
2c8e0 0a 61 6c 69 61 73 20 74 61 67 43 4c 49 45 4e 54  .alias tagCLIENT
2c8f0 43 52 45 41 54 45 53 54 52 55 43 54 2a 20 4c 50  CREATESTRUCT* LP
2c900 43 4c 49 45 4e 54 43 52 45 41 54 45 53 54 52 55  CLIENTCREATESTRU
2c910 43 54 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  CT;....extern(Wi
2c920 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4c 52  ndows) export LR
2c930 45 53 55 4c 54 20 44 65 66 46 72 61 6d 65 50 72  ESULT DefFramePr
2c940 6f 63 41 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  ocA(..  HWND hWn
2c950 64 2c 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 4d  d,..  HWND hWndM
2c960 44 49 43 6c 69 65 6e 74 2c 0d 0a 20 20 55 49 4e  DIClient,..  UIN
2c970 54 20 75 4d 73 67 2c 0d 0a 20 20 57 50 41 52 41  T uMsg,..  WPARA
2c980 4d 20 77 50 61 72 61 6d 2c 0d 0a 20 20 4c 50 41  M wParam,..  LPA
2c990 52 41 4d 20 6c 50 61 72 61 6d 29 3b 0d 0a 65 78  RAM lParam);..ex
2c9a0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
2c9b0 70 6f 72 74 20 4c 52 45 53 55 4c 54 20 44 65 66  port LRESULT Def
2c9c0 46 72 61 6d 65 50 72 6f 63 57 28 0d 0a 20 20 48  FrameProcW(..  H
2c9d0 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 48 57 4e  WND hWnd,..  HWN
2c9e0 44 20 68 57 6e 64 4d 44 49 43 6c 69 65 6e 74 2c  D hWndMDIClient,
2c9f0 0d 0a 20 20 55 49 4e 54 20 75 4d 73 67 2c 0d 0a  ..  UINT uMsg,..
2ca00 20 20 57 50 41 52 41 4d 20 77 50 61 72 61 6d 2c    WPARAM wParam,
2ca10 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61  ..  LPARAM lPara
2ca20 6d 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  m);..// #ifdef U
2ca30 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 44 65  NICODE..alias De
2ca40 66 46 72 61 6d 65 50 72 6f 63 57 20 44 65 66 46  fFrameProcW DefF
2ca50 72 61 6d 65 50 72 6f 63 3b 0d 0a 2f 2f 20 23 65  rameProc;..// #e
2ca60 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
2ca70 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
2ca80 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ODE....extern(Wi
2ca90 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4c 52  ndows) export LR
2caa0 45 53 55 4c 54 20 44 65 66 4d 44 49 43 68 69 6c  ESULT DefMDIChil
2cab0 64 50 72 6f 63 41 28 48 57 4e 44 20 68 57 6e 64  dProcA(HWND hWnd
2cac0 2c 20 55 49 4e 54 20 4d 73 67 2c 20 57 50 41 52  , UINT Msg, WPAR
2cad0 41 4d 20 77 50 61 72 61 6d 2c 20 4c 50 41 52 41  AM wParam, LPARA
2cae0 4d 20 6c 50 61 72 61 6d 29 3b 0d 0a 65 78 74 65  M lParam);..exte
2caf0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
2cb00 72 74 20 4c 52 45 53 55 4c 54 20 44 65 66 4d 44  rt LRESULT DefMD
2cb10 49 43 68 69 6c 64 50 72 6f 63 57 28 48 57 4e 44  IChildProcW(HWND
2cb20 20 68 57 6e 64 2c 20 55 49 4e 54 20 4d 73 67 2c   hWnd, UINT Msg,
2cb30 20 57 50 41 52 41 4d 20 77 50 61 72 61 6d 2c 20   WPARAM wParam, 
2cb40 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 29 3b 0d  LPARAM lParam);.
2cb50 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
2cb60 44 45 0d 0a 61 6c 69 61 73 20 44 65 66 4d 44 49  DE..alias DefMDI
2cb70 43 68 69 6c 64 50 72 6f 63 57 20 44 65 66 4d 44  ChildProcW DefMD
2cb80 49 43 68 69 6c 64 50 72 6f 63 3b 0d 0a 2f 2f 20  IChildProc;..// 
2cb90 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
2cba0 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
2cbb0 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  ICODE....// #ifn
2cbc0 64 65 66 20 4e 4f 4d 53 47 0d 0a 0d 0a 65 78 74  def NOMSG....ext
2cbd0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
2cbe0 6f 72 74 20 42 4f 4f 4c 20 54 72 61 6e 73 6c 61  ort BOOL Transla
2cbf0 74 65 4d 44 49 53 79 73 41 63 63 65 6c 28 0d 0a  teMDISysAccel(..
2cc00 20 20 48 57 4e 44 20 68 57 6e 64 43 6c 69 65 6e    HWND hWndClien
2cc10 74 2c 0d 0a 20 20 4c 50 4d 53 47 20 6c 70 4d 73  t,..  LPMSG lpMs
2cc20 67 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  g);....// #endif
2cc30 20 2f 2a 20 21 4e 4f 4d 53 47 20 2a 2f 0d 0a 0d   /* !NOMSG */...
2cc40 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
2cc50 20 65 78 70 6f 72 74 20 55 49 4e 54 20 41 72 72   export UINT Arr
2cc60 61 6e 67 65 49 63 6f 6e 69 63 57 69 6e 64 6f 77  angeIconicWindow
2cc70 73 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 29  s(..  HWND hWnd)
2cc80 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
2cc90 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44  ows) export HWND
2cca0 20 43 72 65 61 74 65 4d 44 49 57 69 6e 64 6f 77   CreateMDIWindow
2ccb0 41 28 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 43  A(..  LPCSTR lpC
2ccc0 6c 61 73 73 4e 61 6d 65 2c 0d 0a 20 20 4c 50 43  lassName,..  LPC
2ccd0 53 54 52 20 6c 70 57 69 6e 64 6f 77 4e 61 6d 65  STR lpWindowName
2cce0 2c 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 74 79  ,..  DWORD dwSty
2ccf0 6c 65 2c 0d 0a 20 20 69 6e 74 20 58 2c 0d 0a 20  le,..  int X,.. 
2cd00 20 69 6e 74 20 59 2c 0d 0a 20 20 69 6e 74 20 6e   int Y,..  int n
2cd10 57 69 64 74 68 2c 0d 0a 20 20 69 6e 74 20 6e 48  Width,..  int nH
2cd20 65 69 67 68 74 2c 0d 0a 20 20 48 57 4e 44 20 68  eight,..  HWND h
2cd30 57 6e 64 50 61 72 65 6e 74 2c 0d 0a 20 20 48 49  WndParent,..  HI
2cd40 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63  NSTANCE hInstanc
2cd50 65 2c 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61  e,..  LPARAM lPa
2cd60 72 61 6d 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  ram);..extern(Wi
2cd70 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57  ndows) export HW
2cd80 4e 44 20 43 72 65 61 74 65 4d 44 49 57 69 6e 64  ND CreateMDIWind
2cd90 6f 77 57 28 0d 0a 20 20 4c 50 43 57 53 54 52 20  owW(..  LPCWSTR 
2cda0 6c 70 43 6c 61 73 73 4e 61 6d 65 2c 0d 0a 20 20  lpClassName,..  
2cdb0 4c 50 43 57 53 54 52 20 6c 70 57 69 6e 64 6f 77  LPCWSTR lpWindow
2cdc0 4e 61 6d 65 2c 0d 0a 20 20 44 57 4f 52 44 20 64  Name,..  DWORD d
2cdd0 77 53 74 79 6c 65 2c 0d 0a 20 20 69 6e 74 20 58  wStyle,..  int X
2cde0 2c 0d 0a 20 20 69 6e 74 20 59 2c 0d 0a 20 20 69  ,..  int Y,..  i
2cdf0 6e 74 20 6e 57 69 64 74 68 2c 0d 0a 20 20 69 6e  nt nWidth,..  in
2ce00 74 20 6e 48 65 69 67 68 74 2c 0d 0a 20 20 48 57  t nHeight,..  HW
2ce10 4e 44 20 68 57 6e 64 50 61 72 65 6e 74 2c 0d 0a  ND hWndParent,..
2ce20 20 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73    HINSTANCE hIns
2ce30 74 61 6e 63 65 2c 0d 0a 20 20 4c 50 41 52 41 4d  tance,..  LPARAM
2ce40 20 6c 50 61 72 61 6d 29 3b 0d 0a 2f 2f 20 23 69   lParam);..// #i
2ce50 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
2ce60 69 61 73 20 43 72 65 61 74 65 4d 44 49 57 69 6e  ias CreateMDIWin
2ce70 64 6f 77 57 20 43 72 65 61 74 65 4d 44 49 57 69  dowW CreateMDIWi
2ce80 6e 64 6f 77 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  ndow;..// #else.
2ce90 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
2cea0 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
2ceb0 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  ...// #if(WINVER
2cec0 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 78 74   >= 0x0400)..ext
2ced0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
2cee0 6f 72 74 20 57 4f 52 44 20 54 69 6c 65 57 69 6e  ort WORD TileWin
2cef0 64 6f 77 73 28 48 57 4e 44 20 68 77 6e 64 50 61  dows(HWND hwndPa
2cf00 72 65 6e 74 2c 20 55 49 4e 54 20 77 48 6f 77 2c  rent, UINT wHow,
2cf10 20 52 45 43 54 20 2a 20 6c 70 52 65 63 74 2c 20   RECT * lpRect, 
2cf20 55 49 4e 54 20 63 4b 69 64 73 2c 20 48 57 4e 44  UINT cKids, HWND
2cf30 20 2a 20 6c 70 4b 69 64 73 29 3b 0d 0a 65 78 74   * lpKids);..ext
2cf40 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
2cf50 6f 72 74 20 57 4f 52 44 20 43 61 73 63 61 64 65  ort WORD Cascade
2cf60 57 69 6e 64 6f 77 73 28 48 57 4e 44 20 68 77 6e  Windows(HWND hwn
2cf70 64 50 61 72 65 6e 74 2c 20 55 49 4e 54 20 77 48  dParent, UINT wH
2cf80 6f 77 2c 20 52 45 43 54 20 2a 20 6c 70 52 65 63  ow, RECT * lpRec
2cf90 74 2c 20 55 49 4e 54 20 63 4b 69 64 73 2c 20 48  t, UINT cKids, H
2cfa0 57 4e 44 20 2a 20 6c 70 4b 69 64 73 29 3b 0d 0a  WND * lpKids);..
2cfb0 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
2cfc0 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f  VER >= 0x0400 */
2cfd0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21  ..// #endif /* !
2cfe0 4e 4f 4d 44 49 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23  NOMDI */....// #
2cff0 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 55 53 45 52  endif /* !NOUSER
2d000 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65   */....// #ifnde
2d010 66 20 4e 4f 48 45 4c 50 0d 0a 0d 0a 61 6c 69 61  f NOHELP....alia
2d020 73 20 44 57 4f 52 44 20 48 45 4c 50 50 4f 4c 59  s DWORD HELPPOLY
2d030 3b 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 55 4c  ;..struct tagMUL
2d040 54 49 4b 45 59 48 45 4c 50 41 20 7b 0d 0a 2f 2f  TIKEYHELPA {..//
2d050 20 23 69 66 6e 64 65 66 20 5f 4d 41 43 0d 0a 20   #ifndef _MAC.. 
2d060 20 44 57 4f 52 44 20 6d 6b 53 69 7a 65 3b 0d 0a   DWORD mkSize;..
2d070 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e  // #else..// ...
2d080 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 20 20 43  ..// #endif..  C
2d090 48 41 52 20 6d 6b 4b 65 79 6c 69 73 74 3b 0d 0a  HAR mkKeylist;..
2d0a0 20 20 43 48 41 52 20 73 7a 4b 65 79 70 68 72 61    CHAR szKeyphra
2d0b0 73 65 5b 31 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  se[1];..}..alias
2d0c0 20 74 61 67 4d 55 4c 54 49 4b 45 59 48 45 4c 50   tagMULTIKEYHELP
2d0d0 41 20 4d 55 4c 54 49 4b 45 59 48 45 4c 50 41 3b  A MULTIKEYHELPA;
2d0e0 0d 0a 61 6c 69 61 73 20 74 61 67 4d 55 4c 54 49  ..alias tagMULTI
2d0f0 4b 45 59 48 45 4c 50 41 2a 20 50 4d 55 4c 54 49  KEYHELPA* PMULTI
2d100 4b 45 59 48 45 4c 50 41 3b 0d 0a 61 6c 69 61 73  KEYHELPA;..alias
2d110 20 74 61 67 4d 55 4c 54 49 4b 45 59 48 45 4c 50   tagMULTIKEYHELP
2d120 41 2a 20 4c 50 4d 55 4c 54 49 4b 45 59 48 45 4c  A* LPMULTIKEYHEL
2d130 50 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  PA;....struct ta
2d140 67 4d 55 4c 54 49 4b 45 59 48 45 4c 50 57 20 7b  gMULTIKEYHELPW {
2d150 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f 4d 41  ..// #ifndef _MA
2d160 43 0d 0a 20 20 44 57 4f 52 44 20 6d 6b 53 69 7a  C..  DWORD mkSiz
2d170 65 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  e;..// #else..//
2d180 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d   .....// #endif.
2d190 0a 20 20 57 43 48 41 52 20 6d 6b 4b 65 79 6c 69  .  WCHAR mkKeyli
2d1a0 73 74 3b 0d 0a 20 20 57 43 48 41 52 20 73 7a 4b  st;..  WCHAR szK
2d1b0 65 79 70 68 72 61 73 65 5b 31 5d 3b 0d 0a 7d 0d  eyphrase[1];..}.
2d1c0 0a 61 6c 69 61 73 20 74 61 67 4d 55 4c 54 49 4b  .alias tagMULTIK
2d1d0 45 59 48 45 4c 50 57 20 4d 55 4c 54 49 4b 45 59  EYHELPW MULTIKEY
2d1e0 48 45 4c 50 57 3b 0d 0a 61 6c 69 61 73 20 74 61  HELPW;..alias ta
2d1f0 67 4d 55 4c 54 49 4b 45 59 48 45 4c 50 57 2a 20  gMULTIKEYHELPW* 
2d200 50 4d 55 4c 54 49 4b 45 59 48 45 4c 50 57 3b 0d  PMULTIKEYHELPW;.
2d210 0a 61 6c 69 61 73 20 74 61 67 4d 55 4c 54 49 4b  .alias tagMULTIK
2d220 45 59 48 45 4c 50 57 2a 20 4c 50 4d 55 4c 54 49  EYHELPW* LPMULTI
2d230 4b 45 59 48 45 4c 50 57 3b 0d 0a 0d 0a 2f 2f 20  KEYHELPW;....// 
2d240 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
2d250 61 6c 69 61 73 20 4d 55 4c 54 49 4b 45 59 48 45  alias MULTIKEYHE
2d260 4c 50 57 20 4d 55 4c 54 49 4b 45 59 48 45 4c 50  LPW MULTIKEYHELP
2d270 3b 0d 0a 61 6c 69 61 73 20 50 4d 55 4c 54 49 4b  ;..alias PMULTIK
2d280 45 59 48 45 4c 50 57 20 50 4d 55 4c 54 49 4b 45  EYHELPW PMULTIKE
2d290 59 48 45 4c 50 3b 0d 0a 61 6c 69 61 73 20 4c 50  YHELP;..alias LP
2d2a0 4d 55 4c 54 49 4b 45 59 48 45 4c 50 57 20 4c 50  MULTIKEYHELPW LP
2d2b0 4d 55 4c 54 49 4b 45 59 48 45 4c 50 3b 0d 0a 2f  MULTIKEYHELP;../
2d2c0 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
2d2d0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e  .// #endif // UN
2d2e0 49 43 4f 44 45 0d 0a 0d 0a 73 74 72 75 63 74 20  ICODE....struct 
2d2f0 74 61 67 48 45 4c 50 57 49 4e 49 4e 46 4f 41 20  tagHELPWININFOA 
2d300 7b 0d 0a 20 20 69 6e 74 20 77 53 74 72 75 63 74  {..  int wStruct
2d310 53 69 7a 65 3b 0d 0a 20 20 69 6e 74 20 78 3b 0d  Size;..  int x;.
2d320 0a 20 20 69 6e 74 20 79 3b 0d 0a 20 20 69 6e 74  .  int y;..  int
2d330 20 64 78 3b 0d 0a 20 20 69 6e 74 20 64 79 3b 0d   dx;..  int dy;.
2d340 0a 20 20 69 6e 74 20 77 4d 61 78 3b 0d 0a 20 20  .  int wMax;..  
2d350 43 48 41 52 20 72 67 63 68 4d 65 6d 62 65 72 5b  CHAR rgchMember[
2d360 32 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  2];..}..alias ta
2d370 67 48 45 4c 50 57 49 4e 49 4e 46 4f 41 20 48 45  gHELPWININFOA HE
2d380 4c 50 57 49 4e 49 4e 46 4f 41 3b 0d 0a 61 6c 69  LPWININFOA;..ali
2d390 61 73 20 74 61 67 48 45 4c 50 57 49 4e 49 4e 46  as tagHELPWININF
2d3a0 4f 41 2a 20 50 48 45 4c 50 57 49 4e 49 4e 46 4f  OA* PHELPWININFO
2d3b0 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 48 45 4c  A;..alias tagHEL
2d3c0 50 57 49 4e 49 4e 46 4f 41 2a 20 4c 50 48 45 4c  PWININFOA* LPHEL
2d3d0 50 57 49 4e 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 74  PWININFOA;....st
2d3e0 72 75 63 74 20 74 61 67 48 45 4c 50 57 49 4e 49  ruct tagHELPWINI
2d3f0 4e 46 4f 57 20 7b 0d 0a 20 20 69 6e 74 20 77 53  NFOW {..  int wS
2d400 74 72 75 63 74 53 69 7a 65 3b 0d 0a 20 20 69 6e  tructSize;..  in
2d410 74 20 78 3b 0d 0a 20 20 69 6e 74 20 79 3b 0d 0a  t x;..  int y;..
2d420 20 20 69 6e 74 20 64 78 3b 0d 0a 20 20 69 6e 74    int dx;..  int
2d430 20 64 79 3b 0d 0a 20 20 69 6e 74 20 77 4d 61 78   dy;..  int wMax
2d440 3b 0d 0a 20 20 57 43 48 41 52 20 72 67 63 68 4d  ;..  WCHAR rgchM
2d450 65 6d 62 65 72 5b 32 5d 3b 0d 0a 7d 0d 0a 61 6c  ember[2];..}..al
2d460 69 61 73 20 74 61 67 48 45 4c 50 57 49 4e 49 4e  ias tagHELPWININ
2d470 46 4f 57 20 48 45 4c 50 57 49 4e 49 4e 46 4f 57  FOW HELPWININFOW
2d480 3b 0d 0a 61 6c 69 61 73 20 74 61 67 48 45 4c 50  ;..alias tagHELP
2d490 57 49 4e 49 4e 46 4f 57 2a 20 50 48 45 4c 50 57  WININFOW* PHELPW
2d4a0 49 4e 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20  ININFOW;..alias 
2d4b0 74 61 67 48 45 4c 50 57 49 4e 49 4e 46 4f 57 2a  tagHELPWININFOW*
2d4c0 20 4c 50 48 45 4c 50 57 49 4e 49 4e 46 4f 57 3b   LPHELPWININFOW;
2d4d0 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
2d4e0 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 48 45 4c  ICODE..alias HEL
2d4f0 50 57 49 4e 49 4e 46 4f 57 20 48 45 4c 50 57 49  PWININFOW HELPWI
2d500 4e 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 50 48  NINFO;..alias PH
2d510 45 4c 50 57 49 4e 49 4e 46 4f 57 20 50 48 45 4c  ELPWININFOW PHEL
2d520 50 57 49 4e 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73  PWININFO;..alias
2d530 20 4c 50 48 45 4c 50 57 49 4e 49 4e 46 4f 57 20   LPHELPWININFOW 
2d540 4c 50 48 45 4c 50 57 49 4e 49 4e 46 4f 3b 0d 0a  LPHELPWININFO;..
2d550 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e  // #else..// ...
2d560 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55  ..// #endif // U
2d570 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20 3a  NICODE....enum :
2d580 20 75 69 6e 74 20 7b 20 48 45 4c 50 5f 43 4f 4e   uint { HELP_CON
2d590 54 45 58 54 20 3d 20 30 78 30 30 30 31 20 7d 0d  TEXT = 0x0001 }.
2d5a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
2d5b0 45 4c 50 5f 51 55 49 54 20 3d 20 30 78 30 30 30  ELP_QUIT = 0x000
2d5c0 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
2d5d0 20 7b 20 48 45 4c 50 5f 49 4e 44 45 58 20 3d 20   { HELP_INDEX = 
2d5e0 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0003 }..enum :
2d5f0 20 75 69 6e 74 20 7b 20 48 45 4c 50 5f 43 4f 4e   uint { HELP_CON
2d600 54 45 4e 54 53 20 3d 20 30 78 30 30 30 33 20 7d  TENTS = 0x0003 }
2d610 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2d620 48 45 4c 50 5f 48 45 4c 50 4f 4e 48 45 4c 50 20  HELP_HELPONHELP 
2d630 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d  = 0x0004 }..enum
2d640 20 3a 20 75 69 6e 74 20 7b 20 48 45 4c 50 5f 53   : uint { HELP_S
2d650 45 54 49 4e 44 45 58 20 3d 20 30 78 30 30 30 35  ETINDEX = 0x0005
2d660 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2d670 7b 20 48 45 4c 50 5f 53 45 54 43 4f 4e 54 45 4e  { HELP_SETCONTEN
2d680 54 53 20 3d 20 30 78 30 30 30 35 20 7d 0d 0a 65  TS = 0x0005 }..e
2d690 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 45 4c  num : uint { HEL
2d6a0 50 5f 43 4f 4e 54 45 58 54 50 4f 50 55 50 20 3d  P_CONTEXTPOPUP =
2d6b0 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20   0x0008 }..enum 
2d6c0 3a 20 75 69 6e 74 20 7b 20 48 45 4c 50 5f 46 4f  : uint { HELP_FO
2d6d0 52 43 45 46 49 4c 45 20 3d 20 30 78 30 30 30 39  RCEFILE = 0x0009
2d6e0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2d6f0 7b 20 48 45 4c 50 5f 4b 45 59 20 3d 20 30 78 30  { HELP_KEY = 0x0
2d700 31 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  101 }..enum : ui
2d710 6e 74 20 7b 20 48 45 4c 50 5f 43 4f 4d 4d 41 4e  nt { HELP_COMMAN
2d720 44 20 3d 20 30 78 30 31 30 32 20 7d 0d 0a 65 6e  D = 0x0102 }..en
2d730 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 45 4c 50  um : uint { HELP
2d740 5f 50 41 52 54 49 41 4c 4b 45 59 20 3d 20 30 78  _PARTIALKEY = 0x
2d750 30 31 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0105 }..enum : u
2d760 69 6e 74 20 7b 20 48 45 4c 50 5f 4d 55 4c 54 49  int { HELP_MULTI
2d770 4b 45 59 20 3d 20 30 78 30 32 30 31 20 7d 0d 0a  KEY = 0x0201 }..
2d780 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 45  enum : uint { HE
2d790 4c 50 5f 53 45 54 57 49 4e 50 4f 53 20 3d 20 30  LP_SETWINPOS = 0
2d7a0 78 30 32 30 33 20 7d 0d 0a 2f 2f 20 23 69 66 28  x0203 }..// #if(
2d7b0 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
2d7c0 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
2d7d0 20 48 45 4c 50 5f 43 4f 4e 54 45 58 54 4d 45 4e   HELP_CONTEXTMEN
2d7e0 55 20 3d 20 30 78 30 30 30 61 20 7d 0d 0a 65 6e  U = 0x000a }..en
2d7f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 45 4c 50  um : uint { HELP
2d800 5f 46 49 4e 44 45 52 20 3d 20 30 78 30 30 30 62  _FINDER = 0x000b
2d810 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2d820 7b 20 48 45 4c 50 5f 57 4d 5f 48 45 4c 50 20 3d  { HELP_WM_HELP =
2d830 20 30 78 30 30 30 63 20 7d 0d 0a 65 6e 75 6d 20   0x000c }..enum 
2d840 3a 20 75 69 6e 74 20 7b 20 48 45 4c 50 5f 53 45  : uint { HELP_SE
2d850 54 50 4f 50 55 50 5f 50 4f 53 20 3d 20 30 78 30  TPOPUP_POS = 0x0
2d860 30 30 64 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  00d }....enum : 
2d870 75 69 6e 74 20 7b 20 48 45 4c 50 5f 54 43 41 52  uint { HELP_TCAR
2d880 44 20 3d 20 30 78 38 30 30 30 20 7d 0d 0a 65 6e  D = 0x8000 }..en
2d890 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 45 4c 50  um : uint { HELP
2d8a0 5f 54 43 41 52 44 5f 44 41 54 41 20 3d 20 30 78  _TCARD_DATA = 0x
2d8b0 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0010 }..enum : u
2d8c0 69 6e 74 20 7b 20 48 45 4c 50 5f 54 43 41 52 44  int { HELP_TCARD
2d8d0 5f 4f 54 48 45 52 5f 43 41 4c 4c 45 52 20 3d 20  _OTHER_CALLER = 
2d8e0 30 78 30 30 31 31 20 7d 0d 0a 0d 0a 65 6e 75 6d  0x0011 }....enum
2d8f0 20 3a 20 75 69 6e 74 20 7b 20 49 44 48 5f 4e 4f   : uint { IDH_NO
2d900 5f 48 45 4c 50 20 3d 20 32 38 34 34 30 20 7d 0d  _HELP = 28440 }.
2d910 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
2d920 44 48 5f 4d 49 53 53 49 4e 47 5f 43 4f 4e 54 45  DH_MISSING_CONTE
2d930 58 54 20 3d 20 32 38 34 34 31 20 7d 0d 0a 65 6e  XT = 28441 }..en
2d940 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44 48 5f  um : uint { IDH_
2d950 47 45 4e 45 52 49 43 5f 48 45 4c 50 5f 42 55 54  GENERIC_HELP_BUT
2d960 54 4f 4e 20 3d 20 32 38 34 34 32 20 7d 0d 0a 65  TON = 28442 }..e
2d970 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44 48  num : uint { IDH
2d980 5f 4f 4b 20 3d 20 32 38 34 34 33 20 7d 0d 0a 65  _OK = 28443 }..e
2d990 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44 48  num : uint { IDH
2d9a0 5f 43 41 4e 43 45 4c 20 3d 20 32 38 34 34 34 20  _CANCEL = 28444 
2d9b0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2d9c0 20 49 44 48 5f 48 45 4c 50 20 3d 20 32 38 34 34   IDH_HELP = 2844
2d9d0 35 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  5 }....// #endif
2d9e0 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78   /* WINVER >= 0x
2d9f0 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72  0400 */....exter
2da00 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
2da10 74 20 42 4f 4f 4c 20 57 69 6e 48 65 6c 70 41 28  t BOOL WinHelpA(
2da20 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 4d 61 69  ..  HWND hWndMai
2da30 6e 2c 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73  n,..  LPCSTR lps
2da40 7a 48 65 6c 70 2c 0d 0a 20 20 55 49 4e 54 20 75  zHelp,..  UINT u
2da50 43 6f 6d 6d 61 6e 64 2c 0d 0a 20 20 55 4c 4f 4e  Command,..  ULON
2da60 47 5f 50 54 52 20 64 77 44 61 74 61 29 3b 0d 0a  G_PTR dwData);..
2da70 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
2da80 65 78 70 6f 72 74 20 42 4f 4f 4c 20 57 69 6e 48  export BOOL WinH
2da90 65 6c 70 57 28 0d 0a 20 20 48 57 4e 44 20 68 57  elpW(..  HWND hW
2daa0 6e 64 4d 61 69 6e 2c 0d 0a 20 20 4c 50 43 57 53  ndMain,..  LPCWS
2dab0 54 52 20 6c 70 73 7a 48 65 6c 70 2c 0d 0a 20 20  TR lpszHelp,..  
2dac0 55 49 4e 54 20 75 43 6f 6d 6d 61 6e 64 2c 0d 0a  UINT uCommand,..
2dad0 20 20 55 4c 4f 4e 47 5f 50 54 52 20 64 77 44 61    ULONG_PTR dwDa
2dae0 74 61 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  ta);..// #ifdef 
2daf0 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 57  UNICODE..alias W
2db00 69 6e 48 65 6c 70 57 20 57 69 6e 48 65 6c 70 3b  inHelpW WinHelp;
2db10 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
2db20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
2db30 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f  / !UNICODE....//
2db40 20 23 65 6e 64 69 66 20 2f 2a 20 21 4e 4f 48 45   #endif /* !NOHE
2db50 4c 50 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28  LP */....// #if(
2db60 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30  WINVER >= 0x0500
2db70 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
2db80 20 7b 20 47 52 5f 47 44 49 4f 42 4a 45 43 54 53   { GR_GDIOBJECTS
2db90 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 0 }..enum : u
2dba0 69 6e 74 20 7b 20 47 52 5f 55 53 45 52 4f 42 4a  int { GR_USEROBJ
2dbb0 45 43 54 53 20 3d 20 31 20 7d 0d 0a 0d 0a 65 78  ECTS = 1 }....ex
2dbc0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
2dbd0 70 6f 72 74 20 44 57 4f 52 44 20 47 65 74 47 75  port DWORD GetGu
2dbe0 69 52 65 73 6f 75 72 63 65 73 28 0d 0a 20 20 48  iResources(..  H
2dbf0 41 4e 44 4c 45 20 68 50 72 6f 63 65 73 73 2c 0d  ANDLE hProcess,.
2dc00 0a 20 20 44 57 4f 52 44 20 75 69 46 6c 61 67 73  .  DWORD uiFlags
2dc10 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  );....// #endif 
2dc20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
2dc30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66  500 */....// #if
2dc40 6e 64 65 66 20 4e 4f 53 59 53 50 41 52 41 4d 53  ndef NOSYSPARAMS
2dc50 49 4e 46 4f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  INFO....enum : u
2dc60 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 42 45 45  int { SPI_GETBEE
2dc70 50 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e  P = 0x0001 }..en
2dc80 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f  um : uint { SPI_
2dc90 53 45 54 42 45 45 50 20 3d 20 30 78 30 30 30 32  SETBEEP = 0x0002
2dca0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2dcb0 7b 20 53 50 49 5f 47 45 54 4d 4f 55 53 45 20 3d  { SPI_GETMOUSE =
2dcc0 20 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20   0x0003 }..enum 
2dcd0 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54  : uint { SPI_SET
2dce0 4d 4f 55 53 45 20 3d 20 30 78 30 30 30 34 20 7d  MOUSE = 0x0004 }
2dcf0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2dd00 53 50 49 5f 47 45 54 42 4f 52 44 45 52 20 3d 20  SPI_GETBORDER = 
2dd10 30 78 30 30 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0005 }..enum :
2dd20 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 42   uint { SPI_SETB
2dd30 4f 52 44 45 52 20 3d 20 30 78 30 30 30 36 20 7d  ORDER = 0x0006 }
2dd40 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2dd50 53 50 49 5f 47 45 54 4b 45 59 42 4f 41 52 44 53  SPI_GETKEYBOARDS
2dd60 50 45 45 44 20 3d 20 30 78 30 30 30 41 20 7d 0d  PEED = 0x000A }.
2dd70 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2dd80 50 49 5f 53 45 54 4b 45 59 42 4f 41 52 44 53 50  PI_SETKEYBOARDSP
2dd90 45 45 44 20 3d 20 30 78 30 30 30 42 20 7d 0d 0a  EED = 0x000B }..
2dda0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50  enum : uint { SP
2ddb0 49 5f 4c 41 4e 47 44 52 49 56 45 52 20 3d 20 30  I_LANGDRIVER = 0
2ddc0 78 30 30 30 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x000C }..enum : 
2ddd0 75 69 6e 74 20 7b 20 53 50 49 5f 49 43 4f 4e 48  uint { SPI_ICONH
2dde0 4f 52 49 5a 4f 4e 54 41 4c 53 50 41 43 49 4e 47  ORIZONTALSPACING
2ddf0 20 3d 20 30 78 30 30 30 44 20 7d 0d 0a 65 6e 75   = 0x000D }..enu
2de00 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47  m : uint { SPI_G
2de10 45 54 53 43 52 45 45 4e 53 41 56 45 54 49 4d 45  ETSCREENSAVETIME
2de20 4f 55 54 20 3d 20 30 78 30 30 30 45 20 7d 0d 0a  OUT = 0x000E }..
2de30 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50  enum : uint { SP
2de40 49 5f 53 45 54 53 43 52 45 45 4e 53 41 56 45 54  I_SETSCREENSAVET
2de50 49 4d 45 4f 55 54 20 3d 20 30 78 30 30 30 46 20  IMEOUT = 0x000F 
2de60 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2de70 20 53 50 49 5f 47 45 54 53 43 52 45 45 4e 53 41   SPI_GETSCREENSA
2de80 56 45 41 43 54 49 56 45 20 3d 20 30 78 30 30 31  VEACTIVE = 0x001
2de90 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
2dea0 20 7b 20 53 50 49 5f 53 45 54 53 43 52 45 45 4e   { SPI_SETSCREEN
2deb0 53 41 56 45 41 43 54 49 56 45 20 3d 20 30 78 30  SAVEACTIVE = 0x0
2dec0 30 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  011 }..enum : ui
2ded0 6e 74 20 7b 20 53 50 49 5f 47 45 54 47 52 49 44  nt { SPI_GETGRID
2dee0 47 52 41 4e 55 4c 41 52 49 54 59 20 3d 20 30 78  GRANULARITY = 0x
2def0 30 30 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0012 }..enum : u
2df00 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 47 52 49  int { SPI_SETGRI
2df10 44 47 52 41 4e 55 4c 41 52 49 54 59 20 3d 20 30  DGRANULARITY = 0
2df20 78 30 30 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0013 }..enum : 
2df30 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 44 45  uint { SPI_SETDE
2df40 53 4b 57 41 4c 4c 50 41 50 45 52 20 3d 20 30 78  SKWALLPAPER = 0x
2df50 30 30 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0014 }..enum : u
2df60 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 44 45 53  int { SPI_SETDES
2df70 4b 50 41 54 54 45 52 4e 20 3d 20 30 78 30 30 31  KPATTERN = 0x001
2df80 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
2df90 20 7b 20 53 50 49 5f 47 45 54 4b 45 59 42 4f 41   { SPI_GETKEYBOA
2dfa0 52 44 44 45 4c 41 59 20 3d 20 30 78 30 30 31 36  RDDELAY = 0x0016
2dfb0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2dfc0 7b 20 53 50 49 5f 53 45 54 4b 45 59 42 4f 41 52  { SPI_SETKEYBOAR
2dfd0 44 44 45 4c 41 59 20 3d 20 30 78 30 30 31 37 20  DDELAY = 0x0017 
2dfe0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2dff0 20 53 50 49 5f 49 43 4f 4e 56 45 52 54 49 43 41   SPI_ICONVERTICA
2e000 4c 53 50 41 43 49 4e 47 20 3d 20 30 78 30 30 31  LSPACING = 0x001
2e010 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
2e020 20 7b 20 53 50 49 5f 47 45 54 49 43 4f 4e 54 49   { SPI_GETICONTI
2e030 54 4c 45 57 52 41 50 20 3d 20 30 78 30 30 31 39  TLEWRAP = 0x0019
2e040 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2e050 7b 20 53 50 49 5f 53 45 54 49 43 4f 4e 54 49 54  { SPI_SETICONTIT
2e060 4c 45 57 52 41 50 20 3d 20 30 78 30 30 31 41 20  LEWRAP = 0x001A 
2e070 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2e080 20 53 50 49 5f 47 45 54 4d 45 4e 55 44 52 4f 50   SPI_GETMENUDROP
2e090 41 4c 49 47 4e 4d 45 4e 54 20 3d 20 30 78 30 30  ALIGNMENT = 0x00
2e0a0 31 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  1B }..enum : uin
2e0b0 74 20 7b 20 53 50 49 5f 53 45 54 4d 45 4e 55 44  t { SPI_SETMENUD
2e0c0 52 4f 50 41 4c 49 47 4e 4d 45 4e 54 20 3d 20 30  ROPALIGNMENT = 0
2e0d0 78 30 30 31 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x001C }..enum : 
2e0e0 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 44 4f  uint { SPI_SETDO
2e0f0 55 42 4c 45 43 4c 4b 57 49 44 54 48 20 3d 20 30  UBLECLKWIDTH = 0
2e100 78 30 30 31 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x001D }..enum : 
2e110 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 44 4f  uint { SPI_SETDO
2e120 55 42 4c 45 43 4c 4b 48 45 49 47 48 54 20 3d 20  UBLECLKHEIGHT = 
2e130 30 78 30 30 31 45 20 7d 0d 0a 65 6e 75 6d 20 3a  0x001E }..enum :
2e140 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 49   uint { SPI_GETI
2e150 43 4f 4e 54 49 54 4c 45 4c 4f 47 46 4f 4e 54 20  CONTITLELOGFONT 
2e160 3d 20 30 78 30 30 31 46 20 7d 0d 0a 65 6e 75 6d  = 0x001F }..enum
2e170 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45   : uint { SPI_SE
2e180 54 44 4f 55 42 4c 45 43 4c 49 43 4b 54 49 4d 45  TDOUBLECLICKTIME
2e190 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75   = 0x0020 }..enu
2e1a0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53  m : uint { SPI_S
2e1b0 45 54 4d 4f 55 53 45 42 55 54 54 4f 4e 53 57 41  ETMOUSEBUTTONSWA
2e1c0 50 20 3d 20 30 78 30 30 32 31 20 7d 0d 0a 65 6e  P = 0x0021 }..en
2e1d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f  um : uint { SPI_
2e1e0 53 45 54 49 43 4f 4e 54 49 54 4c 45 4c 4f 47 46  SETICONTITLELOGF
2e1f0 4f 4e 54 20 3d 20 30 78 30 30 32 32 20 7d 0d 0a  ONT = 0x0022 }..
2e200 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50  enum : uint { SP
2e210 49 5f 47 45 54 46 41 53 54 54 41 53 4b 53 57 49  I_GETFASTTASKSWI
2e220 54 43 48 20 3d 20 30 78 30 30 32 33 20 7d 0d 0a  TCH = 0x0023 }..
2e230 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50  enum : uint { SP
2e240 49 5f 53 45 54 46 41 53 54 54 41 53 4b 53 57 49  I_SETFASTTASKSWI
2e250 54 43 48 20 3d 20 30 78 30 30 32 34 20 7d 0d 0a  TCH = 0x0024 }..
2e260 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d  // #if(WINVER >=
2e270 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0400)..enum :
2e280 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 44   uint { SPI_SETD
2e290 52 41 47 46 55 4c 4c 57 49 4e 44 4f 57 53 20 3d  RAGFULLWINDOWS =
2e2a0 20 30 78 30 30 32 35 20 7d 0d 0a 65 6e 75 6d 20   0x0025 }..enum 
2e2b0 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54  : uint { SPI_GET
2e2c0 44 52 41 47 46 55 4c 4c 57 49 4e 44 4f 57 53 20  DRAGFULLWINDOWS 
2e2d0 3d 20 30 78 30 30 32 36 20 7d 0d 0a 65 6e 75 6d  = 0x0026 }..enum
2e2e0 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45   : uint { SPI_GE
2e2f0 54 4e 4f 4e 43 4c 49 45 4e 54 4d 45 54 52 49 43  TNONCLIENTMETRIC
2e300 53 20 3d 20 30 78 30 30 32 39 20 7d 0d 0a 65 6e  S = 0x0029 }..en
2e310 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f  um : uint { SPI_
2e320 53 45 54 4e 4f 4e 43 4c 49 45 4e 54 4d 45 54 52  SETNONCLIENTMETR
2e330 49 43 53 20 3d 20 30 78 30 30 32 41 20 7d 0d 0a  ICS = 0x002A }..
2e340 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50  enum : uint { SP
2e350 49 5f 47 45 54 4d 49 4e 49 4d 49 5a 45 44 4d 45  I_GETMINIMIZEDME
2e360 54 52 49 43 53 20 3d 20 30 78 30 30 32 42 20 7d  TRICS = 0x002B }
2e370 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2e380 53 50 49 5f 53 45 54 4d 49 4e 49 4d 49 5a 45 44  SPI_SETMINIMIZED
2e390 4d 45 54 52 49 43 53 20 3d 20 30 78 30 30 32 43  METRICS = 0x002C
2e3a0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2e3b0 7b 20 53 50 49 5f 47 45 54 49 43 4f 4e 4d 45 54  { SPI_GETICONMET
2e3c0 52 49 43 53 20 3d 20 30 78 30 30 32 44 20 7d 0d  RICS = 0x002D }.
2e3d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2e3e0 50 49 5f 53 45 54 49 43 4f 4e 4d 45 54 52 49 43  PI_SETICONMETRIC
2e3f0 53 20 3d 20 30 78 30 30 32 45 20 7d 0d 0a 65 6e  S = 0x002E }..en
2e400 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f  um : uint { SPI_
2e410 53 45 54 57 4f 52 4b 41 52 45 41 20 3d 20 30 78  SETWORKAREA = 0x
2e420 30 30 32 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  002F }..enum : u
2e430 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 57 4f 52  int { SPI_GETWOR
2e440 4b 41 52 45 41 20 3d 20 30 78 30 30 33 30 20 7d  KAREA = 0x0030 }
2e450 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2e460 53 50 49 5f 53 45 54 50 45 4e 57 49 4e 44 4f 57  SPI_SETPENWINDOW
2e470 53 20 3d 20 30 78 30 30 33 31 20 7d 0d 0a 0d 0a  S = 0x0031 }....
2e480 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50  enum : uint { SP
2e490 49 5f 47 45 54 48 49 47 48 43 4f 4e 54 52 41 53  I_GETHIGHCONTRAS
2e4a0 54 20 3d 20 30 78 30 30 34 32 20 7d 0d 0a 65 6e  T = 0x0042 }..en
2e4b0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f  um : uint { SPI_
2e4c0 53 45 54 48 49 47 48 43 4f 4e 54 52 41 53 54 20  SETHIGHCONTRAST 
2e4d0 3d 20 30 78 30 30 34 33 20 7d 0d 0a 65 6e 75 6d  = 0x0043 }..enum
2e4e0 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45   : uint { SPI_GE
2e4f0 54 4b 45 59 42 4f 41 52 44 50 52 45 46 20 3d 20  TKEYBOARDPREF = 
2e500 30 78 30 30 34 34 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0044 }..enum :
2e510 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 4b   uint { SPI_SETK
2e520 45 59 42 4f 41 52 44 50 52 45 46 20 3d 20 30 78  EYBOARDPREF = 0x
2e530 30 30 34 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0045 }..enum : u
2e540 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 53 43 52  int { SPI_GETSCR
2e550 45 45 4e 52 45 41 44 45 52 20 3d 20 30 78 30 30  EENREADER = 0x00
2e560 34 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  46 }..enum : uin
2e570 74 20 7b 20 53 50 49 5f 53 45 54 53 43 52 45 45  t { SPI_SETSCREE
2e580 4e 52 45 41 44 45 52 20 3d 20 30 78 30 30 34 37  NREADER = 0x0047
2e590 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2e5a0 7b 20 53 50 49 5f 47 45 54 41 4e 49 4d 41 54 49  { SPI_GETANIMATI
2e5b0 4f 4e 20 3d 20 30 78 30 30 34 38 20 7d 0d 0a 65  ON = 0x0048 }..e
2e5c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49  num : uint { SPI
2e5d0 5f 53 45 54 41 4e 49 4d 41 54 49 4f 4e 20 3d 20  _SETANIMATION = 
2e5e0 30 78 30 30 34 39 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0049 }..enum :
2e5f0 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 46   uint { SPI_GETF
2e600 4f 4e 54 53 4d 4f 4f 54 48 49 4e 47 20 3d 20 30  ONTSMOOTHING = 0
2e610 78 30 30 34 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x004A }..enum : 
2e620 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 46 4f  uint { SPI_SETFO
2e630 4e 54 53 4d 4f 4f 54 48 49 4e 47 20 3d 20 30 78  NTSMOOTHING = 0x
2e640 30 30 34 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  004B }..enum : u
2e650 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 44 52 41  int { SPI_SETDRA
2e660 47 57 49 44 54 48 20 3d 20 30 78 30 30 34 43 20  GWIDTH = 0x004C 
2e670 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2e680 20 53 50 49 5f 53 45 54 44 52 41 47 48 45 49 47   SPI_SETDRAGHEIG
2e690 48 54 20 3d 20 30 78 30 30 34 44 20 7d 0d 0a 65  HT = 0x004D }..e
2e6a0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49  num : uint { SPI
2e6b0 5f 53 45 54 48 41 4e 44 48 45 4c 44 20 3d 20 30  _SETHANDHELD = 0
2e6c0 78 30 30 34 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x004E }..enum : 
2e6d0 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 4c 4f  uint { SPI_GETLO
2e6e0 57 50 4f 57 45 52 54 49 4d 45 4f 55 54 20 3d 20  WPOWERTIMEOUT = 
2e6f0 30 78 30 30 34 46 20 7d 0d 0a 65 6e 75 6d 20 3a  0x004F }..enum :
2e700 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 50   uint { SPI_GETP
2e710 4f 57 45 52 4f 46 46 54 49 4d 45 4f 55 54 20 3d  OWEROFFTIMEOUT =
2e720 20 30 78 30 30 35 30 20 7d 0d 0a 65 6e 75 6d 20   0x0050 }..enum 
2e730 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54  : uint { SPI_SET
2e740 4c 4f 57 50 4f 57 45 52 54 49 4d 45 4f 55 54 20  LOWPOWERTIMEOUT 
2e750 3d 20 30 78 30 30 35 31 20 7d 0d 0a 65 6e 75 6d  = 0x0051 }..enum
2e760 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45   : uint { SPI_SE
2e770 54 50 4f 57 45 52 4f 46 46 54 49 4d 45 4f 55 54  TPOWEROFFTIMEOUT
2e780 20 3d 20 30 78 30 30 35 32 20 7d 0d 0a 65 6e 75   = 0x0052 }..enu
2e790 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47  m : uint { SPI_G
2e7a0 45 54 4c 4f 57 50 4f 57 45 52 41 43 54 49 56 45  ETLOWPOWERACTIVE
2e7b0 20 3d 20 30 78 30 30 35 33 20 7d 0d 0a 65 6e 75   = 0x0053 }..enu
2e7c0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47  m : uint { SPI_G
2e7d0 45 54 50 4f 57 45 52 4f 46 46 41 43 54 49 56 45  ETPOWEROFFACTIVE
2e7e0 20 3d 20 30 78 30 30 35 34 20 7d 0d 0a 65 6e 75   = 0x0054 }..enu
2e7f0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53  m : uint { SPI_S
2e800 45 54 4c 4f 57 50 4f 57 45 52 41 43 54 49 56 45  ETLOWPOWERACTIVE
2e810 20 3d 20 30 78 30 30 35 35 20 7d 0d 0a 65 6e 75   = 0x0055 }..enu
2e820 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53  m : uint { SPI_S
2e830 45 54 50 4f 57 45 52 4f 46 46 41 43 54 49 56 45  ETPOWEROFFACTIVE
2e840 20 3d 20 30 78 30 30 35 36 20 7d 0d 0a 65 6e 75   = 0x0056 }..enu
2e850 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53  m : uint { SPI_S
2e860 45 54 43 55 52 53 4f 52 53 20 3d 20 30 78 30 30  ETCURSORS = 0x00
2e870 35 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  57 }..enum : uin
2e880 74 20 7b 20 53 50 49 5f 53 45 54 49 43 4f 4e 53  t { SPI_SETICONS
2e890 20 3d 20 30 78 30 30 35 38 20 7d 0d 0a 65 6e 75   = 0x0058 }..enu
2e8a0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47  m : uint { SPI_G
2e8b0 45 54 44 45 46 41 55 4c 54 49 4e 50 55 54 4c 41  ETDEFAULTINPUTLA
2e8c0 4e 47 20 3d 20 30 78 30 30 35 39 20 7d 0d 0a 65  NG = 0x0059 }..e
2e8d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49  num : uint { SPI
2e8e0 5f 53 45 54 44 45 46 41 55 4c 54 49 4e 50 55 54  _SETDEFAULTINPUT
2e8f0 4c 41 4e 47 20 3d 20 30 78 30 30 35 41 20 7d 0d  LANG = 0x005A }.
2e900 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2e910 50 49 5f 53 45 54 4c 41 4e 47 54 4f 47 47 4c 45  PI_SETLANGTOGGLE
2e920 20 3d 20 30 78 30 30 35 42 20 7d 0d 0a 65 6e 75   = 0x005B }..enu
2e930 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47  m : uint { SPI_G
2e940 45 54 57 49 4e 44 4f 57 53 45 58 54 45 4e 53 49  ETWINDOWSEXTENSI
2e950 4f 4e 20 3d 20 30 78 30 30 35 43 20 7d 0d 0a 65  ON = 0x005C }..e
2e960 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49  num : uint { SPI
2e970 5f 53 45 54 4d 4f 55 53 45 54 52 41 49 4c 53 20  _SETMOUSETRAILS 
2e980 3d 20 30 78 30 30 35 44 20 7d 0d 0a 65 6e 75 6d  = 0x005D }..enum
2e990 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45   : uint { SPI_GE
2e9a0 54 4d 4f 55 53 45 54 52 41 49 4c 53 20 3d 20 30  TMOUSETRAILS = 0
2e9b0 78 30 30 35 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x005E }..enum : 
2e9c0 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 53 43  uint { SPI_SETSC
2e9d0 52 45 45 4e 53 41 56 45 52 52 55 4e 4e 49 4e 47  REENSAVERRUNNING
2e9e0 20 3d 20 30 78 30 30 36 31 20 7d 0d 0a 61 6c 69   = 0x0061 }..ali
2e9f0 61 73 20 53 50 49 5f 53 45 54 53 43 52 45 45 4e  as SPI_SETSCREEN
2ea00 53 41 56 45 52 52 55 4e 4e 49 4e 47 20 53 50 49  SAVERRUNNING SPI
2ea10 5f 53 43 52 45 45 4e 53 41 56 45 52 52 55 4e 4e  _SCREENSAVERRUNN
2ea20 49 4e 47 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  ING;..// #endif 
2ea30 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  /* WINVER >= 0x0
2ea40 34 30 30 20 2a 2f 0d 0a 65 6e 75 6d 20 3a 20 75  400 */..enum : u
2ea50 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 46 49 4c  int { SPI_GETFIL
2ea60 54 45 52 4b 45 59 53 20 3d 20 30 78 30 30 33 32  TERKEYS = 0x0032
2ea70 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2ea80 7b 20 53 50 49 5f 53 45 54 46 49 4c 54 45 52 4b  { SPI_SETFILTERK
2ea90 45 59 53 20 3d 20 30 78 30 30 33 33 20 7d 0d 0a  EYS = 0x0033 }..
2eaa0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50  enum : uint { SP
2eab0 49 5f 47 45 54 54 4f 47 47 4c 45 4b 45 59 53 20  I_GETTOGGLEKEYS 
2eac0 3d 20 30 78 30 30 33 34 20 7d 0d 0a 65 6e 75 6d  = 0x0034 }..enum
2ead0 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45   : uint { SPI_SE
2eae0 54 54 4f 47 47 4c 45 4b 45 59 53 20 3d 20 30 78  TTOGGLEKEYS = 0x
2eaf0 30 30 33 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0035 }..enum : u
2eb00 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 4d 4f 55  int { SPI_GETMOU
2eb10 53 45 4b 45 59 53 20 3d 20 30 78 30 30 33 36 20  SEKEYS = 0x0036 
2eb20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2eb30 20 53 50 49 5f 53 45 54 4d 4f 55 53 45 4b 45 59   SPI_SETMOUSEKEY
2eb40 53 20 3d 20 30 78 30 30 33 37 20 7d 0d 0a 65 6e  S = 0x0037 }..en
2eb50 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f  um : uint { SPI_
2eb60 47 45 54 53 48 4f 57 53 4f 55 4e 44 53 20 3d 20  GETSHOWSOUNDS = 
2eb70 30 78 30 30 33 38 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0038 }..enum :
2eb80 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 53   uint { SPI_SETS
2eb90 48 4f 57 53 4f 55 4e 44 53 20 3d 20 30 78 30 30  HOWSOUNDS = 0x00
2eba0 33 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  39 }..enum : uin
2ebb0 74 20 7b 20 53 50 49 5f 47 45 54 53 54 49 43 4b  t { SPI_GETSTICK
2ebc0 59 4b 45 59 53 20 3d 20 30 78 30 30 33 41 20 7d  YKEYS = 0x003A }
2ebd0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2ebe0 53 50 49 5f 53 45 54 53 54 49 43 4b 59 4b 45 59  SPI_SETSTICKYKEY
2ebf0 53 20 3d 20 30 78 30 30 33 42 20 7d 0d 0a 65 6e  S = 0x003B }..en
2ec00 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f  um : uint { SPI_
2ec10 47 45 54 41 43 43 45 53 53 54 49 4d 45 4f 55 54  GETACCESSTIMEOUT
2ec20 20 3d 20 30 78 30 30 33 43 20 7d 0d 0a 65 6e 75   = 0x003C }..enu
2ec30 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53  m : uint { SPI_S
2ec40 45 54 41 43 43 45 53 53 54 49 4d 45 4f 55 54 20  ETACCESSTIMEOUT 
2ec50 3d 20 30 78 30 30 33 44 20 7d 0d 0a 2f 2f 20 23  = 0x003D }..// #
2ec60 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  if(WINVER >= 0x0
2ec70 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  400)..enum : uin
2ec80 74 20 7b 20 53 50 49 5f 47 45 54 53 45 52 49 41  t { SPI_GETSERIA
2ec90 4c 4b 45 59 53 20 3d 20 30 78 30 30 33 45 20 7d  LKEYS = 0x003E }
2eca0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2ecb0 53 50 49 5f 53 45 54 53 45 52 49 41 4c 4b 45 59  SPI_SETSERIALKEY
2ecc0 53 20 3d 20 30 78 30 30 33 46 20 7d 0d 0a 2f 2f  S = 0x003F }..//
2ecd0 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45   #endif /* WINVE
2ece0 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a  R >= 0x0400 */..
2ecf0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50  enum : uint { SP
2ed00 49 5f 47 45 54 53 4f 55 4e 44 53 45 4e 54 52 59  I_GETSOUNDSENTRY
2ed10 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 65 6e 75   = 0x0040 }..enu
2ed20 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53  m : uint { SPI_S
2ed30 45 54 53 4f 55 4e 44 53 45 4e 54 52 59 20 3d 20  ETSOUNDSENTRY = 
2ed40 30 78 30 30 34 31 20 7d 0d 0a 2f 2f 20 23 69 66  0x0041 }..// #if
2ed50 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
2ed60 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0400)..enum :
2ed70 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 53   uint { SPI_GETS
2ed80 4e 41 50 54 4f 44 45 46 42 55 54 54 4f 4e 20 3d  NAPTODEFBUTTON =
2ed90 20 30 78 30 30 35 46 20 7d 0d 0a 65 6e 75 6d 20   0x005F }..enum 
2eda0 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54  : uint { SPI_SET
2edb0 53 4e 41 50 54 4f 44 45 46 42 55 54 54 4f 4e 20  SNAPTODEFBUTTON 
2edc0 3d 20 30 78 30 30 36 30 20 7d 0d 0a 2f 2f 20 23  = 0x0060 }..// #
2edd0 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f  endif /* _WIN32_
2ede0 57 49 4e 4e 54 20 3e 3d 20 30 78 30 34 30 30 20  WINNT >= 0x0400 
2edf0 2a 2f 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  */..// #if (_WIN
2ee00 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 34  32_WINNT >= 0x04
2ee10 30 30 29 20 7c 7c 20 28 5f 57 49 4e 33 32 5f 57  00) || (_WIN32_W
2ee20 49 4e 44 4f 57 53 20 3e 20 30 78 30 34 30 30 29  INDOWS > 0x0400)
2ee30 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2ee40 53 50 49 5f 47 45 54 4d 4f 55 53 45 48 4f 56 45  SPI_GETMOUSEHOVE
2ee50 52 57 49 44 54 48 20 3d 20 30 78 30 30 36 32 20  RWIDTH = 0x0062 
2ee60 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2ee70 20 53 50 49 5f 53 45 54 4d 4f 55 53 45 48 4f 56   SPI_SETMOUSEHOV
2ee80 45 52 57 49 44 54 48 20 3d 20 30 78 30 30 36 33  ERWIDTH = 0x0063
2ee90 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2eea0 7b 20 53 50 49 5f 47 45 54 4d 4f 55 53 45 48 4f  { SPI_GETMOUSEHO
2eeb0 56 45 52 48 45 49 47 48 54 20 3d 20 30 78 30 30  VERHEIGHT = 0x00
2eec0 36 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  64 }..enum : uin
2eed0 74 20 7b 20 53 50 49 5f 53 45 54 4d 4f 55 53 45  t { SPI_SETMOUSE
2eee0 48 4f 56 45 52 48 45 49 47 48 54 20 3d 20 30 78  HOVERHEIGHT = 0x
2eef0 30 30 36 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0065 }..enum : u
2ef00 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 4d 4f 55  int { SPI_GETMOU
2ef10 53 45 48 4f 56 45 52 54 49 4d 45 20 3d 20 30 78  SEHOVERTIME = 0x
2ef20 30 30 36 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0066 }..enum : u
2ef30 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 4d 4f 55  int { SPI_SETMOU
2ef40 53 45 48 4f 56 45 52 54 49 4d 45 20 3d 20 30 78  SEHOVERTIME = 0x
2ef50 30 30 36 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0067 }..enum : u
2ef60 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 57 48 45  int { SPI_GETWHE
2ef70 45 4c 53 43 52 4f 4c 4c 4c 49 4e 45 53 20 3d 20  ELSCROLLLINES = 
2ef80 30 78 30 30 36 38 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0068 }..enum :
2ef90 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 57   uint { SPI_SETW
2efa0 48 45 45 4c 53 43 52 4f 4c 4c 4c 49 4e 45 53 20  HEELSCROLLLINES 
2efb0 3d 20 30 78 30 30 36 39 20 7d 0d 0a 65 6e 75 6d  = 0x0069 }..enum
2efc0 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45   : uint { SPI_GE
2efd0 54 4d 45 4e 55 53 48 4f 57 44 45 4c 41 59 20 3d  TMENUSHOWDELAY =
2efe0 20 30 78 30 30 36 41 20 7d 0d 0a 65 6e 75 6d 20   0x006A }..enum 
2eff0 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54  : uint { SPI_SET
2f000 4d 45 4e 55 53 48 4f 57 44 45 4c 41 59 20 3d 20  MENUSHOWDELAY = 
2f010 30 78 30 30 36 42 20 7d 0d 0a 0d 0a 65 6e 75 6d  0x006B }....enum
2f020 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45   : uint { SPI_GE
2f030 54 53 48 4f 57 49 4d 45 55 49 20 3d 20 30 78 30  TSHOWIMEUI = 0x0
2f040 30 36 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  06E }..enum : ui
2f050 6e 74 20 7b 20 53 50 49 5f 53 45 54 53 48 4f 57  nt { SPI_SETSHOW
2f060 49 4d 45 55 49 20 3d 20 30 78 30 30 36 46 20 7d  IMEUI = 0x006F }
2f070 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
2f080 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
2f090 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0500)..enum : 
2f0a0 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 4d 4f  uint { SPI_GETMO
2f0b0 55 53 45 53 50 45 45 44 20 3d 20 30 78 30 30 37  USESPEED = 0x007
2f0c0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
2f0d0 20 7b 20 53 50 49 5f 53 45 54 4d 4f 55 53 45 53   { SPI_SETMOUSES
2f0e0 50 45 45 44 20 3d 20 30 78 30 30 37 31 20 7d 0d  PEED = 0x0071 }.
2f0f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2f100 50 49 5f 47 45 54 53 43 52 45 45 4e 53 41 56 45  PI_GETSCREENSAVE
2f110 52 52 55 4e 4e 49 4e 47 20 3d 20 30 78 30 30 37  RRUNNING = 0x007
2f120 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
2f130 20 7b 20 53 50 49 5f 47 45 54 44 45 53 4b 57 41   { SPI_GETDESKWA
2f140 4c 4c 50 41 50 45 52 20 3d 20 30 78 30 30 37 33  LLPAPER = 0x0073
2f150 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
2f160 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30   WINVER >= 0x050
2f170 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57  0 */....// #if(W
2f180 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29  INVER >= 0x0500)
2f190 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2f1a0 53 50 49 5f 47 45 54 41 43 54 49 56 45 57 49 4e  SPI_GETACTIVEWIN
2f1b0 44 4f 57 54 52 41 43 4b 49 4e 47 20 3d 20 30 78  DOWTRACKING = 0x
2f1c0 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  1000 }..enum : u
2f1d0 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 41 43 54  int { SPI_SETACT
2f1e0 49 56 45 57 49 4e 44 4f 57 54 52 41 43 4b 49 4e  IVEWINDOWTRACKIN
2f1f0 47 20 3d 20 30 78 31 30 30 31 20 7d 0d 0a 65 6e  G = 0x1001 }..en
2f200 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f  um : uint { SPI_
2f210 47 45 54 4d 45 4e 55 41 4e 49 4d 41 54 49 4f 4e  GETMENUANIMATION
2f220 20 3d 20 30 78 31 30 30 32 20 7d 0d 0a 65 6e 75   = 0x1002 }..enu
2f230 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53  m : uint { SPI_S
2f240 45 54 4d 45 4e 55 41 4e 49 4d 41 54 49 4f 4e 20  ETMENUANIMATION 
2f250 3d 20 30 78 31 30 30 33 20 7d 0d 0a 65 6e 75 6d  = 0x1003 }..enum
2f260 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45   : uint { SPI_GE
2f270 54 43 4f 4d 42 4f 42 4f 58 41 4e 49 4d 41 54 49  TCOMBOBOXANIMATI
2f280 4f 4e 20 3d 20 30 78 31 30 30 34 20 7d 0d 0a 65  ON = 0x1004 }..e
2f290 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49  num : uint { SPI
2f2a0 5f 53 45 54 43 4f 4d 42 4f 42 4f 58 41 4e 49 4d  _SETCOMBOBOXANIM
2f2b0 41 54 49 4f 4e 20 3d 20 30 78 31 30 30 35 20 7d  ATION = 0x1005 }
2f2c0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2f2d0 53 50 49 5f 47 45 54 4c 49 53 54 42 4f 58 53 4d  SPI_GETLISTBOXSM
2f2e0 4f 4f 54 48 53 43 52 4f 4c 4c 49 4e 47 20 3d 20  OOTHSCROLLING = 
2f2f0 30 78 31 30 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a  0x1006 }..enum :
2f300 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 4c   uint { SPI_SETL
2f310 49 53 54 42 4f 58 53 4d 4f 4f 54 48 53 43 52 4f  ISTBOXSMOOTHSCRO
2f320 4c 4c 49 4e 47 20 3d 20 30 78 31 30 30 37 20 7d  LLING = 0x1007 }
2f330 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2f340 53 50 49 5f 47 45 54 47 52 41 44 49 45 4e 54 43  SPI_GETGRADIENTC
2f350 41 50 54 49 4f 4e 53 20 3d 20 30 78 31 30 30 38  APTIONS = 0x1008
2f360 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2f370 7b 20 53 50 49 5f 53 45 54 47 52 41 44 49 45 4e  { SPI_SETGRADIEN
2f380 54 43 41 50 54 49 4f 4e 53 20 3d 20 30 78 31 30  TCAPTIONS = 0x10
2f390 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  09 }..enum : uin
2f3a0 74 20 7b 20 53 50 49 5f 47 45 54 4b 45 59 42 4f  t { SPI_GETKEYBO
2f3b0 41 52 44 43 55 45 53 20 3d 20 30 78 31 30 30 41  ARDCUES = 0x100A
2f3c0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2f3d0 7b 20 53 50 49 5f 53 45 54 4b 45 59 42 4f 41 52  { SPI_SETKEYBOAR
2f3e0 44 43 55 45 53 20 3d 20 30 78 31 30 30 42 20 7d  DCUES = 0x100B }
2f3f0 0d 0a 61 6c 69 61 73 20 53 50 49 5f 47 45 54 4b  ..alias SPI_GETK
2f400 45 59 42 4f 41 52 44 43 55 45 53 20 53 50 49 5f  EYBOARDCUES SPI_
2f410 47 45 54 4d 45 4e 55 55 4e 44 45 52 4c 49 4e 45  GETMENUUNDERLINE
2f420 53 3b 0d 0a 61 6c 69 61 73 20 53 50 49 5f 53 45  S;..alias SPI_SE
2f430 54 4b 45 59 42 4f 41 52 44 43 55 45 53 20 53 50  TKEYBOARDCUES SP
2f440 49 5f 53 45 54 4d 45 4e 55 55 4e 44 45 52 4c 49  I_SETMENUUNDERLI
2f450 4e 45 53 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  NES;..enum : uin
2f460 74 20 7b 20 53 50 49 5f 47 45 54 41 43 54 49 56  t { SPI_GETACTIV
2f470 45 57 4e 44 54 52 4b 5a 4f 52 44 45 52 20 3d 20  EWNDTRKZORDER = 
2f480 30 78 31 30 30 43 20 7d 0d 0a 65 6e 75 6d 20 3a  0x100C }..enum :
2f490 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 41   uint { SPI_SETA
2f4a0 43 54 49 56 45 57 4e 44 54 52 4b 5a 4f 52 44 45  CTIVEWNDTRKZORDE
2f4b0 52 20 3d 20 30 78 31 30 30 44 20 7d 0d 0a 65 6e  R = 0x100D }..en
2f4c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f  um : uint { SPI_
2f4d0 47 45 54 48 4f 54 54 52 41 43 4b 49 4e 47 20 3d  GETHOTTRACKING =
2f4e0 20 30 78 31 30 30 45 20 7d 0d 0a 65 6e 75 6d 20   0x100E }..enum 
2f4f0 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54  : uint { SPI_SET
2f500 48 4f 54 54 52 41 43 4b 49 4e 47 20 3d 20 30 78  HOTTRACKING = 0x
2f510 31 30 30 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  100F }..enum : u
2f520 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 4d 45 4e  int { SPI_GETMEN
2f530 55 46 41 44 45 20 3d 20 30 78 31 30 31 32 20 7d  UFADE = 0x1012 }
2f540 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2f550 53 50 49 5f 53 45 54 4d 45 4e 55 46 41 44 45 20  SPI_SETMENUFADE 
2f560 3d 20 30 78 31 30 31 33 20 7d 0d 0a 65 6e 75 6d  = 0x1013 }..enum
2f570 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45   : uint { SPI_GE
2f580 54 53 45 4c 45 43 54 49 4f 4e 46 41 44 45 20 3d  TSELECTIONFADE =
2f590 20 30 78 31 30 31 34 20 7d 0d 0a 65 6e 75 6d 20   0x1014 }..enum 
2f5a0 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54  : uint { SPI_SET
2f5b0 53 45 4c 45 43 54 49 4f 4e 46 41 44 45 20 3d 20  SELECTIONFADE = 
2f5c0 30 78 31 30 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a  0x1015 }..enum :
2f5d0 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 54   uint { SPI_GETT
2f5e0 4f 4f 4c 54 49 50 41 4e 49 4d 41 54 49 4f 4e 20  OOLTIPANIMATION 
2f5f0 3d 20 30 78 31 30 31 36 20 7d 0d 0a 65 6e 75 6d  = 0x1016 }..enum
2f600 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45   : uint { SPI_SE
2f610 54 54 4f 4f 4c 54 49 50 41 4e 49 4d 41 54 49 4f  TTOOLTIPANIMATIO
2f620 4e 20 3d 20 30 78 31 30 31 37 20 7d 0d 0a 65 6e  N = 0x1017 }..en
2f630 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f  um : uint { SPI_
2f640 47 45 54 54 4f 4f 4c 54 49 50 46 41 44 45 20 3d  GETTOOLTIPFADE =
2f650 20 30 78 31 30 31 38 20 7d 0d 0a 65 6e 75 6d 20   0x1018 }..enum 
2f660 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54  : uint { SPI_SET
2f670 54 4f 4f 4c 54 49 50 46 41 44 45 20 3d 20 30 78  TOOLTIPFADE = 0x
2f680 31 30 31 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  1019 }..enum : u
2f690 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 43 55 52  int { SPI_GETCUR
2f6a0 53 4f 52 53 48 41 44 4f 57 20 3d 20 30 78 31 30  SORSHADOW = 0x10
2f6b0 31 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  1A }..enum : uin
2f6c0 74 20 7b 20 53 50 49 5f 53 45 54 43 55 52 53 4f  t { SPI_SETCURSO
2f6d0 52 53 48 41 44 4f 57 20 3d 20 30 78 31 30 31 42  RSHADOW = 0x101B
2f6e0 20 7d 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33   }..// #if(_WIN3
2f6f0 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30  2_WINNT >= 0x050
2f700 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  1)..enum : uint 
2f710 7b 20 53 50 49 5f 47 45 54 4d 4f 55 53 45 53 4f  { SPI_GETMOUSESO
2f720 4e 41 52 20 3d 20 30 78 31 30 31 43 20 7d 0d 0a  NAR = 0x101C }..
2f730 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50  enum : uint { SP
2f740 49 5f 53 45 54 4d 4f 55 53 45 53 4f 4e 41 52 20  I_SETMOUSESONAR 
2f750 3d 20 30 78 31 30 31 44 20 7d 0d 0a 65 6e 75 6d  = 0x101D }..enum
2f760 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45   : uint { SPI_GE
2f770 54 4d 4f 55 53 45 43 4c 49 43 4b 4c 4f 43 4b 20  TMOUSECLICKLOCK 
2f780 3d 20 30 78 31 30 31 45 20 7d 0d 0a 65 6e 75 6d  = 0x101E }..enum
2f790 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45   : uint { SPI_SE
2f7a0 54 4d 4f 55 53 45 43 4c 49 43 4b 4c 4f 43 4b 20  TMOUSECLICKLOCK 
2f7b0 3d 20 30 78 31 30 31 46 20 7d 0d 0a 65 6e 75 6d  = 0x101F }..enum
2f7c0 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45   : uint { SPI_GE
2f7d0 54 4d 4f 55 53 45 56 41 4e 49 53 48 20 3d 20 30  TMOUSEVANISH = 0
2f7e0 78 31 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x1020 }..enum : 
2f7f0 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54 4d 4f  uint { SPI_SETMO
2f800 55 53 45 56 41 4e 49 53 48 20 3d 20 30 78 31 30  USEVANISH = 0x10
2f810 32 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  21 }..enum : uin
2f820 74 20 7b 20 53 50 49 5f 47 45 54 46 4c 41 54 4d  t { SPI_GETFLATM
2f830 45 4e 55 20 3d 20 30 78 31 30 32 32 20 7d 0d 0a  ENU = 0x1022 }..
2f840 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50  enum : uint { SP
2f850 49 5f 53 45 54 46 4c 41 54 4d 45 4e 55 20 3d 20  I_SETFLATMENU = 
2f860 30 78 31 30 32 33 20 7d 0d 0a 65 6e 75 6d 20 3a  0x1023 }..enum :
2f870 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 44   uint { SPI_GETD
2f880 52 4f 50 53 48 41 44 4f 57 20 3d 20 30 78 31 30  ROPSHADOW = 0x10
2f890 32 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  24 }..enum : uin
2f8a0 74 20 7b 20 53 50 49 5f 53 45 54 44 52 4f 50 53  t { SPI_SETDROPS
2f8b0 48 41 44 4f 57 20 3d 20 30 78 31 30 32 35 20 7d  HADOW = 0x1025 }
2f8c0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f  ..// #endif /* _
2f8d0 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
2f8e0 78 30 35 30 31 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d  x0501 */....enum
2f8f0 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45   : uint { SPI_GE
2f900 54 55 49 45 46 46 45 43 54 53 20 3d 20 30 78 31  TUIEFFECTS = 0x1
2f910 30 33 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  03E }..enum : ui
2f920 6e 74 20 7b 20 53 50 49 5f 53 45 54 55 49 45 46  nt { SPI_SETUIEF
2f930 46 45 43 54 53 20 3d 20 30 78 31 30 33 46 20 7d  FECTS = 0x103F }
2f940 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
2f950 7b 20 53 50 49 5f 47 45 54 46 4f 52 45 47 52 4f  { SPI_GETFOREGRO
2f960 55 4e 44 4c 4f 43 4b 54 49 4d 45 4f 55 54 20 3d  UNDLOCKTIMEOUT =
2f970 20 30 78 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x2000 }..enum 
2f980 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53 45 54  : uint { SPI_SET
2f990 46 4f 52 45 47 52 4f 55 4e 44 4c 4f 43 4b 54 49  FOREGROUNDLOCKTI
2f9a0 4d 45 4f 55 54 20 3d 20 30 78 32 30 30 31 20 7d  MEOUT = 0x2001 }
2f9b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2f9c0 53 50 49 5f 47 45 54 41 43 54 49 56 45 57 4e 44  SPI_GETACTIVEWND
2f9d0 54 52 4b 54 49 4d 45 4f 55 54 20 3d 20 30 78 32  TRKTIMEOUT = 0x2
2f9e0 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
2f9f0 6e 74 20 7b 20 53 50 49 5f 53 45 54 41 43 54 49  nt { SPI_SETACTI
2fa00 56 45 57 4e 44 54 52 4b 54 49 4d 45 4f 55 54 20  VEWNDTRKTIMEOUT 
2fa10 3d 20 30 78 32 30 30 33 20 7d 0d 0a 65 6e 75 6d  = 0x2003 }..enum
2fa20 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45   : uint { SPI_GE
2fa30 54 46 4f 52 45 47 52 4f 55 4e 44 46 4c 41 53 48  TFOREGROUNDFLASH
2fa40 43 4f 55 4e 54 20 3d 20 30 78 32 30 30 34 20 7d  COUNT = 0x2004 }
2fa50 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2fa60 53 50 49 5f 53 45 54 46 4f 52 45 47 52 4f 55 4e  SPI_SETFOREGROUN
2fa70 44 46 4c 41 53 48 43 4f 55 4e 54 20 3d 20 30 78  DFLASHCOUNT = 0x
2fa80 32 30 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  2005 }..enum : u
2fa90 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 43 41 52  int { SPI_GETCAR
2faa0 45 54 57 49 44 54 48 20 3d 20 30 78 32 30 30 36  ETWIDTH = 0x2006
2fab0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2fac0 7b 20 53 50 49 5f 53 45 54 43 41 52 45 54 57 49  { SPI_SETCARETWI
2fad0 44 54 48 20 3d 20 30 78 32 30 30 37 20 7d 0d 0a  DTH = 0x2007 }..
2fae0 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f  ..// #if(_WIN32_
2faf0 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29  WINNT >= 0x0501)
2fb00 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2fb10 53 50 49 5f 47 45 54 4d 4f 55 53 45 43 4c 49 43  SPI_GETMOUSECLIC
2fb20 4b 4c 4f 43 4b 54 49 4d 45 20 3d 20 30 78 32 30  KLOCKTIME = 0x20
2fb30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
2fb40 74 20 7b 20 53 50 49 5f 53 45 54 4d 4f 55 53 45  t { SPI_SETMOUSE
2fb50 43 4c 49 43 4b 4c 4f 43 4b 54 49 4d 45 20 3d 20  CLICKLOCKTIME = 
2fb60 30 78 32 30 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a  0x2009 }..enum :
2fb70 20 75 69 6e 74 20 7b 20 53 50 49 5f 47 45 54 46   uint { SPI_GETF
2fb80 4f 4e 54 53 4d 4f 4f 54 48 49 4e 47 54 59 50 45  ONTSMOOTHINGTYPE
2fb90 20 3d 20 30 78 32 30 30 41 20 7d 0d 0a 65 6e 75   = 0x200A }..enu
2fba0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 53  m : uint { SPI_S
2fbb0 45 54 46 4f 4e 54 53 4d 4f 4f 54 48 49 4e 47 54  ETFONTSMOOTHINGT
2fbc0 59 50 45 20 3d 20 30 78 32 30 30 42 20 7d 0d 0a  YPE = 0x200B }..
2fbd0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2fbe0 46 45 5f 46 4f 4e 54 53 4d 4f 4f 54 48 49 4e 47  FE_FONTSMOOTHING
2fbf0 53 54 41 4e 44 41 52 44 20 3d 20 30 78 30 30 30  STANDARD = 0x000
2fc00 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
2fc10 20 7b 20 46 45 5f 46 4f 4e 54 53 4d 4f 4f 54 48   { FE_FONTSMOOTH
2fc20 49 4e 47 43 4c 45 41 52 54 59 50 45 20 3d 20 30  INGCLEARTYPE = 0
2fc30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0002 }..enum : 
2fc40 75 69 6e 74 20 7b 20 46 45 5f 46 4f 4e 54 53 4d  uint { FE_FONTSM
2fc50 4f 4f 54 48 49 4e 47 44 4f 43 4b 49 4e 47 20 3d  OOTHINGDOCKING =
2fc60 20 30 78 38 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75   0x8000 }....enu
2fc70 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47  m : uint { SPI_G
2fc80 45 54 46 4f 4e 54 53 4d 4f 4f 54 48 49 4e 47 43  ETFONTSMOOTHINGC
2fc90 4f 4e 54 52 41 53 54 20 3d 20 30 78 32 30 30 43  ONTRAST = 0x200C
2fca0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2fcb0 7b 20 53 50 49 5f 53 45 54 46 4f 4e 54 53 4d 4f  { SPI_SETFONTSMO
2fcc0 4f 54 48 49 4e 47 43 4f 4e 54 52 41 53 54 20 3d  OTHINGCONTRAST =
2fcd0 20 30 78 32 30 30 44 20 7d 0d 0a 0d 0a 65 6e 75   0x200D }....enu
2fce0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49 5f 47  m : uint { SPI_G
2fcf0 45 54 46 4f 43 55 53 42 4f 52 44 45 52 57 49 44  ETFOCUSBORDERWID
2fd00 54 48 20 3d 20 30 78 32 30 30 45 20 7d 0d 0a 65  TH = 0x200E }..e
2fd10 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 50 49  num : uint { SPI
2fd20 5f 53 45 54 46 4f 43 55 53 42 4f 52 44 45 52 57  _SETFOCUSBORDERW
2fd30 49 44 54 48 20 3d 20 30 78 32 30 30 46 20 7d 0d  IDTH = 0x200F }.
2fd40 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2fd50 50 49 5f 47 45 54 46 4f 43 55 53 42 4f 52 44 45  PI_GETFOCUSBORDE
2fd60 52 48 45 49 47 48 54 20 3d 20 30 78 32 30 31 30  RHEIGHT = 0x2010
2fd70 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2fd80 7b 20 53 50 49 5f 53 45 54 46 4f 43 55 53 42 4f  { SPI_SETFOCUSBO
2fd90 52 44 45 52 48 45 49 47 48 54 20 3d 20 30 78 32  RDERHEIGHT = 0x2
2fda0 30 31 31 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  011 }..// #endif
2fdb0 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54   /* _WIN32_WINNT
2fdc0 20 3e 3d 20 30 78 30 35 30 31 20 2a 2f 0d 0a 0d   >= 0x0501 */...
2fdd0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
2fde0 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 20 2a  NVER >= 0x0500 *
2fdf0 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  /....enum : uint
2fe00 20 7b 20 53 50 49 46 5f 55 50 44 41 54 45 49 4e   { SPIF_UPDATEIN
2fe10 49 46 49 4c 45 20 3d 20 30 78 30 30 30 31 20 7d  IFILE = 0x0001 }
2fe20 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2fe30 53 50 49 46 5f 53 45 4e 44 57 49 4e 49 4e 49 43  SPIF_SENDWININIC
2fe40 48 41 4e 47 45 20 3d 20 30 78 30 30 30 32 20 7d  HANGE = 0x0002 }
2fe50 0d 0a 61 6c 69 61 73 20 53 50 49 46 5f 53 45 4e  ..alias SPIF_SEN
2fe60 44 57 49 4e 49 4e 49 43 48 41 4e 47 45 20 53 50  DWININICHANGE SP
2fe70 49 46 5f 53 45 4e 44 43 48 41 4e 47 45 3b 0d 0a  IF_SENDCHANGE;..
2fe80 0d 0a 65 6e 75 6d 20 7b 20 4d 45 54 52 49 43 53  ..enum { METRICS
2fe90 5f 55 53 45 44 45 46 41 55 4c 54 20 3d 20 2d 31  _USEDEFAULT = -1
2fea0 20 7d 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57   }..// #ifdef _W
2feb0 49 4e 47 44 49 5f 0d 0a 2f 2f 20 23 69 66 6e 64  INGDI_..// #ifnd
2fec0 65 66 20 4e 4f 47 44 49 0d 0a 2f 2f 20 2e 2e 2e  ef NOGDI..// ...
2fed0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
2fee0 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  ODE..// .....// 
2fef0 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  #else..// ...../
2ff00 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43  / #endif // UNIC
2ff10 4f 44 45 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  ODE..// #endif /
2ff20 2a 20 4e 4f 47 44 49 20 2a 2f 0d 0a 2f 2f 20 23  * NOGDI */..// #
2ff30 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 47 44 49  endif /* _WINGDI
2ff40 5f 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  _ */....enum : u
2ff50 69 6e 74 20 7b 20 41 52 57 5f 42 4f 54 54 4f 4d  int { ARW_BOTTOM
2ff60 4c 45 46 54 20 3d 20 30 78 30 30 30 30 20 7d 0d  LEFT = 0x0000 }.
2ff70 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41  .enum : uint { A
2ff80 52 57 5f 42 4f 54 54 4f 4d 52 49 47 48 54 20 3d  RW_BOTTOMRIGHT =
2ff90 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
2ffa0 3a 20 75 69 6e 74 20 7b 20 41 52 57 5f 54 4f 50  : uint { ARW_TOP
2ffb0 4c 45 46 54 20 3d 20 30 78 30 30 30 32 20 7d 0d  LEFT = 0x0002 }.
2ffc0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41  .enum : uint { A
2ffd0 52 57 5f 54 4f 50 52 49 47 48 54 20 3d 20 30 78  RW_TOPRIGHT = 0x
2ffe0 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0003 }..enum : u
2fff0 69 6e 74 20 7b 20 41 52 57 5f 53 54 41 52 54 4d  int { ARW_STARTM
30000 41 53 4b 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a  ASK = 0x0003 }..
30010 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 52  enum : uint { AR
30020 57 5f 53 54 41 52 54 52 49 47 48 54 20 3d 20 30  W_STARTRIGHT = 0
30030 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0001 }..enum : 
30040 75 69 6e 74 20 7b 20 41 52 57 5f 53 54 41 52 54  uint { ARW_START
30050 54 4f 50 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a  TOP = 0x0002 }..
30060 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
30070 41 52 57 5f 4c 45 46 54 20 3d 20 30 78 30 30 30  ARW_LEFT = 0x000
30080 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
30090 20 7b 20 41 52 57 5f 52 49 47 48 54 20 3d 20 30   { ARW_RIGHT = 0
300a0 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0000 }..enum : 
300b0 75 69 6e 74 20 7b 20 41 52 57 5f 55 50 20 3d 20  uint { ARW_UP = 
300c0 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0004 }..enum :
300d0 20 75 69 6e 74 20 7b 20 41 52 57 5f 44 4f 57 4e   uint { ARW_DOWN
300e0 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75   = 0x0004 }..enu
300f0 6d 20 3a 20 75 69 6e 74 20 7b 20 41 52 57 5f 48  m : uint { ARW_H
30100 49 44 45 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a  IDE = 0x0008 }..
30110 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 49 4e 49  ..struct tagMINI
30120 4d 49 5a 45 44 4d 45 54 52 49 43 53 20 7b 0d 0a  MIZEDMETRICS {..
30130 20 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a    UINT cbSize;..
30140 20 20 69 6e 74 20 69 57 69 64 74 68 3b 0d 0a 20    int iWidth;.. 
30150 20 69 6e 74 20 69 48 6f 72 7a 47 61 70 3b 0d 0a   int iHorzGap;..
30160 20 20 69 6e 74 20 69 56 65 72 74 47 61 70 3b 0d    int iVertGap;.
30170 0a 20 20 69 6e 74 20 69 41 72 72 61 6e 67 65 3b  .  int iArrange;
30180 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49  ..}..alias tagMI
30190 4e 49 4d 49 5a 45 44 4d 45 54 52 49 43 53 20 4d  NIMIZEDMETRICS M
301a0 49 4e 49 4d 49 5a 45 44 4d 45 54 52 49 43 53 3b  INIMIZEDMETRICS;
301b0 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 4e 49 4d  ..alias tagMINIM
301c0 49 5a 45 44 4d 45 54 52 49 43 53 2a 20 50 4d 49  IZEDMETRICS* PMI
301d0 4e 49 4d 49 5a 45 44 4d 45 54 52 49 43 53 3b 0d  NIMIZEDMETRICS;.
301e0 0a 61 6c 69 61 73 20 74 61 67 4d 49 4e 49 4d 49  .alias tagMINIMI
301f0 5a 45 44 4d 45 54 52 49 43 53 2a 20 4c 50 4d 49  ZEDMETRICS* LPMI
30200 4e 49 4d 49 5a 45 44 4d 45 54 52 49 43 53 3b 0d  NIMIZEDMETRICS;.
30210 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49  ...// #ifdef _WI
30220 4e 47 44 49 5f 0d 0a 2f 2f 20 23 69 66 6e 64 65  NGDI_..// #ifnde
30230 66 20 4e 4f 47 44 49 0d 0a 2f 2f 20 2e 2e 2e 0d  f NOGDI..// ....
30240 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
30250 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  DE..// .....// #
30260 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  else..// .....//
30270 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f   #endif // UNICO
30280 44 45 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  DE..// #endif /*
30290 20 4e 4f 47 44 49 20 2a 2f 0d 0a 2f 2f 20 23 65   NOGDI */..// #e
302a0 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 47 44 49 5f  ndif /* _WINGDI_
302b0 20 2a 2f 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61   */....struct ta
302c0 67 41 4e 49 4d 41 54 49 4f 4e 49 4e 46 4f 20 7b  gANIMATIONINFO {
302d0 0d 0a 20 20 55 49 4e 54 20 63 62 53 69 7a 65 3b  ..  UINT cbSize;
302e0 0d 0a 20 20 69 6e 74 20 69 4d 69 6e 41 6e 69 6d  ..  int iMinAnim
302f0 61 74 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  ate;..}..alias t
30300 61 67 41 4e 49 4d 41 54 49 4f 4e 49 4e 46 4f 20  agANIMATIONINFO 
30310 41 4e 49 4d 41 54 49 4f 4e 49 4e 46 4f 3b 0d 0a  ANIMATIONINFO;..
30320 61 6c 69 61 73 20 74 61 67 41 4e 49 4d 41 54 49  alias tagANIMATI
30330 4f 4e 49 4e 46 4f 2a 20 4c 50 41 4e 49 4d 41 54  ONINFO* LPANIMAT
30340 49 4f 4e 49 4e 46 4f 3b 0d 0a 0d 0a 73 74 72 75  IONINFO;....stru
30350 63 74 20 74 61 67 53 45 52 49 41 4c 4b 45 59 53  ct tagSERIALKEYS
30360 41 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53 69  A {..  UINT cbSi
30370 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46  ze;..  DWORD dwF
30380 6c 61 67 73 3b 0d 0a 20 20 4c 50 53 54 52 20 6c  lags;..  LPSTR l
30390 70 73 7a 41 63 74 69 76 65 50 6f 72 74 3b 0d 0a  pszActivePort;..
303a0 20 20 4c 50 53 54 52 20 6c 70 73 7a 50 6f 72 74    LPSTR lpszPort
303b0 3b 0d 0a 20 20 55 49 4e 54 20 69 42 61 75 64 52  ;..  UINT iBaudR
303c0 61 74 65 3b 0d 0a 20 20 55 49 4e 54 20 69 50 6f  ate;..  UINT iPo
303d0 72 74 53 74 61 74 65 3b 0d 0a 20 20 55 49 4e 54  rtState;..  UINT
303e0 20 69 41 63 74 69 76 65 3b 0d 0a 7d 0d 0a 61 6c   iActive;..}..al
303f0 69 61 73 20 74 61 67 53 45 52 49 41 4c 4b 45 59  ias tagSERIALKEY
30400 53 41 20 53 45 52 49 41 4c 4b 45 59 53 41 3b 0d  SA SERIALKEYSA;.
30410 0a 61 6c 69 61 73 20 74 61 67 53 45 52 49 41 4c  .alias tagSERIAL
30420 4b 45 59 53 41 2a 20 4c 50 53 45 52 49 41 4c 4b  KEYSA* LPSERIALK
30430 45 59 53 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  EYSA;....struct 
30440 74 61 67 53 45 52 49 41 4c 4b 45 59 53 57 20 7b  tagSERIALKEYSW {
30450 0d 0a 20 20 55 49 4e 54 20 63 62 53 69 7a 65 3b  ..  UINT cbSize;
30460 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67  ..  DWORD dwFlag
30470 73 3b 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70 73  s;..  LPWSTR lps
30480 7a 41 63 74 69 76 65 50 6f 72 74 3b 0d 0a 20 20  zActivePort;..  
30490 4c 50 57 53 54 52 20 6c 70 73 7a 50 6f 72 74 3b  LPWSTR lpszPort;
304a0 0d 0a 20 20 55 49 4e 54 20 69 42 61 75 64 52 61  ..  UINT iBaudRa
304b0 74 65 3b 0d 0a 20 20 55 49 4e 54 20 69 50 6f 72  te;..  UINT iPor
304c0 74 53 74 61 74 65 3b 0d 0a 20 20 55 49 4e 54 20  tState;..  UINT 
304d0 69 41 63 74 69 76 65 3b 0d 0a 7d 0d 0a 61 6c 69  iActive;..}..ali
304e0 61 73 20 74 61 67 53 45 52 49 41 4c 4b 45 59 53  as tagSERIALKEYS
304f0 57 20 53 45 52 49 41 4c 4b 45 59 53 57 3b 0d 0a  W SERIALKEYSW;..
30500 61 6c 69 61 73 20 74 61 67 53 45 52 49 41 4c 4b  alias tagSERIALK
30510 45 59 53 57 2a 20 4c 50 53 45 52 49 41 4c 4b 45  EYSW* LPSERIALKE
30520 59 53 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  YSW;....// #ifde
30530 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
30540 20 53 45 52 49 41 4c 4b 45 59 53 57 20 53 45 52   SERIALKEYSW SER
30550 49 41 4c 4b 45 59 53 3b 0d 0a 61 6c 69 61 73 20  IALKEYS;..alias 
30560 4c 50 53 45 52 49 41 4c 4b 45 59 53 57 20 4c 50  LPSERIALKEYSW LP
30570 53 45 52 49 41 4c 4b 45 59 53 3b 0d 0a 2f 2f 20  SERIALKEYS;..// 
30580 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  #else..// ...../
30590 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43  / #endif // UNIC
305a0 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  ODE....enum : ui
305b0 6e 74 20 7b 20 53 45 52 4b 46 5f 53 45 52 49 41  nt { SERKF_SERIA
305c0 4c 4b 45 59 53 4f 4e 20 3d 20 30 78 30 30 30 30  LKEYSON = 0x0000
305d0 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
305e0 69 6e 74 20 7b 20 53 45 52 4b 46 5f 41 56 41 49  int { SERKF_AVAI
305f0 4c 41 42 4c 45 20 3d 20 30 78 30 30 30 30 30 30  LABLE = 0x000000
30600 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
30610 74 20 7b 20 53 45 52 4b 46 5f 49 4e 44 49 43 41  t { SERKF_INDICA
30620 54 4f 52 20 3d 20 30 78 30 30 30 30 30 30 30 34  TOR = 0x00000004
30630 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67   }....struct tag
30640 48 49 47 48 43 4f 4e 54 52 41 53 54 41 20 7b 0d  HIGHCONTRASTA {.
30650 0a 20 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d  .  UINT cbSize;.
30660 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73  .  DWORD dwFlags
30670 3b 0d 0a 20 20 4c 50 53 54 52 20 6c 70 73 7a 44  ;..  LPSTR lpszD
30680 65 66 61 75 6c 74 53 63 68 65 6d 65 3b 0d 0a 7d  efaultScheme;..}
30690 0d 0a 61 6c 69 61 73 20 74 61 67 48 49 47 48 43  ..alias tagHIGHC
306a0 4f 4e 54 52 41 53 54 41 20 48 49 47 48 43 4f 4e  ONTRASTA HIGHCON
306b0 54 52 41 53 54 41 3b 0d 0a 61 6c 69 61 73 20 74  TRASTA;..alias t
306c0 61 67 48 49 47 48 43 4f 4e 54 52 41 53 54 41 2a  agHIGHCONTRASTA*
306d0 20 4c 50 48 49 47 48 43 4f 4e 54 52 41 53 54 41   LPHIGHCONTRASTA
306e0 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 48  ;....struct tagH
306f0 49 47 48 43 4f 4e 54 52 41 53 54 57 20 7b 0d 0a  IGHCONTRASTW {..
30700 20 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a    UINT cbSize;..
30710 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b    DWORD dwFlags;
30720 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70 73 7a 44  ..  LPWSTR lpszD
30730 65 66 61 75 6c 74 53 63 68 65 6d 65 3b 0d 0a 7d  efaultScheme;..}
30740 0d 0a 61 6c 69 61 73 20 74 61 67 48 49 47 48 43  ..alias tagHIGHC
30750 4f 4e 54 52 41 53 54 57 20 48 49 47 48 43 4f 4e  ONTRASTW HIGHCON
30760 54 52 41 53 54 57 3b 0d 0a 61 6c 69 61 73 20 74  TRASTW;..alias t
30770 61 67 48 49 47 48 43 4f 4e 54 52 41 53 54 57 2a  agHIGHCONTRASTW*
30780 20 4c 50 48 49 47 48 43 4f 4e 54 52 41 53 54 57   LPHIGHCONTRASTW
30790 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  ;....// #ifdef U
307a0 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 48 49  NICODE..alias HI
307b0 47 48 43 4f 4e 54 52 41 53 54 57 20 48 49 47 48  GHCONTRASTW HIGH
307c0 43 4f 4e 54 52 41 53 54 3b 0d 0a 61 6c 69 61 73  CONTRAST;..alias
307d0 20 4c 50 48 49 47 48 43 4f 4e 54 52 41 53 54 57   LPHIGHCONTRASTW
307e0 20 4c 50 48 49 47 48 43 4f 4e 54 52 41 53 54 3b   LPHIGHCONTRAST;
307f0 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e  ..// #else..// .
30800 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
30810 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d   UNICODE....enum
30820 20 3a 20 75 69 6e 74 20 7b 20 48 43 46 5f 48 49   : uint { HCF_HI
30830 47 48 43 4f 4e 54 52 41 53 54 4f 4e 20 3d 20 30  GHCONTRASTON = 0
30840 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75  x00000001 }..enu
30850 6d 20 3a 20 75 69 6e 74 20 7b 20 48 43 46 5f 41  m : uint { HCF_A
30860 56 41 49 4c 41 42 4c 45 20 3d 20 30 78 30 30 30  VAILABLE = 0x000
30870 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00002 }..enum : 
30880 75 69 6e 74 20 7b 20 48 43 46 5f 48 4f 54 4b 45  uint { HCF_HOTKE
30890 59 41 43 54 49 56 45 20 3d 20 30 78 30 30 30 30  YACTIVE = 0x0000
308a0 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
308b0 69 6e 74 20 7b 20 48 43 46 5f 43 4f 4e 46 49 52  int { HCF_CONFIR
308c0 4d 48 4f 54 4b 45 59 20 3d 20 30 78 30 30 30 30  MHOTKEY = 0x0000
308d0 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
308e0 69 6e 74 20 7b 20 48 43 46 5f 48 4f 54 4b 45 59  int { HCF_HOTKEY
308f0 53 4f 55 4e 44 20 3d 20 30 78 30 30 30 30 30 30  SOUND = 0x000000
30900 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
30910 74 20 7b 20 48 43 46 5f 49 4e 44 49 43 41 54 4f  t { HCF_INDICATO
30920 52 20 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d  R = 0x00000020 }
30930 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
30940 48 43 46 5f 48 4f 54 4b 45 59 41 56 41 49 4c 41  HCF_HOTKEYAVAILA
30950 42 4c 45 20 3d 20 30 78 30 30 30 30 30 30 34 30  BLE = 0x00000040
30960 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
30970 74 20 7b 20 43 44 53 5f 55 50 44 41 54 45 52 45  t { CDS_UPDATERE
30980 47 49 53 54 52 59 20 3d 20 30 78 30 30 30 30 30  GISTRY = 0x00000
30990 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
309a0 6e 74 20 7b 20 43 44 53 5f 54 45 53 54 20 3d 20  nt { CDS_TEST = 
309b0 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e  0x00000002 }..en
309c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 53 5f  um : uint { CDS_
309d0 46 55 4c 4c 53 43 52 45 45 4e 20 3d 20 30 78 30  FULLSCREEN = 0x0
309e0 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20  0000004 }..enum 
309f0 3a 20 75 69 6e 74 20 7b 20 43 44 53 5f 47 4c 4f  : uint { CDS_GLO
30a00 42 41 4c 20 3d 20 30 78 30 30 30 30 30 30 30 38  BAL = 0x00000008
30a10 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
30a20 7b 20 43 44 53 5f 53 45 54 5f 50 52 49 4d 41 52  { CDS_SET_PRIMAR
30a30 59 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d  Y = 0x00000010 }
30a40 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
30a50 43 44 53 5f 56 49 44 45 4f 50 41 52 41 4d 45 54  CDS_VIDEOPARAMET
30a60 45 52 53 20 3d 20 30 78 30 30 30 30 30 30 32 30  ERS = 0x00000020
30a70 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
30a80 7b 20 43 44 53 5f 52 45 53 45 54 20 3d 20 30 78  { CDS_RESET = 0x
30a90 34 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  40000000 }..enum
30aa0 20 3a 20 75 69 6e 74 20 7b 20 43 44 53 5f 4e 4f   : uint { CDS_NO
30ab0 52 45 53 45 54 20 3d 20 30 78 31 30 30 30 30 30  RESET = 0x100000
30ac0 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 6e 63 6c  00 }....// #incl
30ad0 75 64 65 20 3c 74 76 6f 75 74 2e 68 3e 0d 0a 0d  ude <tvout.h>...
30ae0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
30af0 49 53 50 5f 43 48 41 4e 47 45 5f 53 55 43 43 45  ISP_CHANGE_SUCCE
30b00 53 53 46 55 4c 20 3d 20 30 20 7d 0d 0a 65 6e 75  SSFUL = 0 }..enu
30b10 6d 20 3a 20 75 69 6e 74 20 7b 20 44 49 53 50 5f  m : uint { DISP_
30b20 43 48 41 4e 47 45 5f 52 45 53 54 41 52 54 20 3d  CHANGE_RESTART =
30b30 20 31 20 7d 0d 0a 65 6e 75 6d 20 7b 20 44 49 53   1 }..enum { DIS
30b40 50 5f 43 48 41 4e 47 45 5f 46 41 49 4c 45 44 20  P_CHANGE_FAILED 
30b50 3d 20 2d 31 20 7d 0d 0a 65 6e 75 6d 20 7b 20 44  = -1 }..enum { D
30b60 49 53 50 5f 43 48 41 4e 47 45 5f 42 41 44 4d 4f  ISP_CHANGE_BADMO
30b70 44 45 20 3d 20 2d 32 20 7d 0d 0a 65 6e 75 6d 20  DE = -2 }..enum 
30b80 7b 20 44 49 53 50 5f 43 48 41 4e 47 45 5f 4e 4f  { DISP_CHANGE_NO
30b90 54 55 50 44 41 54 45 44 20 3d 20 2d 33 20 7d 0d  TUPDATED = -3 }.
30ba0 0a 65 6e 75 6d 20 7b 20 44 49 53 50 5f 43 48 41  .enum { DISP_CHA
30bb0 4e 47 45 5f 42 41 44 46 4c 41 47 53 20 3d 20 2d  NGE_BADFLAGS = -
30bc0 34 20 7d 0d 0a 65 6e 75 6d 20 7b 20 44 49 53 50  4 }..enum { DISP
30bd0 5f 43 48 41 4e 47 45 5f 42 41 44 50 41 52 41 4d  _CHANGE_BADPARAM
30be0 20 3d 20 2d 35 20 7d 0d 0a 2f 2f 20 23 69 66 28   = -5 }..// #if(
30bf0 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
30c00 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 7b 20  0x0501)..enum { 
30c10 44 49 53 50 5f 43 48 41 4e 47 45 5f 42 41 44 44  DISP_CHANGE_BADD
30c20 55 41 4c 56 49 45 57 20 3d 20 2d 36 20 7d 0d 0a  UALVIEW = -6 }..
30c30 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49  // #endif /* _WI
30c40 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30  N32_WINNT >= 0x0
30c50 35 30 31 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66  501 */....// #if
30c60 64 65 66 20 5f 57 49 4e 47 44 49 5f 0d 0a 2f 2f  def _WINGDI_..//
30c70 20 23 69 66 6e 64 65 66 20 4e 4f 47 44 49 0d 0a   #ifndef NOGDI..
30c80 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66  ..// .....// #if
30c90 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
30ca0 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
30cb0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
30cc0 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
30cd0 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66  ..// .....// #if
30ce0 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
30cf0 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
30d00 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
30d10 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
30d20 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
30d30 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  ......// .....//
30d40 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
30d50 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
30d60 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
30d70 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
30d80 44 45 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e  DE....// #if(WIN
30d90 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a  VER >= 0x0500)..
30da0 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66  ..// .....// #if
30db0 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
30dc0 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
30dd0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
30de0 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
30df0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ..// #.......// 
30e00 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  .....// #ifdef U
30e10 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
30e20 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
30e30 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
30e40 20 21 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 65   !UNICODE..// #e
30e50 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e  ndif /* WINVER >
30e60 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f  = 0x0500 */..../
30e70 2f 20 23 65 6e 64 69 66 20 2f 2a 20 4e 4f 47 44  / #endif /* NOGD
30e80 49 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  I */..// #endif 
30e90 2f 2a 20 5f 57 49 4e 47 44 49 5f 20 2a 2f 0d 0a  /* _WINGDI_ */..
30ea0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
30eb0 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 79  ) export BOOL Sy
30ec0 73 74 65 6d 50 61 72 61 6d 65 74 65 72 73 49 6e  stemParametersIn
30ed0 66 6f 41 28 0d 0a 20 20 55 49 4e 54 20 75 69 41  foA(..  UINT uiA
30ee0 63 74 69 6f 6e 2c 0d 0a 20 20 55 49 4e 54 20 75  ction,..  UINT u
30ef0 69 50 61 72 61 6d 2c 0d 0a 20 20 50 56 4f 49 44  iParam,..  PVOID
30f00 20 70 76 50 61 72 61 6d 2c 0d 0a 20 20 55 49 4e   pvParam,..  UIN
30f10 54 20 66 57 69 6e 49 6e 69 29 3b 0d 0a 65 78 74  T fWinIni);..ext
30f20 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
30f30 6f 72 74 20 42 4f 4f 4c 20 53 79 73 74 65 6d 50  ort BOOL SystemP
30f40 61 72 61 6d 65 74 65 72 73 49 6e 66 6f 57 28 0d  arametersInfoW(.
30f50 0a 20 20 55 49 4e 54 20 75 69 41 63 74 69 6f 6e  .  UINT uiAction
30f60 2c 0d 0a 20 20 55 49 4e 54 20 75 69 50 61 72 61  ,..  UINT uiPara
30f70 6d 2c 0d 0a 20 20 50 56 4f 49 44 20 70 76 50 61  m,..  PVOID pvPa
30f80 72 61 6d 2c 0d 0a 20 20 55 49 4e 54 20 66 57 69  ram,..  UINT fWi
30f90 6e 49 6e 69 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  nIni);..// #ifde
30fa0 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
30fb0 20 53 79 73 74 65 6d 50 61 72 61 6d 65 74 65 72   SystemParameter
30fc0 73 49 6e 66 6f 57 20 53 79 73 74 65 6d 50 61 72  sInfoW SystemPar
30fd0 61 6d 65 74 65 72 73 49 6e 66 6f 3b 0d 0a 2f 2f  ametersInfo;..//
30fe0 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
30ff0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
31000 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6e  NICODE....// #en
31010 64 69 66 20 20 2f 2a 20 21 4e 4f 53 59 53 50 41  dif  /* !NOSYSPA
31020 52 41 4d 53 49 4e 46 4f 20 20 2a 2f 0d 0a 0d 0a  RAMSINFO  */....
31030 73 74 72 75 63 74 20 74 61 67 46 49 4c 54 45 52  struct tagFILTER
31040 4b 45 59 53 20 7b 0d 0a 20 20 55 49 4e 54 20 63  KEYS {..  UINT c
31050 62 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20  bSize;..  DWORD 
31060 64 77 46 6c 61 67 73 3b 0d 0a 20 20 44 57 4f 52  dwFlags;..  DWOR
31070 44 20 69 57 61 69 74 4d 53 65 63 3b 0d 0a 20 20  D iWaitMSec;..  
31080 44 57 4f 52 44 20 69 44 65 6c 61 79 4d 53 65 63  DWORD iDelayMSec
31090 3b 0d 0a 20 20 44 57 4f 52 44 20 69 52 65 70 65  ;..  DWORD iRepe
310a0 61 74 4d 53 65 63 3b 0d 0a 20 20 44 57 4f 52 44  atMSec;..  DWORD
310b0 20 69 42 6f 75 6e 63 65 4d 53 65 63 3b 0d 0a 7d   iBounceMSec;..}
310c0 0d 0a 61 6c 69 61 73 20 74 61 67 46 49 4c 54 45  ..alias tagFILTE
310d0 52 4b 45 59 53 20 46 49 4c 54 45 52 4b 45 59 53  RKEYS FILTERKEYS
310e0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 46 49 4c 54  ;..alias tagFILT
310f0 45 52 4b 45 59 53 2a 20 4c 50 46 49 4c 54 45 52  ERKEYS* LPFILTER
31100 4b 45 59 53 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  KEYS;....enum : 
31110 75 69 6e 74 20 7b 20 46 4b 46 5f 46 49 4c 54 45  uint { FKF_FILTE
31120 52 4b 45 59 53 4f 4e 20 3d 20 30 78 30 30 30 30  RKEYSON = 0x0000
31130 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
31140 69 6e 74 20 7b 20 46 4b 46 5f 41 56 41 49 4c 41  int { FKF_AVAILA
31150 42 4c 45 20 3d 20 30 78 30 30 30 30 30 30 30 32  BLE = 0x00000002
31160 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
31170 7b 20 46 4b 46 5f 48 4f 54 4b 45 59 41 43 54 49  { FKF_HOTKEYACTI
31180 56 45 20 3d 20 30 78 30 30 30 30 30 30 30 34 20  VE = 0x00000004 
31190 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
311a0 20 46 4b 46 5f 43 4f 4e 46 49 52 4d 48 4f 54 4b   FKF_CONFIRMHOTK
311b0 45 59 20 3d 20 30 78 30 30 30 30 30 30 30 38 20  EY = 0x00000008 
311c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
311d0 20 46 4b 46 5f 48 4f 54 4b 45 59 53 4f 55 4e 44   FKF_HOTKEYSOUND
311e0 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d   = 0x00000010 }.
311f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46  .enum : uint { F
31200 4b 46 5f 49 4e 44 49 43 41 54 4f 52 20 3d 20 30  KF_INDICATOR = 0
31210 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75  x00000020 }..enu
31220 6d 20 3a 20 75 69 6e 74 20 7b 20 46 4b 46 5f 43  m : uint { FKF_C
31230 4c 49 43 4b 4f 4e 20 3d 20 30 78 30 30 30 30 30  LICKON = 0x00000
31240 30 34 30 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20  040 }....struct 
31250 74 61 67 53 54 49 43 4b 59 4b 45 59 53 20 7b 0d  tagSTICKYKEYS {.
31260 0a 20 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d  .  UINT cbSize;.
31270 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73  .  DWORD dwFlags
31280 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 53  ;..}..alias tagS
31290 54 49 43 4b 59 4b 45 59 53 20 53 54 49 43 4b 59  TICKYKEYS STICKY
312a0 4b 45 59 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67  KEYS;..alias tag
312b0 53 54 49 43 4b 59 4b 45 59 53 2a 20 4c 50 53 54  STICKYKEYS* LPST
312c0 49 43 4b 59 4b 45 59 53 3b 0d 0a 0d 0a 65 6e 75  ICKYKEYS;....enu
312d0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4b 46 5f 53  m : uint { SKF_S
312e0 54 49 43 4b 59 4b 45 59 53 4f 4e 20 3d 20 30 78  TICKYKEYSON = 0x
312f0 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  00000001 }..enum
31300 20 3a 20 75 69 6e 74 20 7b 20 53 4b 46 5f 41 56   : uint { SKF_AV
31310 41 49 4c 41 42 4c 45 20 3d 20 30 78 30 30 30 30  AILABLE = 0x0000
31320 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
31330 69 6e 74 20 7b 20 53 4b 46 5f 48 4f 54 4b 45 59  int { SKF_HOTKEY
31340 41 43 54 49 56 45 20 3d 20 30 78 30 30 30 30 30  ACTIVE = 0x00000
31350 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
31360 6e 74 20 7b 20 53 4b 46 5f 43 4f 4e 46 49 52 4d  nt { SKF_CONFIRM
31370 48 4f 54 4b 45 59 20 3d 20 30 78 30 30 30 30 30  HOTKEY = 0x00000
31380 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
31390 6e 74 20 7b 20 53 4b 46 5f 48 4f 54 4b 45 59 53  nt { SKF_HOTKEYS
313a0 4f 55 4e 44 20 3d 20 30 78 30 30 30 30 30 30 31  OUND = 0x0000001
313b0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
313c0 20 7b 20 53 4b 46 5f 49 4e 44 49 43 41 54 4f 52   { SKF_INDICATOR
313d0 20 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d   = 0x00000020 }.
313e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
313f0 4b 46 5f 41 55 44 49 42 4c 45 46 45 45 44 42 41  KF_AUDIBLEFEEDBA
31400 43 4b 20 3d 20 30 78 30 30 30 30 30 30 34 30 20  CK = 0x00000040 
31410 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
31420 20 53 4b 46 5f 54 52 49 53 54 41 54 45 20 3d 20   SKF_TRISTATE = 
31430 30 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 65 6e  0x00000080 }..en
31440 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4b 46 5f  um : uint { SKF_
31450 54 57 4f 4b 45 59 53 4f 46 46 20 3d 20 30 78 30  TWOKEYSOFF = 0x0
31460 30 30 30 30 31 30 30 20 7d 0d 0a 2f 2f 20 23 69  0000100 }..// #i
31470 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e  f(_WIN32_WINNT >
31480 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0500)..enum 
31490 3a 20 75 69 6e 74 20 7b 20 53 4b 46 5f 4c 41 4c  : uint { SKF_LAL
314a0 54 4c 41 54 43 48 45 44 20 3d 20 30 78 31 30 30  TLATCHED = 0x100
314b0 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
314c0 75 69 6e 74 20 7b 20 53 4b 46 5f 4c 43 54 4c 4c  uint { SKF_LCTLL
314d0 41 54 43 48 45 44 20 3d 20 30 78 30 34 30 30 30  ATCHED = 0x04000
314e0 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
314f0 6e 74 20 7b 20 53 4b 46 5f 4c 53 48 49 46 54 4c  nt { SKF_LSHIFTL
31500 41 54 43 48 45 44 20 3d 20 30 78 30 31 30 30 30  ATCHED = 0x01000
31510 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
31520 6e 74 20 7b 20 53 4b 46 5f 52 41 4c 54 4c 41 54  nt { SKF_RALTLAT
31530 43 48 45 44 20 3d 20 30 78 32 30 30 30 30 30 30  CHED = 0x2000000
31540 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
31550 20 7b 20 53 4b 46 5f 52 43 54 4c 4c 41 54 43 48   { SKF_RCTLLATCH
31560 45 44 20 3d 20 30 78 30 38 30 30 30 30 30 30 20  ED = 0x08000000 
31570 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
31580 20 53 4b 46 5f 52 53 48 49 46 54 4c 41 54 43 48   SKF_RSHIFTLATCH
31590 45 44 20 3d 20 30 78 30 32 30 30 30 30 30 30 20  ED = 0x02000000 
315a0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
315b0 20 53 4b 46 5f 4c 57 49 4e 4c 41 54 43 48 45 44   SKF_LWINLATCHED
315c0 20 3d 20 30 78 34 30 30 30 30 30 30 30 20 7d 0d   = 0x40000000 }.
315d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
315e0 4b 46 5f 52 57 49 4e 4c 41 54 43 48 45 44 20 3d  KF_RWINLATCHED =
315f0 20 30 78 38 30 30 30 30 30 30 30 20 7d 0d 0a 65   0x80000000 }..e
31600 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4b 46  num : uint { SKF
31610 5f 4c 41 4c 54 4c 4f 43 4b 45 44 20 3d 20 30 78  _LALTLOCKED = 0x
31620 30 30 31 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00100000 }..enum
31630 20 3a 20 75 69 6e 74 20 7b 20 53 4b 46 5f 4c 43   : uint { SKF_LC
31640 54 4c 4c 4f 43 4b 45 44 20 3d 20 30 78 30 30 30  TLLOCKED = 0x000
31650 34 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  40000 }..enum : 
31660 75 69 6e 74 20 7b 20 53 4b 46 5f 4c 53 48 49 46  uint { SKF_LSHIF
31670 54 4c 4f 43 4b 45 44 20 3d 20 30 78 30 30 30 31  TLOCKED = 0x0001
31680 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
31690 69 6e 74 20 7b 20 53 4b 46 5f 52 41 4c 54 4c 4f  int { SKF_RALTLO
316a0 43 4b 45 44 20 3d 20 30 78 30 30 32 30 30 30 30  CKED = 0x0020000
316b0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
316c0 20 7b 20 53 4b 46 5f 52 43 54 4c 4c 4f 43 4b 45   { SKF_RCTLLOCKE
316d0 44 20 3d 20 30 78 30 30 30 38 30 30 30 30 20 7d  D = 0x00080000 }
316e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
316f0 53 4b 46 5f 52 53 48 49 46 54 4c 4f 43 4b 45 44  SKF_RSHIFTLOCKED
31700 20 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d   = 0x00020000 }.
31710 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
31720 4b 46 5f 4c 57 49 4e 4c 4f 43 4b 45 44 20 3d 20  KF_LWINLOCKED = 
31730 30 78 30 30 34 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00400000 }..en
31740 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4b 46 5f  um : uint { SKF_
31750 52 57 49 4e 4c 4f 43 4b 45 44 20 3d 20 30 78 30  RWINLOCKED = 0x0
31760 30 38 30 30 30 30 30 20 7d 0d 0a 2f 2f 20 23 65  0800000 }..// #e
31770 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32 5f 57  ndif /* _WIN32_W
31780 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 20 2a  INNT >= 0x0500 *
31790 2f 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d  /....struct tagM
317a0 4f 55 53 45 4b 45 59 53 20 7b 0d 0a 20 20 55 49  OUSEKEYS {..  UI
317b0 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 44 57  NT cbSize;..  DW
317c0 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a 20 20  ORD dwFlags;..  
317d0 44 57 4f 52 44 20 69 4d 61 78 53 70 65 65 64 3b  DWORD iMaxSpeed;
317e0 0d 0a 20 20 44 57 4f 52 44 20 69 54 69 6d 65 54  ..  DWORD iTimeT
317f0 6f 4d 61 78 53 70 65 65 64 3b 0d 0a 20 20 44 57  oMaxSpeed;..  DW
31800 4f 52 44 20 69 43 74 72 6c 53 70 65 65 64 3b 0d  ORD iCtrlSpeed;.
31810 0a 20 20 44 57 4f 52 44 20 64 77 52 65 73 65 72  .  DWORD dwReser
31820 76 65 64 31 3b 0d 0a 20 20 44 57 4f 52 44 20 64  ved1;..  DWORD d
31830 77 52 65 73 65 72 76 65 64 32 3b 0d 0a 7d 0d 0a  wReserved2;..}..
31840 61 6c 69 61 73 20 74 61 67 4d 4f 55 53 45 4b 45  alias tagMOUSEKE
31850 59 53 20 4d 4f 55 53 45 4b 45 59 53 3b 0d 0a 61  YS MOUSEKEYS;..a
31860 6c 69 61 73 20 74 61 67 4d 4f 55 53 45 4b 45 59  lias tagMOUSEKEY
31870 53 2a 20 4c 50 4d 4f 55 53 45 4b 45 59 53 3b 0d  S* LPMOUSEKEYS;.
31880 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
31890 20 4d 4b 46 5f 4d 4f 55 53 45 4b 45 59 53 4f 4e   MKF_MOUSEKEYSON
318a0 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d   = 0x00000001 }.
318b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
318c0 4b 46 5f 41 56 41 49 4c 41 42 4c 45 20 3d 20 30  KF_AVAILABLE = 0
318d0 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75  x00000002 }..enu
318e0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4b 46 5f 48  m : uint { MKF_H
318f0 4f 54 4b 45 59 41 43 54 49 56 45 20 3d 20 30 78  OTKEYACTIVE = 0x
31900 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d  00000004 }..enum
31910 20 3a 20 75 69 6e 74 20 7b 20 4d 4b 46 5f 43 4f   : uint { MKF_CO
31920 4e 46 49 52 4d 48 4f 54 4b 45 59 20 3d 20 30 78  NFIRMHOTKEY = 0x
31930 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d  00000008 }..enum
31940 20 3a 20 75 69 6e 74 20 7b 20 4d 4b 46 5f 48 4f   : uint { MKF_HO
31950 54 4b 45 59 53 4f 55 4e 44 20 3d 20 30 78 30 30  TKEYSOUND = 0x00
31960 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000010 }..enum :
31970 20 75 69 6e 74 20 7b 20 4d 4b 46 5f 49 4e 44 49   uint { MKF_INDI
31980 43 41 54 4f 52 20 3d 20 30 78 30 30 30 30 30 30  CATOR = 0x000000
31990 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  20 }..enum : uin
319a0 74 20 7b 20 4d 4b 46 5f 4d 4f 44 49 46 49 45 52  t { MKF_MODIFIER
319b0 53 20 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d  S = 0x00000040 }
319c0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
319d0 4d 4b 46 5f 52 45 50 4c 41 43 45 4e 55 4d 42 45  MKF_REPLACENUMBE
319e0 52 53 20 3d 20 30 78 30 30 30 30 30 30 38 30 20  RS = 0x00000080 
319f0 7d 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32  }..// #if(_WIN32
31a00 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30  _WINNT >= 0x0500
31a10 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
31a20 20 4d 4b 46 5f 4c 45 46 54 42 55 54 54 4f 4e 53   MKF_LEFTBUTTONS
31a30 45 4c 20 3d 20 30 78 31 30 30 30 30 30 30 30 20  EL = 0x10000000 
31a40 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
31a50 20 4d 4b 46 5f 52 49 47 48 54 42 55 54 54 4f 4e   MKF_RIGHTBUTTON
31a60 53 45 4c 20 3d 20 30 78 32 30 30 30 30 30 30 30  SEL = 0x20000000
31a70 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
31a80 7b 20 4d 4b 46 5f 4c 45 46 54 42 55 54 54 4f 4e  { MKF_LEFTBUTTON
31a90 44 4f 57 4e 20 3d 20 30 78 30 31 30 30 30 30 30  DOWN = 0x0100000
31aa0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
31ab0 20 7b 20 4d 4b 46 5f 52 49 47 48 54 42 55 54 54   { MKF_RIGHTBUTT
31ac0 4f 4e 44 4f 57 4e 20 3d 20 30 78 30 32 30 30 30  ONDOWN = 0x02000
31ad0 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
31ae0 6e 74 20 7b 20 4d 4b 46 5f 4d 4f 55 53 45 4d 4f  nt { MKF_MOUSEMO
31af0 44 45 20 3d 20 30 78 38 30 30 30 30 30 30 30 20  DE = 0x80000000 
31b00 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  }..// #endif /* 
31b10 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
31b20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 73 74 72  0x0500 */....str
31b30 75 63 74 20 74 61 67 41 43 43 45 53 53 54 49 4d  uct tagACCESSTIM
31b40 45 4f 55 54 20 7b 0d 0a 20 20 55 49 4e 54 20 63  EOUT {..  UINT c
31b50 62 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20  bSize;..  DWORD 
31b60 64 77 46 6c 61 67 73 3b 0d 0a 20 20 44 57 4f 52  dwFlags;..  DWOR
31b70 44 20 69 54 69 6d 65 4f 75 74 4d 53 65 63 3b 0d  D iTimeOutMSec;.
31b80 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 41 43 43  .}..alias tagACC
31b90 45 53 53 54 49 4d 45 4f 55 54 20 41 43 43 45 53  ESSTIMEOUT ACCES
31ba0 53 54 49 4d 45 4f 55 54 3b 0d 0a 61 6c 69 61 73  STIMEOUT;..alias
31bb0 20 74 61 67 41 43 43 45 53 53 54 49 4d 45 4f 55   tagACCESSTIMEOU
31bc0 54 2a 20 4c 50 41 43 43 45 53 53 54 49 4d 45 4f  T* LPACCESSTIMEO
31bd0 55 54 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  UT;....enum : ui
31be0 6e 74 20 7b 20 41 54 46 5f 54 49 4d 45 4f 55 54  nt { ATF_TIMEOUT
31bf0 4f 4e 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  ON = 0x00000001 
31c00 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
31c10 20 41 54 46 5f 4f 4e 4f 46 46 46 45 45 44 42 41   ATF_ONOFFFEEDBA
31c20 43 4b 20 3d 20 30 78 30 30 30 30 30 30 30 32 20  CK = 0x00000002 
31c30 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
31c40 20 7b 20 53 53 47 46 5f 4e 4f 4e 45 20 3d 20 30   { SSGF_NONE = 0
31c50 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
31c60 7b 20 53 53 47 46 5f 44 49 53 50 4c 41 59 20 3d  { SSGF_DISPLAY =
31c70 20 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75   3 }....enum : u
31c80 69 6e 74 20 7b 20 53 53 54 46 5f 4e 4f 4e 45 20  int { SSTF_NONE 
31c90 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 0 }..enum : ui
31ca0 6e 74 20 7b 20 53 53 54 46 5f 43 48 41 52 53 20  nt { SSTF_CHARS 
31cb0 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 1 }..enum : ui
31cc0 6e 74 20 7b 20 53 53 54 46 5f 42 4f 52 44 45 52  nt { SSTF_BORDER
31cd0 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 2 }..enum : u
31ce0 69 6e 74 20 7b 20 53 53 54 46 5f 44 49 53 50 4c  int { SSTF_DISPL
31cf0 41 59 20 3d 20 33 20 7d 0d 0a 0d 0a 65 6e 75 6d  AY = 3 }....enum
31d00 20 3a 20 75 69 6e 74 20 7b 20 53 53 57 46 5f 4e   : uint { SSWF_N
31d10 4f 4e 45 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20  ONE = 0 }..enum 
31d20 3a 20 75 69 6e 74 20 7b 20 53 53 57 46 5f 54 49  : uint { SSWF_TI
31d30 54 4c 45 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20  TLE = 1 }..enum 
31d40 3a 20 75 69 6e 74 20 7b 20 53 53 57 46 5f 57 49  : uint { SSWF_WI
31d50 4e 44 4f 57 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d  NDOW = 2 }..enum
31d60 20 3a 20 75 69 6e 74 20 7b 20 53 53 57 46 5f 44   : uint { SSWF_D
31d70 49 53 50 4c 41 59 20 3d 20 33 20 7d 0d 0a 65 6e  ISPLAY = 3 }..en
31d80 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 53 57 46  um : uint { SSWF
31d90 5f 43 55 53 54 4f 4d 20 3d 20 34 20 7d 0d 0a 0d  _CUSTOM = 4 }...
31da0 0a 73 74 72 75 63 74 20 74 61 67 53 4f 55 4e 44  .struct tagSOUND
31db0 53 45 4e 54 52 59 41 20 7b 0d 0a 20 20 55 49 4e  SENTRYA {..  UIN
31dc0 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 44 57 4f  T cbSize;..  DWO
31dd0 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a 20 20 44  RD dwFlags;..  D
31de0 57 4f 52 44 20 69 46 53 54 65 78 74 45 66 66 65  WORD iFSTextEffe
31df0 63 74 3b 0d 0a 20 20 44 57 4f 52 44 20 69 46 53  ct;..  DWORD iFS
31e00 54 65 78 74 45 66 66 65 63 74 4d 53 65 63 3b 0d  TextEffectMSec;.
31e10 0a 20 20 44 57 4f 52 44 20 69 46 53 54 65 78 74  .  DWORD iFSText
31e20 45 66 66 65 63 74 43 6f 6c 6f 72 42 69 74 73 3b  EffectColorBits;
31e30 0d 0a 20 20 44 57 4f 52 44 20 69 46 53 47 72 61  ..  DWORD iFSGra
31e40 66 45 66 66 65 63 74 3b 0d 0a 20 20 44 57 4f 52  fEffect;..  DWOR
31e50 44 20 69 46 53 47 72 61 66 45 66 66 65 63 74 4d  D iFSGrafEffectM
31e60 53 65 63 3b 0d 0a 20 20 44 57 4f 52 44 20 69 46  Sec;..  DWORD iF
31e70 53 47 72 61 66 45 66 66 65 63 74 43 6f 6c 6f 72  SGrafEffectColor
31e80 3b 0d 0a 20 20 44 57 4f 52 44 20 69 57 69 6e 64  ;..  DWORD iWind
31e90 6f 77 73 45 66 66 65 63 74 3b 0d 0a 20 20 44 57  owsEffect;..  DW
31ea0 4f 52 44 20 69 57 69 6e 64 6f 77 73 45 66 66 65  ORD iWindowsEffe
31eb0 63 74 4d 53 65 63 3b 0d 0a 20 20 4c 50 53 54 52  ctMSec;..  LPSTR
31ec0 20 6c 70 73 7a 57 69 6e 64 6f 77 73 45 66 66 65   lpszWindowsEffe
31ed0 63 74 44 4c 4c 3b 0d 0a 20 20 44 57 4f 52 44 20  ctDLL;..  DWORD 
31ee0 69 57 69 6e 64 6f 77 73 45 66 66 65 63 74 4f 72  iWindowsEffectOr
31ef0 64 69 6e 61 6c 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  dinal;..}..alias
31f00 20 74 61 67 53 4f 55 4e 44 53 45 4e 54 52 59 41   tagSOUNDSENTRYA
31f10 20 53 4f 55 4e 44 53 45 4e 54 52 59 41 3b 0d 0a   SOUNDSENTRYA;..
31f20 61 6c 69 61 73 20 74 61 67 53 4f 55 4e 44 53 45  alias tagSOUNDSE
31f30 4e 54 52 59 41 2a 20 4c 50 53 4f 55 4e 44 53 45  NTRYA* LPSOUNDSE
31f40 4e 54 52 59 41 3b 0d 0a 0d 0a 73 74 72 75 63 74  NTRYA;....struct
31f50 20 74 61 67 53 4f 55 4e 44 53 45 4e 54 52 59 57   tagSOUNDSENTRYW
31f60 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53 69 7a   {..  UINT cbSiz
31f70 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c  e;..  DWORD dwFl
31f80 61 67 73 3b 0d 0a 20 20 44 57 4f 52 44 20 69 46  ags;..  DWORD iF
31f90 53 54 65 78 74 45 66 66 65 63 74 3b 0d 0a 20 20  STextEffect;..  
31fa0 44 57 4f 52 44 20 69 46 53 54 65 78 74 45 66 66  DWORD iFSTextEff
31fb0 65 63 74 4d 53 65 63 3b 0d 0a 20 20 44 57 4f 52  ectMSec;..  DWOR
31fc0 44 20 69 46 53 54 65 78 74 45 66 66 65 63 74 43  D iFSTextEffectC
31fd0 6f 6c 6f 72 42 69 74 73 3b 0d 0a 20 20 44 57 4f  olorBits;..  DWO
31fe0 52 44 20 69 46 53 47 72 61 66 45 66 66 65 63 74  RD iFSGrafEffect
31ff0 3b 0d 0a 20 20 44 57 4f 52 44 20 69 46 53 47 72  ;..  DWORD iFSGr
32000 61 66 45 66 66 65 63 74 4d 53 65 63 3b 0d 0a 20  afEffectMSec;.. 
32010 20 44 57 4f 52 44 20 69 46 53 47 72 61 66 45 66   DWORD iFSGrafEf
32020 66 65 63 74 43 6f 6c 6f 72 3b 0d 0a 20 20 44 57  fectColor;..  DW
32030 4f 52 44 20 69 57 69 6e 64 6f 77 73 45 66 66 65  ORD iWindowsEffe
32040 63 74 3b 0d 0a 20 20 44 57 4f 52 44 20 69 57 69  ct;..  DWORD iWi
32050 6e 64 6f 77 73 45 66 66 65 63 74 4d 53 65 63 3b  ndowsEffectMSec;
32060 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70 73 7a 57  ..  LPWSTR lpszW
32070 69 6e 64 6f 77 73 45 66 66 65 63 74 44 4c 4c 3b  indowsEffectDLL;
32080 0d 0a 20 20 44 57 4f 52 44 20 69 57 69 6e 64 6f  ..  DWORD iWindo
32090 77 73 45 66 66 65 63 74 4f 72 64 69 6e 61 6c 3b  wsEffectOrdinal;
320a0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 53 4f  ..}..alias tagSO
320b0 55 4e 44 53 45 4e 54 52 59 57 20 53 4f 55 4e 44  UNDSENTRYW SOUND
320c0 53 45 4e 54 52 59 57 3b 0d 0a 61 6c 69 61 73 20  SENTRYW;..alias 
320d0 74 61 67 53 4f 55 4e 44 53 45 4e 54 52 59 57 2a  tagSOUNDSENTRYW*
320e0 20 4c 50 53 4f 55 4e 44 53 45 4e 54 52 59 57 3b   LPSOUNDSENTRYW;
320f0 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
32100 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 53 4f 55  ICODE..alias SOU
32110 4e 44 53 45 4e 54 52 59 57 20 53 4f 55 4e 44 53  NDSENTRYW SOUNDS
32120 45 4e 54 52 59 3b 0d 0a 61 6c 69 61 73 20 4c 50  ENTRY;..alias LP
32130 53 4f 55 4e 44 53 45 4e 54 52 59 57 20 4c 50 53  SOUNDSENTRYW LPS
32140 4f 55 4e 44 53 45 4e 54 52 59 3b 0d 0a 2f 2f 20  OUNDSENTRY;..// 
32150 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  #else..// ...../
32160 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43  / #endif // UNIC
32170 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  ODE....enum : ui
32180 6e 74 20 7b 20 53 53 46 5f 53 4f 55 4e 44 53 45  nt { SSF_SOUNDSE
32190 4e 54 52 59 4f 4e 20 3d 20 30 78 30 30 30 30 30  NTRYON = 0x00000
321a0 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
321b0 6e 74 20 7b 20 53 53 46 5f 41 56 41 49 4c 41 42  nt { SSF_AVAILAB
321c0 4c 45 20 3d 20 30 78 30 30 30 30 30 30 30 32 20  LE = 0x00000002 
321d0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
321e0 20 53 53 46 5f 49 4e 44 49 43 41 54 4f 52 20 3d   SSF_INDICATOR =
321f0 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 0d   0x00000004 }...
32200 0a 73 74 72 75 63 74 20 74 61 67 54 4f 47 47 4c  .struct tagTOGGL
32210 45 4b 45 59 53 20 7b 0d 0a 20 20 55 49 4e 54 20  EKEYS {..  UINT 
32220 63 62 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44  cbSize;..  DWORD
32230 20 64 77 46 6c 61 67 73 3b 0d 0a 7d 0d 0a 61 6c   dwFlags;..}..al
32240 69 61 73 20 74 61 67 54 4f 47 47 4c 45 4b 45 59  ias tagTOGGLEKEY
32250 53 20 54 4f 47 47 4c 45 4b 45 59 53 3b 0d 0a 61  S TOGGLEKEYS;..a
32260 6c 69 61 73 20 74 61 67 54 4f 47 47 4c 45 4b 45  lias tagTOGGLEKE
32270 59 53 2a 20 4c 50 54 4f 47 47 4c 45 4b 45 59 53  YS* LPTOGGLEKEYS
32280 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  ;....enum : uint
32290 20 7b 20 54 4b 46 5f 54 4f 47 47 4c 45 4b 45 59   { TKF_TOGGLEKEY
322a0 53 4f 4e 20 3d 20 30 78 30 30 30 30 30 30 30 31  SON = 0x00000001
322b0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
322c0 7b 20 54 4b 46 5f 41 56 41 49 4c 41 42 4c 45 20  { TKF_AVAILABLE 
322d0 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a  = 0x00000002 }..
322e0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4b  enum : uint { TK
322f0 46 5f 48 4f 54 4b 45 59 41 43 54 49 56 45 20 3d  F_HOTKEYACTIVE =
32300 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65   0x00000004 }..e
32310 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4b 46  num : uint { TKF
32320 5f 43 4f 4e 46 49 52 4d 48 4f 54 4b 45 59 20 3d  _CONFIRMHOTKEY =
32330 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65   0x00000008 }..e
32340 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4b 46  num : uint { TKF
32350 5f 48 4f 54 4b 45 59 53 4f 55 4e 44 20 3d 20 30  _HOTKEYSOUND = 0
32360 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75  x00000010 }..enu
32370 6d 20 3a 20 75 69 6e 74 20 7b 20 54 4b 46 5f 49  m : uint { TKF_I
32380 4e 44 49 43 41 54 4f 52 20 3d 20 30 78 30 30 30  NDICATOR = 0x000
32390 30 30 30 32 30 20 7d 0d 0a 0d 0a 65 78 74 65 72  00020 }....exter
323a0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
323b0 74 20 56 4f 49 44 20 53 65 74 44 65 62 75 67 45  t VOID SetDebugE
323c0 72 72 6f 72 4c 65 76 65 6c 28 0d 0a 20 20 44 57  rrorLevel(..  DW
323d0 4f 52 44 20 64 77 4c 65 76 65 6c 29 3b 0d 0a 0d  ORD dwLevel);...
323e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
323f0 4c 45 5f 45 52 52 4f 52 20 3d 20 30 78 30 30 30  LE_ERROR = 0x000
32400 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00001 }..enum : 
32410 75 69 6e 74 20 7b 20 53 4c 45 5f 4d 49 4e 4f 52  uint { SLE_MINOR
32420 45 52 52 4f 52 20 3d 20 30 78 30 30 30 30 30 30  ERROR = 0x000000
32430 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
32440 74 20 7b 20 53 4c 45 5f 57 41 52 4e 49 4e 47 20  t { SLE_WARNING 
32450 3d 20 30 78 30 30 30 30 30 30 30 33 20 7d 0d 0a  = 0x00000003 }..
32460 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
32470 29 20 65 78 70 6f 72 74 20 56 4f 49 44 20 53 65  ) export VOID Se
32480 74 4c 61 73 74 45 72 72 6f 72 45 78 28 0d 0a 20  tLastErrorEx(.. 
32490 20 44 57 4f 52 44 20 64 77 45 72 72 43 6f 64 65   DWORD dwErrCode
324a0 2c 0d 0a 20 20 44 57 4f 52 44 20 64 77 54 79 70  ,..  DWORD dwTyp
324b0 65 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49  e);....// #if(WI
324c0 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d  NVER >= 0x0500).
324d0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
324e0 20 4d 4f 4e 49 54 4f 52 5f 44 45 46 41 55 4c 54   MONITOR_DEFAULT
324f0 54 4f 4e 55 4c 4c 20 3d 20 30 78 30 30 30 30 30  TONULL = 0x00000
32500 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
32510 6e 74 20 7b 20 4d 4f 4e 49 54 4f 52 5f 44 45 46  nt { MONITOR_DEF
32520 41 55 4c 54 54 4f 50 52 49 4d 41 52 59 20 3d 20  AULTTOPRIMARY = 
32530 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e  0x00000001 }..en
32540 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4f 4e 49  um : uint { MONI
32550 54 4f 52 5f 44 45 46 41 55 4c 54 54 4f 4e 45 41  TOR_DEFAULTTONEA
32560 52 45 53 54 20 3d 20 30 78 30 30 30 30 30 30 30  REST = 0x0000000
32570 32 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  2 }....extern(Wi
32580 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 4d  ndows) export HM
32590 4f 4e 49 54 4f 52 20 4d 6f 6e 69 74 6f 72 46 72  ONITOR MonitorFr
325a0 6f 6d 50 6f 69 6e 74 28 0d 0a 20 20 50 4f 49 4e  omPoint(..  POIN
325b0 54 20 70 74 2c 0d 0a 20 20 44 57 4f 52 44 20 64  T pt,..  DWORD d
325c0 77 46 6c 61 67 73 29 3b 0d 0a 0d 0a 65 78 74 65  wFlags);....exte
325d0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
325e0 72 74 20 48 4d 4f 4e 49 54 4f 52 20 4d 6f 6e 69  rt HMONITOR Moni
325f0 74 6f 72 46 72 6f 6d 52 65 63 74 28 0d 0a 20 20  torFromRect(..  
32600 4c 50 43 52 45 43 54 20 6c 70 72 63 2c 0d 0a 20  LPCRECT lprc,.. 
32610 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 29 3b   DWORD dwFlags);
32620 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
32630 77 73 29 20 65 78 70 6f 72 74 20 48 4d 4f 4e 49  ws) export HMONI
32640 54 4f 52 20 4d 6f 6e 69 74 6f 72 46 72 6f 6d 57  TOR MonitorFromW
32650 69 6e 64 6f 77 28 48 57 4e 44 20 68 77 6e 64 2c  indow(HWND hwnd,
32660 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 29 3b   DWORD dwFlags);
32670 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
32680 7b 20 4d 4f 4e 49 54 4f 52 49 4e 46 4f 46 5f 50  { MONITORINFOF_P
32690 52 49 4d 41 52 59 20 3d 20 30 78 30 30 30 30 30  RIMARY = 0x00000
326a0 30 30 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  001 }....// #ifn
326b0 64 65 66 20 43 43 48 44 45 56 49 43 45 4e 41 4d  def CCHDEVICENAM
326c0 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
326d0 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20  endif....struct 
326e0 74 61 67 4d 4f 4e 49 54 4f 52 49 4e 46 4f 20 7b  tagMONITORINFO {
326f0 0d 0a 20 20 44 57 4f 52 44 20 63 62 53 69 7a 65  ..  DWORD cbSize
32700 3b 0d 0a 20 20 52 45 43 54 20 72 63 4d 6f 6e 69  ;..  RECT rcMoni
32710 74 6f 72 3b 0d 0a 20 20 52 45 43 54 20 72 63 57  tor;..  RECT rcW
32720 6f 72 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  ork;..  DWORD dw
32730 46 6c 61 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  Flags;..}..alias
32740 20 74 61 67 4d 4f 4e 49 54 4f 52 49 4e 46 4f 20   tagMONITORINFO 
32750 4d 4f 4e 49 54 4f 52 49 4e 46 4f 3b 0d 0a 61 6c  MONITORINFO;..al
32760 69 61 73 20 74 61 67 4d 4f 4e 49 54 4f 52 49 4e  ias tagMONITORIN
32770 46 4f 2a 20 4c 50 4d 4f 4e 49 54 4f 52 49 4e 46  FO* LPMONITORINF
32780 4f 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  O;....// #ifdef 
32790 5f 5f 63 70 6c 75 73 70 6c 75 73 0d 0a 73 74 72  __cplusplus..str
327a0 75 63 74 20 74 61 67 4d 4f 4e 49 54 4f 52 49 4e  uct tagMONITORIN
327b0 46 4f 45 58 41 20 7b 0d 0a 20 20 44 57 4f 52 44  FOEXA {..  DWORD
327c0 20 20 20 63 62 53 69 7a 65 3b 0d 0a 20 20 52 45     cbSize;..  RE
327d0 43 54 20 20 20 20 72 63 4d 6f 6e 69 74 6f 72 3b  CT    rcMonitor;
327e0 0d 0a 20 20 52 45 43 54 20 20 20 20 72 63 57 6f  ..  RECT    rcWo
327f0 72 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 20 20 64  rk;..  DWORD   d
32800 77 46 6c 61 67 73 3b 0d 0a 20 20 43 48 41 52 20  wFlags;..  CHAR 
32810 73 7a 44 65 76 69 63 65 5b 43 43 48 44 45 56 49  szDevice[CCHDEVI
32820 43 45 4e 41 4d 45 5d 3b 0d 0a 7d 0d 0a 61 6c 69  CENAME];..}..ali
32830 61 73 20 74 61 67 4d 4f 4e 49 54 4f 52 49 4e 46  as tagMONITORINF
32840 4f 45 58 41 20 4d 4f 4e 49 54 4f 52 49 4e 46 4f  OEXA MONITORINFO
32850 45 58 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d  EXA;..alias tagM
32860 4f 4e 49 54 4f 52 49 4e 46 4f 45 58 41 2a 20 4c  ONITORINFOEXA* L
32870 50 4d 4f 4e 49 54 4f 52 49 4e 46 4f 45 58 41 3b  PMONITORINFOEXA;
32880 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 4f  ....struct tagMO
32890 4e 49 54 4f 52 49 4e 46 4f 45 58 57 20 7b 0d 0a  NITORINFOEXW {..
328a0 20 20 44 57 4f 52 44 20 20 20 63 62 53 69 7a 65    DWORD   cbSize
328b0 3b 0d 0a 20 20 52 45 43 54 20 20 20 20 72 63 4d  ;..  RECT    rcM
328c0 6f 6e 69 74 6f 72 3b 0d 0a 20 20 52 45 43 54 20  onitor;..  RECT 
328d0 20 20 20 72 63 57 6f 72 6b 3b 0d 0a 20 20 44 57     rcWork;..  DW
328e0 4f 52 44 20 20 20 64 77 46 6c 61 67 73 3b 0d 0a  ORD   dwFlags;..
328f0 20 20 57 43 48 41 52 20 73 7a 44 65 76 69 63 65    WCHAR szDevice
32900 5b 43 43 48 44 45 56 49 43 45 4e 41 4d 45 5d 3b  [CCHDEVICENAME];
32910 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 4f  ..}..alias tagMO
32920 4e 49 54 4f 52 49 4e 46 4f 45 58 57 20 4d 4f 4e  NITORINFOEXW MON
32930 49 54 4f 52 49 4e 46 4f 45 58 57 3b 0d 0a 61 6c  ITORINFOEXW;..al
32940 69 61 73 20 74 61 67 4d 4f 4e 49 54 4f 52 49 4e  ias tagMONITORIN
32950 46 4f 45 58 57 2a 20 4c 50 4d 4f 4e 49 54 4f 52  FOEXW* LPMONITOR
32960 49 4e 46 4f 45 58 57 3b 0d 0a 0d 0a 2f 2f 20 23  INFOEXW;....// #
32970 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
32980 6c 69 61 73 20 4d 4f 4e 49 54 4f 52 49 4e 46 4f  lias MONITORINFO
32990 45 58 57 20 4d 4f 4e 49 54 4f 52 49 4e 46 4f 45  EXW MONITORINFOE
329a0 58 3b 0d 0a 61 6c 69 61 73 20 4c 50 4d 4f 4e 49  X;..alias LPMONI
329b0 54 4f 52 49 4e 46 4f 45 58 57 20 4c 50 4d 4f 4e  TORINFOEXW LPMON
329c0 49 54 4f 52 49 4e 46 4f 45 58 3b 0d 0a 2f 2f 20  ITORINFOEX;..// 
329d0 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  #else..// ...../
329e0 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43  / #endif // UNIC
329f0 4f 44 45 0d 0a 2f 2f 20 23 65 6c 73 65 20 2f 2f  ODE..// #else //
32a00 20 6e 64 65 66 20 5f 5f 63 70 6c 75 73 70 6c 75   ndef __cplusplu
32a10 73 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69  s..// .....// #i
32a20 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
32a30 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a   .....// #else..
32a40 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  // .....// #endi
32a50 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  f // UNICODE..//
32a60 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 78 74 65 72   #endif....exter
32a70 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
32a80 74 20 42 4f 4f 4c 20 47 65 74 4d 6f 6e 69 74 6f  t BOOL GetMonito
32a90 72 49 6e 66 6f 41 28 48 4d 4f 4e 49 54 4f 52 20  rInfoA(HMONITOR 
32aa0 68 4d 6f 6e 69 74 6f 72 2c 20 4c 50 4d 4f 4e 49  hMonitor, LPMONI
32ab0 54 4f 52 49 4e 46 4f 20 6c 70 6d 69 29 3b 0d 0a  TORINFO lpmi);..
32ac0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
32ad0 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 4d  export BOOL GetM
32ae0 6f 6e 69 74 6f 72 49 6e 66 6f 57 28 48 4d 4f 4e  onitorInfoW(HMON
32af0 49 54 4f 52 20 68 4d 6f 6e 69 74 6f 72 2c 20 4c  ITOR hMonitor, L
32b00 50 4d 4f 4e 49 54 4f 52 49 4e 46 4f 20 6c 70 6d  PMONITORINFO lpm
32b10 69 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  i);..// #ifdef U
32b20 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 47 65  NICODE..alias Ge
32b30 74 4d 6f 6e 69 74 6f 72 49 6e 66 6f 57 20 47 65  tMonitorInfoW Ge
32b40 74 4d 6f 6e 69 74 6f 72 49 6e 66 6f 3b 0d 0a 2f  tMonitorInfo;../
32b50 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
32b60 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
32b70 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
32b80 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73  n(Windows) alias
32b90 20 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 48   BOOL function(H
32ba0 4d 4f 4e 49 54 4f 52 2c 20 48 44 43 2c 20 4c 50  MONITOR, HDC, LP
32bb0 52 45 43 54 2c 20 4c 50 41 52 41 4d 29 20 4d 4f  RECT, LPARAM) MO
32bc0 4e 49 54 4f 52 45 4e 55 4d 50 52 4f 43 3b 0d 0a  NITORENUMPROC;..
32bd0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
32be0 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 45 6e  ) export BOOL En
32bf0 75 6d 44 69 73 70 6c 61 79 4d 6f 6e 69 74 6f 72  umDisplayMonitor
32c00 73 28 0d 0a 20 20 48 44 43 20 68 64 63 2c 0d 0a  s(..  HDC hdc,..
32c10 20 20 4c 50 43 52 45 43 54 20 6c 70 72 63 43 6c    LPCRECT lprcCl
32c20 69 70 2c 0d 0a 20 20 4d 4f 4e 49 54 4f 52 45 4e  ip,..  MONITOREN
32c30 55 4d 50 52 4f 43 20 6c 70 66 6e 45 6e 75 6d 2c  UMPROC lpfnEnum,
32c40 0d 0a 20 20 4c 50 41 52 41 4d 20 64 77 44 61 74  ..  LPARAM dwDat
32c50 61 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65  a);....// #ifnde
32c60 66 20 4e 4f 57 49 4e 41 42 4c 45 0d 0a 0d 0a 65  f NOWINABLE....e
32c70 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
32c80 78 70 6f 72 74 20 56 4f 49 44 20 4e 6f 74 69 66  xport VOID Notif
32c90 79 57 69 6e 45 76 65 6e 74 28 0d 0a 20 20 44 57  yWinEvent(..  DW
32ca0 4f 52 44 20 65 76 65 6e 74 2c 0d 0a 20 20 48 57  ORD event,..  HW
32cb0 4e 44 20 68 77 6e 64 2c 0d 0a 20 20 4c 4f 4e 47  ND hwnd,..  LONG
32cc0 20 69 64 4f 62 6a 65 63 74 2c 0d 0a 20 20 4c 4f   idObject,..  LO
32cd0 4e 47 20 69 64 43 68 69 6c 64 29 3b 0d 0a 0d 0a  NG idChild);....
32ce0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
32cf0 61 6c 69 61 73 20 56 4f 49 44 20 66 75 6e 63 74  alias VOID funct
32d00 69 6f 6e 28 20 48 57 49 4e 45 56 45 4e 54 48 4f  ion( HWINEVENTHO
32d10 4f 4b 20 68 57 69 6e 45 76 65 6e 74 48 6f 6f 6b  OK hWinEventHook
32d20 2c 20 44 57 4f 52 44 20 65 76 65 6e 74 2c 20 48  , DWORD event, H
32d30 57 4e 44 20 68 77 6e 64 2c 20 4c 4f 4e 47 20 69  WND hwnd, LONG i
32d40 64 4f 62 6a 65 63 74 2c 20 4c 4f 4e 47 20 69 64  dObject, LONG id
32d50 43 68 69 6c 64 2c 20 44 57 4f 52 44 20 69 64 45  Child, DWORD idE
32d60 76 65 6e 74 54 68 72 65 61 64 2c 20 44 57 4f 52  ventThread, DWOR
32d70 44 20 64 77 6d 73 45 76 65 6e 74 54 69 6d 65 29  D dwmsEventTime)
32d80 20 57 49 4e 45 56 45 4e 54 50 52 4f 43 3b 0d 0a   WINEVENTPROC;..
32d90 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
32da0 29 20 65 78 70 6f 72 74 20 48 57 49 4e 45 56 45  ) export HWINEVE
32db0 4e 54 48 4f 4f 4b 20 53 65 74 57 69 6e 45 76 65  NTHOOK SetWinEve
32dc0 6e 74 48 6f 6f 6b 28 0d 0a 20 20 44 57 4f 52 44  ntHook(..  DWORD
32dd0 20 65 76 65 6e 74 4d 69 6e 2c 0d 0a 20 20 44 57   eventMin,..  DW
32de0 4f 52 44 20 65 76 65 6e 74 4d 61 78 2c 0d 0a 20  ORD eventMax,.. 
32df0 20 48 4d 4f 44 55 4c 45 20 68 6d 6f 64 57 69 6e   HMODULE hmodWin
32e00 45 76 65 6e 74 50 72 6f 63 2c 0d 0a 20 20 57 49  EventProc,..  WI
32e10 4e 45 56 45 4e 54 50 52 4f 43 20 70 66 6e 57 69  NEVENTPROC pfnWi
32e20 6e 45 76 65 6e 74 50 72 6f 63 2c 0d 0a 20 20 44  nEventProc,..  D
32e30 57 4f 52 44 20 69 64 50 72 6f 63 65 73 73 2c 0d  WORD idProcess,.
32e40 0a 20 20 44 57 4f 52 44 20 69 64 54 68 72 65 61  .  DWORD idThrea
32e50 64 2c 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c  d,..  DWORD dwFl
32e60 61 67 73 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28  ags);....// #if(
32e70 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
32e80 30 78 30 35 30 31 29 0d 0a 65 78 74 65 72 6e 28  0x0501)..extern(
32e90 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
32ea0 42 4f 4f 4c 20 49 73 57 69 6e 45 76 65 6e 74 48  BOOL IsWinEventH
32eb0 6f 6f 6b 49 6e 73 74 61 6c 6c 65 64 28 0d 0a 20  ookInstalled(.. 
32ec0 20 44 57 4f 52 44 20 65 76 65 6e 74 29 3b 0d 0a   DWORD event);..
32ed0 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49  // #endif /* _WI
32ee0 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30  N32_WINNT >= 0x0
32ef0 35 30 31 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a  501 */....enum :
32f00 20 75 69 6e 74 20 7b 20 57 49 4e 45 56 45 4e 54   uint { WINEVENT
32f10 5f 4f 55 54 4f 46 43 4f 4e 54 45 58 54 20 3d 20  _OUTOFCONTEXT = 
32f20 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0000 }..enum :
32f30 20 75 69 6e 74 20 7b 20 57 49 4e 45 56 45 4e 54   uint { WINEVENT
32f40 5f 53 4b 49 50 4f 57 4e 54 48 52 45 41 44 20 3d  _SKIPOWNTHREAD =
32f50 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
32f60 3a 20 75 69 6e 74 20 7b 20 57 49 4e 45 56 45 4e  : uint { WINEVEN
32f70 54 5f 53 4b 49 50 4f 57 4e 50 52 4f 43 45 53 53  T_SKIPOWNPROCESS
32f80 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75   = 0x0002 }..enu
32f90 6d 20 3a 20 75 69 6e 74 20 7b 20 57 49 4e 45 56  m : uint { WINEV
32fa0 45 4e 54 5f 49 4e 43 4f 4e 54 45 58 54 20 3d 20  ENT_INCONTEXT = 
32fb0 30 78 30 30 30 34 20 7d 0d 0a 0d 0a 65 78 74 65  0x0004 }....exte
32fc0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
32fd0 72 74 20 42 4f 4f 4c 20 55 6e 68 6f 6f 6b 57 69  rt BOOL UnhookWi
32fe0 6e 45 76 65 6e 74 28 0d 0a 20 20 48 57 49 4e 45  nEvent(..  HWINE
32ff0 56 45 4e 54 48 4f 4f 4b 20 68 57 69 6e 45 76 65  VENTHOOK hWinEve
33000 6e 74 48 6f 6f 6b 29 3b 0d 0a 0d 0a 65 6e 75 6d  ntHook);....enum
33010 20 3a 20 75 69 6e 74 20 7b 20 43 48 49 4c 44 49   : uint { CHILDI
33020 44 5f 53 45 4c 46 20 3d 20 30 20 7d 0d 0a 65 6e  D_SELF = 0 }..en
33030 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4e 44 45  um : uint { INDE
33040 58 49 44 5f 4f 42 4a 45 43 54 20 3d 20 30 20 7d  XID_OBJECT = 0 }
33050 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
33060 49 4e 44 45 58 49 44 5f 43 4f 4e 54 41 49 4e 45  INDEXID_CONTAINE
33070 52 20 3d 20 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  R = 0 }....enum 
33080 3a 20 75 69 6e 74 20 7b 20 4f 42 4a 49 44 5f 57  : uint { OBJID_W
33090 49 4e 44 4f 57 20 3d 20 63 61 73 74 28 4c 4f 4e  INDOW = cast(LON
330a0 47 29 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a  G)0x00000000 }..
330b0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 42  enum : uint { OB
330c0 4a 49 44 5f 53 59 53 4d 45 4e 55 20 3d 20 63 61  JID_SYSMENU = ca
330d0 73 74 28 4c 4f 4e 47 29 30 78 46 46 46 46 46 46  st(LONG)0xFFFFFF
330e0 46 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  FF }..enum : uin
330f0 74 20 7b 20 4f 42 4a 49 44 5f 54 49 54 4c 45 42  t { OBJID_TITLEB
33100 41 52 20 3d 20 63 61 73 74 28 4c 4f 4e 47 29 30  AR = cast(LONG)0
33110 78 46 46 46 46 46 46 46 45 20 7d 0d 0a 65 6e 75  xFFFFFFFE }..enu
33120 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 42 4a 49 44  m : uint { OBJID
33130 5f 4d 45 4e 55 20 3d 20 63 61 73 74 28 4c 4f 4e  _MENU = cast(LON
33140 47 29 30 78 46 46 46 46 46 46 46 44 20 7d 0d 0a  G)0xFFFFFFFD }..
33150 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 42  enum : uint { OB
33160 4a 49 44 5f 43 4c 49 45 4e 54 20 3d 20 63 61 73  JID_CLIENT = cas
33170 74 28 4c 4f 4e 47 29 30 78 46 46 46 46 46 46 46  t(LONG)0xFFFFFFF
33180 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  C }..enum : uint
33190 20 7b 20 4f 42 4a 49 44 5f 56 53 43 52 4f 4c 4c   { OBJID_VSCROLL
331a0 20 3d 20 63 61 73 74 28 4c 4f 4e 47 29 30 78 46   = cast(LONG)0xF
331b0 46 46 46 46 46 46 42 20 7d 0d 0a 65 6e 75 6d 20  FFFFFFB }..enum 
331c0 3a 20 75 69 6e 74 20 7b 20 4f 42 4a 49 44 5f 48  : uint { OBJID_H
331d0 53 43 52 4f 4c 4c 20 3d 20 63 61 73 74 28 4c 4f  SCROLL = cast(LO
331e0 4e 47 29 30 78 46 46 46 46 46 46 46 41 20 7d 0d  NG)0xFFFFFFFA }.
331f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f  .enum : uint { O
33200 42 4a 49 44 5f 53 49 5a 45 47 52 49 50 20 3d 20  BJID_SIZEGRIP = 
33210 63 61 73 74 28 4c 4f 4e 47 29 30 78 46 46 46 46  cast(LONG)0xFFFF
33220 46 46 46 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  FFF9 }..enum : u
33230 69 6e 74 20 7b 20 4f 42 4a 49 44 5f 43 41 52 45  int { OBJID_CARE
33240 54 20 3d 20 63 61 73 74 28 4c 4f 4e 47 29 30 78  T = cast(LONG)0x
33250 46 46 46 46 46 46 46 38 20 7d 0d 0a 65 6e 75 6d  FFFFFFF8 }..enum
33260 20 3a 20 75 69 6e 74 20 7b 20 4f 42 4a 49 44 5f   : uint { OBJID_
33270 43 55 52 53 4f 52 20 3d 20 63 61 73 74 28 4c 4f  CURSOR = cast(LO
33280 4e 47 29 30 78 46 46 46 46 46 46 46 37 20 7d 0d  NG)0xFFFFFFF7 }.
33290 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f  .enum : uint { O
332a0 42 4a 49 44 5f 41 4c 45 52 54 20 3d 20 63 61 73  BJID_ALERT = cas
332b0 74 28 4c 4f 4e 47 29 30 78 46 46 46 46 46 46 46  t(LONG)0xFFFFFFF
332c0 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
332d0 20 7b 20 4f 42 4a 49 44 5f 53 4f 55 4e 44 20 3d   { OBJID_SOUND =
332e0 20 63 61 73 74 28 4c 4f 4e 47 29 30 78 46 46 46   cast(LONG)0xFFF
332f0 46 46 46 46 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  FFFF5 }..enum : 
33300 75 69 6e 74 20 7b 20 4f 42 4a 49 44 5f 51 55 45  uint { OBJID_QUE
33310 52 59 43 4c 41 53 53 4e 41 4d 45 49 44 58 20 3d  RYCLASSNAMEIDX =
33320 20 63 61 73 74 28 4c 4f 4e 47 29 30 78 46 46 46   cast(LONG)0xFFF
33330 46 46 46 46 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  FFFF4 }..enum : 
33340 75 69 6e 74 20 7b 20 4f 42 4a 49 44 5f 4e 41 54  uint { OBJID_NAT
33350 49 56 45 4f 4d 20 3d 20 63 61 73 74 28 4c 4f 4e  IVEOM = cast(LON
33360 47 29 30 78 46 46 46 46 46 46 46 30 20 7d 0d 0a  G)0xFFFFFFF0 }..
33370 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
33380 45 56 45 4e 54 5f 4d 49 4e 20 3d 20 30 78 30 30  EVENT_MIN = 0x00
33390 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  000001 }..enum :
333a0 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f 4d 41   uint { EVENT_MA
333b0 58 20 3d 20 30 78 37 46 46 46 46 46 46 46 20 7d  X = 0x7FFFFFFF }
333c0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
333d0 7b 20 45 56 45 4e 54 5f 53 59 53 54 45 4d 5f 53  { EVENT_SYSTEM_S
333e0 4f 55 4e 44 20 3d 20 30 78 30 30 30 31 20 7d 0d  OUND = 0x0001 }.
333f0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
33400 20 45 56 45 4e 54 5f 53 59 53 54 45 4d 5f 41 4c   EVENT_SYSTEM_AL
33410 45 52 54 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a  ERT = 0x0002 }..
33420 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
33430 45 56 45 4e 54 5f 53 59 53 54 45 4d 5f 46 4f 52  EVENT_SYSTEM_FOR
33440 45 47 52 4f 55 4e 44 20 3d 20 30 78 30 30 30 33  EGROUND = 0x0003
33450 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
33460 74 20 7b 20 45 56 45 4e 54 5f 53 59 53 54 45 4d  t { EVENT_SYSTEM
33470 5f 4d 45 4e 55 53 54 41 52 54 20 3d 20 30 78 30  _MENUSTART = 0x0
33480 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
33490 6e 74 20 7b 20 45 56 45 4e 54 5f 53 59 53 54 45  nt { EVENT_SYSTE
334a0 4d 5f 4d 45 4e 55 45 4e 44 20 3d 20 30 78 30 30  M_MENUEND = 0x00
334b0 30 35 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  05 }....enum : u
334c0 69 6e 74 20 7b 20 45 56 45 4e 54 5f 53 59 53 54  int { EVENT_SYST
334d0 45 4d 5f 4d 45 4e 55 50 4f 50 55 50 53 54 41 52  EM_MENUPOPUPSTAR
334e0 54 20 3d 20 30 78 30 30 30 36 20 7d 0d 0a 65 6e  T = 0x0006 }..en
334f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e  um : uint { EVEN
33500 54 5f 53 59 53 54 45 4d 5f 4d 45 4e 55 50 4f 50  T_SYSTEM_MENUPOP
33510 55 50 45 4e 44 20 3d 20 30 78 30 30 30 37 20 7d  UPEND = 0x0007 }
33520 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
33530 7b 20 45 56 45 4e 54 5f 53 59 53 54 45 4d 5f 43  { EVENT_SYSTEM_C
33540 41 50 54 55 52 45 53 54 41 52 54 20 3d 20 30 78  APTURESTART = 0x
33550 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
33560 69 6e 74 20 7b 20 45 56 45 4e 54 5f 53 59 53 54  int { EVENT_SYST
33570 45 4d 5f 43 41 50 54 55 52 45 45 4e 44 20 3d 20  EM_CAPTUREEND = 
33580 30 78 30 30 30 39 20 7d 0d 0a 0d 0a 65 6e 75 6d  0x0009 }....enum
33590 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f   : uint { EVENT_
335a0 53 59 53 54 45 4d 5f 4d 4f 56 45 53 49 5a 45 53  SYSTEM_MOVESIZES
335b0 54 41 52 54 20 3d 20 30 78 30 30 30 41 20 7d 0d  TART = 0x000A }.
335c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
335d0 56 45 4e 54 5f 53 59 53 54 45 4d 5f 4d 4f 56 45  VENT_SYSTEM_MOVE
335e0 53 49 5a 45 45 4e 44 20 3d 20 30 78 30 30 30 42  SIZEEND = 0x000B
335f0 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
33600 74 20 7b 20 45 56 45 4e 54 5f 53 59 53 54 45 4d  t { EVENT_SYSTEM
33610 5f 43 4f 4e 54 45 58 54 48 45 4c 50 53 54 41 52  _CONTEXTHELPSTAR
33620 54 20 3d 20 30 78 30 30 30 43 20 7d 0d 0a 65 6e  T = 0x000C }..en
33630 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e  um : uint { EVEN
33640 54 5f 53 59 53 54 45 4d 5f 43 4f 4e 54 45 58 54  T_SYSTEM_CONTEXT
33650 48 45 4c 50 45 4e 44 20 3d 20 30 78 30 30 30 44  HELPEND = 0x000D
33660 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
33670 74 20 7b 20 45 56 45 4e 54 5f 53 59 53 54 45 4d  t { EVENT_SYSTEM
33680 5f 44 52 41 47 44 52 4f 50 53 54 41 52 54 20 3d  _DRAGDROPSTART =
33690 20 30 78 30 30 30 45 20 7d 0d 0a 65 6e 75 6d 20   0x000E }..enum 
336a0 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f 53  : uint { EVENT_S
336b0 59 53 54 45 4d 5f 44 52 41 47 44 52 4f 50 45 4e  YSTEM_DRAGDROPEN
336c0 44 20 3d 20 30 78 30 30 30 46 20 7d 0d 0a 0d 0a  D = 0x000F }....
336d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56  enum : uint { EV
336e0 45 4e 54 5f 53 59 53 54 45 4d 5f 44 49 41 4c 4f  ENT_SYSTEM_DIALO
336f0 47 53 54 41 52 54 20 3d 20 30 78 30 30 31 30 20  GSTART = 0x0010 
33700 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
33710 20 45 56 45 4e 54 5f 53 59 53 54 45 4d 5f 44 49   EVENT_SYSTEM_DI
33720 41 4c 4f 47 45 4e 44 20 3d 20 30 78 30 30 31 31  ALOGEND = 0x0011
33730 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
33740 74 20 7b 20 45 56 45 4e 54 5f 53 59 53 54 45 4d  t { EVENT_SYSTEM
33750 5f 53 43 52 4f 4c 4c 49 4e 47 53 54 41 52 54 20  _SCROLLINGSTART 
33760 3d 20 30 78 30 30 31 32 20 7d 0d 0a 65 6e 75 6d  = 0x0012 }..enum
33770 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f   : uint { EVENT_
33780 53 59 53 54 45 4d 5f 53 43 52 4f 4c 4c 49 4e 47  SYSTEM_SCROLLING
33790 45 4e 44 20 3d 20 30 78 30 30 31 33 20 7d 0d 0a  END = 0x0013 }..
337a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
337b0 45 56 45 4e 54 5f 53 59 53 54 45 4d 5f 53 57 49  EVENT_SYSTEM_SWI
337c0 54 43 48 53 54 41 52 54 20 3d 20 30 78 30 30 31  TCHSTART = 0x001
337d0 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
337e0 20 7b 20 45 56 45 4e 54 5f 53 59 53 54 45 4d 5f   { EVENT_SYSTEM_
337f0 53 57 49 54 43 48 45 4e 44 20 3d 20 30 78 30 30  SWITCHEND = 0x00
33800 31 35 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  15 }....enum : u
33810 69 6e 74 20 7b 20 45 56 45 4e 54 5f 53 59 53 54  int { EVENT_SYST
33820 45 4d 5f 4d 49 4e 49 4d 49 5a 45 53 54 41 52 54  EM_MINIMIZESTART
33830 20 3d 20 30 78 30 30 31 36 20 7d 0d 0a 65 6e 75   = 0x0016 }..enu
33840 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54  m : uint { EVENT
33850 5f 53 59 53 54 45 4d 5f 4d 49 4e 49 4d 49 5a 45  _SYSTEM_MINIMIZE
33860 45 4e 44 20 3d 20 30 78 30 30 31 37 20 7d 0d 0a  END = 0x0017 }..
33870 0d 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f  ..// #if(_WIN32_
33880 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29  WINNT >= 0x0501)
33890 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
338a0 45 56 45 4e 54 5f 43 4f 4e 53 4f 4c 45 5f 43 41  EVENT_CONSOLE_CA
338b0 52 45 54 20 3d 20 30 78 34 30 30 31 20 7d 0d 0a  RET = 0x4001 }..
338c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56  enum : uint { EV
338d0 45 4e 54 5f 43 4f 4e 53 4f 4c 45 5f 55 50 44 41  ENT_CONSOLE_UPDA
338e0 54 45 5f 52 45 47 49 4f 4e 20 3d 20 30 78 34 30  TE_REGION = 0x40
338f0 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
33900 74 20 7b 20 45 56 45 4e 54 5f 43 4f 4e 53 4f 4c  t { EVENT_CONSOL
33910 45 5f 55 50 44 41 54 45 5f 53 49 4d 50 4c 45 20  E_UPDATE_SIMPLE 
33920 3d 20 30 78 34 30 30 33 20 7d 0d 0a 65 6e 75 6d  = 0x4003 }..enum
33930 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f   : uint { EVENT_
33940 43 4f 4e 53 4f 4c 45 5f 55 50 44 41 54 45 5f 53  CONSOLE_UPDATE_S
33950 43 52 4f 4c 4c 20 3d 20 30 78 34 30 30 34 20 7d  CROLL = 0x4004 }
33960 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
33970 45 56 45 4e 54 5f 43 4f 4e 53 4f 4c 45 5f 4c 41  EVENT_CONSOLE_LA
33980 59 4f 55 54 20 3d 20 30 78 34 30 30 35 20 7d 0d  YOUT = 0x4005 }.
33990 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
339a0 56 45 4e 54 5f 43 4f 4e 53 4f 4c 45 5f 53 54 41  VENT_CONSOLE_STA
339b0 52 54 5f 41 50 50 4c 49 43 41 54 49 4f 4e 20 3d  RT_APPLICATION =
339c0 20 30 78 34 30 30 36 20 7d 0d 0a 65 6e 75 6d 20   0x4006 }..enum 
339d0 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f 43  : uint { EVENT_C
339e0 4f 4e 53 4f 4c 45 5f 45 4e 44 5f 41 50 50 4c 49  ONSOLE_END_APPLI
339f0 43 41 54 49 4f 4e 20 3d 20 30 78 34 30 30 37 20  CATION = 0x4007 
33a00 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
33a10 20 7b 20 43 4f 4e 53 4f 4c 45 5f 41 50 50 4c 49   { CONSOLE_APPLI
33a20 43 41 54 49 4f 4e 5f 31 36 42 49 54 20 3d 20 30  CATION_16BIT = 0
33a30 78 30 30 30 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x0001 }....enum 
33a40 3a 20 75 69 6e 74 20 7b 20 43 4f 4e 53 4f 4c 45  : uint { CONSOLE
33a50 5f 43 41 52 45 54 5f 53 45 4c 45 43 54 49 4f 4e  _CARET_SELECTION
33a60 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75   = 0x0001 }..enu
33a70 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4e 53 4f  m : uint { CONSO
33a80 4c 45 5f 43 41 52 45 54 5f 56 49 53 49 42 4c 45  LE_CARET_VISIBLE
33a90 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 2f 2f 20   = 0x0002 }..// 
33aa0 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32  #endif /* _WIN32
33ab0 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31  _WINNT >= 0x0501
33ac0 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   */....enum : ui
33ad0 6e 74 20 7b 20 45 56 45 4e 54 5f 4f 42 4a 45 43  nt { EVENT_OBJEC
33ae0 54 5f 43 52 45 41 54 45 20 3d 20 30 78 38 30 30  T_CREATE = 0x800
33af0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
33b00 20 7b 20 45 56 45 4e 54 5f 4f 42 4a 45 43 54 5f   { EVENT_OBJECT_
33b10 44 45 53 54 52 4f 59 20 3d 20 30 78 38 30 30 31  DESTROY = 0x8001
33b20 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
33b30 7b 20 45 56 45 4e 54 5f 4f 42 4a 45 43 54 5f 53  { EVENT_OBJECT_S
33b40 48 4f 57 20 3d 20 30 78 38 30 30 32 20 7d 0d 0a  HOW = 0x8002 }..
33b50 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56  enum : uint { EV
33b60 45 4e 54 5f 4f 42 4a 45 43 54 5f 48 49 44 45 20  ENT_OBJECT_HIDE 
33b70 3d 20 30 78 38 30 30 33 20 7d 0d 0a 65 6e 75 6d  = 0x8003 }..enum
33b80 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f   : uint { EVENT_
33b90 4f 42 4a 45 43 54 5f 52 45 4f 52 44 45 52 20 3d  OBJECT_REORDER =
33ba0 20 30 78 38 30 30 34 20 7d 0d 0a 0d 0a 65 6e 75   0x8004 }....enu
33bb0 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54  m : uint { EVENT
33bc0 5f 4f 42 4a 45 43 54 5f 46 4f 43 55 53 20 3d 20  _OBJECT_FOCUS = 
33bd0 30 78 38 30 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a  0x8005 }..enum :
33be0 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f 4f 42   uint { EVENT_OB
33bf0 4a 45 43 54 5f 53 45 4c 45 43 54 49 4f 4e 20 3d  JECT_SELECTION =
33c00 20 30 78 38 30 30 36 20 7d 0d 0a 65 6e 75 6d 20   0x8006 }..enum 
33c10 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f 4f  : uint { EVENT_O
33c20 42 4a 45 43 54 5f 53 45 4c 45 43 54 49 4f 4e 41  BJECT_SELECTIONA
33c30 44 44 20 3d 20 30 78 38 30 30 37 20 7d 0d 0a 65  DD = 0x8007 }..e
33c40 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45  num : uint { EVE
33c50 4e 54 5f 4f 42 4a 45 43 54 5f 53 45 4c 45 43 54  NT_OBJECT_SELECT
33c60 49 4f 4e 52 45 4d 4f 56 45 20 3d 20 30 78 38 30  IONREMOVE = 0x80
33c70 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
33c80 74 20 7b 20 45 56 45 4e 54 5f 4f 42 4a 45 43 54  t { EVENT_OBJECT
33c90 5f 53 45 4c 45 43 54 49 4f 4e 57 49 54 48 49 4e  _SELECTIONWITHIN
33ca0 20 3d 20 30 78 38 30 30 39 20 7d 0d 0a 0d 0a 65   = 0x8009 }....e
33cb0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45  num : uint { EVE
33cc0 4e 54 5f 4f 42 4a 45 43 54 5f 53 54 41 54 45 43  NT_OBJECT_STATEC
33cd0 48 41 4e 47 45 20 3d 20 30 78 38 30 30 41 20 7d  HANGE = 0x800A }
33ce0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
33cf0 7b 20 45 56 45 4e 54 5f 4f 42 4a 45 43 54 5f 4c  { EVENT_OBJECT_L
33d00 4f 43 41 54 49 4f 4e 43 48 41 4e 47 45 20 3d 20  OCATIONCHANGE = 
33d10 30 78 38 30 30 42 20 7d 0d 0a 0d 0a 65 6e 75 6d  0x800B }....enum
33d20 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f   : uint { EVENT_
33d30 4f 42 4a 45 43 54 5f 4e 41 4d 45 43 48 41 4e 47  OBJECT_NAMECHANG
33d40 45 20 3d 20 30 78 38 30 30 43 20 7d 0d 0a 65 6e  E = 0x800C }..en
33d50 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e  um : uint { EVEN
33d60 54 5f 4f 42 4a 45 43 54 5f 44 45 53 43 52 49 50  T_OBJECT_DESCRIP
33d70 54 49 4f 4e 43 48 41 4e 47 45 20 3d 20 30 78 38  TIONCHANGE = 0x8
33d80 30 30 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  00D }..enum : ui
33d90 6e 74 20 7b 20 45 56 45 4e 54 5f 4f 42 4a 45 43  nt { EVENT_OBJEC
33da0 54 5f 56 41 4c 55 45 43 48 41 4e 47 45 20 3d 20  T_VALUECHANGE = 
33db0 30 78 38 30 30 45 20 7d 0d 0a 65 6e 75 6d 20 3a  0x800E }..enum :
33dc0 20 75 69 6e 74 20 7b 20 45 56 45 4e 54 5f 4f 42   uint { EVENT_OB
33dd0 4a 45 43 54 5f 50 41 52 45 4e 54 43 48 41 4e 47  JECT_PARENTCHANG
33de0 45 20 3d 20 30 78 38 30 30 46 20 7d 0d 0a 65 6e  E = 0x800F }..en
33df0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56 45 4e  um : uint { EVEN
33e00 54 5f 4f 42 4a 45 43 54 5f 48 45 4c 50 43 48 41  T_OBJECT_HELPCHA
33e10 4e 47 45 20 3d 20 30 78 38 30 31 30 20 7d 0d 0a  NGE = 0x8010 }..
33e20 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 56  enum : uint { EV
33e30 45 4e 54 5f 4f 42 4a 45 43 54 5f 44 45 46 41 43  ENT_OBJECT_DEFAC
33e40 54 49 4f 4e 43 48 41 4e 47 45 20 3d 20 30 78 38  TIONCHANGE = 0x8
33e50 30 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  011 }..enum : ui
33e60 6e 74 20 7b 20 45 56 45 4e 54 5f 4f 42 4a 45 43  nt { EVENT_OBJEC
33e70 54 5f 41 43 43 45 4c 45 52 41 54 4f 52 43 48 41  T_ACCELERATORCHA
33e80 4e 47 45 20 3d 20 30 78 38 30 31 32 20 7d 0d 0a  NGE = 0x8012 }..
33e90 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
33ea0 53 4f 55 4e 44 5f 53 59 53 54 45 4d 5f 53 54 41  SOUND_SYSTEM_STA
33eb0 52 54 55 50 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d  RTUP = 1 }..enum
33ec0 20 3a 20 75 69 6e 74 20 7b 20 53 4f 55 4e 44 5f   : uint { SOUND_
33ed0 53 59 53 54 45 4d 5f 53 48 55 54 44 4f 57 4e 20  SYSTEM_SHUTDOWN 
33ee0 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 2 }..enum : ui
33ef0 6e 74 20 7b 20 53 4f 55 4e 44 5f 53 59 53 54 45  nt { SOUND_SYSTE
33f00 4d 5f 42 45 45 50 20 3d 20 33 20 7d 0d 0a 65 6e  M_BEEP = 3 }..en
33f10 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f 55 4e  um : uint { SOUN
33f20 44 5f 53 59 53 54 45 4d 5f 45 52 52 4f 52 20 3d  D_SYSTEM_ERROR =
33f30 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   4 }..enum : uin
33f40 74 20 7b 20 53 4f 55 4e 44 5f 53 59 53 54 45 4d  t { SOUND_SYSTEM
33f50 5f 51 55 45 53 54 49 4f 4e 20 3d 20 35 20 7d 0d  _QUESTION = 5 }.
33f60 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
33f70 4f 55 4e 44 5f 53 59 53 54 45 4d 5f 57 41 52 4e  OUND_SYSTEM_WARN
33f80 49 4e 47 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20  ING = 6 }..enum 
33f90 3a 20 75 69 6e 74 20 7b 20 53 4f 55 4e 44 5f 53  : uint { SOUND_S
33fa0 59 53 54 45 4d 5f 49 4e 46 4f 52 4d 41 54 49 4f  YSTEM_INFORMATIO
33fb0 4e 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20  N = 7 }..enum : 
33fc0 75 69 6e 74 20 7b 20 53 4f 55 4e 44 5f 53 59 53  uint { SOUND_SYS
33fd0 54 45 4d 5f 4d 41 58 49 4d 49 5a 45 20 3d 20 38  TEM_MAXIMIZE = 8
33fe0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
33ff0 7b 20 53 4f 55 4e 44 5f 53 59 53 54 45 4d 5f 4d  { SOUND_SYSTEM_M
34000 49 4e 49 4d 49 5a 45 20 3d 20 39 20 7d 0d 0a 65  INIMIZE = 9 }..e
34010 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f 55  num : uint { SOU
34020 4e 44 5f 53 59 53 54 45 4d 5f 52 45 53 54 4f 52  ND_SYSTEM_RESTOR
34030 45 55 50 20 3d 20 31 30 20 7d 0d 0a 65 6e 75 6d  EUP = 10 }..enum
34040 20 3a 20 75 69 6e 74 20 7b 20 53 4f 55 4e 44 5f   : uint { SOUND_
34050 53 59 53 54 45 4d 5f 52 45 53 54 4f 52 45 44 4f  SYSTEM_RESTOREDO
34060 57 4e 20 3d 20 31 31 20 7d 0d 0a 65 6e 75 6d 20  WN = 11 }..enum 
34070 3a 20 75 69 6e 74 20 7b 20 53 4f 55 4e 44 5f 53  : uint { SOUND_S
34080 59 53 54 45 4d 5f 41 50 50 53 54 41 52 54 20 3d  YSTEM_APPSTART =
34090 20 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   12 }..enum : ui
340a0 6e 74 20 7b 20 53 4f 55 4e 44 5f 53 59 53 54 45  nt { SOUND_SYSTE
340b0 4d 5f 46 41 55 4c 54 20 3d 20 31 33 20 7d 0d 0a  M_FAULT = 13 }..
340c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4f  enum : uint { SO
340d0 55 4e 44 5f 53 59 53 54 45 4d 5f 41 50 50 45 4e  UND_SYSTEM_APPEN
340e0 44 20 3d 20 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a  D = 14 }..enum :
340f0 20 75 69 6e 74 20 7b 20 53 4f 55 4e 44 5f 53 59   uint { SOUND_SY
34100 53 54 45 4d 5f 4d 45 4e 55 43 4f 4d 4d 41 4e 44  STEM_MENUCOMMAND
34110 20 3d 20 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 15 }..enum : 
34120 75 69 6e 74 20 7b 20 53 4f 55 4e 44 5f 53 59 53  uint { SOUND_SYS
34130 54 45 4d 5f 4d 45 4e 55 50 4f 50 55 50 20 3d 20  TEM_MENUPOPUP = 
34140 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  16 }..enum : uin
34150 74 20 7b 20 43 53 4f 55 4e 44 5f 53 59 53 54 45  t { CSOUND_SYSTE
34160 4d 20 3d 20 31 36 20 7d 0d 0a 0d 0a 65 6e 75 6d  M = 16 }....enum
34170 20 3a 20 75 69 6e 74 20 7b 20 41 4c 45 52 54 5f   : uint { ALERT_
34180 53 59 53 54 45 4d 5f 49 4e 46 4f 52 4d 41 54 49  SYSTEM_INFORMATI
34190 4f 4e 41 4c 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d  ONAL = 1 }..enum
341a0 20 3a 20 75 69 6e 74 20 7b 20 41 4c 45 52 54 5f   : uint { ALERT_
341b0 53 59 53 54 45 4d 5f 57 41 52 4e 49 4e 47 20 3d  SYSTEM_WARNING =
341c0 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   2 }..enum : uin
341d0 74 20 7b 20 41 4c 45 52 54 5f 53 59 53 54 45 4d  t { ALERT_SYSTEM
341e0 5f 45 52 52 4f 52 20 3d 20 33 20 7d 0d 0a 65 6e  _ERROR = 3 }..en
341f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 4c 45 52  um : uint { ALER
34200 54 5f 53 59 53 54 45 4d 5f 51 55 45 52 59 20 3d  T_SYSTEM_QUERY =
34210 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   4 }..enum : uin
34220 74 20 7b 20 41 4c 45 52 54 5f 53 59 53 54 45 4d  t { ALERT_SYSTEM
34230 5f 43 52 49 54 49 43 41 4c 20 3d 20 35 20 7d 0d  _CRITICAL = 5 }.
34240 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
34250 41 4c 45 52 54 5f 53 59 53 54 45 4d 20 3d 20 36  ALERT_SYSTEM = 6
34260 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67   }....struct tag
34270 47 55 49 54 48 52 45 41 44 49 4e 46 4f 20 7b 0d  GUITHREADINFO {.
34280 0a 20 20 44 57 4f 52 44 20 63 62 53 69 7a 65 3b  .  DWORD cbSize;
34290 0d 0a 20 20 44 57 4f 52 44 20 66 6c 61 67 73 3b  ..  DWORD flags;
342a0 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 41 63 74  ..  HWND hwndAct
342b0 69 76 65 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e  ive;..  HWND hwn
342c0 64 46 6f 63 75 73 3b 0d 0a 20 20 48 57 4e 44 20  dFocus;..  HWND 
342d0 68 77 6e 64 43 61 70 74 75 72 65 3b 0d 0a 20 20  hwndCapture;..  
342e0 48 57 4e 44 20 68 77 6e 64 4d 65 6e 75 4f 77 6e  HWND hwndMenuOwn
342f0 65 72 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64  er;..  HWND hwnd
34300 4d 6f 76 65 53 69 7a 65 3b 0d 0a 20 20 48 57 4e  MoveSize;..  HWN
34310 44 20 68 77 6e 64 43 61 72 65 74 3b 0d 0a 20 20  D hwndCaret;..  
34320 52 45 43 54 20 72 63 43 61 72 65 74 3b 0d 0a 7d  RECT rcCaret;..}
34330 0d 0a 61 6c 69 61 73 20 74 61 67 47 55 49 54 48  ..alias tagGUITH
34340 52 45 41 44 49 4e 46 4f 20 47 55 49 54 48 52 45  READINFO GUITHRE
34350 41 44 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74  ADINFO;..alias t
34360 61 67 47 55 49 54 48 52 45 41 44 49 4e 46 4f 2a  agGUITHREADINFO*
34370 20 50 47 55 49 54 48 52 45 41 44 49 4e 46 4f 3b   PGUITHREADINFO;
34380 0d 0a 61 6c 69 61 73 20 74 61 67 47 55 49 54 48  ..alias tagGUITH
34390 52 45 41 44 49 4e 46 4f 2a 20 4c 50 47 55 49 54  READINFO* LPGUIT
343a0 48 52 45 41 44 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e  HREADINFO;....en
343b0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 55 49 5f  um : uint { GUI_
343c0 43 41 52 45 54 42 4c 49 4e 4b 49 4e 47 20 3d 20  CARETBLINKING = 
343d0 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e  0x00000001 }..en
343e0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 55 49 5f  um : uint { GUI_
343f0 49 4e 4d 4f 56 45 53 49 5a 45 20 3d 20 30 78 30  INMOVESIZE = 0x0
34400 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20  0000002 }..enum 
34410 3a 20 75 69 6e 74 20 7b 20 47 55 49 5f 49 4e 4d  : uint { GUI_INM
34420 45 4e 55 4d 4f 44 45 20 3d 20 30 78 30 30 30 30  ENUMODE = 0x0000
34430 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
34440 69 6e 74 20 7b 20 47 55 49 5f 53 59 53 54 45 4d  int { GUI_SYSTEM
34450 4d 45 4e 55 4d 4f 44 45 20 3d 20 30 78 30 30 30  MENUMODE = 0x000
34460 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00008 }..enum : 
34470 75 69 6e 74 20 7b 20 47 55 49 5f 50 4f 50 55 50  uint { GUI_POPUP
34480 4d 45 4e 55 4d 4f 44 45 20 3d 20 30 78 30 30 30  MENUMODE = 0x000
34490 30 30 30 31 30 20 7d 0d 0a 2f 2f 20 23 69 66 28  00010 }..// #if(
344a0 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
344b0 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20  0x0501)..enum : 
344c0 75 69 6e 74 20 7b 20 47 55 49 5f 31 36 42 49 54  uint { GUI_16BIT
344d0 54 41 53 4b 20 3d 20 30 78 30 30 30 30 30 30 32  TASK = 0x0000002
344e0 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  0 }..// #endif /
344f0 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e  * _WIN32_WINNT >
34500 3d 20 30 78 30 35 30 31 20 2a 2f 0d 0a 0d 0a 65  = 0x0501 */....e
34510 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
34520 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 47 55  xport BOOL GetGU
34530 49 54 68 72 65 61 64 49 6e 66 6f 28 0d 0a 20 20  IThreadInfo(..  
34540 44 57 4f 52 44 20 69 64 54 68 72 65 61 64 2c 0d  DWORD idThread,.
34550 0a 20 20 50 47 55 49 54 48 52 45 41 44 49 4e 46  .  PGUITHREADINF
34560 4f 20 70 67 75 69 29 3b 0d 0a 0d 0a 65 78 74 65  O pgui);....exte
34570 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
34580 72 74 20 55 49 4e 54 20 47 65 74 57 69 6e 64 6f  rt UINT GetWindo
34590 77 4d 6f 64 75 6c 65 46 69 6c 65 4e 61 6d 65 41  wModuleFileNameA
345a0 28 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 2c 0d  (..  HWND hwnd,.
345b0 0a 20 20 4c 50 53 54 52 20 70 73 7a 46 69 6c 65  .  LPSTR pszFile
345c0 4e 61 6d 65 2c 0d 0a 20 20 55 49 4e 54 20 63 63  Name,..  UINT cc
345d0 68 46 69 6c 65 4e 61 6d 65 4d 61 78 29 3b 0d 0a  hFileNameMax);..
345e0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
345f0 65 78 70 6f 72 74 20 55 49 4e 54 20 47 65 74 57  export UINT GetW
34600 69 6e 64 6f 77 4d 6f 64 75 6c 65 46 69 6c 65 4e  indowModuleFileN
34610 61 6d 65 57 28 0d 0a 20 20 48 57 4e 44 20 68 77  ameW(..  HWND hw
34620 6e 64 2c 0d 0a 20 20 4c 50 57 53 54 52 20 70 73  nd,..  LPWSTR ps
34630 7a 46 69 6c 65 4e 61 6d 65 2c 0d 0a 20 20 55 49  zFileName,..  UI
34640 4e 54 20 63 63 68 46 69 6c 65 4e 61 6d 65 4d 61  NT cchFileNameMa
34650 78 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  x);..// #ifdef U
34660 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 47 65  NICODE..alias Ge
34670 74 57 69 6e 64 6f 77 4d 6f 64 75 6c 65 46 69 6c  tWindowModuleFil
34680 65 4e 61 6d 65 57 20 47 65 74 57 69 6e 64 6f 77  eNameW GetWindow
34690 4d 6f 64 75 6c 65 46 69 6c 65 4e 61 6d 65 3b 0d  ModuleFileName;.
346a0 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
346b0 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
346c0 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20   !UNICODE....// 
346d0 23 69 66 6e 64 65 66 20 4e 4f 5f 53 54 41 54 45  #ifndef NO_STATE
346e0 5f 46 4c 41 47 53 0d 0a 65 6e 75 6d 20 3a 20 75  _FLAGS..enum : u
346f0 69 6e 74 20 7b 20 53 54 41 54 45 5f 53 59 53 54  int { STATE_SYST
34700 45 4d 5f 55 4e 41 56 41 49 4c 41 42 4c 45 20 3d  EM_UNAVAILABLE =
34710 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65   0x00000001 }..e
34720 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 41  num : uint { STA
34730 54 45 5f 53 59 53 54 45 4d 5f 53 45 4c 45 43 54  TE_SYSTEM_SELECT
34740 45 44 20 3d 20 30 78 30 30 30 30 30 30 30 32 20  ED = 0x00000002 
34750 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
34760 20 53 54 41 54 45 5f 53 59 53 54 45 4d 5f 46 4f   STATE_SYSTEM_FO
34770 43 55 53 45 44 20 3d 20 30 78 30 30 30 30 30 30  CUSED = 0x000000
34780 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
34790 74 20 7b 20 53 54 41 54 45 5f 53 59 53 54 45 4d  t { STATE_SYSTEM
347a0 5f 50 52 45 53 53 45 44 20 3d 20 30 78 30 30 30  _PRESSED = 0x000
347b0 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00008 }..enum : 
347c0 75 69 6e 74 20 7b 20 53 54 41 54 45 5f 53 59 53  uint { STATE_SYS
347d0 54 45 4d 5f 43 48 45 43 4b 45 44 20 3d 20 30 78  TEM_CHECKED = 0x
347e0 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d  00000010 }..enum
347f0 20 3a 20 75 69 6e 74 20 7b 20 53 54 41 54 45 5f   : uint { STATE_
34800 53 59 53 54 45 4d 5f 4d 49 58 45 44 20 3d 20 30  SYSTEM_MIXED = 0
34810 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 61 6c 69  x00000020 }..ali
34820 61 73 20 53 54 41 54 45 5f 53 59 53 54 45 4d 5f  as STATE_SYSTEM_
34830 4d 49 58 45 44 20 53 54 41 54 45 5f 53 59 53 54  MIXED STATE_SYST
34840 45 4d 5f 49 4e 44 45 54 45 52 4d 49 4e 41 54 45  EM_INDETERMINATE
34850 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ;..enum : uint {
34860 20 53 54 41 54 45 5f 53 59 53 54 45 4d 5f 52 45   STATE_SYSTEM_RE
34870 41 44 4f 4e 4c 59 20 3d 20 30 78 30 30 30 30 30  ADONLY = 0x00000
34880 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  040 }..enum : ui
34890 6e 74 20 7b 20 53 54 41 54 45 5f 53 59 53 54 45  nt { STATE_SYSTE
348a0 4d 5f 48 4f 54 54 52 41 43 4b 45 44 20 3d 20 30  M_HOTTRACKED = 0
348b0 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75  x00000080 }..enu
348c0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 41 54 45  m : uint { STATE
348d0 5f 53 59 53 54 45 4d 5f 44 45 46 41 55 4c 54 20  _SYSTEM_DEFAULT 
348e0 3d 20 30 78 30 30 30 30 30 31 30 30 20 7d 0d 0a  = 0x00000100 }..
348f0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54  enum : uint { ST
34900 41 54 45 5f 53 59 53 54 45 4d 5f 45 58 50 41 4e  ATE_SYSTEM_EXPAN
34910 44 45 44 20 3d 20 30 78 30 30 30 30 30 32 30 30  DED = 0x00000200
34920 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
34930 7b 20 53 54 41 54 45 5f 53 59 53 54 45 4d 5f 43  { STATE_SYSTEM_C
34940 4f 4c 4c 41 50 53 45 44 20 3d 20 30 78 30 30 30  OLLAPSED = 0x000
34950 30 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00400 }..enum : 
34960 75 69 6e 74 20 7b 20 53 54 41 54 45 5f 53 59 53  uint { STATE_SYS
34970 54 45 4d 5f 42 55 53 59 20 3d 20 30 78 30 30 30  TEM_BUSY = 0x000
34980 30 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00800 }..enum : 
34990 75 69 6e 74 20 7b 20 53 54 41 54 45 5f 53 59 53  uint { STATE_SYS
349a0 54 45 4d 5f 46 4c 4f 41 54 49 4e 47 20 3d 20 30  TEM_FLOATING = 0
349b0 78 30 30 30 30 31 30 30 30 20 7d 0d 0a 65 6e 75  x00001000 }..enu
349c0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 41 54 45  m : uint { STATE
349d0 5f 53 59 53 54 45 4d 5f 4d 41 52 51 55 45 45 44  _SYSTEM_MARQUEED
349e0 20 3d 20 30 78 30 30 30 30 32 30 30 30 20 7d 0d   = 0x00002000 }.
349f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
34a00 54 41 54 45 5f 53 59 53 54 45 4d 5f 41 4e 49 4d  TATE_SYSTEM_ANIM
34a10 41 54 45 44 20 3d 20 30 78 30 30 30 30 34 30 30  ATED = 0x0000400
34a20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
34a30 20 7b 20 53 54 41 54 45 5f 53 59 53 54 45 4d 5f   { STATE_SYSTEM_
34a40 49 4e 56 49 53 49 42 4c 45 20 3d 20 30 78 30 30  INVISIBLE = 0x00
34a50 30 30 38 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  008000 }..enum :
34a60 20 75 69 6e 74 20 7b 20 53 54 41 54 45 5f 53 59   uint { STATE_SY
34a70 53 54 45 4d 5f 4f 46 46 53 43 52 45 45 4e 20 3d  STEM_OFFSCREEN =
34a80 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65   0x00010000 }..e
34a90 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 41  num : uint { STA
34aa0 54 45 5f 53 59 53 54 45 4d 5f 53 49 5a 45 41 42  TE_SYSTEM_SIZEAB
34ab0 4c 45 20 3d 20 30 78 30 30 30 32 30 30 30 30 20  LE = 0x00020000 
34ac0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
34ad0 20 53 54 41 54 45 5f 53 59 53 54 45 4d 5f 4d 4f   STATE_SYSTEM_MO
34ae0 56 45 41 42 4c 45 20 3d 20 30 78 30 30 30 34 30  VEABLE = 0x00040
34af0 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
34b00 6e 74 20 7b 20 53 54 41 54 45 5f 53 59 53 54 45  nt { STATE_SYSTE
34b10 4d 5f 53 45 4c 46 56 4f 49 43 49 4e 47 20 3d 20  M_SELFVOICING = 
34b20 30 78 30 30 30 38 30 30 30 30 20 7d 0d 0a 65 6e  0x00080000 }..en
34b30 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 41 54  um : uint { STAT
34b40 45 5f 53 59 53 54 45 4d 5f 46 4f 43 55 53 41 42  E_SYSTEM_FOCUSAB
34b50 4c 45 20 3d 20 30 78 30 30 31 30 30 30 30 30 20  LE = 0x00100000 
34b60 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
34b70 20 53 54 41 54 45 5f 53 59 53 54 45 4d 5f 53 45   STATE_SYSTEM_SE
34b80 4c 45 43 54 41 42 4c 45 20 3d 20 30 78 30 30 32  LECTABLE = 0x002
34b90 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
34ba0 75 69 6e 74 20 7b 20 53 54 41 54 45 5f 53 59 53  uint { STATE_SYS
34bb0 54 45 4d 5f 4c 49 4e 4b 45 44 20 3d 20 30 78 30  TEM_LINKED = 0x0
34bc0 30 34 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0400000 }..enum 
34bd0 3a 20 75 69 6e 74 20 7b 20 53 54 41 54 45 5f 53  : uint { STATE_S
34be0 59 53 54 45 4d 5f 54 52 41 56 45 52 53 45 44 20  YSTEM_TRAVERSED 
34bf0 3d 20 30 78 30 30 38 30 30 30 30 30 20 7d 0d 0a  = 0x00800000 }..
34c00 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54  enum : uint { ST
34c10 41 54 45 5f 53 59 53 54 45 4d 5f 4d 55 4c 54 49  ATE_SYSTEM_MULTI
34c20 53 45 4c 45 43 54 41 42 4c 45 20 3d 20 30 78 30  SELECTABLE = 0x0
34c30 31 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  1000000 }..enum 
34c40 3a 20 75 69 6e 74 20 7b 20 53 54 41 54 45 5f 53  : uint { STATE_S
34c50 59 53 54 45 4d 5f 45 58 54 53 45 4c 45 43 54 41  YSTEM_EXTSELECTA
34c60 42 4c 45 20 3d 20 30 78 30 32 30 30 30 30 30 30  BLE = 0x02000000
34c70 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
34c80 7b 20 53 54 41 54 45 5f 53 59 53 54 45 4d 5f 41  { STATE_SYSTEM_A
34c90 4c 45 52 54 5f 4c 4f 57 20 3d 20 30 78 30 34 30  LERT_LOW = 0x040
34ca0 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
34cb0 75 69 6e 74 20 7b 20 53 54 41 54 45 5f 53 59 53  uint { STATE_SYS
34cc0 54 45 4d 5f 41 4c 45 52 54 5f 4d 45 44 49 55 4d  TEM_ALERT_MEDIUM
34cd0 20 3d 20 30 78 30 38 30 30 30 30 30 30 20 7d 0d   = 0x08000000 }.
34ce0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
34cf0 54 41 54 45 5f 53 59 53 54 45 4d 5f 41 4c 45 52  TATE_SYSTEM_ALER
34d00 54 5f 48 49 47 48 20 3d 20 30 78 31 30 30 30 30  T_HIGH = 0x10000
34d10 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
34d20 6e 74 20 7b 20 53 54 41 54 45 5f 53 59 53 54 45  nt { STATE_SYSTE
34d30 4d 5f 50 52 4f 54 45 43 54 45 44 20 3d 20 30 78  M_PROTECTED = 0x
34d40 32 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  20000000 }..enum
34d50 20 3a 20 75 69 6e 74 20 7b 20 53 54 41 54 45 5f   : uint { STATE_
34d60 53 59 53 54 45 4d 5f 56 41 4c 49 44 20 3d 20 30  SYSTEM_VALID = 0
34d70 78 33 46 46 46 46 46 46 46 20 7d 0d 0a 2f 2f 20  x3FFFFFFF }..// 
34d80 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a  #endif....enum :
34d90 20 75 69 6e 74 20 7b 20 43 43 48 49 4c 44 52 45   uint { CCHILDRE
34da0 4e 5f 54 49 54 4c 45 42 41 52 20 3d 20 35 20 7d  N_TITLEBAR = 5 }
34db0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
34dc0 43 43 48 49 4c 44 52 45 4e 5f 53 43 52 4f 4c 4c  CCHILDREN_SCROLL
34dd0 42 41 52 20 3d 20 35 20 7d 0d 0a 0d 0a 73 74 72  BAR = 5 }....str
34de0 75 63 74 20 74 61 67 43 55 52 53 4f 52 49 4e 46  uct tagCURSORINF
34df0 4f 20 7b 0d 0a 20 20 44 57 4f 52 44 20 63 62 53  O {..  DWORD cbS
34e00 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 66 6c  ize;..  DWORD fl
34e10 61 67 73 3b 0d 0a 20 20 48 43 55 52 53 4f 52 20  ags;..  HCURSOR 
34e20 68 43 75 72 73 6f 72 3b 0d 0a 20 20 50 4f 49 4e  hCursor;..  POIN
34e30 54 20 70 74 53 63 72 65 65 6e 50 6f 73 3b 0d 0a  T ptScreenPos;..
34e40 7d 0d 0a 61 6c 69 61 73 20 74 61 67 43 55 52 53  }..alias tagCURS
34e50 4f 52 49 4e 46 4f 20 43 55 52 53 4f 52 49 4e 46  ORINFO CURSORINF
34e60 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67 43 55 52  O;..alias tagCUR
34e70 53 4f 52 49 4e 46 4f 2a 20 50 43 55 52 53 4f 52  SORINFO* PCURSOR
34e80 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67  INFO;..alias tag
34e90 43 55 52 53 4f 52 49 4e 46 4f 2a 20 4c 50 43 55  CURSORINFO* LPCU
34ea0 52 53 4f 52 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75  RSORINFO;....enu
34eb0 6d 20 3a 20 75 69 6e 74 20 7b 20 43 55 52 53 4f  m : uint { CURSO
34ec0 52 5f 53 48 4f 57 49 4e 47 20 3d 20 30 78 30 30  R_SHOWING = 0x00
34ed0 30 30 30 30 30 31 20 7d 0d 0a 0d 0a 65 78 74 65  000001 }....exte
34ee0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
34ef0 72 74 20 42 4f 4f 4c 20 47 65 74 43 75 72 73 6f  rt BOOL GetCurso
34f00 72 49 6e 66 6f 28 0d 0a 20 20 50 43 55 52 53 4f  rInfo(..  PCURSO
34f10 52 49 4e 46 4f 20 70 63 69 0d 0a 29 3b 0d 0a 0d  RINFO pci..);...
34f20 0a 73 74 72 75 63 74 20 74 61 67 57 49 4e 44 4f  .struct tagWINDO
34f30 57 49 4e 46 4f 20 7b 0d 0a 20 20 44 57 4f 52 44  WINFO {..  DWORD
34f40 20 63 62 53 69 7a 65 3b 0d 0a 20 20 52 45 43 54   cbSize;..  RECT
34f50 20 72 63 57 69 6e 64 6f 77 3b 0d 0a 20 20 52 45   rcWindow;..  RE
34f60 43 54 20 72 63 43 6c 69 65 6e 74 3b 0d 0a 20 20  CT rcClient;..  
34f70 44 57 4f 52 44 20 64 77 53 74 79 6c 65 3b 0d 0a  DWORD dwStyle;..
34f80 20 20 44 57 4f 52 44 20 64 77 45 78 53 74 79 6c    DWORD dwExStyl
34f90 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 57 69  e;..  DWORD dwWi
34fa0 6e 64 6f 77 53 74 61 74 75 73 3b 0d 0a 20 20 55  ndowStatus;..  U
34fb0 49 4e 54 20 63 78 57 69 6e 64 6f 77 42 6f 72 64  INT cxWindowBord
34fc0 65 72 73 3b 0d 0a 20 20 55 49 4e 54 20 63 79 57  ers;..  UINT cyW
34fd0 69 6e 64 6f 77 42 6f 72 64 65 72 73 3b 0d 0a 20  indowBorders;.. 
34fe0 20 41 54 4f 4d 20 61 74 6f 6d 57 69 6e 64 6f 77   ATOM atomWindow
34ff0 54 79 70 65 3b 0d 0a 20 20 57 4f 52 44 20 77 43  Type;..  WORD wC
35000 72 65 61 74 6f 72 56 65 72 73 69 6f 6e 3b 0d 0a  reatorVersion;..
35010 7d 0d 0a 61 6c 69 61 73 20 74 61 67 57 49 4e 44  }..alias tagWIND
35020 4f 57 49 4e 46 4f 20 57 49 4e 44 4f 57 49 4e 46  OWINFO WINDOWINF
35030 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57 49 4e  O;..alias tagWIN
35040 44 4f 57 49 4e 46 4f 2a 20 50 57 49 4e 44 4f 57  DOWINFO* PWINDOW
35050 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67  INFO;..alias tag
35060 57 49 4e 44 4f 57 49 4e 46 4f 2a 20 4c 50 57 49  WINDOWINFO* LPWI
35070 4e 44 4f 57 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75  NDOWINFO;....enu
35080 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 5f 41 43  m : uint { WS_AC
35090 54 49 56 45 43 41 50 54 49 4f 4e 20 3d 20 30 78  TIVECAPTION = 0x
350a0 30 30 30 31 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e  0001 }....extern
350b0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
350c0 20 42 4f 4f 4c 20 47 65 74 57 69 6e 64 6f 77 49   BOOL GetWindowI
350d0 6e 66 6f 28 0d 0a 20 20 48 57 4e 44 20 68 77 6e  nfo(..  HWND hwn
350e0 64 2c 0d 0a 20 20 50 57 49 4e 44 4f 57 49 4e 46  d,..  PWINDOWINF
350f0 4f 20 70 77 69 0d 0a 29 3b 0d 0a 0d 0a 73 74 72  O pwi..);....str
35100 75 63 74 20 74 61 67 54 49 54 4c 45 42 41 52 49  uct tagTITLEBARI
35110 4e 46 4f 20 7b 0d 0a 20 20 44 57 4f 52 44 20 63  NFO {..  DWORD c
35120 62 53 69 7a 65 3b 0d 0a 20 20 52 45 43 54 20 72  bSize;..  RECT r
35130 63 54 69 74 6c 65 42 61 72 3b 0d 0a 20 20 44 57  cTitleBar;..  DW
35140 4f 52 44 20 72 67 73 74 61 74 65 5b 43 43 48 49  ORD rgstate[CCHI
35150 4c 44 52 45 4e 5f 54 49 54 4c 45 42 41 52 2b 31  LDREN_TITLEBAR+1
35160 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  ];..}..alias tag
35170 54 49 54 4c 45 42 41 52 49 4e 46 4f 20 54 49 54  TITLEBARINFO TIT
35180 4c 45 42 41 52 49 4e 46 4f 3b 0d 0a 61 6c 69 61  LEBARINFO;..alia
35190 73 20 74 61 67 54 49 54 4c 45 42 41 52 49 4e 46  s tagTITLEBARINF
351a0 4f 2a 20 50 54 49 54 4c 45 42 41 52 49 4e 46 4f  O* PTITLEBARINFO
351b0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 54 49 54 4c  ;..alias tagTITL
351c0 45 42 41 52 49 4e 46 4f 2a 20 4c 50 54 49 54 4c  EBARINFO* LPTITL
351d0 45 42 41 52 49 4e 46 4f 3b 0d 0a 0d 0a 65 78 74  EBARINFO;....ext
351e0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
351f0 6f 72 74 20 42 4f 4f 4c 20 47 65 74 54 69 74 6c  ort BOOL GetTitl
35200 65 42 61 72 49 6e 66 6f 28 0d 0a 20 20 48 57 4e  eBarInfo(..  HWN
35210 44 20 68 77 6e 64 2c 0d 0a 20 20 50 54 49 54 4c  D hwnd,..  PTITL
35220 45 42 41 52 49 4e 46 4f 20 70 74 69 0d 0a 29 3b  EBARINFO pti..);
35230 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 45  ....struct tagME
35240 4e 55 42 41 52 49 4e 46 4f 20 7b 0d 0a 20 20 44  NUBARINFO {..  D
35250 57 4f 52 44 20 63 62 53 69 7a 65 3b 0d 0a 20 20  WORD cbSize;..  
35260 52 45 43 54 20 72 63 42 61 72 3b 0d 0a 20 20 48  RECT rcBar;..  H
35270 4d 45 4e 55 20 68 4d 65 6e 75 3b 0d 0a 20 20 48  MENU hMenu;..  H
35280 57 4e 44 20 68 77 6e 64 4d 65 6e 75 3b 0d 0a 2f  WND hwndMenu;../
35290 2f 20 42 4f 4f 4c 20 20 66 42 61 72 46 6f 63 75  / BOOL  fBarFocu
352a0 73 65 64 3a 31 3b 0d 0a 2f 2f 20 42 4f 4f 4c 20  sed:1;..// BOOL 
352b0 20 66 46 6f 63 75 73 65 64 3a 31 3b 0d 0a 7d 0d   fFocused:1;..}.
352c0 0a 61 6c 69 61 73 20 74 61 67 4d 45 4e 55 42 41  .alias tagMENUBA
352d0 52 49 4e 46 4f 20 4d 45 4e 55 42 41 52 49 4e 46  RINFO MENUBARINF
352e0 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 45 4e  O;..alias tagMEN
352f0 55 42 41 52 49 4e 46 4f 2a 20 50 4d 45 4e 55 42  UBARINFO* PMENUB
35300 41 52 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74  ARINFO;..alias t
35310 61 67 4d 45 4e 55 42 41 52 49 4e 46 4f 2a 20 4c  agMENUBARINFO* L
35320 50 4d 45 4e 55 42 41 52 49 4e 46 4f 3b 0d 0a 0d  PMENUBARINFO;...
35330 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
35340 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74   export BOOL Get
35350 4d 65 6e 75 42 61 72 49 6e 66 6f 28 0d 0a 20 20  MenuBarInfo(..  
35360 48 57 4e 44 20 68 77 6e 64 2c 0d 0a 20 20 4c 4f  HWND hwnd,..  LO
35370 4e 47 20 69 64 4f 62 6a 65 63 74 2c 0d 0a 20 20  NG idObject,..  
35380 4c 4f 4e 47 20 69 64 49 74 65 6d 2c 0d 0a 20 20  LONG idItem,..  
35390 50 4d 45 4e 55 42 41 52 49 4e 46 4f 20 70 6d 62  PMENUBARINFO pmb
353a0 69 0d 0a 29 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  i..);....struct 
353b0 74 61 67 53 43 52 4f 4c 4c 42 41 52 49 4e 46 4f  tagSCROLLBARINFO
353c0 20 7b 0d 0a 20 20 44 57 4f 52 44 20 63 62 53 69   {..  DWORD cbSi
353d0 7a 65 3b 0d 0a 20 20 52 45 43 54 20 72 63 53 63  ze;..  RECT rcSc
353e0 72 6f 6c 6c 42 61 72 3b 0d 0a 20 20 69 6e 74 20  rollBar;..  int 
353f0 64 78 79 4c 69 6e 65 42 75 74 74 6f 6e 3b 0d 0a  dxyLineButton;..
35400 20 20 69 6e 74 20 78 79 54 68 75 6d 62 54 6f 70    int xyThumbTop
35410 3b 0d 0a 20 20 69 6e 74 20 78 79 54 68 75 6d 62  ;..  int xyThumb
35420 42 6f 74 74 6f 6d 3b 0d 0a 20 20 69 6e 74 20 72  Bottom;..  int r
35430 65 73 65 72 76 65 64 3b 0d 0a 20 20 44 57 4f 52  eserved;..  DWOR
35440 44 20 72 67 73 74 61 74 65 5b 43 43 48 49 4c 44  D rgstate[CCHILD
35450 52 45 4e 5f 53 43 52 4f 4c 4c 42 41 52 2b 31 5d  REN_SCROLLBAR+1]
35460 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 53  ;..}..alias tagS
35470 43 52 4f 4c 4c 42 41 52 49 4e 46 4f 20 53 43 52  CROLLBARINFO SCR
35480 4f 4c 4c 42 41 52 49 4e 46 4f 3b 0d 0a 61 6c 69  OLLBARINFO;..ali
35490 61 73 20 74 61 67 53 43 52 4f 4c 4c 42 41 52 49  as tagSCROLLBARI
354a0 4e 46 4f 2a 20 50 53 43 52 4f 4c 4c 42 41 52 49  NFO* PSCROLLBARI
354b0 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67 53  NFO;..alias tagS
354c0 43 52 4f 4c 4c 42 41 52 49 4e 46 4f 2a 20 4c 50  CROLLBARINFO* LP
354d0 53 43 52 4f 4c 4c 42 41 52 49 4e 46 4f 3b 0d 0a  SCROLLBARINFO;..
354e0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
354f0 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65  ) export BOOL Ge
35500 74 53 63 72 6f 6c 6c 42 61 72 49 6e 66 6f 28 0d  tScrollBarInfo(.
35510 0a 20 20 48 57 4e 44 20 68 77 6e 64 2c 0d 0a 20  .  HWND hwnd,.. 
35520 20 4c 4f 4e 47 20 69 64 4f 62 6a 65 63 74 2c 0d   LONG idObject,.
35530 0a 20 20 50 53 43 52 4f 4c 4c 42 41 52 49 4e 46  .  PSCROLLBARINF
35540 4f 20 70 73 62 69 0d 0a 29 3b 0d 0a 0d 0a 73 74  O psbi..);....st
35550 72 75 63 74 20 74 61 67 43 4f 4d 42 4f 42 4f 58  ruct tagCOMBOBOX
35560 49 4e 46 4f 20 7b 0d 0a 20 20 44 57 4f 52 44 20  INFO {..  DWORD 
35570 63 62 53 69 7a 65 3b 0d 0a 20 20 52 45 43 54 20  cbSize;..  RECT 
35580 72 63 49 74 65 6d 3b 0d 0a 20 20 52 45 43 54 20  rcItem;..  RECT 
35590 72 63 42 75 74 74 6f 6e 3b 0d 0a 20 20 44 57 4f  rcButton;..  DWO
355a0 52 44 20 73 74 61 74 65 42 75 74 74 6f 6e 3b 0d  RD stateButton;.
355b0 0a 20 20 48 57 4e 44 20 68 77 6e 64 43 6f 6d 62  .  HWND hwndComb
355c0 6f 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 49  o;..  HWND hwndI
355d0 74 65 6d 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e  tem;..  HWND hwn
355e0 64 4c 69 73 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  dList;..}..alias
355f0 20 74 61 67 43 4f 4d 42 4f 42 4f 58 49 4e 46 4f   tagCOMBOBOXINFO
35600 20 43 4f 4d 42 4f 42 4f 58 49 4e 46 4f 3b 0d 0a   COMBOBOXINFO;..
35610 61 6c 69 61 73 20 74 61 67 43 4f 4d 42 4f 42 4f  alias tagCOMBOBO
35620 58 49 4e 46 4f 2a 20 50 43 4f 4d 42 4f 42 4f 58  XINFO* PCOMBOBOX
35630 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67  INFO;..alias tag
35640 43 4f 4d 42 4f 42 4f 58 49 4e 46 4f 2a 20 4c 50  COMBOBOXINFO* LP
35650 43 4f 4d 42 4f 42 4f 58 49 4e 46 4f 3b 0d 0a 0d  COMBOBOXINFO;...
35660 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
35670 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74   export BOOL Get
35680 43 6f 6d 62 6f 42 6f 78 49 6e 66 6f 28 0d 0a 20  ComboBoxInfo(.. 
35690 20 48 57 4e 44 20 68 77 6e 64 43 6f 6d 62 6f 2c   HWND hwndCombo,
356a0 0d 0a 20 20 50 43 4f 4d 42 4f 42 4f 58 49 4e 46  ..  PCOMBOBOXINF
356b0 4f 20 70 63 62 69 0d 0a 29 3b 0d 0a 0d 0a 65 6e  O pcbi..);....en
356c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 41 5f 50  um : uint { GA_P
356d0 41 52 45 4e 54 20 3d 20 31 20 7d 0d 0a 65 6e 75  ARENT = 1 }..enu
356e0 6d 20 3a 20 75 69 6e 74 20 7b 20 47 41 5f 52 4f  m : uint { GA_RO
356f0 4f 54 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a  OT = 2 }..enum :
35700 20 75 69 6e 74 20 7b 20 47 41 5f 52 4f 4f 54 4f   uint { GA_ROOTO
35710 57 4e 45 52 20 3d 20 33 20 7d 0d 0a 0d 0a 65 78  WNER = 3 }....ex
35720 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
35730 70 6f 72 74 20 48 57 4e 44 20 47 65 74 41 6e 63  port HWND GetAnc
35740 65 73 74 6f 72 28 0d 0a 20 20 48 57 4e 44 20 68  estor(..  HWND h
35750 77 6e 64 2c 0d 0a 20 20 55 49 4e 54 20 67 61 46  wnd,..  UINT gaF
35760 6c 61 67 73 0d 0a 29 3b 0d 0a 0d 0a 65 78 74 65  lags..);....exte
35770 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
35780 72 74 20 48 57 4e 44 20 52 65 61 6c 43 68 69 6c  rt HWND RealChil
35790 64 57 69 6e 64 6f 77 46 72 6f 6d 50 6f 69 6e 74  dWindowFromPoint
357a0 28 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 50 61  (..  HWND hwndPa
357b0 72 65 6e 74 2c 0d 0a 20 20 50 4f 49 4e 54 20 70  rent,..  POINT p
357c0 74 50 61 72 65 6e 74 43 6c 69 65 6e 74 43 6f 6f  tParentClientCoo
357d0 72 64 73 0d 0a 29 3b 0d 0a 0d 0a 65 78 74 65 72  rds..);....exter
357e0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
357f0 74 20 55 49 4e 54 20 52 65 61 6c 47 65 74 57 69  t UINT RealGetWi
35800 6e 64 6f 77 43 6c 61 73 73 41 28 0d 0a 20 20 48  ndowClassA(..  H
35810 57 4e 44 20 68 77 6e 64 2c 0d 0a 20 20 4c 50 53  WND hwnd,..  LPS
35820 54 52 20 70 73 7a 54 79 70 65 2c 0d 0a 20 20 55  TR pszType,..  U
35830 49 4e 54 20 63 63 68 54 79 70 65 0d 0a 29 3b 0d  INT cchType..);.
35840 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
35850 73 29 20 65 78 70 6f 72 74 20 55 49 4e 54 20 52  s) export UINT R
35860 65 61 6c 47 65 74 57 69 6e 64 6f 77 43 6c 61 73  ealGetWindowClas
35870 73 57 28 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64  sW(..  HWND hwnd
35880 2c 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a 54  ,..  LPWSTR pszT
35890 79 70 65 2c 0d 0a 20 20 55 49 4e 54 20 63 63 68  ype,..  UINT cch
358a0 54 79 70 65 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66  Type..);..// #if
358b0 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69  def UNICODE..ali
358c0 61 73 20 52 65 61 6c 47 65 74 57 69 6e 64 6f 77  as RealGetWindow
358d0 43 6c 61 73 73 57 20 52 65 61 6c 47 65 74 57 69  ClassW RealGetWi
358e0 6e 64 6f 77 43 6c 61 73 73 3b 0d 0a 2f 2f 20 23  ndowClass;..// #
358f0 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
35900 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
35910 43 4f 44 45 0d 0a 0d 0a 73 74 72 75 63 74 20 74  CODE....struct t
35920 61 67 41 4c 54 54 41 42 49 4e 46 4f 20 7b 0d 0a  agALTTABINFO {..
35930 20 20 44 57 4f 52 44 20 63 62 53 69 7a 65 3b 0d    DWORD cbSize;.
35940 0a 20 20 69 6e 74 20 63 49 74 65 6d 73 3b 0d 0a  .  int cItems;..
35950 20 20 69 6e 74 20 63 43 6f 6c 75 6d 6e 73 3b 0d    int cColumns;.
35960 0a 20 20 69 6e 74 20 63 52 6f 77 73 3b 0d 0a 20  .  int cRows;.. 
35970 20 69 6e 74 20 69 43 6f 6c 46 6f 63 75 73 3b 0d   int iColFocus;.
35980 0a 20 20 69 6e 74 20 69 52 6f 77 46 6f 63 75 73  .  int iRowFocus
35990 3b 0d 0a 20 20 69 6e 74 20 63 78 49 74 65 6d 3b  ;..  int cxItem;
359a0 0d 0a 20 20 69 6e 74 20 63 79 49 74 65 6d 3b 0d  ..  int cyItem;.
359b0 0a 20 20 50 4f 49 4e 54 20 70 74 53 74 61 72 74  .  POINT ptStart
359c0 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 41  ;..}..alias tagA
359d0 4c 54 54 41 42 49 4e 46 4f 20 41 4c 54 54 41 42  LTTABINFO ALTTAB
359e0 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67  INFO;..alias tag
359f0 41 4c 54 54 41 42 49 4e 46 4f 2a 20 50 41 4c 54  ALTTABINFO* PALT
35a00 54 41 42 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20  TABINFO;..alias 
35a10 74 61 67 41 4c 54 54 41 42 49 4e 46 4f 2a 20 4c  tagALTTABINFO* L
35a20 50 41 4c 54 54 41 42 49 4e 46 4f 3b 0d 0a 0d 0a  PALTTABINFO;....
35a30 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
35a40 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 41  export BOOL GetA
35a50 6c 74 54 61 62 49 6e 66 6f 41 28 0d 0a 20 20 48  ltTabInfoA(..  H
35a60 57 4e 44 20 68 77 6e 64 2c 0d 0a 20 20 69 6e 74  WND hwnd,..  int
35a70 20 69 49 74 65 6d 2c 0d 0a 20 20 50 41 4c 54 54   iItem,..  PALTT
35a80 41 42 49 4e 46 4f 20 70 61 74 69 2c 0d 0a 20 20  ABINFO pati,..  
35a90 4c 50 53 54 52 20 70 73 7a 49 74 65 6d 54 65 78  LPSTR pszItemTex
35aa0 74 2c 0d 0a 20 20 55 49 4e 54 20 63 63 68 49 74  t,..  UINT cchIt
35ab0 65 6d 54 65 78 74 0d 0a 29 3b 0d 0a 65 78 74 65  emText..);..exte
35ac0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
35ad0 72 74 20 42 4f 4f 4c 20 47 65 74 41 6c 74 54 61  rt BOOL GetAltTa
35ae0 62 49 6e 66 6f 57 28 0d 0a 20 20 48 57 4e 44 20  bInfoW(..  HWND 
35af0 68 77 6e 64 2c 0d 0a 20 20 69 6e 74 20 69 49 74  hwnd,..  int iIt
35b00 65 6d 2c 0d 0a 20 20 50 41 4c 54 54 41 42 49 4e  em,..  PALTTABIN
35b10 46 4f 20 70 61 74 69 2c 0d 0a 20 20 4c 50 57 53  FO pati,..  LPWS
35b20 54 52 20 70 73 7a 49 74 65 6d 54 65 78 74 2c 0d  TR pszItemText,.
35b30 0a 20 20 55 49 4e 54 20 63 63 68 49 74 65 6d 54  .  UINT cchItemT
35b40 65 78 74 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64  ext..);..// #ifd
35b50 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
35b60 73 20 47 65 74 41 6c 74 54 61 62 49 6e 66 6f 57  s GetAltTabInfoW
35b70 20 47 65 74 41 6c 74 54 61 62 49 6e 66 6f 3b 0d   GetAltTabInfo;.
35b80 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
35b90 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
35ba0 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74   !UNICODE....ext
35bb0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
35bc0 6f 72 74 20 44 57 4f 52 44 20 47 65 74 4c 69 73  ort DWORD GetLis
35bd0 74 42 6f 78 49 6e 66 6f 28 0d 0a 20 20 48 57 4e  tBoxInfo(..  HWN
35be0 44 20 68 77 6e 64 0d 0a 29 3b 0d 0a 0d 0a 2f 2f  D hwnd..);....//
35bf0 20 23 65 6e 64 69 66 20 2f 2a 20 4e 4f 57 49 4e   #endif /* NOWIN
35c00 41 42 4c 45 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64  ABLE */..// #end
35c10 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20  if /* WINVER >= 
35c20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20  0x0500 */....// 
35c30 23 69 66 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  #if(_WIN32_WINNT
35c40 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 78 74   >= 0x0500)..ext
35c50 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
35c60 6f 72 74 20 42 4f 4f 4c 20 4c 6f 63 6b 57 6f 72  ort BOOL LockWor
35c70 6b 53 74 61 74 69 6f 6e 28 29 3b 0d 0a 2f 2f 20  kStation();..// 
35c80 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32  #endif /* _WIN32
35c90 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30  _WINNT >= 0x0500
35ca0 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 28 5f 57   */....// #if(_W
35cb0 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
35cc0 30 35 30 30 29 0d 0a 0d 0a 65 78 74 65 72 6e 28  0500)....extern(
35cd0 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
35ce0 42 4f 4f 4c 20 55 73 65 72 48 61 6e 64 6c 65 47  BOOL UserHandleG
35cf0 72 61 6e 74 41 63 63 65 73 73 28 0d 0a 20 20 48  rantAccess(..  H
35d00 41 4e 44 4c 45 20 68 55 73 65 72 48 61 6e 64 6c  ANDLE hUserHandl
35d10 65 2c 0d 0a 20 20 48 41 4e 44 4c 45 20 68 4a 6f  e,..  HANDLE hJo
35d20 62 2c 0d 0a 20 20 42 4f 4f 4c 20 62 47 72 61 6e  b,..  BOOL bGran
35d30 74 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  t);....// #endif
35d40 20 2f 2a 20 5f 57 49 4e 33 32 5f 57 49 4e 4e 54   /* _WIN32_WINNT
35d50 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d   >= 0x0500 */...
35d60 0a 2f 2f 20 23 69 66 28 5f 57 49 4e 33 32 5f 57  .// #if(_WIN32_W
35d70 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d  INNT >= 0x0501).
35d80 0a 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48  ...alias void* H
35d90 52 41 57 49 4e 50 55 54 3b 0d 0a 0d 0a 2f 2f 20  RAWINPUT;....// 
35da0 23 64 65 66 69 6e 65 20 47 45 54 5f 52 41 57 49  #define GET_RAWI
35db0 4e 50 55 54 5f 43 4f 44 45 5f 57 50 41 52 41 4d  NPUT_CODE_WPARAM
35dc0 28 77 50 61 72 61 6d 29 20 28 28 77 50 61 72 61  (wParam) ((wPara
35dd0 6d 29 20 26 20 30 78 66 66 29 0d 0a 0d 0a 65 6e  m) & 0xff)....en
35de0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49 4d 5f  um : uint { RIM_
35df0 49 4e 50 55 54 20 3d 20 30 20 7d 0d 0a 0d 0a 65  INPUT = 0 }....e
35e00 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49 4d  num : uint { RIM
35e10 5f 49 4e 50 55 54 53 49 4e 4b 20 3d 20 31 20 7d  _INPUTSINK = 1 }
35e20 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 52 41  ....struct tagRA
35e30 57 49 4e 50 55 54 48 45 41 44 45 52 20 7b 0d 0a  WINPUTHEADER {..
35e40 20 20 44 57 4f 52 44 20 64 77 54 79 70 65 3b 0d    DWORD dwType;.
35e50 0a 20 20 44 57 4f 52 44 20 64 77 53 69 7a 65 3b  .  DWORD dwSize;
35e60 0d 0a 20 20 48 41 4e 44 4c 45 20 68 44 65 76 69  ..  HANDLE hDevi
35e70 63 65 3b 0d 0a 20 20 57 50 41 52 41 4d 20 77 50  ce;..  WPARAM wP
35e80 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  aram;..}..alias 
35e90 74 61 67 52 41 57 49 4e 50 55 54 48 45 41 44 45  tagRAWINPUTHEADE
35ea0 52 20 52 41 57 49 4e 50 55 54 48 45 41 44 45 52  R RAWINPUTHEADER
35eb0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 52 41 57 49  ;..alias tagRAWI
35ec0 4e 50 55 54 48 45 41 44 45 52 2a 20 50 52 41 57  NPUTHEADER* PRAW
35ed0 49 4e 50 55 54 48 45 41 44 45 52 3b 0d 0a 61 6c  INPUTHEADER;..al
35ee0 69 61 73 20 74 61 67 52 41 57 49 4e 50 55 54 48  ias tagRAWINPUTH
35ef0 45 41 44 45 52 2a 20 4c 50 52 41 57 49 4e 50 55  EADER* LPRAWINPU
35f00 54 48 45 41 44 45 52 3b 0d 0a 0d 0a 65 6e 75 6d  THEADER;....enum
35f10 20 3a 20 75 69 6e 74 20 7b 20 52 49 4d 5f 54 59   : uint { RIM_TY
35f20 50 45 4d 4f 55 53 45 20 3d 20 30 20 7d 0d 0a 65  PEMOUSE = 0 }..e
35f30 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49 4d  num : uint { RIM
35f40 5f 54 59 50 45 4b 45 59 42 4f 41 52 44 20 3d 20  _TYPEKEYBOARD = 
35f50 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
35f60 20 7b 20 52 49 4d 5f 54 59 50 45 48 49 44 20 3d   { RIM_TYPEHID =
35f70 20 32 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74   2 }....struct t
35f80 61 67 52 41 57 4d 4f 55 53 45 20 7b 0d 0a 0d 0a  agRAWMOUSE {....
35f90 20 20 55 53 48 4f 52 54 20 75 73 46 6c 61 67 73    USHORT usFlags
35fa0 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 55 4c  ;..union {..  UL
35fb0 4f 4e 47 20 75 6c 42 75 74 74 6f 6e 73 3b 0d 0a  ONG ulButtons;..
35fc0 73 74 72 75 63 74 20 7b 0d 0a 20 20 55 53 48 4f  struct {..  USHO
35fd0 52 54 20 75 73 42 75 74 74 6f 6e 46 6c 61 67 73  RT usButtonFlags
35fe0 3b 0d 0a 20 20 55 53 48 4f 52 54 20 75 73 42 75  ;..  USHORT usBu
35ff0 74 74 6f 6e 44 61 74 61 3b 0d 0a 7d 0d 0a 0d 0a  ttonData;..}....
36000 7d 0d 0a 0d 0a 20 20 55 4c 4f 4e 47 20 75 6c 52  }....  ULONG ulR
36010 61 77 42 75 74 74 6f 6e 73 3b 0d 0a 20 20 4c 4f  awButtons;..  LO
36020 4e 47 20 6c 4c 61 73 74 58 3b 0d 0a 20 20 4c 4f  NG lLastX;..  LO
36030 4e 47 20 6c 4c 61 73 74 59 3b 0d 0a 20 20 55 4c  NG lLastY;..  UL
36040 4f 4e 47 20 75 6c 45 78 74 72 61 49 6e 66 6f 72  ONG ulExtraInfor
36050 6d 61 74 69 6f 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61  mation;..}..alia
36060 73 20 74 61 67 52 41 57 4d 4f 55 53 45 20 52 41  s tagRAWMOUSE RA
36070 57 4d 4f 55 53 45 3b 0d 0a 61 6c 69 61 73 20 74  WMOUSE;..alias t
36080 61 67 52 41 57 4d 4f 55 53 45 2a 20 50 52 41 57  agRAWMOUSE* PRAW
36090 4d 4f 55 53 45 3b 0d 0a 61 6c 69 61 73 20 74 61  MOUSE;..alias ta
360a0 67 52 41 57 4d 4f 55 53 45 2a 20 4c 50 52 41 57  gRAWMOUSE* LPRAW
360b0 4d 4f 55 53 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  MOUSE;....enum :
360c0 20 75 69 6e 74 20 7b 20 52 49 5f 4d 4f 55 53 45   uint { RI_MOUSE
360d0 5f 4c 45 46 54 5f 42 55 54 54 4f 4e 5f 44 4f 57  _LEFT_BUTTON_DOW
360e0 4e 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e  N = 0x0001 }..en
360f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49 5f 4d  um : uint { RI_M
36100 4f 55 53 45 5f 4c 45 46 54 5f 42 55 54 54 4f 4e  OUSE_LEFT_BUTTON
36110 5f 55 50 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a  _UP = 0x0002 }..
36120 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49  enum : uint { RI
36130 5f 4d 4f 55 53 45 5f 52 49 47 48 54 5f 42 55 54  _MOUSE_RIGHT_BUT
36140 54 4f 4e 5f 44 4f 57 4e 20 3d 20 30 78 30 30 30  TON_DOWN = 0x000
36150 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
36160 20 7b 20 52 49 5f 4d 4f 55 53 45 5f 52 49 47 48   { RI_MOUSE_RIGH
36170 54 5f 42 55 54 54 4f 4e 5f 55 50 20 3d 20 30 78  T_BUTTON_UP = 0x
36180 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
36190 69 6e 74 20 7b 20 52 49 5f 4d 4f 55 53 45 5f 4d  int { RI_MOUSE_M
361a0 49 44 44 4c 45 5f 42 55 54 54 4f 4e 5f 44 4f 57  IDDLE_BUTTON_DOW
361b0 4e 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e  N = 0x0010 }..en
361c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49 5f 4d  um : uint { RI_M
361d0 4f 55 53 45 5f 4d 49 44 44 4c 45 5f 42 55 54 54  OUSE_MIDDLE_BUTT
361e0 4f 4e 5f 55 50 20 3d 20 30 78 30 30 32 30 20 7d  ON_UP = 0x0020 }
361f0 0d 0a 0d 0a 61 6c 69 61 73 20 52 49 5f 4d 4f 55  ....alias RI_MOU
36200 53 45 5f 4c 45 46 54 5f 42 55 54 54 4f 4e 5f 44  SE_LEFT_BUTTON_D
36210 4f 57 4e 20 52 49 5f 4d 4f 55 53 45 5f 42 55 54  OWN RI_MOUSE_BUT
36220 54 4f 4e 5f 31 5f 44 4f 57 4e 3b 0d 0a 61 6c 69  TON_1_DOWN;..ali
36230 61 73 20 52 49 5f 4d 4f 55 53 45 5f 4c 45 46 54  as RI_MOUSE_LEFT
36240 5f 42 55 54 54 4f 4e 5f 55 50 20 52 49 5f 4d 4f  _BUTTON_UP RI_MO
36250 55 53 45 5f 42 55 54 54 4f 4e 5f 31 5f 55 50 3b  USE_BUTTON_1_UP;
36260 0d 0a 61 6c 69 61 73 20 52 49 5f 4d 4f 55 53 45  ..alias RI_MOUSE
36270 5f 52 49 47 48 54 5f 42 55 54 54 4f 4e 5f 44 4f  _RIGHT_BUTTON_DO
36280 57 4e 20 52 49 5f 4d 4f 55 53 45 5f 42 55 54 54  WN RI_MOUSE_BUTT
36290 4f 4e 5f 32 5f 44 4f 57 4e 3b 0d 0a 61 6c 69 61  ON_2_DOWN;..alia
362a0 73 20 52 49 5f 4d 4f 55 53 45 5f 52 49 47 48 54  s RI_MOUSE_RIGHT
362b0 5f 42 55 54 54 4f 4e 5f 55 50 20 52 49 5f 4d 4f  _BUTTON_UP RI_MO
362c0 55 53 45 5f 42 55 54 54 4f 4e 5f 32 5f 55 50 3b  USE_BUTTON_2_UP;
362d0 0d 0a 61 6c 69 61 73 20 52 49 5f 4d 4f 55 53 45  ..alias RI_MOUSE
362e0 5f 4d 49 44 44 4c 45 5f 42 55 54 54 4f 4e 5f 44  _MIDDLE_BUTTON_D
362f0 4f 57 4e 20 52 49 5f 4d 4f 55 53 45 5f 42 55 54  OWN RI_MOUSE_BUT
36300 54 4f 4e 5f 33 5f 44 4f 57 4e 3b 0d 0a 61 6c 69  TON_3_DOWN;..ali
36310 61 73 20 52 49 5f 4d 4f 55 53 45 5f 4d 49 44 44  as RI_MOUSE_MIDD
36320 4c 45 5f 42 55 54 54 4f 4e 5f 55 50 20 52 49 5f  LE_BUTTON_UP RI_
36330 4d 4f 55 53 45 5f 42 55 54 54 4f 4e 5f 33 5f 55  MOUSE_BUTTON_3_U
36340 50 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  P;....enum : uin
36350 74 20 7b 20 52 49 5f 4d 4f 55 53 45 5f 42 55 54  t { RI_MOUSE_BUT
36360 54 4f 4e 5f 34 5f 44 4f 57 4e 20 3d 20 30 78 30  TON_4_DOWN = 0x0
36370 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  040 }..enum : ui
36380 6e 74 20 7b 20 52 49 5f 4d 4f 55 53 45 5f 42 55  nt { RI_MOUSE_BU
36390 54 54 4f 4e 5f 34 5f 55 50 20 3d 20 30 78 30 30  TTON_4_UP = 0x00
363a0 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  80 }..enum : uin
363b0 74 20 7b 20 52 49 5f 4d 4f 55 53 45 5f 42 55 54  t { RI_MOUSE_BUT
363c0 54 4f 4e 5f 35 5f 44 4f 57 4e 20 3d 20 30 78 30  TON_5_DOWN = 0x0
363d0 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  100 }..enum : ui
363e0 6e 74 20 7b 20 52 49 5f 4d 4f 55 53 45 5f 42 55  nt { RI_MOUSE_BU
363f0 54 54 4f 4e 5f 35 5f 55 50 20 3d 20 30 78 30 32  TTON_5_UP = 0x02
36400 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
36410 69 6e 74 20 7b 20 52 49 5f 4d 4f 55 53 45 5f 57  int { RI_MOUSE_W
36420 48 45 45 4c 20 3d 20 30 78 30 34 30 30 20 7d 0d  HEEL = 0x0400 }.
36430 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
36440 20 4d 4f 55 53 45 5f 4d 4f 56 45 5f 52 45 4c 41   MOUSE_MOVE_RELA
36450 54 49 56 45 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d  TIVE = 0 }..enum
36460 20 3a 20 75 69 6e 74 20 7b 20 4d 4f 55 53 45 5f   : uint { MOUSE_
36470 4d 4f 56 45 5f 41 42 53 4f 4c 55 54 45 20 3d 20  MOVE_ABSOLUTE = 
36480 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
36490 20 7b 20 4d 4f 55 53 45 5f 56 49 52 54 55 41 4c   { MOUSE_VIRTUAL
364a0 5f 44 45 53 4b 54 4f 50 20 3d 20 30 78 30 32 20  _DESKTOP = 0x02 
364b0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
364c0 20 4d 4f 55 53 45 5f 41 54 54 52 49 42 55 54 45   MOUSE_ATTRIBUTE
364d0 53 5f 43 48 41 4e 47 45 44 20 3d 20 30 78 30 34  S_CHANGED = 0x04
364e0 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67   }....struct tag
364f0 52 41 57 4b 45 59 42 4f 41 52 44 20 7b 0d 0a 0d  RAWKEYBOARD {...
36500 0a 20 20 55 53 48 4f 52 54 20 4d 61 6b 65 43 6f  .  USHORT MakeCo
36510 64 65 3b 0d 0a 20 20 55 53 48 4f 52 54 20 46 6c  de;..  USHORT Fl
36520 61 67 73 3b 0d 0a 20 20 55 53 48 4f 52 54 20 52  ags;..  USHORT R
36530 65 73 65 72 76 65 64 3b 0d 0a 20 20 55 53 48 4f  eserved;..  USHO
36540 52 54 20 56 4b 65 79 3b 0d 0a 20 20 55 49 4e 54  RT VKey;..  UINT
36550 20 4d 65 73 73 61 67 65 3b 0d 0a 20 20 55 4c 4f   Message;..  ULO
36560 4e 47 20 45 78 74 72 61 49 6e 66 6f 72 6d 61 74  NG ExtraInformat
36570 69 6f 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  ion;..}..alias t
36580 61 67 52 41 57 4b 45 59 42 4f 41 52 44 20 52 41  agRAWKEYBOARD RA
36590 57 4b 45 59 42 4f 41 52 44 3b 0d 0a 61 6c 69 61  WKEYBOARD;..alia
365a0 73 20 74 61 67 52 41 57 4b 45 59 42 4f 41 52 44  s tagRAWKEYBOARD
365b0 2a 20 50 52 41 57 4b 45 59 42 4f 41 52 44 3b 0d  * PRAWKEYBOARD;.
365c0 0a 61 6c 69 61 73 20 74 61 67 52 41 57 4b 45 59  .alias tagRAWKEY
365d0 42 4f 41 52 44 2a 20 4c 50 52 41 57 4b 45 59 42  BOARD* LPRAWKEYB
365e0 4f 41 52 44 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  OARD;....enum : 
365f0 75 69 6e 74 20 7b 20 4b 45 59 42 4f 41 52 44 5f  uint { KEYBOARD_
36600 4f 56 45 52 52 55 4e 5f 4d 41 4b 45 5f 43 4f 44  OVERRUN_MAKE_COD
36610 45 20 3d 20 30 78 46 46 20 7d 0d 0a 0d 0a 65 6e  E = 0xFF }....en
36620 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49 5f 4b  um : uint { RI_K
36630 45 59 5f 4d 41 4b 45 20 3d 20 30 20 7d 0d 0a 65  EY_MAKE = 0 }..e
36640 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49 5f  num : uint { RI_
36650 4b 45 59 5f 42 52 45 41 4b 20 3d 20 31 20 7d 0d  KEY_BREAK = 1 }.
36660 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
36670 49 5f 4b 45 59 5f 45 30 20 3d 20 32 20 7d 0d 0a  I_KEY_E0 = 2 }..
36680 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49  enum : uint { RI
36690 5f 4b 45 59 5f 45 31 20 3d 20 34 20 7d 0d 0a 65  _KEY_E1 = 4 }..e
366a0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49 5f  num : uint { RI_
366b0 4b 45 59 5f 54 45 52 4d 53 52 56 5f 53 45 54 5f  KEY_TERMSRV_SET_
366c0 4c 45 44 20 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20  LED = 8 }..enum 
366d0 3a 20 75 69 6e 74 20 7b 20 52 49 5f 4b 45 59 5f  : uint { RI_KEY_
366e0 54 45 52 4d 53 52 56 5f 53 48 41 44 4f 57 20 3d  TERMSRV_SHADOW =
366f0 20 30 78 31 30 20 7d 0d 0a 0d 0a 73 74 72 75 63   0x10 }....struc
36700 74 20 74 61 67 52 41 57 48 49 44 20 7b 0d 0a 20  t tagRAWHID {.. 
36710 20 44 57 4f 52 44 20 64 77 53 69 7a 65 48 69 64   DWORD dwSizeHid
36720 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 43 6f 75  ;..  DWORD dwCou
36730 6e 74 3b 0d 0a 20 20 42 59 54 45 20 62 52 61 77  nt;..  BYTE bRaw
36740 44 61 74 61 5b 31 5d 3b 0d 0a 7d 0d 0a 61 6c 69  Data[1];..}..ali
36750 61 73 20 74 61 67 52 41 57 48 49 44 20 52 41 57  as tagRAWHID RAW
36760 48 49 44 3b 0d 0a 61 6c 69 61 73 20 74 61 67 52  HID;..alias tagR
36770 41 57 48 49 44 2a 20 50 52 41 57 48 49 44 3b 0d  AWHID* PRAWHID;.
36780 0a 61 6c 69 61 73 20 74 61 67 52 41 57 48 49 44  .alias tagRAWHID
36790 2a 20 4c 50 52 41 57 48 49 44 3b 0d 0a 0d 0a 73  * LPRAWHID;....s
367a0 74 72 75 63 74 20 74 61 67 52 41 57 49 4e 50 55  truct tagRAWINPU
367b0 54 20 7b 0d 0a 20 20 52 41 57 49 4e 50 55 54 48  T {..  RAWINPUTH
367c0 45 41 44 45 52 20 68 65 61 64 65 72 3b 0d 0a 75  EADER header;..u
367d0 6e 69 6f 6e 20 7b 0d 0a 20 20 52 41 57 4d 4f 55  nion {..  RAWMOU
367e0 53 45 20 6d 6f 75 73 65 3b 0d 0a 20 20 52 41 57  SE mouse;..  RAW
367f0 4b 45 59 42 4f 41 52 44 20 6b 65 79 62 6f 61 72  KEYBOARD keyboar
36800 64 3b 0d 0a 20 20 52 41 57 48 49 44 20 68 69 64  d;..  RAWHID hid
36810 3b 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a 61 6c 69 61 73  ;..}....}..alias
36820 20 74 61 67 52 41 57 49 4e 50 55 54 20 52 41 57   tagRAWINPUT RAW
36830 49 4e 50 55 54 3b 0d 0a 61 6c 69 61 73 20 74 61  INPUT;..alias ta
36840 67 52 41 57 49 4e 50 55 54 2a 20 50 52 41 57 49  gRAWINPUT* PRAWI
36850 4e 50 55 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67  NPUT;..alias tag
36860 52 41 57 49 4e 50 55 54 2a 20 4c 50 52 41 57 49  RAWINPUT* LPRAWI
36870 4e 50 55 54 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  NPUT;....// #ifd
36880 65 66 20 5f 57 49 4e 36 34 0d 0a 2f 2f 20 23 2e  ef _WIN64..// #.
36890 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 20 20 20 2f  ....// #else   /
368a0 2f 20 5f 57 49 4e 36 34 0d 0a 75 69 6e 74 20 52  / _WIN64..uint R
368b0 41 57 49 4e 50 55 54 5f 41 4c 49 47 4e 28 75 69  AWINPUT_ALIGN(ui
368c0 6e 74 20 78 29 7b 20 72 65 74 75 72 6e 20 28 28  nt x){ return ((
368d0 78 20 2b 20 44 57 4f 52 44 2e 73 69 7a 65 6f 66  x + DWORD.sizeof
368e0 20 2d 20 31 29 20 26 20 7e 28 44 57 4f 52 44 2e   - 1) & ~(DWORD.
368f0 73 69 7a 65 6f 66 20 2d 20 31 29 29 3b 20 7d 0d  sizeof - 1)); }.
36900 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2f 20 5f  .// #endif  // _
36910 57 49 4e 36 34 0d 0a 0d 0a 2f 2f 20 23 64 65 66  WIN64....// #def
36920 69 6e 65 20 4e 45 58 54 52 41 57 49 4e 50 55 54  ine NEXTRAWINPUT
36930 42 4c 4f 43 4b 28 70 74 72 29 20 28 28 50 52 41  BLOCK(ptr) ((PRA
36940 57 49 4e 50 55 54 29 52 41 57 49 4e 50 55 54 5f  WINPUT)RAWINPUT_
36950 41 4c 49 47 4e 28 28 55 4c 4f 4e 47 5f 50 54 52  ALIGN((ULONG_PTR
36960 29 28 28 50 42 59 54 45 29 28 70 74 72 29 20 2b  )((PBYTE)(ptr) +
36970 20 28 70 74 72 29 2d 3e 68 65 61 64 65 72 2e 64   (ptr)->header.d
36980 77 53 69 7a 65 29 29 29 0d 0a 0d 0a 65 6e 75 6d  wSize)))....enum
36990 20 3a 20 75 69 6e 74 20 7b 20 52 49 44 5f 49 4e   : uint { RID_IN
369a0 50 55 54 20 3d 20 30 78 31 30 30 30 30 30 30 33  PUT = 0x10000003
369b0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
369c0 7b 20 52 49 44 5f 48 45 41 44 45 52 20 3d 20 30  { RID_HEADER = 0
369d0 78 31 30 30 30 30 30 30 35 20 7d 0d 0a 0d 0a 65  x10000005 }....e
369e0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
369f0 78 70 6f 72 74 20 55 49 4e 54 20 47 65 74 52 61  xport UINT GetRa
36a00 77 49 6e 70 75 74 44 61 74 61 28 0d 0a 20 20 48  wInputData(..  H
36a10 52 41 57 49 4e 50 55 54 20 68 52 61 77 49 6e 70  RAWINPUT hRawInp
36a20 75 74 2c 0d 0a 20 20 55 49 4e 54 20 75 69 43 6f  ut,..  UINT uiCo
36a30 6d 6d 61 6e 64 2c 0d 0a 20 20 4c 50 56 4f 49 44  mmand,..  LPVOID
36a40 20 70 44 61 74 61 2c 0d 0a 20 20 50 55 49 4e 54   pData,..  PUINT
36a50 20 70 63 62 53 69 7a 65 2c 0d 0a 20 20 55 49 4e   pcbSize,..  UIN
36a60 54 20 63 62 53 69 7a 65 48 65 61 64 65 72 29 3b  T cbSizeHeader);
36a70 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
36a80 7b 20 52 49 44 49 5f 50 52 45 50 41 52 53 45 44  { RIDI_PREPARSED
36a90 44 41 54 41 20 3d 20 30 78 32 30 30 30 30 30 30  DATA = 0x2000000
36aa0 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
36ab0 20 7b 20 52 49 44 49 5f 44 45 56 49 43 45 4e 41   { RIDI_DEVICENA
36ac0 4d 45 20 3d 20 30 78 32 30 30 30 30 30 30 37 20  ME = 0x20000007 
36ad0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
36ae0 20 52 49 44 49 5f 44 45 56 49 43 45 49 4e 46 4f   RIDI_DEVICEINFO
36af0 20 3d 20 30 78 32 30 30 30 30 30 30 62 20 7d 0d   = 0x2000000b }.
36b00 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 52 49 44  ...struct tagRID
36b10 5f 44 45 56 49 43 45 5f 49 4e 46 4f 5f 4d 4f 55  _DEVICE_INFO_MOU
36b20 53 45 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77  SE {..  DWORD dw
36b30 49 64 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4e  Id;..  DWORD dwN
36b40 75 6d 62 65 72 4f 66 42 75 74 74 6f 6e 73 3b 0d  umberOfButtons;.
36b50 0a 20 20 44 57 4f 52 44 20 64 77 53 61 6d 70 6c  .  DWORD dwSampl
36b60 65 52 61 74 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  eRate;..}..alias
36b70 20 74 61 67 52 49 44 5f 44 45 56 49 43 45 5f 49   tagRID_DEVICE_I
36b80 4e 46 4f 5f 4d 4f 55 53 45 20 52 49 44 5f 44 45  NFO_MOUSE RID_DE
36b90 56 49 43 45 5f 49 4e 46 4f 5f 4d 4f 55 53 45 3b  VICE_INFO_MOUSE;
36ba0 0d 0a 61 6c 69 61 73 20 74 61 67 52 49 44 5f 44  ..alias tagRID_D
36bb0 45 56 49 43 45 5f 49 4e 46 4f 5f 4d 4f 55 53 45  EVICE_INFO_MOUSE
36bc0 2a 20 50 52 49 44 5f 44 45 56 49 43 45 5f 49 4e  * PRID_DEVICE_IN
36bd0 46 4f 5f 4d 4f 55 53 45 3b 0d 0a 0d 0a 73 74 72  FO_MOUSE;....str
36be0 75 63 74 20 74 61 67 52 49 44 5f 44 45 56 49 43  uct tagRID_DEVIC
36bf0 45 5f 49 4e 46 4f 5f 4b 45 59 42 4f 41 52 44 20  E_INFO_KEYBOARD 
36c00 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 54 79 70  {..  DWORD dwTyp
36c10 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 75  e;..  DWORD dwSu
36c20 62 54 79 70 65 3b 0d 0a 20 20 44 57 4f 52 44 20  bType;..  DWORD 
36c30 64 77 4b 65 79 62 6f 61 72 64 4d 6f 64 65 3b 0d  dwKeyboardMode;.
36c40 0a 20 20 44 57 4f 52 44 20 64 77 4e 75 6d 62 65  .  DWORD dwNumbe
36c50 72 4f 66 46 75 6e 63 74 69 6f 6e 4b 65 79 73 3b  rOfFunctionKeys;
36c60 0d 0a 20 20 44 57 4f 52 44 20 64 77 4e 75 6d 62  ..  DWORD dwNumb
36c70 65 72 4f 66 49 6e 64 69 63 61 74 6f 72 73 3b 0d  erOfIndicators;.
36c80 0a 20 20 44 57 4f 52 44 20 64 77 4e 75 6d 62 65  .  DWORD dwNumbe
36c90 72 4f 66 4b 65 79 73 54 6f 74 61 6c 3b 0d 0a 7d  rOfKeysTotal;..}
36ca0 0d 0a 61 6c 69 61 73 20 74 61 67 52 49 44 5f 44  ..alias tagRID_D
36cb0 45 56 49 43 45 5f 49 4e 46 4f 5f 4b 45 59 42 4f  EVICE_INFO_KEYBO
36cc0 41 52 44 20 52 49 44 5f 44 45 56 49 43 45 5f 49  ARD RID_DEVICE_I
36cd0 4e 46 4f 5f 4b 45 59 42 4f 41 52 44 3b 0d 0a 61  NFO_KEYBOARD;..a
36ce0 6c 69 61 73 20 74 61 67 52 49 44 5f 44 45 56 49  lias tagRID_DEVI
36cf0 43 45 5f 49 4e 46 4f 5f 4b 45 59 42 4f 41 52 44  CE_INFO_KEYBOARD
36d00 2a 20 50 52 49 44 5f 44 45 56 49 43 45 5f 49 4e  * PRID_DEVICE_IN
36d10 46 4f 5f 4b 45 59 42 4f 41 52 44 3b 0d 0a 0d 0a  FO_KEYBOARD;....
36d20 73 74 72 75 63 74 20 74 61 67 52 49 44 5f 44 45  struct tagRID_DE
36d30 56 49 43 45 5f 49 4e 46 4f 5f 48 49 44 20 7b 0d  VICE_INFO_HID {.
36d40 0a 20 20 44 57 4f 52 44 20 64 77 56 65 6e 64 6f  .  DWORD dwVendo
36d50 72 49 64 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  rId;..  DWORD dw
36d60 50 72 6f 64 75 63 74 49 64 3b 0d 0a 20 20 44 57  ProductId;..  DW
36d70 4f 52 44 20 64 77 56 65 72 73 69 6f 6e 4e 75 6d  ORD dwVersionNum
36d80 62 65 72 3b 0d 0a 20 20 55 53 48 4f 52 54 20 75  ber;..  USHORT u
36d90 73 55 73 61 67 65 50 61 67 65 3b 0d 0a 20 20 55  sUsagePage;..  U
36da0 53 48 4f 52 54 20 75 73 55 73 61 67 65 3b 0d 0a  SHORT usUsage;..
36db0 7d 0d 0a 61 6c 69 61 73 20 74 61 67 52 49 44 5f  }..alias tagRID_
36dc0 44 45 56 49 43 45 5f 49 4e 46 4f 5f 48 49 44 20  DEVICE_INFO_HID 
36dd0 52 49 44 5f 44 45 56 49 43 45 5f 49 4e 46 4f 5f  RID_DEVICE_INFO_
36de0 48 49 44 3b 0d 0a 61 6c 69 61 73 20 74 61 67 52  HID;..alias tagR
36df0 49 44 5f 44 45 56 49 43 45 5f 49 4e 46 4f 5f 48  ID_DEVICE_INFO_H
36e00 49 44 2a 20 50 52 49 44 5f 44 45 56 49 43 45 5f  ID* PRID_DEVICE_
36e10 49 4e 46 4f 5f 48 49 44 3b 0d 0a 0d 0a 73 74 72  INFO_HID;....str
36e20 75 63 74 20 74 61 67 52 49 44 5f 44 45 56 49 43  uct tagRID_DEVIC
36e30 45 5f 49 4e 46 4f 20 7b 0d 0a 20 20 44 57 4f 52  E_INFO {..  DWOR
36e40 44 20 63 62 53 69 7a 65 3b 0d 0a 20 20 44 57 4f  D cbSize;..  DWO
36e50 52 44 20 64 77 54 79 70 65 3b 0d 0a 75 6e 69 6f  RD dwType;..unio
36e60 6e 20 7b 0d 0a 20 20 52 49 44 5f 44 45 56 49 43  n {..  RID_DEVIC
36e70 45 5f 49 4e 46 4f 5f 4d 4f 55 53 45 20 6d 6f 75  E_INFO_MOUSE mou
36e80 73 65 3b 0d 0a 20 20 52 49 44 5f 44 45 56 49 43  se;..  RID_DEVIC
36e90 45 5f 49 4e 46 4f 5f 4b 45 59 42 4f 41 52 44 20  E_INFO_KEYBOARD 
36ea0 6b 65 79 62 6f 61 72 64 3b 0d 0a 20 20 52 49 44  keyboard;..  RID
36eb0 5f 44 45 56 49 43 45 5f 49 4e 46 4f 5f 48 49 44  _DEVICE_INFO_HID
36ec0 20 68 69 64 3b 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a 61   hid;..}....}..a
36ed0 6c 69 61 73 20 74 61 67 52 49 44 5f 44 45 56 49  lias tagRID_DEVI
36ee0 43 45 5f 49 4e 46 4f 20 52 49 44 5f 44 45 56 49  CE_INFO RID_DEVI
36ef0 43 45 5f 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20  CE_INFO;..alias 
36f00 74 61 67 52 49 44 5f 44 45 56 49 43 45 5f 49 4e  tagRID_DEVICE_IN
36f10 46 4f 2a 20 50 52 49 44 5f 44 45 56 49 43 45 5f  FO* PRID_DEVICE_
36f20 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67  INFO;..alias tag
36f30 52 49 44 5f 44 45 56 49 43 45 5f 49 4e 46 4f 2a  RID_DEVICE_INFO*
36f40 20 4c 50 52 49 44 5f 44 45 56 49 43 45 5f 49 4e   LPRID_DEVICE_IN
36f50 46 4f 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  FO;....extern(Wi
36f60 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 55 49  ndows) export UI
36f70 4e 54 20 47 65 74 52 61 77 49 6e 70 75 74 44 65  NT GetRawInputDe
36f80 76 69 63 65 49 6e 66 6f 41 28 0d 0a 20 20 48 41  viceInfoA(..  HA
36f90 4e 44 4c 45 20 68 44 65 76 69 63 65 2c 0d 0a 20  NDLE hDevice,.. 
36fa0 20 55 49 4e 54 20 75 69 43 6f 6d 6d 61 6e 64 2c   UINT uiCommand,
36fb0 0d 0a 20 20 4c 50 56 4f 49 44 20 70 44 61 74 61  ..  LPVOID pData
36fc0 2c 0d 0a 20 20 50 55 49 4e 54 20 70 63 62 53 69  ,..  PUINT pcbSi
36fd0 7a 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ze);..extern(Win
36fe0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 55 49 4e  dows) export UIN
36ff0 54 20 47 65 74 52 61 77 49 6e 70 75 74 44 65 76  T GetRawInputDev
37000 69 63 65 49 6e 66 6f 57 28 0d 0a 20 20 48 41 4e  iceInfoW(..  HAN
37010 44 4c 45 20 68 44 65 76 69 63 65 2c 0d 0a 20 20  DLE hDevice,..  
37020 55 49 4e 54 20 75 69 43 6f 6d 6d 61 6e 64 2c 0d  UINT uiCommand,.
37030 0a 20 20 4c 50 56 4f 49 44 20 70 44 61 74 61 2c  .  LPVOID pData,
37040 0d 0a 20 20 50 55 49 4e 54 20 70 63 62 53 69 7a  ..  PUINT pcbSiz
37050 65 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  e);..// #ifdef U
37060 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 47 65  NICODE..alias Ge
37070 74 52 61 77 49 6e 70 75 74 44 65 76 69 63 65 49  tRawInputDeviceI
37080 6e 66 6f 57 20 47 65 74 52 61 77 49 6e 70 75 74  nfoW GetRawInput
37090 44 65 76 69 63 65 49 6e 66 6f 3b 0d 0a 2f 2f 20  DeviceInfo;..// 
370a0 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
370b0 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
370c0 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
370d0 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
370e0 55 49 4e 54 20 47 65 74 52 61 77 49 6e 70 75 74  UINT GetRawInput
370f0 42 75 66 66 65 72 28 0d 0a 20 20 50 52 41 57 49  Buffer(..  PRAWI
37100 4e 50 55 54 20 70 44 61 74 61 2c 0d 0a 20 20 50  NPUT pData,..  P
37110 55 49 4e 54 20 70 63 62 53 69 7a 65 2c 0d 0a 20  UINT pcbSize,.. 
37120 20 55 49 4e 54 20 63 62 53 69 7a 65 48 65 61 64   UINT cbSizeHead
37130 65 72 29 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74  er);....struct t
37140 61 67 52 41 57 49 4e 50 55 54 44 45 56 49 43 45  agRAWINPUTDEVICE
37150 20 7b 0d 0a 20 20 55 53 48 4f 52 54 20 75 73 55   {..  USHORT usU
37160 73 61 67 65 50 61 67 65 3b 0d 0a 20 20 55 53 48  sagePage;..  USH
37170 4f 52 54 20 75 73 55 73 61 67 65 3b 0d 0a 20 20  ORT usUsage;..  
37180 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a  DWORD dwFlags;..
37190 20 20 48 57 4e 44 20 68 77 6e 64 54 61 72 67 65    HWND hwndTarge
371a0 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  t;..}..alias tag
371b0 52 41 57 49 4e 50 55 54 44 45 56 49 43 45 20 52  RAWINPUTDEVICE R
371c0 41 57 49 4e 50 55 54 44 45 56 49 43 45 3b 0d 0a  AWINPUTDEVICE;..
371d0 61 6c 69 61 73 20 74 61 67 52 41 57 49 4e 50 55  alias tagRAWINPU
371e0 54 44 45 56 49 43 45 2a 20 50 52 41 57 49 4e 50  TDEVICE* PRAWINP
371f0 55 54 44 45 56 49 43 45 3b 0d 0a 61 6c 69 61 73  UTDEVICE;..alias
37200 20 74 61 67 52 41 57 49 4e 50 55 54 44 45 56 49   tagRAWINPUTDEVI
37210 43 45 2a 20 4c 50 52 41 57 49 4e 50 55 54 44 45  CE* LPRAWINPUTDE
37220 56 49 43 45 3b 0d 0a 0d 0a 61 6c 69 61 73 20 52  VICE;....alias R
37230 41 57 49 4e 50 55 54 44 45 56 49 43 45 2a 20 50  AWINPUTDEVICE* P
37240 43 52 41 57 49 4e 50 55 54 44 45 56 49 43 45 3b  CRAWINPUTDEVICE;
37250 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
37260 7b 20 52 49 44 45 56 5f 52 45 4d 4f 56 45 20 3d  { RIDEV_REMOVE =
37270 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65   0x00000001 }..e
37280 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 49 44  num : uint { RID
37290 45 56 5f 45 58 43 4c 55 44 45 20 3d 20 30 78 30  EV_EXCLUDE = 0x0
372a0 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20  0000010 }..enum 
372b0 3a 20 75 69 6e 74 20 7b 20 52 49 44 45 56 5f 50  : uint { RIDEV_P
372c0 41 47 45 4f 4e 4c 59 20 3d 20 30 78 30 30 30 30  AGEONLY = 0x0000
372d0 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0020 }..enum : u
372e0 69 6e 74 20 7b 20 52 49 44 45 56 5f 4e 4f 4c 45  int { RIDEV_NOLE
372f0 47 41 43 59 20 3d 20 30 78 30 30 30 30 30 30 33  GACY = 0x0000003
37300 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
37310 20 7b 20 52 49 44 45 56 5f 43 41 50 54 55 52 45   { RIDEV_CAPTURE
37320 4d 4f 55 53 45 20 3d 20 30 78 30 30 30 30 30 32  MOUSE = 0x000002
37330 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
37340 74 20 7b 20 52 49 44 45 56 5f 4e 4f 48 4f 54 4b  t { RIDEV_NOHOTK
37350 45 59 53 20 3d 20 30 78 30 30 30 30 30 32 30 30  EYS = 0x00000200
37360 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
37370 7b 20 52 49 44 45 56 5f 45 58 4d 4f 44 45 4d 41  { RIDEV_EXMODEMA
37380 53 4b 20 3d 20 30 78 30 30 30 30 30 30 46 30 20  SK = 0x000000F0 
37390 7d 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  }....// #define 
373a0 52 49 44 45 56 5f 45 58 4d 4f 44 45 28 6d 6f 64  RIDEV_EXMODE(mod
373b0 65 29 20 28 28 6d 6f 64 65 29 20 26 20 52 49 44  e) ((mode) & RID
373c0 45 56 5f 45 58 4d 4f 44 45 4d 41 53 4b 29 0d 0a  EV_EXMODEMASK)..
373d0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
373e0 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 52 65  ) export BOOL Re
373f0 67 69 73 74 65 72 52 61 77 49 6e 70 75 74 44 65  gisterRawInputDe
37400 76 69 63 65 73 28 0d 0a 20 20 50 43 52 41 57 49  vices(..  PCRAWI
37410 4e 50 55 54 44 45 56 49 43 45 20 70 52 61 77 49  NPUTDEVICE pRawI
37420 6e 70 75 74 44 65 76 69 63 65 73 2c 0d 0a 20 20  nputDevices,..  
37430 55 49 4e 54 20 75 69 4e 75 6d 44 65 76 69 63 65  UINT uiNumDevice
37440 73 2c 0d 0a 20 20 55 49 4e 54 20 63 62 53 69 7a  s,..  UINT cbSiz
37450 65 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  e);....extern(Wi
37460 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 55 49  ndows) export UI
37470 4e 54 20 47 65 74 52 65 67 69 73 74 65 72 65 64  NT GetRegistered
37480 52 61 77 49 6e 70 75 74 44 65 76 69 63 65 73 28  RawInputDevices(
37490 0d 0a 20 20 50 52 41 57 49 4e 50 55 54 44 45 56  ..  PRAWINPUTDEV
374a0 49 43 45 20 70 52 61 77 49 6e 70 75 74 44 65 76  ICE pRawInputDev
374b0 69 63 65 73 2c 0d 0a 20 20 50 55 49 4e 54 20 70  ices,..  PUINT p
374c0 75 69 4e 75 6d 44 65 76 69 63 65 73 2c 0d 0a 20  uiNumDevices,.. 
374d0 20 55 49 4e 54 20 63 62 53 69 7a 65 29 3b 0d 0a   UINT cbSize);..
374e0 0d 0a 73 74 72 75 63 74 20 74 61 67 52 41 57 49  ..struct tagRAWI
374f0 4e 50 55 54 44 45 56 49 43 45 4c 49 53 54 20 7b  NPUTDEVICELIST {
37500 0d 0a 20 20 48 41 4e 44 4c 45 20 68 44 65 76 69  ..  HANDLE hDevi
37510 63 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 54  ce;..  DWORD dwT
37520 79 70 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  ype;..}..alias t
37530 61 67 52 41 57 49 4e 50 55 54 44 45 56 49 43 45  agRAWINPUTDEVICE
37540 4c 49 53 54 20 52 41 57 49 4e 50 55 54 44 45 56  LIST RAWINPUTDEV
37550 49 43 45 4c 49 53 54 3b 0d 0a 61 6c 69 61 73 20  ICELIST;..alias 
37560 74 61 67 52 41 57 49 4e 50 55 54 44 45 56 49 43  tagRAWINPUTDEVIC
37570 45 4c 49 53 54 2a 20 50 52 41 57 49 4e 50 55 54  ELIST* PRAWINPUT
37580 44 45 56 49 43 45 4c 49 53 54 3b 0d 0a 0d 0a 65  DEVICELIST;....e
37590 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
375a0 78 70 6f 72 74 20 55 49 4e 54 20 47 65 74 52 61  xport UINT GetRa
375b0 77 49 6e 70 75 74 44 65 76 69 63 65 4c 69 73 74  wInputDeviceList
375c0 28 0d 0a 20 20 50 52 41 57 49 4e 50 55 54 44 45  (..  PRAWINPUTDE
375d0 56 49 43 45 4c 49 53 54 20 70 52 61 77 49 6e 70  VICELIST pRawInp
375e0 75 74 44 65 76 69 63 65 4c 69 73 74 2c 0d 0a 20  utDeviceList,.. 
375f0 20 50 55 49 4e 54 20 70 75 69 4e 75 6d 44 65 76   PUINT puiNumDev
37600 69 63 65 73 2c 0d 0a 20 20 55 49 4e 54 20 63 62  ices,..  UINT cb
37610 53 69 7a 65 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  Size);....extern
37620 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
37630 20 4c 52 45 53 55 4c 54 20 44 65 66 52 61 77 49   LRESULT DefRawI
37640 6e 70 75 74 50 72 6f 63 28 0d 0a 20 20 50 52 41  nputProc(..  PRA
37650 57 49 4e 50 55 54 2a 20 70 61 52 61 77 49 6e 70  WINPUT* paRawInp
37660 75 74 2c 0d 0a 20 20 49 4e 54 20 6e 49 6e 70 75  ut,..  INT nInpu
37670 74 2c 0d 0a 20 20 55 49 4e 54 20 63 62 53 69 7a  t,..  UINT cbSiz
37680 65 48 65 61 64 65 72 29 3b 0d 0a 0d 0a 2f 2f 20  eHeader);....// 
37690 23 65 6e 64 69 66 20 2f 2a 20 5f 57 49 4e 33 32  #endif /* _WIN32
376a0 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31  _WINNT >= 0x0501
376b0 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 20 21 64   */....// #if !d
376c0 65 66 69 6e 65 64 28 52 43 5f 49 4e 56 4f 4b 45  efined(RC_INVOKE
376d0 44 29 20 2f 2a 20 52 43 20 63 6f 6d 70 6c 61 69  D) /* RC complai
376e0 6e 73 20 61 62 6f 75 74 20 6c 6f 6e 67 20 73 79  ns about long sy
376f0 6d 62 6f 6c 73 20 69 6e 20 23 69 66 73 20 2a 2f  mbols in #ifs */
37700 0d 0a 2f 2f 20 23 69 66 20 49 53 4f 4c 41 54 49  ..// #if ISOLATI
37710 4f 4e 5f 41 57 41 52 45 5f 45 4e 41 42 4c 45 44  ON_AWARE_ENABLED
37720 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
37730 6e 64 69 66 20 2f 2a 20 49 53 4f 4c 41 54 49 4f  ndif /* ISOLATIO
37740 4e 5f 41 57 41 52 45 5f 45 4e 41 42 4c 45 44 20  N_AWARE_ENABLED 
37750 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  */..// #endif /*
37760 20 52 43 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66   RC */....// #if
37770 64 65 66 20 5f 5f 63 70 6c 75 73 70 6c 75 73 0d  def __cplusplus.
37780 0a 2f 2f 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  .// }..// #endif
37790 20 20 2f 2a 20 5f 5f 63 70 6c 75 73 70 6c 75 73    /* __cplusplus
377a0 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66   */....// #endif
377b0 20 2f 2a 20 21 5f 57 49 4e 55 53 45 52 5f 20 2a   /* !_WINUSER_ *
377c0 2f 0d 0a 0d 0a                                   /....