github.com/secoba/wails/v2@v2.6.4/internal/frontend/desktop/windows/winc/w32/constants.go (about)

     1  //go:build windows
     2  
     3  /*
     4   * Copyright (C) 2019 The Winc Authors. All Rights Reserved.
     5   * Copyright (C) 2010-2012 The W32 Authors. All Rights Reserved.
     6   */
     7  package w32
     8  
     9  const (
    10  	FALSE = 0
    11  	TRUE  = 1
    12  )
    13  
    14  const (
    15  	NO_ERROR                         = 0
    16  	ERROR_SUCCESS                    = 0
    17  	ERROR_FILE_NOT_FOUND             = 2
    18  	ERROR_PATH_NOT_FOUND             = 3
    19  	ERROR_ACCESS_DENIED              = 5
    20  	ERROR_INVALID_HANDLE             = 6
    21  	ERROR_BAD_FORMAT                 = 11
    22  	ERROR_INVALID_NAME               = 123
    23  	ERROR_MORE_DATA                  = 234
    24  	ERROR_NO_MORE_ITEMS              = 259
    25  	ERROR_INVALID_SERVICE_CONTROL    = 1052
    26  	ERROR_SERVICE_REQUEST_TIMEOUT    = 1053
    27  	ERROR_SERVICE_NO_THREAD          = 1054
    28  	ERROR_SERVICE_DATABASE_LOCKED    = 1055
    29  	ERROR_SERVICE_ALREADY_RUNNING    = 1056
    30  	ERROR_SERVICE_DISABLED           = 1058
    31  	ERROR_SERVICE_DOES_NOT_EXIST     = 1060
    32  	ERROR_SERVICE_CANNOT_ACCEPT_CTRL = 1061
    33  	ERROR_SERVICE_NOT_ACTIVE         = 1062
    34  	ERROR_DATABASE_DOES_NOT_EXIST    = 1065
    35  	ERROR_SERVICE_DEPENDENCY_FAIL    = 1068
    36  	ERROR_SERVICE_LOGON_FAILED       = 1069
    37  	ERROR_SERVICE_MARKED_FOR_DELETE  = 1072
    38  	ERROR_SERVICE_DEPENDENCY_DELETED = 1075
    39  )
    40  
    41  const (
    42  	SE_ERR_FNF             = 2
    43  	SE_ERR_PNF             = 3
    44  	SE_ERR_ACCESSDENIED    = 5
    45  	SE_ERR_OOM             = 8
    46  	SE_ERR_DLLNOTFOUND     = 32
    47  	SE_ERR_SHARE           = 26
    48  	SE_ERR_ASSOCINCOMPLETE = 27
    49  	SE_ERR_DDETIMEOUT      = 28
    50  	SE_ERR_DDEFAIL         = 29
    51  	SE_ERR_DDEBUSY         = 30
    52  	SE_ERR_NOASSOC         = 31
    53  )
    54  
    55  const (
    56  	CW_USEDEFAULT = ^0x7fffffff
    57  )
    58  
    59  const (
    60  	IMAGE_BITMAP      = 0
    61  	IMAGE_ICON        = 1
    62  	IMAGE_CURSOR      = 2
    63  	IMAGE_ENHMETAFILE = 3
    64  )
    65  
    66  // ShowWindow constants
    67  const (
    68  	SW_HIDE            = 0
    69  	SW_NORMAL          = 1
    70  	SW_SHOWNORMAL      = 1
    71  	SW_SHOWMINIMIZED   = 2
    72  	SW_MAXIMIZE        = 3
    73  	SW_SHOWMAXIMIZED   = 3
    74  	SW_SHOWNOACTIVATE  = 4
    75  	SW_SHOW            = 5
    76  	SW_MINIMIZE        = 6
    77  	SW_SHOWMINNOACTIVE = 7
    78  	SW_SHOWNA          = 8
    79  	SW_RESTORE         = 9
    80  	SW_SHOWDEFAULT     = 10
    81  	SW_FORCEMINIMIZE   = 11
    82  )
    83  
    84  // Window class styles
    85  const (
    86  	CS_VREDRAW         = 0x00000001
    87  	CS_HREDRAW         = 0x00000002
    88  	CS_KEYCVTWINDOW    = 0x00000004
    89  	CS_DBLCLKS         = 0x00000008
    90  	CS_OWNDC           = 0x00000020
    91  	CS_CLASSDC         = 0x00000040
    92  	CS_PARENTDC        = 0x00000080
    93  	CS_NOKEYCVT        = 0x00000100
    94  	CS_NOCLOSE         = 0x00000200
    95  	CS_SAVEBITS        = 0x00000800
    96  	CS_BYTEALIGNCLIENT = 0x00001000
    97  	CS_BYTEALIGNWINDOW = 0x00002000
    98  	CS_GLOBALCLASS     = 0x00004000
    99  	CS_IME             = 0x00010000
   100  	CS_DROPSHADOW      = 0x00020000
   101  )
   102  
   103  // Predefined cursor constants
   104  const (
   105  	IDC_ARROW       = 32512
   106  	IDC_IBEAM       = 32513
   107  	IDC_WAIT        = 32514
   108  	IDC_CROSS       = 32515
   109  	IDC_UPARROW     = 32516
   110  	IDC_SIZENWSE    = 32642
   111  	IDC_SIZENESW    = 32643
   112  	IDC_SIZEWE      = 32644
   113  	IDC_SIZENS      = 32645
   114  	IDC_SIZEALL     = 32646
   115  	IDC_NO          = 32648
   116  	IDC_HAND        = 32649
   117  	IDC_APPSTARTING = 32650
   118  	IDC_HELP        = 32651
   119  	IDC_ICON        = 32641
   120  	IDC_SIZE        = 32640
   121  )
   122  
   123  // Predefined icon constants
   124  const (
   125  	IDI_APPLICATION = 32512
   126  	IDI_HAND        = 32513
   127  	IDI_QUESTION    = 32514
   128  	IDI_EXCLAMATION = 32515
   129  	IDI_ASTERISK    = 32516
   130  	IDI_WINLOGO     = 32517
   131  	IDI_WARNING     = IDI_EXCLAMATION
   132  	IDI_ERROR       = IDI_HAND
   133  	IDI_INFORMATION = IDI_ASTERISK
   134  )
   135  
   136  // Button style constants
   137  const (
   138  	BS_3STATE          = 5
   139  	BS_AUTO3STATE      = 6
   140  	BS_AUTOCHECKBOX    = 3
   141  	BS_AUTORADIOBUTTON = 9
   142  	BS_BITMAP          = 128
   143  	BS_BOTTOM          = 0x800
   144  	BS_CENTER          = 0x300
   145  	BS_CHECKBOX        = 2
   146  	BS_DEFPUSHBUTTON   = 1
   147  	BS_GROUPBOX        = 7
   148  	BS_ICON            = 64
   149  	BS_LEFT            = 256
   150  	BS_LEFTTEXT        = 32
   151  	BS_MULTILINE       = 0x2000
   152  	BS_NOTIFY          = 0x4000
   153  	BS_OWNERDRAW       = 0xB
   154  	BS_PUSHBUTTON      = 0
   155  	BS_PUSHLIKE        = 4096
   156  	BS_RADIOBUTTON     = 4
   157  	BS_RIGHT           = 512
   158  	BS_RIGHTBUTTON     = 32
   159  	BS_TEXT            = 0
   160  	BS_TOP             = 0x400
   161  	BS_USERBUTTON      = 8
   162  	BS_VCENTER         = 0xC00
   163  	BS_FLAT            = 0x8000
   164  	BS_SPLITBUTTON     = 0x000C // >= Vista
   165  	BS_DEFSPLITBUTTON  = 0x000D // >= Vista
   166  )
   167  
   168  // Button state constants
   169  const (
   170  	BST_CHECKED       = 1
   171  	BST_INDETERMINATE = 2
   172  	BST_UNCHECKED     = 0
   173  	BST_FOCUS         = 8
   174  	BST_PUSHED        = 4
   175  )
   176  
   177  // Predefined brushes constants
   178  const (
   179  	COLOR_3DDKSHADOW              = 21
   180  	COLOR_3DFACE                  = 15
   181  	COLOR_3DHILIGHT               = 20
   182  	COLOR_3DHIGHLIGHT             = 20
   183  	COLOR_3DLIGHT                 = 22
   184  	COLOR_BTNHILIGHT              = 20
   185  	COLOR_3DSHADOW                = 16
   186  	COLOR_ACTIVEBORDER            = 10
   187  	COLOR_ACTIVECAPTION           = 2
   188  	COLOR_APPWORKSPACE            = 12
   189  	COLOR_BACKGROUND              = 1
   190  	COLOR_DESKTOP                 = 1
   191  	COLOR_BTNFACE                 = 15
   192  	COLOR_BTNHIGHLIGHT            = 20
   193  	COLOR_BTNSHADOW               = 16
   194  	COLOR_BTNTEXT                 = 18
   195  	COLOR_CAPTIONTEXT             = 9
   196  	COLOR_GRAYTEXT                = 17
   197  	COLOR_HIGHLIGHT               = 13
   198  	COLOR_HIGHLIGHTTEXT           = 14
   199  	COLOR_INACTIVEBORDER          = 11
   200  	COLOR_INACTIVECAPTION         = 3
   201  	COLOR_INACTIVECAPTIONTEXT     = 19
   202  	COLOR_INFOBK                  = 24
   203  	COLOR_INFOTEXT                = 23
   204  	COLOR_MENU                    = 4
   205  	COLOR_MENUTEXT                = 7
   206  	COLOR_SCROLLBAR               = 0
   207  	COLOR_WINDOW                  = 5
   208  	COLOR_WINDOWFRAME             = 6
   209  	COLOR_WINDOWTEXT              = 8
   210  	COLOR_HOTLIGHT                = 26
   211  	COLOR_GRADIENTACTIVECAPTION   = 27
   212  	COLOR_GRADIENTINACTIVECAPTION = 28
   213  )
   214  
   215  // Button message constants
   216  const (
   217  	BM_CLICK    = 245
   218  	BM_GETCHECK = 240
   219  	BM_GETIMAGE = 246
   220  	BM_GETSTATE = 242
   221  	BM_SETCHECK = 241
   222  	BM_SETIMAGE = 247
   223  	BM_SETSTATE = 243
   224  	BM_SETSTYLE = 244
   225  )
   226  
   227  // Button notifications
   228  const (
   229  	BN_CLICKED       = 0
   230  	BN_PAINT         = 1
   231  	BN_HILITE        = 2
   232  	BN_PUSHED        = BN_HILITE
   233  	BN_UNHILITE      = 3
   234  	BN_UNPUSHED      = BN_UNHILITE
   235  	BN_DISABLE       = 4
   236  	BN_DOUBLECLICKED = 5
   237  	BN_DBLCLK        = BN_DOUBLECLICKED
   238  	BN_SETFOCUS      = 6
   239  	BN_KILLFOCUS     = 7
   240  )
   241  
   242  // TrackPopupMenu[Ex] flags
   243  const (
   244  	TPM_CENTERALIGN     = 0x0004
   245  	TPM_LEFTALIGN       = 0x0000
   246  	TPM_RIGHTALIGN      = 0x0008
   247  	TPM_BOTTOMALIGN     = 0x0020
   248  	TPM_TOPALIGN        = 0x0000
   249  	TPM_VCENTERALIGN    = 0x0010
   250  	TPM_NONOTIFY        = 0x0080
   251  	TPM_RETURNCMD       = 0x0100
   252  	TPM_LEFTBUTTON      = 0x0000
   253  	TPM_RIGHTBUTTON     = 0x0002
   254  	TPM_HORNEGANIMATION = 0x0800
   255  	TPM_HORPOSANIMATION = 0x0400
   256  	TPM_NOANIMATION     = 0x4000
   257  	TPM_VERNEGANIMATION = 0x2000
   258  	TPM_VERPOSANIMATION = 0x1000
   259  	TPM_HORIZONTAL      = 0x0000
   260  	TPM_VERTICAL        = 0x0040
   261  )
   262  
   263  // GetWindowLong and GetWindowLongPtr constants
   264  const (
   265  	GWL_EXSTYLE     = -20
   266  	GWL_STYLE       = -16
   267  	GWL_WNDPROC     = -4
   268  	GWLP_WNDPROC    = -4
   269  	GWL_HINSTANCE   = -6
   270  	GWLP_HINSTANCE  = -6
   271  	GWL_HWNDPARENT  = -8
   272  	GWLP_HWNDPARENT = -8
   273  	GWL_ID          = -12
   274  	GWLP_ID         = -12
   275  	GWL_USERDATA    = -21
   276  	GWLP_USERDATA   = -21
   277  )
   278  
   279  // Window style constants
   280  const (
   281  	WS_OVERLAPPED       = 0x00000000
   282  	WS_POPUP            = 0x80000000
   283  	WS_CHILD            = 0x40000000
   284  	WS_MINIMIZE         = 0x20000000
   285  	WS_VISIBLE          = 0x10000000
   286  	WS_DISABLED         = 0x08000000
   287  	WS_CLIPSIBLINGS     = 0x04000000
   288  	WS_CLIPCHILDREN     = 0x02000000
   289  	WS_MAXIMIZE         = 0x01000000
   290  	WS_CAPTION          = 0x00C00000
   291  	WS_BORDER           = 0x00800000
   292  	WS_DLGFRAME         = 0x00400000
   293  	WS_VSCROLL          = 0x00200000
   294  	WS_HSCROLL          = 0x00100000
   295  	WS_SYSMENU          = 0x00080000
   296  	WS_THICKFRAME       = 0x00040000
   297  	WS_GROUP            = 0x00020000
   298  	WS_TABSTOP          = 0x00010000
   299  	WS_MINIMIZEBOX      = 0x00020000
   300  	WS_MAXIMIZEBOX      = 0x00010000
   301  	WS_TILED            = 0x00000000
   302  	WS_ICONIC           = 0x20000000
   303  	WS_SIZEBOX          = 0x00040000
   304  	WS_OVERLAPPEDWINDOW = 0x00000000 | 0x00C00000 | 0x00080000 | 0x00040000 | 0x00020000 | 0x00010000
   305  	WS_POPUPWINDOW      = 0x80000000 | 0x00800000 | 0x00080000
   306  	WS_CHILDWINDOW      = 0x40000000
   307  )
   308  
   309  // Extended window style constants
   310  const (
   311  	WS_EX_DLGMODALFRAME       = 0x00000001
   312  	WS_EX_NOPARENTNOTIFY      = 0x00000004
   313  	WS_EX_TOPMOST             = 0x00000008
   314  	WS_EX_ACCEPTFILES         = 0x00000010
   315  	WS_EX_TRANSPARENT         = 0x00000020
   316  	WS_EX_MDICHILD            = 0x00000040
   317  	WS_EX_TOOLWINDOW          = 0x00000080
   318  	WS_EX_WINDOWEDGE          = 0x00000100
   319  	WS_EX_CLIENTEDGE          = 0x00000200
   320  	WS_EX_CONTEXTHELP         = 0x00000400
   321  	WS_EX_RIGHT               = 0x00001000
   322  	WS_EX_LEFT                = 0x00000000
   323  	WS_EX_RTLREADING          = 0x00002000
   324  	WS_EX_LTRREADING          = 0x00000000
   325  	WS_EX_LEFTSCROLLBAR       = 0x00004000
   326  	WS_EX_RIGHTSCROLLBAR      = 0x00000000
   327  	WS_EX_CONTROLPARENT       = 0x00010000
   328  	WS_EX_STATICEDGE          = 0x00020000
   329  	WS_EX_APPWINDOW           = 0x00040000
   330  	WS_EX_OVERLAPPEDWINDOW    = 0x00000100 | 0x00000200
   331  	WS_EX_PALETTEWINDOW       = 0x00000100 | 0x00000080 | 0x00000008
   332  	WS_EX_LAYERED             = 0x00080000
   333  	WS_EX_NOINHERITLAYOUT     = 0x00100000
   334  	WS_EX_NOREDIRECTIONBITMAP = 0x00200000
   335  	WS_EX_LAYOUTRTL           = 0x00400000
   336  	WS_EX_NOACTIVATE          = 0x08000000
   337  )
   338  
   339  // Window message constants
   340  const (
   341  	WM_APP                    = 32768
   342  	WM_ACTIVATE               = 6
   343  	WM_ACTIVATEAPP            = 28
   344  	WM_AFXFIRST               = 864
   345  	WM_AFXLAST                = 895
   346  	WM_ASKCBFORMATNAME        = 780
   347  	WM_CANCELJOURNAL          = 75
   348  	WM_CANCELMODE             = 31
   349  	WM_CAPTURECHANGED         = 533
   350  	WM_CHANGECBCHAIN          = 781
   351  	WM_CHAR                   = 258
   352  	WM_CHARTOITEM             = 47
   353  	WM_CHILDACTIVATE          = 34
   354  	WM_CLEAR                  = 771
   355  	WM_CLOSE                  = 16
   356  	WM_COMMAND                = 273
   357  	WM_COMMNOTIFY             = 68 /* OBSOLETE */
   358  	WM_COMPACTING             = 65
   359  	WM_COMPAREITEM            = 57
   360  	WM_CONTEXTMENU            = 123
   361  	WM_COPY                   = 769
   362  	WM_COPYDATA               = 74
   363  	WM_CREATE                 = 1
   364  	WM_CTLCOLORBTN            = 309
   365  	WM_CTLCOLORDLG            = 310
   366  	WM_CTLCOLOREDIT           = 307
   367  	WM_CTLCOLORLISTBOX        = 308
   368  	WM_CTLCOLORMSGBOX         = 306
   369  	WM_CTLCOLORSCROLLBAR      = 311
   370  	WM_CTLCOLORSTATIC         = 312
   371  	WM_CUT                    = 768
   372  	WM_DEADCHAR               = 259
   373  	WM_DELETEITEM             = 45
   374  	WM_DESTROY                = 2
   375  	WM_DESTROYCLIPBOARD       = 775
   376  	WM_DEVICECHANGE           = 537
   377  	WM_DEVMODECHANGE          = 27
   378  	WM_DISPLAYCHANGE          = 126
   379  	WM_DRAWCLIPBOARD          = 776
   380  	WM_DRAWITEM               = 43
   381  	WM_DROPFILES              = 563
   382  	WM_ENABLE                 = 10
   383  	WM_ENDSESSION             = 22
   384  	WM_ENTERIDLE              = 289
   385  	WM_ENTERMENULOOP          = 529
   386  	WM_ENTERSIZEMOVE          = 561
   387  	WM_ERASEBKGND             = 20
   388  	WM_EXITMENULOOP           = 530
   389  	WM_EXITSIZEMOVE           = 562
   390  	WM_FONTCHANGE             = 29
   391  	WM_GETDLGCODE             = 135
   392  	WM_GETFONT                = 49
   393  	WM_GETHOTKEY              = 51
   394  	WM_GETICON                = 127
   395  	WM_GETMINMAXINFO          = 36
   396  	WM_GETTEXT                = 13
   397  	WM_GETTEXTLENGTH          = 14
   398  	WM_HANDHELDFIRST          = 856
   399  	WM_HANDHELDLAST           = 863
   400  	WM_HELP                   = 83
   401  	WM_HOTKEY                 = 786
   402  	WM_HSCROLL                = 276
   403  	WM_HSCROLLCLIPBOARD       = 782
   404  	WM_ICONERASEBKGND         = 39
   405  	WM_INITDIALOG             = 272
   406  	WM_INITMENU               = 278
   407  	WM_INITMENUPOPUP          = 279
   408  	WM_INPUT                  = 0x00FF
   409  	WM_INPUTLANGCHANGE        = 81
   410  	WM_INPUTLANGCHANGEREQUEST = 80
   411  	WM_KEYDOWN                = 256
   412  	WM_KEYUP                  = 257
   413  	WM_KILLFOCUS              = 8
   414  	WM_MDIACTIVATE            = 546
   415  	WM_MDICASCADE             = 551
   416  	WM_MDICREATE              = 544
   417  	WM_MDIDESTROY             = 545
   418  	WM_MDIGETACTIVE           = 553
   419  	WM_MDIICONARRANGE         = 552
   420  	WM_MDIMAXIMIZE            = 549
   421  	WM_MDINEXT                = 548
   422  	WM_MDIREFRESHMENU         = 564
   423  	WM_MDIRESTORE             = 547
   424  	WM_MDISETMENU             = 560
   425  	WM_MDITILE                = 550
   426  	WM_MEASUREITEM            = 44
   427  	WM_GETOBJECT              = 0x003D
   428  	WM_CHANGEUISTATE          = 0x0127
   429  	WM_UPDATEUISTATE          = 0x0128
   430  	WM_QUERYUISTATE           = 0x0129
   431  	WM_UNINITMENUPOPUP        = 0x0125
   432  	WM_MENURBUTTONUP          = 290
   433  	WM_MENUCOMMAND            = 0x0126
   434  	WM_MENUGETOBJECT          = 0x0124
   435  	WM_MENUDRAG               = 0x0123
   436  	WM_APPCOMMAND             = 0x0319
   437  	WM_MENUCHAR               = 288
   438  	WM_MENUSELECT             = 287
   439  	WM_MOVE                   = 3
   440  	WM_MOVING                 = 534
   441  	WM_NCACTIVATE             = 134
   442  	WM_NCCALCSIZE             = 131
   443  	WM_NCCREATE               = 129
   444  	WM_NCDESTROY              = 130
   445  	WM_NCHITTEST              = 132
   446  	WM_NCLBUTTONDBLCLK        = 163
   447  	WM_NCLBUTTONDOWN          = 161
   448  	WM_NCLBUTTONUP            = 162
   449  	WM_NCMBUTTONDBLCLK        = 169
   450  	WM_NCMBUTTONDOWN          = 167
   451  	WM_NCMBUTTONUP            = 168
   452  	WM_NCXBUTTONDOWN          = 171
   453  	WM_NCXBUTTONUP            = 172
   454  	WM_NCXBUTTONDBLCLK        = 173
   455  	WM_NCMOUSEHOVER           = 0x02A0
   456  	WM_NCMOUSELEAVE           = 0x02A2
   457  	WM_NCMOUSEMOVE            = 160
   458  	WM_NCPAINT                = 133
   459  	WM_NCRBUTTONDBLCLK        = 166
   460  	WM_NCRBUTTONDOWN          = 164
   461  	WM_NCRBUTTONUP            = 165
   462  	WM_NEXTDLGCTL             = 40
   463  	WM_NEXTMENU               = 531
   464  	WM_NOTIFY                 = 78
   465  	WM_NOTIFYFORMAT           = 85
   466  	WM_NULL                   = 0
   467  	WM_PAINT                  = 15
   468  	WM_PAINTCLIPBOARD         = 777
   469  	WM_PAINTICON              = 38
   470  	WM_PALETTECHANGED         = 785
   471  	WM_PALETTEISCHANGING      = 784
   472  	WM_PARENTNOTIFY           = 528
   473  	WM_PASTE                  = 770
   474  	WM_PENWINFIRST            = 896
   475  	WM_PENWINLAST             = 911
   476  	WM_POWER                  = 72
   477  	WM_POWERBROADCAST         = 536
   478  	WM_PRINT                  = 791
   479  	WM_PRINTCLIENT            = 792
   480  	WM_QUERYDRAGICON          = 55
   481  	WM_QUERYENDSESSION        = 17
   482  	WM_QUERYNEWPALETTE        = 783
   483  	WM_QUERYOPEN              = 19
   484  	WM_QUEUESYNC              = 35
   485  	WM_QUIT                   = 18
   486  	WM_RENDERALLFORMATS       = 774
   487  	WM_RENDERFORMAT           = 773
   488  	WM_SETCURSOR              = 32
   489  	WM_SETFOCUS               = 7
   490  	WM_SETFONT                = 48
   491  	WM_SETHOTKEY              = 50
   492  	WM_SETICON                = 128
   493  	WM_SETREDRAW              = 11
   494  	WM_SETTEXT                = 12
   495  	WM_SETTINGCHANGE          = 26
   496  	WM_SHOWWINDOW             = 24
   497  	WM_SIZE                   = 5
   498  	WM_SIZECLIPBOARD          = 779
   499  	WM_SIZING                 = 532
   500  	WM_SPOOLERSTATUS          = 42
   501  	WM_STYLECHANGED           = 125
   502  	WM_STYLECHANGING          = 124
   503  	WM_SYSCHAR                = 262
   504  	WM_SYSCOLORCHANGE         = 21
   505  	WM_SYSCOMMAND             = 274
   506  	WM_SYSDEADCHAR            = 263
   507  	WM_SYSKEYDOWN             = 260
   508  	WM_SYSKEYUP               = 261
   509  	WM_TCARD                  = 82
   510  	WM_THEMECHANGED           = 794
   511  	WM_TIMECHANGE             = 30
   512  	WM_TIMER                  = 275
   513  	WM_UNDO                   = 772
   514  	WM_USER                   = 1024
   515  	WM_USERCHANGED            = 84
   516  	WM_VKEYTOITEM             = 46
   517  	WM_VSCROLL                = 277
   518  	WM_VSCROLLCLIPBOARD       = 778
   519  	WM_WINDOWPOSCHANGED       = 71
   520  	WM_WINDOWPOSCHANGING      = 70
   521  	WM_WININICHANGE           = 26
   522  	WM_KEYFIRST               = 256
   523  	WM_KEYLAST                = 264
   524  	WM_SYNCPAINT              = 136
   525  	WM_MOUSEACTIVATE          = 33
   526  	WM_MOUSEMOVE              = 512
   527  	WM_LBUTTONDOWN            = 513
   528  	WM_LBUTTONUP              = 514
   529  	WM_LBUTTONDBLCLK          = 515
   530  	WM_RBUTTONDOWN            = 516
   531  	WM_RBUTTONUP              = 517
   532  	WM_RBUTTONDBLCLK          = 518
   533  	WM_MBUTTONDOWN            = 519
   534  	WM_MBUTTONUP              = 520
   535  	WM_MBUTTONDBLCLK          = 521
   536  	WM_MOUSEWHEEL             = 522
   537  	WM_MOUSEFIRST             = 512
   538  	WM_XBUTTONDOWN            = 523
   539  	WM_XBUTTONUP              = 524
   540  	WM_XBUTTONDBLCLK          = 525
   541  	WM_MOUSELAST              = 525
   542  	WM_MOUSEHOVER             = 0x2A1
   543  	WM_MOUSELEAVE             = 0x2A3
   544  	WM_CLIPBOARDUPDATE        = 0x031D
   545  )
   546  
   547  // WM_ACTIVATE
   548  const (
   549  	WA_INACTIVE    = 0
   550  	WA_ACTIVE      = 1
   551  	WA_CLICKACTIVE = 2
   552  )
   553  
   554  const LF_FACESIZE = 32
   555  
   556  // Font weight constants
   557  const (
   558  	FW_DONTCARE   = 0
   559  	FW_THIN       = 100
   560  	FW_EXTRALIGHT = 200
   561  	FW_ULTRALIGHT = FW_EXTRALIGHT
   562  	FW_LIGHT      = 300
   563  	FW_NORMAL     = 400
   564  	FW_REGULAR    = 400
   565  	FW_MEDIUM     = 500
   566  	FW_SEMIBOLD   = 600
   567  	FW_DEMIBOLD   = FW_SEMIBOLD
   568  	FW_BOLD       = 700
   569  	FW_EXTRABOLD  = 800
   570  	FW_ULTRABOLD  = FW_EXTRABOLD
   571  	FW_HEAVY      = 900
   572  	FW_BLACK      = FW_HEAVY
   573  )
   574  
   575  // Charset constants
   576  const (
   577  	ANSI_CHARSET        = 0
   578  	DEFAULT_CHARSET     = 1
   579  	SYMBOL_CHARSET      = 2
   580  	SHIFTJIS_CHARSET    = 128
   581  	HANGEUL_CHARSET     = 129
   582  	HANGUL_CHARSET      = 129
   583  	GB2312_CHARSET      = 134
   584  	CHINESEBIG5_CHARSET = 136
   585  	GREEK_CHARSET       = 161
   586  	TURKISH_CHARSET     = 162
   587  	HEBREW_CHARSET      = 177
   588  	ARABIC_CHARSET      = 178
   589  	BALTIC_CHARSET      = 186
   590  	RUSSIAN_CHARSET     = 204
   591  	THAI_CHARSET        = 222
   592  	EASTEUROPE_CHARSET  = 238
   593  	OEM_CHARSET         = 255
   594  	JOHAB_CHARSET       = 130
   595  	VIETNAMESE_CHARSET  = 163
   596  	MAC_CHARSET         = 77
   597  )
   598  
   599  // Font output precision constants
   600  const (
   601  	OUT_DEFAULT_PRECIS   = 0
   602  	OUT_STRING_PRECIS    = 1
   603  	OUT_CHARACTER_PRECIS = 2
   604  	OUT_STROKE_PRECIS    = 3
   605  	OUT_TT_PRECIS        = 4
   606  	OUT_DEVICE_PRECIS    = 5
   607  	OUT_RASTER_PRECIS    = 6
   608  	OUT_TT_ONLY_PRECIS   = 7
   609  	OUT_OUTLINE_PRECIS   = 8
   610  	OUT_PS_ONLY_PRECIS   = 10
   611  )
   612  
   613  // Font clipping precision constants
   614  const (
   615  	CLIP_DEFAULT_PRECIS   = 0
   616  	CLIP_CHARACTER_PRECIS = 1
   617  	CLIP_STROKE_PRECIS    = 2
   618  	CLIP_MASK             = 15
   619  	CLIP_LH_ANGLES        = 16
   620  	CLIP_TT_ALWAYS        = 32
   621  	CLIP_EMBEDDED         = 128
   622  )
   623  
   624  // Font output quality constants
   625  const (
   626  	DEFAULT_QUALITY        = 0
   627  	DRAFT_QUALITY          = 1
   628  	PROOF_QUALITY          = 2
   629  	NONANTIALIASED_QUALITY = 3
   630  	ANTIALIASED_QUALITY    = 4
   631  	CLEARTYPE_QUALITY      = 5
   632  )
   633  
   634  // Font pitch constants
   635  const (
   636  	DEFAULT_PITCH  = 0
   637  	FIXED_PITCH    = 1
   638  	VARIABLE_PITCH = 2
   639  )
   640  
   641  // Font family constants
   642  const (
   643  	FF_DECORATIVE = 80
   644  	FF_DONTCARE   = 0
   645  	FF_MODERN     = 48
   646  	FF_ROMAN      = 16
   647  	FF_SCRIPT     = 64
   648  	FF_SWISS      = 32
   649  )
   650  
   651  // DeviceCapabilities capabilities
   652  const (
   653  	DC_FIELDS            = 1
   654  	DC_PAPERS            = 2
   655  	DC_PAPERSIZE         = 3
   656  	DC_MINEXTENT         = 4
   657  	DC_MAXEXTENT         = 5
   658  	DC_BINS              = 6
   659  	DC_DUPLEX            = 7
   660  	DC_SIZE              = 8
   661  	DC_EXTRA             = 9
   662  	DC_VERSION           = 10
   663  	DC_DRIVER            = 11
   664  	DC_BINNAMES          = 12
   665  	DC_ENUMRESOLUTIONS   = 13
   666  	DC_FILEDEPENDENCIES  = 14
   667  	DC_TRUETYPE          = 15
   668  	DC_PAPERNAMES        = 16
   669  	DC_ORIENTATION       = 17
   670  	DC_COPIES            = 18
   671  	DC_BINADJUST         = 19
   672  	DC_EMF_COMPLIANT     = 20
   673  	DC_DATATYPE_PRODUCED = 21
   674  	DC_COLLATE           = 22
   675  	DC_MANUFACTURER      = 23
   676  	DC_MODEL             = 24
   677  	DC_PERSONALITY       = 25
   678  	DC_PRINTRATE         = 26
   679  	DC_PRINTRATEUNIT     = 27
   680  	DC_PRINTERMEM        = 28
   681  	DC_MEDIAREADY        = 29
   682  	DC_STAPLE            = 30
   683  	DC_PRINTRATEPPM      = 31
   684  	DC_COLORDEVICE       = 32
   685  	DC_NUP               = 33
   686  	DC_MEDIATYPENAMES    = 34
   687  	DC_MEDIATYPES        = 35
   688  )
   689  
   690  // GetDeviceCaps index constants
   691  const (
   692  	DRIVERVERSION   = 0
   693  	TECHNOLOGY      = 2
   694  	HORZSIZE        = 4
   695  	VERTSIZE        = 6
   696  	HORZRES         = 8
   697  	VERTRES         = 10
   698  	LOGPIXELSX      = 88
   699  	LOGPIXELSY      = 90
   700  	BITSPIXEL       = 12
   701  	PLANES          = 14
   702  	NUMBRUSHES      = 16
   703  	NUMPENS         = 18
   704  	NUMFONTS        = 22
   705  	NUMCOLORS       = 24
   706  	NUMMARKERS      = 20
   707  	ASPECTX         = 40
   708  	ASPECTY         = 42
   709  	ASPECTXY        = 44
   710  	PDEVICESIZE     = 26
   711  	CLIPCAPS        = 36
   712  	SIZEPALETTE     = 104
   713  	NUMRESERVED     = 106
   714  	COLORRES        = 108
   715  	PHYSICALWIDTH   = 110
   716  	PHYSICALHEIGHT  = 111
   717  	PHYSICALOFFSETX = 112
   718  	PHYSICALOFFSETY = 113
   719  	SCALINGFACTORX  = 114
   720  	SCALINGFACTORY  = 115
   721  	VREFRESH        = 116
   722  	DESKTOPHORZRES  = 118
   723  	DESKTOPVERTRES  = 117
   724  	BLTALIGNMENT    = 119
   725  	SHADEBLENDCAPS  = 120
   726  	COLORMGMTCAPS   = 121
   727  	RASTERCAPS      = 38
   728  	CURVECAPS       = 28
   729  	LINECAPS        = 30
   730  	POLYGONALCAPS   = 32
   731  	TEXTCAPS        = 34
   732  )
   733  
   734  // GetDeviceCaps TECHNOLOGY constants
   735  const (
   736  	DT_PLOTTER    = 0
   737  	DT_RASDISPLAY = 1
   738  	DT_RASPRINTER = 2
   739  	DT_RASCAMERA  = 3
   740  	DT_CHARSTREAM = 4
   741  	DT_METAFILE   = 5
   742  	DT_DISPFILE   = 6
   743  )
   744  
   745  // GetDeviceCaps SHADEBLENDCAPS constants
   746  const (
   747  	SB_NONE          = 0x00
   748  	SB_CONST_ALPHA   = 0x01
   749  	SB_PIXEL_ALPHA   = 0x02
   750  	SB_PREMULT_ALPHA = 0x04
   751  	SB_GRAD_RECT     = 0x10
   752  	SB_GRAD_TRI      = 0x20
   753  )
   754  
   755  // GetDeviceCaps COLORMGMTCAPS constants
   756  const (
   757  	CM_NONE       = 0x00
   758  	CM_DEVICE_ICM = 0x01
   759  	CM_GAMMA_RAMP = 0x02
   760  	CM_CMYK_COLOR = 0x04
   761  )
   762  
   763  // GetDeviceCaps RASTERCAPS constants
   764  const (
   765  	RC_BANDING      = 2
   766  	RC_BITBLT       = 1
   767  	RC_BITMAP64     = 8
   768  	RC_DI_BITMAP    = 128
   769  	RC_DIBTODEV     = 512
   770  	RC_FLOODFILL    = 4096
   771  	RC_GDI20_OUTPUT = 16
   772  	RC_PALETTE      = 256
   773  	RC_SCALING      = 4
   774  	RC_STRETCHBLT   = 2048
   775  	RC_STRETCHDIB   = 8192
   776  	RC_DEVBITS      = 0x8000
   777  	RC_OP_DX_OUTPUT = 0x4000
   778  )
   779  
   780  // GetDeviceCaps CURVECAPS constants
   781  const (
   782  	CC_NONE       = 0
   783  	CC_CIRCLES    = 1
   784  	CC_PIE        = 2
   785  	CC_CHORD      = 4
   786  	CC_ELLIPSES   = 8
   787  	CC_WIDE       = 16
   788  	CC_STYLED     = 32
   789  	CC_WIDESTYLED = 64
   790  	CC_INTERIORS  = 128
   791  	CC_ROUNDRECT  = 256
   792  )
   793  
   794  // GetDeviceCaps LINECAPS constants
   795  const (
   796  	LC_NONE       = 0
   797  	LC_POLYLINE   = 2
   798  	LC_MARKER     = 4
   799  	LC_POLYMARKER = 8
   800  	LC_WIDE       = 16
   801  	LC_STYLED     = 32
   802  	LC_WIDESTYLED = 64
   803  	LC_INTERIORS  = 128
   804  )
   805  
   806  // GetDeviceCaps POLYGONALCAPS constants
   807  const (
   808  	PC_NONE        = 0
   809  	PC_POLYGON     = 1
   810  	PC_POLYPOLYGON = 256
   811  	PC_PATHS       = 512
   812  	PC_RECTANGLE   = 2
   813  	PC_WINDPOLYGON = 4
   814  	PC_SCANLINE    = 8
   815  	PC_TRAPEZOID   = 4
   816  	PC_WIDE        = 16
   817  	PC_STYLED      = 32
   818  	PC_WIDESTYLED  = 64
   819  	PC_INTERIORS   = 128
   820  )
   821  
   822  // GetDeviceCaps TEXTCAPS constants
   823  const (
   824  	TC_OP_CHARACTER = 1
   825  	TC_OP_STROKE    = 2
   826  	TC_CP_STROKE    = 4
   827  	TC_CR_90        = 8
   828  	TC_CR_ANY       = 16
   829  	TC_SF_X_YINDEP  = 32
   830  	TC_SA_DOUBLE    = 64
   831  	TC_SA_INTEGER   = 128
   832  	TC_SA_CONTIN    = 256
   833  	TC_EA_DOUBLE    = 512
   834  	TC_IA_ABLE      = 1024
   835  	TC_UA_ABLE      = 2048
   836  	TC_SO_ABLE      = 4096
   837  	TC_RA_ABLE      = 8192
   838  	TC_VA_ABLE      = 16384
   839  	TC_RESERVED     = 32768
   840  	TC_SCROLLBLT    = 65536
   841  )
   842  
   843  // Static control styles
   844  const (
   845  	SS_BITMAP          = 14
   846  	SS_BLACKFRAME      = 7
   847  	SS_BLACKRECT       = 4
   848  	SS_CENTER          = 1
   849  	SS_CENTERIMAGE     = 512
   850  	SS_EDITCONTROL     = 0x2000
   851  	SS_ENHMETAFILE     = 15
   852  	SS_ETCHEDFRAME     = 18
   853  	SS_ETCHEDHORZ      = 16
   854  	SS_ETCHEDVERT      = 17
   855  	SS_GRAYFRAME       = 8
   856  	SS_GRAYRECT        = 5
   857  	SS_ICON            = 3
   858  	SS_LEFT            = 0
   859  	SS_LEFTNOWORDWRAP  = 0xc
   860  	SS_NOPREFIX        = 128
   861  	SS_NOTIFY          = 256
   862  	SS_OWNERDRAW       = 0xd
   863  	SS_REALSIZECONTROL = 0x040
   864  	SS_REALSIZEIMAGE   = 0x800
   865  	SS_RIGHT           = 2
   866  	SS_RIGHTJUST       = 0x400
   867  	SS_SIMPLE          = 11
   868  	SS_SUNKEN          = 4096
   869  	SS_WHITEFRAME      = 9
   870  	SS_WHITERECT       = 6
   871  	SS_USERITEM        = 10
   872  	SS_TYPEMASK        = 0x0000001F
   873  	SS_ENDELLIPSIS     = 0x00004000
   874  	SS_PATHELLIPSIS    = 0x00008000
   875  	SS_WORDELLIPSIS    = 0x0000C000
   876  	SS_ELLIPSISMASK    = 0x0000C000
   877  )
   878  
   879  // Edit styles
   880  const (
   881  	ES_LEFT        = 0x0000
   882  	ES_CENTER      = 0x0001
   883  	ES_RIGHT       = 0x0002
   884  	ES_MULTILINE   = 0x0004
   885  	ES_UPPERCASE   = 0x0008
   886  	ES_LOWERCASE   = 0x0010
   887  	ES_PASSWORD    = 0x0020
   888  	ES_AUTOVSCROLL = 0x0040
   889  	ES_AUTOHSCROLL = 0x0080
   890  	ES_NOHIDESEL   = 0x0100
   891  	ES_OEMCONVERT  = 0x0400
   892  	ES_READONLY    = 0x0800
   893  	ES_WANTRETURN  = 0x1000
   894  	ES_NUMBER      = 0x2000
   895  )
   896  
   897  // Edit notifications
   898  const (
   899  	EN_SETFOCUS     = 0x0100
   900  	EN_KILLFOCUS    = 0x0200
   901  	EN_CHANGE       = 0x0300
   902  	EN_UPDATE       = 0x0400
   903  	EN_ERRSPACE     = 0x0500
   904  	EN_MAXTEXT      = 0x0501
   905  	EN_HSCROLL      = 0x0601
   906  	EN_VSCROLL      = 0x0602
   907  	EN_ALIGN_LTR_EC = 0x0700
   908  	EN_ALIGN_RTL_EC = 0x0701
   909  )
   910  
   911  // Edit messages
   912  const (
   913  	EM_GETSEL              = 0x00B0
   914  	EM_SETSEL              = 0x00B1
   915  	EM_GETRECT             = 0x00B2
   916  	EM_SETRECT             = 0x00B3
   917  	EM_SETRECTNP           = 0x00B4
   918  	EM_SCROLL              = 0x00B5
   919  	EM_LINESCROLL          = 0x00B6
   920  	EM_SCROLLCARET         = 0x00B7
   921  	EM_GETMODIFY           = 0x00B8
   922  	EM_SETMODIFY           = 0x00B9
   923  	EM_GETLINECOUNT        = 0x00BA
   924  	EM_LINEINDEX           = 0x00BB
   925  	EM_SETHANDLE           = 0x00BC
   926  	EM_GETHANDLE           = 0x00BD
   927  	EM_GETTHUMB            = 0x00BE
   928  	EM_LINELENGTH          = 0x00C1
   929  	EM_REPLACESEL          = 0x00C2
   930  	EM_GETLINE             = 0x00C4
   931  	EM_LIMITTEXT           = 0x00C5
   932  	EM_CANUNDO             = 0x00C6
   933  	EM_UNDO                = 0x00C7
   934  	EM_FMTLINES            = 0x00C8
   935  	EM_LINEFROMCHAR        = 0x00C9
   936  	EM_SETTABSTOPS         = 0x00CB
   937  	EM_SETPASSWORDCHAR     = 0x00CC
   938  	EM_EMPTYUNDOBUFFER     = 0x00CD
   939  	EM_GETFIRSTVISIBLELINE = 0x00CE
   940  	EM_SETREADONLY         = 0x00CF
   941  	EM_SETWORDBREAKPROC    = 0x00D0
   942  	EM_GETWORDBREAKPROC    = 0x00D1
   943  	EM_GETPASSWORDCHAR     = 0x00D2
   944  	EM_SETMARGINS          = 0x00D3
   945  	EM_GETMARGINS          = 0x00D4
   946  	EM_SETLIMITTEXT        = EM_LIMITTEXT
   947  	EM_GETLIMITTEXT        = 0x00D5
   948  	EM_POSFROMCHAR         = 0x00D6
   949  	EM_CHARFROMPOS         = 0x00D7
   950  	EM_SETIMESTATUS        = 0x00D8
   951  	EM_GETIMESTATUS        = 0x00D9
   952  	EM_SETCUEBANNER        = 0x1501
   953  	EM_GETCUEBANNER        = 0x1502
   954  )
   955  
   956  const (
   957  	CCM_FIRST            = 0x2000
   958  	CCM_LAST             = CCM_FIRST + 0x200
   959  	CCM_SETBKCOLOR       = 8193
   960  	CCM_SETCOLORSCHEME   = 8194
   961  	CCM_GETCOLORSCHEME   = 8195
   962  	CCM_GETDROPTARGET    = 8196
   963  	CCM_SETUNICODEFORMAT = 8197
   964  	CCM_GETUNICODEFORMAT = 8198
   965  	CCM_SETVERSION       = 0x2007
   966  	CCM_GETVERSION       = 0x2008
   967  	CCM_SETNOTIFYWINDOW  = 0x2009
   968  	CCM_SETWINDOWTHEME   = 0x200b
   969  	CCM_DPISCALE         = 0x200c
   970  )
   971  
   972  // Common controls styles
   973  const (
   974  	CCS_TOP           = 1
   975  	CCS_NOMOVEY       = 2
   976  	CCS_BOTTOM        = 3
   977  	CCS_NORESIZE      = 4
   978  	CCS_NOPARENTALIGN = 8
   979  	CCS_ADJUSTABLE    = 32
   980  	CCS_NODIVIDER     = 64
   981  	CCS_VERT          = 128
   982  	CCS_LEFT          = 129
   983  	CCS_NOMOVEX       = 130
   984  	CCS_RIGHT         = 131
   985  )
   986  
   987  // ProgressBar messages
   988  const (
   989  	PROGRESS_CLASS  = "msctls_progress32"
   990  	PBM_SETPOS      = WM_USER + 2
   991  	PBM_DELTAPOS    = WM_USER + 3
   992  	PBM_SETSTEP     = WM_USER + 4
   993  	PBM_STEPIT      = WM_USER + 5
   994  	PBM_SETRANGE32  = 1030
   995  	PBM_GETRANGE    = 1031
   996  	PBM_GETPOS      = 1032
   997  	PBM_SETBARCOLOR = 1033
   998  	PBM_SETBKCOLOR  = CCM_SETBKCOLOR
   999  	PBS_SMOOTH      = 1
  1000  	PBS_VERTICAL    = 4
  1001  )
  1002  
  1003  // Trackbar messages and constants
  1004  const (
  1005  	TBS_AUTOTICKS      = 1
  1006  	TBS_VERT           = 2
  1007  	TBS_HORZ           = 0
  1008  	TBS_TOP            = 4
  1009  	TBS_BOTTOM         = 0
  1010  	TBS_LEFT           = 4
  1011  	TBS_RIGHT          = 0
  1012  	TBS_BOTH           = 8
  1013  	TBS_NOTICKS        = 16
  1014  	TBS_ENABLESELRANGE = 32
  1015  	TBS_FIXEDLENGTH    = 64
  1016  	TBS_NOTHUMB        = 128
  1017  	TBS_TOOLTIPS       = 0x0100
  1018  )
  1019  
  1020  const (
  1021  	TBM_GETPOS         = (WM_USER)
  1022  	TBM_GETRANGEMIN    = (WM_USER + 1)
  1023  	TBM_GETRANGEMAX    = (WM_USER + 2)
  1024  	TBM_GETTIC         = (WM_USER + 3)
  1025  	TBM_SETTIC         = (WM_USER + 4)
  1026  	TBM_SETPOS         = (WM_USER + 5)
  1027  	TBM_SETRANGE       = (WM_USER + 6)
  1028  	TBM_SETRANGEMIN    = (WM_USER + 7)
  1029  	TBM_SETRANGEMAX    = (WM_USER + 8)
  1030  	TBM_CLEARTICS      = (WM_USER + 9)
  1031  	TBM_SETSEL         = (WM_USER + 10)
  1032  	TBM_SETSELSTART    = (WM_USER + 11)
  1033  	TBM_SETSELEND      = (WM_USER + 12)
  1034  	TBM_GETPTICS       = (WM_USER + 14)
  1035  	TBM_GETTICPOS      = (WM_USER + 15)
  1036  	TBM_GETNUMTICS     = (WM_USER + 16)
  1037  	TBM_GETSELSTART    = (WM_USER + 17)
  1038  	TBM_GETSELEND      = (WM_USER + 18)
  1039  	TBM_CLEARSEL       = (WM_USER + 19)
  1040  	TBM_SETTICFREQ     = (WM_USER + 20)
  1041  	TBM_SETPAGESIZE    = (WM_USER + 21)
  1042  	TBM_GETPAGESIZE    = (WM_USER + 22)
  1043  	TBM_SETLINESIZE    = (WM_USER + 23)
  1044  	TBM_GETLINESIZE    = (WM_USER + 24)
  1045  	TBM_GETTHUMBRECT   = (WM_USER + 25)
  1046  	TBM_GETCHANNELRECT = (WM_USER + 26)
  1047  	TBM_SETTHUMBLENGTH = (WM_USER + 27)
  1048  	TBM_GETTHUMBLENGTH = (WM_USER + 28)
  1049  	TBM_SETTOOLTIPS    = (WM_USER + 29)
  1050  	TBM_GETTOOLTIPS    = (WM_USER + 30)
  1051  	TBM_SETTIPSIDE     = (WM_USER + 31)
  1052  	TBM_SETBUDDY       = (WM_USER + 32)
  1053  	TBM_GETBUDDY       = (WM_USER + 33)
  1054  )
  1055  
  1056  const (
  1057  	TB_LINEUP        = 0
  1058  	TB_LINEDOWN      = 1
  1059  	TB_PAGEUP        = 2
  1060  	TB_PAGEDOWN      = 3
  1061  	TB_THUMBPOSITION = 4
  1062  	TB_THUMBTRACK    = 5
  1063  	TB_TOP           = 6
  1064  	TB_BOTTOM        = 7
  1065  	TB_ENDTRACK      = 8
  1066  )
  1067  
  1068  // GetOpenFileName and GetSaveFileName extended flags
  1069  const (
  1070  	OFN_EX_NOPLACESBAR = 0x00000001
  1071  )
  1072  
  1073  // GetOpenFileName and GetSaveFileName flags
  1074  const (
  1075  	OFN_ALLOWMULTISELECT     = 0x00000200
  1076  	OFN_CREATEPROMPT         = 0x00002000
  1077  	OFN_DONTADDTORECENT      = 0x02000000
  1078  	OFN_ENABLEHOOK           = 0x00000020
  1079  	OFN_ENABLEINCLUDENOTIFY  = 0x00400000
  1080  	OFN_ENABLESIZING         = 0x00800000
  1081  	OFN_ENABLETEMPLATE       = 0x00000040
  1082  	OFN_ENABLETEMPLATEHANDLE = 0x00000080
  1083  	OFN_EXPLORER             = 0x00080000
  1084  	OFN_EXTENSIONDIFFERENT   = 0x00000400
  1085  	OFN_FILEMUSTEXIST        = 0x00001000
  1086  	OFN_FORCESHOWHIDDEN      = 0x10000000
  1087  	OFN_HIDEREADONLY         = 0x00000004
  1088  	OFN_LONGNAMES            = 0x00200000
  1089  	OFN_NOCHANGEDIR          = 0x00000008
  1090  	OFN_NODEREFERENCELINKS   = 0x00100000
  1091  	OFN_NOLONGNAMES          = 0x00040000
  1092  	OFN_NONETWORKBUTTON      = 0x00020000
  1093  	OFN_NOREADONLYRETURN     = 0x00008000
  1094  	OFN_NOTESTFILECREATE     = 0x00010000
  1095  	OFN_NOVALIDATE           = 0x00000100
  1096  	OFN_OVERWRITEPROMPT      = 0x00000002
  1097  	OFN_PATHMUSTEXIST        = 0x00000800
  1098  	OFN_READONLY             = 0x00000001
  1099  	OFN_SHAREAWARE           = 0x00004000
  1100  	OFN_SHOWHELP             = 0x00000010
  1101  )
  1102  
  1103  // SHBrowseForFolder flags
  1104  const (
  1105  	BIF_RETURNONLYFSDIRS    = 0x00000001
  1106  	BIF_DONTGOBELOWDOMAIN   = 0x00000002
  1107  	BIF_STATUSTEXT          = 0x00000004
  1108  	BIF_RETURNFSANCESTORS   = 0x00000008
  1109  	BIF_EDITBOX             = 0x00000010
  1110  	BIF_VALIDATE            = 0x00000020
  1111  	BIF_NEWDIALOGSTYLE      = 0x00000040
  1112  	BIF_BROWSEINCLUDEURLS   = 0x00000080
  1113  	BIF_USENEWUI            = BIF_EDITBOX | BIF_NEWDIALOGSTYLE
  1114  	BIF_UAHINT              = 0x00000100
  1115  	BIF_NONEWFOLDERBUTTON   = 0x00000200
  1116  	BIF_NOTRANSLATETARGETS  = 0x00000400
  1117  	BIF_BROWSEFORCOMPUTER   = 0x00001000
  1118  	BIF_BROWSEFORPRINTER    = 0x00002000
  1119  	BIF_BROWSEINCLUDEFILES  = 0x00004000
  1120  	BIF_SHAREABLE           = 0x00008000
  1121  	BIF_BROWSEFILEJUNCTIONS = 0x00010000
  1122  )
  1123  
  1124  // MessageBox flags
  1125  const (
  1126  	MB_OK                = 0x00000000
  1127  	MB_OKCANCEL          = 0x00000001
  1128  	MB_ABORTRETRYIGNORE  = 0x00000002
  1129  	MB_YESNOCANCEL       = 0x00000003
  1130  	MB_YESNO             = 0x00000004
  1131  	MB_RETRYCANCEL       = 0x00000005
  1132  	MB_CANCELTRYCONTINUE = 0x00000006
  1133  	MB_ICONHAND          = 0x00000010
  1134  	MB_ICONQUESTION      = 0x00000020
  1135  	MB_ICONEXCLAMATION   = 0x00000030
  1136  	MB_ICONASTERISK      = 0x00000040
  1137  	MB_USERICON          = 0x00000080
  1138  	MB_ICONWARNING       = MB_ICONEXCLAMATION
  1139  	MB_ICONERROR         = MB_ICONHAND
  1140  	MB_ICONINFORMATION   = MB_ICONASTERISK
  1141  	MB_ICONSTOP          = MB_ICONHAND
  1142  	MB_DEFBUTTON1        = 0x00000000
  1143  	MB_DEFBUTTON2        = 0x00000100
  1144  	MB_DEFBUTTON3        = 0x00000200
  1145  	MB_DEFBUTTON4        = 0x00000300
  1146  )
  1147  
  1148  // COM
  1149  const (
  1150  	E_INVALIDARG  = 0x80070057
  1151  	E_OUTOFMEMORY = 0x8007000E
  1152  	E_UNEXPECTED  = 0x8000FFFF
  1153  )
  1154  
  1155  const (
  1156  	S_OK               = 0
  1157  	S_FALSE            = 0x0001
  1158  	RPC_E_CHANGED_MODE = 0x80010106
  1159  )
  1160  
  1161  // GetSystemMetrics constants
  1162  const (
  1163  	SM_CXSCREEN             = 0
  1164  	SM_CYSCREEN             = 1
  1165  	SM_CXVSCROLL            = 2
  1166  	SM_CYHSCROLL            = 3
  1167  	SM_CYCAPTION            = 4
  1168  	SM_CXBORDER             = 5
  1169  	SM_CYBORDER             = 6
  1170  	SM_CXDLGFRAME           = 7
  1171  	SM_CYDLGFRAME           = 8
  1172  	SM_CYVTHUMB             = 9
  1173  	SM_CXHTHUMB             = 10
  1174  	SM_CXICON               = 11
  1175  	SM_CYICON               = 12
  1176  	SM_CXCURSOR             = 13
  1177  	SM_CYCURSOR             = 14
  1178  	SM_CYMENU               = 15
  1179  	SM_CXFULLSCREEN         = 16
  1180  	SM_CYFULLSCREEN         = 17
  1181  	SM_CYKANJIWINDOW        = 18
  1182  	SM_MOUSEPRESENT         = 19
  1183  	SM_CYVSCROLL            = 20
  1184  	SM_CXHSCROLL            = 21
  1185  	SM_DEBUG                = 22
  1186  	SM_SWAPBUTTON           = 23
  1187  	SM_RESERVED1            = 24
  1188  	SM_RESERVED2            = 25
  1189  	SM_RESERVED3            = 26
  1190  	SM_RESERVED4            = 27
  1191  	SM_CXMIN                = 28
  1192  	SM_CYMIN                = 29
  1193  	SM_CXSIZE               = 30
  1194  	SM_CYSIZE               = 31
  1195  	SM_CXFRAME              = 32
  1196  	SM_CYFRAME              = 33
  1197  	SM_CXMINTRACK           = 34
  1198  	SM_CYMINTRACK           = 35
  1199  	SM_CXDOUBLECLK          = 36
  1200  	SM_CYDOUBLECLK          = 37
  1201  	SM_CXICONSPACING        = 38
  1202  	SM_CYICONSPACING        = 39
  1203  	SM_MENUDROPALIGNMENT    = 40
  1204  	SM_PENWINDOWS           = 41
  1205  	SM_DBCSENABLED          = 42
  1206  	SM_CMOUSEBUTTONS        = 43
  1207  	SM_CXFIXEDFRAME         = SM_CXDLGFRAME
  1208  	SM_CYFIXEDFRAME         = SM_CYDLGFRAME
  1209  	SM_CXSIZEFRAME          = SM_CXFRAME
  1210  	SM_CYSIZEFRAME          = SM_CYFRAME
  1211  	SM_SECURE               = 44
  1212  	SM_CXEDGE               = 45
  1213  	SM_CYEDGE               = 46
  1214  	SM_CXMINSPACING         = 47
  1215  	SM_CYMINSPACING         = 48
  1216  	SM_CXSMICON             = 49
  1217  	SM_CYSMICON             = 50
  1218  	SM_CYSMCAPTION          = 51
  1219  	SM_CXSMSIZE             = 52
  1220  	SM_CYSMSIZE             = 53
  1221  	SM_CXMENUSIZE           = 54
  1222  	SM_CYMENUSIZE           = 55
  1223  	SM_ARRANGE              = 56
  1224  	SM_CXMINIMIZED          = 57
  1225  	SM_CYMINIMIZED          = 58
  1226  	SM_CXMAXTRACK           = 59
  1227  	SM_CYMAXTRACK           = 60
  1228  	SM_CXMAXIMIZED          = 61
  1229  	SM_CYMAXIMIZED          = 62
  1230  	SM_NETWORK              = 63
  1231  	SM_CLEANBOOT            = 67
  1232  	SM_CXDRAG               = 68
  1233  	SM_CYDRAG               = 69
  1234  	SM_SHOWSOUNDS           = 70
  1235  	SM_CXMENUCHECK          = 71
  1236  	SM_CYMENUCHECK          = 72
  1237  	SM_SLOWMACHINE          = 73
  1238  	SM_MIDEASTENABLED       = 74
  1239  	SM_MOUSEWHEELPRESENT    = 75
  1240  	SM_XVIRTUALSCREEN       = 76
  1241  	SM_YVIRTUALSCREEN       = 77
  1242  	SM_CXVIRTUALSCREEN      = 78
  1243  	SM_CYVIRTUALSCREEN      = 79
  1244  	SM_CMONITORS            = 80
  1245  	SM_SAMEDISPLAYFORMAT    = 81
  1246  	SM_IMMENABLED           = 82
  1247  	SM_CXFOCUSBORDER        = 83
  1248  	SM_CYFOCUSBORDER        = 84
  1249  	SM_TABLETPC             = 86
  1250  	SM_MEDIACENTER          = 87
  1251  	SM_STARTER              = 88
  1252  	SM_SERVERR2             = 89
  1253  	SM_CMETRICS             = 91
  1254  	SM_REMOTESESSION        = 0x1000
  1255  	SM_SHUTTINGDOWN         = 0x2000
  1256  	SM_REMOTECONTROL        = 0x2001
  1257  	SM_CARETBLINKINGENABLED = 0x2002
  1258  )
  1259  
  1260  const (
  1261  	CLSCTX_INPROC_SERVER   = 1
  1262  	CLSCTX_INPROC_HANDLER  = 2
  1263  	CLSCTX_LOCAL_SERVER    = 4
  1264  	CLSCTX_INPROC_SERVER16 = 8
  1265  	CLSCTX_REMOTE_SERVER   = 16
  1266  	CLSCTX_ALL             = CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER
  1267  	CLSCTX_INPROC          = CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER
  1268  	CLSCTX_SERVER          = CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER
  1269  )
  1270  
  1271  const (
  1272  	COINIT_APARTMENTTHREADED = 0x2
  1273  	COINIT_MULTITHREADED     = 0x0
  1274  	COINIT_DISABLE_OLE1DDE   = 0x4
  1275  	COINIT_SPEED_OVER_MEMORY = 0x8
  1276  )
  1277  
  1278  const (
  1279  	DISPATCH_METHOD         = 1
  1280  	DISPATCH_PROPERTYGET    = 2
  1281  	DISPATCH_PROPERTYPUT    = 4
  1282  	DISPATCH_PROPERTYPUTREF = 8
  1283  )
  1284  
  1285  const (
  1286  	CC_FASTCALL = iota
  1287  	CC_CDECL
  1288  	CC_MSCPASCAL
  1289  	CC_PASCAL = CC_MSCPASCAL
  1290  	CC_MACPASCAL
  1291  	CC_STDCALL
  1292  	CC_FPFASTCALL
  1293  	CC_SYSCALL
  1294  	CC_MPWCDECL
  1295  	CC_MPWPASCAL
  1296  	CC_MAX = CC_MPWPASCAL
  1297  )
  1298  
  1299  const (
  1300  	VT_EMPTY           = 0x0
  1301  	VT_NULL            = 0x1
  1302  	VT_I2              = 0x2
  1303  	VT_I4              = 0x3
  1304  	VT_R4              = 0x4
  1305  	VT_R8              = 0x5
  1306  	VT_CY              = 0x6
  1307  	VT_DATE            = 0x7
  1308  	VT_BSTR            = 0x8
  1309  	VT_DISPATCH        = 0x9
  1310  	VT_ERROR           = 0xa
  1311  	VT_BOOL            = 0xb
  1312  	VT_VARIANT         = 0xc
  1313  	VT_UNKNOWN         = 0xd
  1314  	VT_DECIMAL         = 0xe
  1315  	VT_I1              = 0x10
  1316  	VT_UI1             = 0x11
  1317  	VT_UI2             = 0x12
  1318  	VT_UI4             = 0x13
  1319  	VT_I8              = 0x14
  1320  	VT_UI8             = 0x15
  1321  	VT_INT             = 0x16
  1322  	VT_UINT            = 0x17
  1323  	VT_VOID            = 0x18
  1324  	VT_HRESULT         = 0x19
  1325  	VT_PTR             = 0x1a
  1326  	VT_SAFEARRAY       = 0x1b
  1327  	VT_CARRAY          = 0x1c
  1328  	VT_USERDEFINED     = 0x1d
  1329  	VT_LPSTR           = 0x1e
  1330  	VT_LPWSTR          = 0x1f
  1331  	VT_RECORD          = 0x24
  1332  	VT_INT_PTR         = 0x25
  1333  	VT_UINT_PTR        = 0x26
  1334  	VT_FILETIME        = 0x40
  1335  	VT_BLOB            = 0x41
  1336  	VT_STREAM          = 0x42
  1337  	VT_STORAGE         = 0x43
  1338  	VT_STREAMED_OBJECT = 0x44
  1339  	VT_STORED_OBJECT   = 0x45
  1340  	VT_BLOB_OBJECT     = 0x46
  1341  	VT_CF              = 0x47
  1342  	VT_CLSID           = 0x48
  1343  	VT_BSTR_BLOB       = 0xfff
  1344  	VT_VECTOR          = 0x1000
  1345  	VT_ARRAY           = 0x2000
  1346  	VT_BYREF           = 0x4000
  1347  	VT_RESERVED        = 0x8000
  1348  	VT_ILLEGAL         = 0xffff
  1349  	VT_ILLEGALMASKED   = 0xfff
  1350  	VT_TYPEMASK        = 0xfff
  1351  )
  1352  
  1353  const (
  1354  	DISPID_UNKNOWN     = -1
  1355  	DISPID_VALUE       = 0
  1356  	DISPID_PROPERTYPUT = -3
  1357  	DISPID_NEWENUM     = -4
  1358  	DISPID_EVALUATE    = -5
  1359  	DISPID_CONSTRUCTOR = -6
  1360  	DISPID_DESTRUCTOR  = -7
  1361  	DISPID_COLLECT     = -8
  1362  )
  1363  
  1364  const (
  1365  	MONITOR_DEFAULTTONULL    = 0x00000000
  1366  	MONITOR_DEFAULTTOPRIMARY = 0x00000001
  1367  	MONITOR_DEFAULTTONEAREST = 0x00000002
  1368  
  1369  	MONITORINFOF_PRIMARY = 0x00000001
  1370  )
  1371  
  1372  const (
  1373  	CCHDEVICENAME = 32
  1374  	CCHFORMNAME   = 32
  1375  )
  1376  
  1377  const (
  1378  	IDOK       = 1
  1379  	IDCANCEL   = 2
  1380  	IDABORT    = 3
  1381  	IDRETRY    = 4
  1382  	IDIGNORE   = 5
  1383  	IDYES      = 6
  1384  	IDNO       = 7
  1385  	IDCLOSE    = 8
  1386  	IDHELP     = 9
  1387  	IDTRYAGAIN = 10
  1388  	IDCONTINUE = 11
  1389  	IDTIMEOUT  = 32000
  1390  )
  1391  
  1392  // Generic WM_NOTIFY notification codes
  1393  const (
  1394  	NM_FIRST           = 0
  1395  	NM_OUTOFMEMORY     = NM_FIRST - 1
  1396  	NM_CLICK           = NM_FIRST - 2
  1397  	NM_DBLCLK          = NM_FIRST - 3
  1398  	NM_RETURN          = NM_FIRST - 4
  1399  	NM_RCLICK          = NM_FIRST - 5
  1400  	NM_RDBLCLK         = NM_FIRST - 6
  1401  	NM_SETFOCUS        = NM_FIRST - 7
  1402  	NM_KILLFOCUS       = NM_FIRST - 8
  1403  	NM_CUSTOMDRAW      = NM_FIRST - 12
  1404  	NM_HOVER           = NM_FIRST - 13
  1405  	NM_NCHITTEST       = NM_FIRST - 14
  1406  	NM_KEYDOWN         = NM_FIRST - 15
  1407  	NM_RELEASEDCAPTURE = NM_FIRST - 16
  1408  	NM_SETCURSOR       = NM_FIRST - 17
  1409  	NM_CHAR            = NM_FIRST - 18
  1410  	NM_TOOLTIPSCREATED = NM_FIRST - 19
  1411  	NM_LAST            = NM_FIRST - 99
  1412  )
  1413  
  1414  // ListView messages
  1415  const (
  1416  	LVM_FIRST                    = 0x1000
  1417  	LVM_GETITEMCOUNT             = LVM_FIRST + 4
  1418  	LVM_SETIMAGELIST             = LVM_FIRST + 3
  1419  	LVM_GETIMAGELIST             = LVM_FIRST + 2
  1420  	LVM_GETITEM                  = LVM_FIRST + 75
  1421  	LVM_SETITEM                  = LVM_FIRST + 76
  1422  	LVM_INSERTITEM               = LVM_FIRST + 77
  1423  	LVM_DELETEITEM               = LVM_FIRST + 8
  1424  	LVM_DELETEALLITEMS           = LVM_FIRST + 9
  1425  	LVM_GETCALLBACKMASK          = LVM_FIRST + 10
  1426  	LVM_SETCALLBACKMASK          = LVM_FIRST + 11
  1427  	LVM_SETUNICODEFORMAT         = CCM_SETUNICODEFORMAT
  1428  	LVM_GETNEXTITEM              = LVM_FIRST + 12
  1429  	LVM_FINDITEM                 = LVM_FIRST + 83
  1430  	LVM_GETITEMRECT              = LVM_FIRST + 14
  1431  	LVM_GETSTRINGWIDTH           = LVM_FIRST + 87
  1432  	LVM_HITTEST                  = LVM_FIRST + 18
  1433  	LVM_ENSUREVISIBLE            = LVM_FIRST + 19
  1434  	LVM_SCROLL                   = LVM_FIRST + 20
  1435  	LVM_REDRAWITEMS              = LVM_FIRST + 21
  1436  	LVM_ARRANGE                  = LVM_FIRST + 22
  1437  	LVM_EDITLABEL                = LVM_FIRST + 118
  1438  	LVM_GETEDITCONTROL           = LVM_FIRST + 24
  1439  	LVM_GETCOLUMN                = LVM_FIRST + 95
  1440  	LVM_SETCOLUMN                = LVM_FIRST + 96
  1441  	LVM_INSERTCOLUMN             = LVM_FIRST + 97
  1442  	LVM_DELETECOLUMN             = LVM_FIRST + 28
  1443  	LVM_GETCOLUMNWIDTH           = LVM_FIRST + 29
  1444  	LVM_SETCOLUMNWIDTH           = LVM_FIRST + 30
  1445  	LVM_GETHEADER                = LVM_FIRST + 31
  1446  	LVM_CREATEDRAGIMAGE          = LVM_FIRST + 33
  1447  	LVM_GETVIEWRECT              = LVM_FIRST + 34
  1448  	LVM_GETTEXTCOLOR             = LVM_FIRST + 35
  1449  	LVM_SETTEXTCOLOR             = LVM_FIRST + 36
  1450  	LVM_GETTEXTBKCOLOR           = LVM_FIRST + 37
  1451  	LVM_SETTEXTBKCOLOR           = LVM_FIRST + 38
  1452  	LVM_GETTOPINDEX              = LVM_FIRST + 39
  1453  	LVM_GETCOUNTPERPAGE          = LVM_FIRST + 40
  1454  	LVM_GETORIGIN                = LVM_FIRST + 41
  1455  	LVM_UPDATE                   = LVM_FIRST + 42
  1456  	LVM_SETITEMSTATE             = LVM_FIRST + 43
  1457  	LVM_GETITEMSTATE             = LVM_FIRST + 44
  1458  	LVM_GETITEMTEXT              = LVM_FIRST + 115
  1459  	LVM_SETITEMTEXT              = LVM_FIRST + 116
  1460  	LVM_SETITEMCOUNT             = LVM_FIRST + 47
  1461  	LVM_SORTITEMS                = LVM_FIRST + 48
  1462  	LVM_SETITEMPOSITION32        = LVM_FIRST + 49
  1463  	LVM_GETSELECTEDCOUNT         = LVM_FIRST + 50
  1464  	LVM_GETITEMSPACING           = LVM_FIRST + 51
  1465  	LVM_GETISEARCHSTRING         = LVM_FIRST + 117
  1466  	LVM_SETICONSPACING           = LVM_FIRST + 53
  1467  	LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54
  1468  	LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 55
  1469  	LVM_GETSUBITEMRECT           = LVM_FIRST + 56
  1470  	LVM_SUBITEMHITTEST           = LVM_FIRST + 57
  1471  	LVM_SETCOLUMNORDERARRAY      = LVM_FIRST + 58
  1472  	LVM_GETCOLUMNORDERARRAY      = LVM_FIRST + 59
  1473  	LVM_SETHOTITEM               = LVM_FIRST + 60
  1474  	LVM_GETHOTITEM               = LVM_FIRST + 61
  1475  	LVM_SETHOTCURSOR             = LVM_FIRST + 62
  1476  	LVM_GETHOTCURSOR             = LVM_FIRST + 63
  1477  	LVM_APPROXIMATEVIEWRECT      = LVM_FIRST + 64
  1478  	LVM_SETWORKAREAS             = LVM_FIRST + 65
  1479  	LVM_GETWORKAREAS             = LVM_FIRST + 70
  1480  	LVM_GETNUMBEROFWORKAREAS     = LVM_FIRST + 73
  1481  	LVM_GETSELECTIONMARK         = LVM_FIRST + 66
  1482  	LVM_SETSELECTIONMARK         = LVM_FIRST + 67
  1483  	LVM_SETHOVERTIME             = LVM_FIRST + 71
  1484  	LVM_GETHOVERTIME             = LVM_FIRST + 72
  1485  	LVM_SETTOOLTIPS              = LVM_FIRST + 74
  1486  	LVM_GETTOOLTIPS              = LVM_FIRST + 78
  1487  	LVM_SORTITEMSEX              = LVM_FIRST + 81
  1488  	LVM_SETBKIMAGE               = LVM_FIRST + 138
  1489  	LVM_GETBKIMAGE               = LVM_FIRST + 139
  1490  	LVM_SETSELECTEDCOLUMN        = LVM_FIRST + 140
  1491  	LVM_SETVIEW                  = LVM_FIRST + 142
  1492  	LVM_GETVIEW                  = LVM_FIRST + 143
  1493  	LVM_INSERTGROUP              = LVM_FIRST + 145
  1494  	LVM_SETGROUPINFO             = LVM_FIRST + 147
  1495  	LVM_GETGROUPINFO             = LVM_FIRST + 149
  1496  	LVM_REMOVEGROUP              = LVM_FIRST + 150
  1497  	LVM_MOVEGROUP                = LVM_FIRST + 151
  1498  	LVM_GETGROUPCOUNT            = LVM_FIRST + 152
  1499  	LVM_GETGROUPINFOBYINDEX      = LVM_FIRST + 153
  1500  	LVM_MOVEITEMTOGROUP          = LVM_FIRST + 154
  1501  	LVM_GETGROUPRECT             = LVM_FIRST + 98
  1502  	LVM_SETGROUPMETRICS          = LVM_FIRST + 155
  1503  	LVM_GETGROUPMETRICS          = LVM_FIRST + 156
  1504  	LVM_ENABLEGROUPVIEW          = LVM_FIRST + 157
  1505  	LVM_SORTGROUPS               = LVM_FIRST + 158
  1506  	LVM_INSERTGROUPSORTED        = LVM_FIRST + 159
  1507  	LVM_REMOVEALLGROUPS          = LVM_FIRST + 160
  1508  	LVM_HASGROUP                 = LVM_FIRST + 161
  1509  	LVM_GETGROUPSTATE            = LVM_FIRST + 92
  1510  	LVM_GETFOCUSEDGROUP          = LVM_FIRST + 93
  1511  	LVM_SETTILEVIEWINFO          = LVM_FIRST + 162
  1512  	LVM_GETTILEVIEWINFO          = LVM_FIRST + 163
  1513  	LVM_SETTILEINFO              = LVM_FIRST + 164
  1514  	LVM_GETTILEINFO              = LVM_FIRST + 165
  1515  	LVM_SETINSERTMARK            = LVM_FIRST + 166
  1516  	LVM_GETINSERTMARK            = LVM_FIRST + 167
  1517  	LVM_INSERTMARKHITTEST        = LVM_FIRST + 168
  1518  	LVM_GETINSERTMARKRECT        = LVM_FIRST + 169
  1519  	LVM_SETINSERTMARKCOLOR       = LVM_FIRST + 170
  1520  	LVM_GETINSERTMARKCOLOR       = LVM_FIRST + 171
  1521  	LVM_SETINFOTIP               = LVM_FIRST + 173
  1522  	LVM_GETSELECTEDCOLUMN        = LVM_FIRST + 174
  1523  	LVM_ISGROUPVIEWENABLED       = LVM_FIRST + 175
  1524  	LVM_GETOUTLINECOLOR          = LVM_FIRST + 176
  1525  	LVM_SETOUTLINECOLOR          = LVM_FIRST + 177
  1526  	LVM_CANCELEDITLABEL          = LVM_FIRST + 179
  1527  	LVM_MAPINDEXTOID             = LVM_FIRST + 180
  1528  	LVM_MAPIDTOINDEX             = LVM_FIRST + 181
  1529  	LVM_ISITEMVISIBLE            = LVM_FIRST + 182
  1530  	LVM_GETNEXTITEMINDEX         = LVM_FIRST + 211
  1531  )
  1532  
  1533  // ListView notifications
  1534  const (
  1535  	LVN_FIRST = -100
  1536  
  1537  	LVN_ITEMCHANGING      = LVN_FIRST - 0
  1538  	LVN_ITEMCHANGED       = LVN_FIRST - 1
  1539  	LVN_INSERTITEM        = LVN_FIRST - 2
  1540  	LVN_DELETEITEM        = LVN_FIRST - 3
  1541  	LVN_DELETEALLITEMS    = LVN_FIRST - 4
  1542  	LVN_BEGINLABELEDITA   = LVN_FIRST - 5
  1543  	LVN_BEGINLABELEDITW   = LVN_FIRST - 75
  1544  	LVN_ENDLABELEDITA     = LVN_FIRST - 6
  1545  	LVN_ENDLABELEDITW     = LVN_FIRST - 76
  1546  	LVN_COLUMNCLICK       = LVN_FIRST - 8
  1547  	LVN_BEGINDRAG         = LVN_FIRST - 9
  1548  	LVN_BEGINRDRAG        = LVN_FIRST - 11
  1549  	LVN_ODCACHEHINT       = LVN_FIRST - 13
  1550  	LVN_ODFINDITEMA       = LVN_FIRST - 52
  1551  	LVN_ODFINDITEMW       = LVN_FIRST - 79
  1552  	LVN_ITEMACTIVATE      = LVN_FIRST - 14
  1553  	LVN_ODSTATECHANGED    = LVN_FIRST - 15
  1554  	LVN_HOTTRACK          = LVN_FIRST - 21
  1555  	LVN_GETDISPINFO       = LVN_FIRST - 77
  1556  	LVN_SETDISPINFO       = LVN_FIRST - 78
  1557  	LVN_KEYDOWN           = LVN_FIRST - 55
  1558  	LVN_MARQUEEBEGIN      = LVN_FIRST - 56
  1559  	LVN_GETINFOTIP        = LVN_FIRST - 58
  1560  	LVN_INCREMENTALSEARCH = LVN_FIRST - 63
  1561  	LVN_BEGINSCROLL       = LVN_FIRST - 80
  1562  	LVN_ENDSCROLL         = LVN_FIRST - 81
  1563  )
  1564  
  1565  const (
  1566  	LVSCW_AUTOSIZE           = ^uintptr(0)
  1567  	LVSCW_AUTOSIZE_USEHEADER = ^uintptr(1)
  1568  )
  1569  
  1570  // ListView LVNI constants
  1571  const (
  1572  	LVNI_ALL         = 0
  1573  	LVNI_FOCUSED     = 1
  1574  	LVNI_SELECTED    = 2
  1575  	LVNI_CUT         = 4
  1576  	LVNI_DROPHILITED = 8
  1577  	LVNI_ABOVE       = 256
  1578  	LVNI_BELOW       = 512
  1579  	LVNI_TOLEFT      = 1024
  1580  	LVNI_TORIGHT     = 2048
  1581  )
  1582  
  1583  // ListView styles
  1584  const (
  1585  	LVS_ICON            = 0x0000
  1586  	LVS_REPORT          = 0x0001
  1587  	LVS_SMALLICON       = 0x0002
  1588  	LVS_LIST            = 0x0003
  1589  	LVS_TYPEMASK        = 0x0003
  1590  	LVS_SINGLESEL       = 0x0004
  1591  	LVS_SHOWSELALWAYS   = 0x0008
  1592  	LVS_SORTASCENDING   = 0x0010
  1593  	LVS_SORTDESCENDING  = 0x0020
  1594  	LVS_SHAREIMAGELISTS = 0x0040
  1595  	LVS_NOLABELWRAP     = 0x0080
  1596  	LVS_AUTOARRANGE     = 0x0100
  1597  	LVS_EDITLABELS      = 0x0200
  1598  	LVS_OWNERDATA       = 0x1000
  1599  	LVS_NOSCROLL        = 0x2000
  1600  	LVS_TYPESTYLEMASK   = 0xfc00
  1601  	LVS_ALIGNTOP        = 0x0000
  1602  	LVS_ALIGNLEFT       = 0x0800
  1603  	LVS_ALIGNMASK       = 0x0c00
  1604  	LVS_OWNERDRAWFIXED  = 0x0400
  1605  	LVS_NOCOLUMNHEADER  = 0x4000
  1606  	LVS_NOSORTHEADER    = 0x8000
  1607  )
  1608  
  1609  // ListView extended styles
  1610  const (
  1611  	LVS_EX_GRIDLINES        = 0x00000001
  1612  	LVS_EX_SUBITEMIMAGES    = 0x00000002
  1613  	LVS_EX_CHECKBOXES       = 0x00000004
  1614  	LVS_EX_TRACKSELECT      = 0x00000008
  1615  	LVS_EX_HEADERDRAGDROP   = 0x00000010
  1616  	LVS_EX_FULLROWSELECT    = 0x00000020
  1617  	LVS_EX_ONECLICKACTIVATE = 0x00000040
  1618  	LVS_EX_TWOCLICKACTIVATE = 0x00000080
  1619  	LVS_EX_FLATSB           = 0x00000100
  1620  	LVS_EX_REGIONAL         = 0x00000200
  1621  	LVS_EX_INFOTIP          = 0x00000400
  1622  	LVS_EX_UNDERLINEHOT     = 0x00000800
  1623  	LVS_EX_UNDERLINECOLD    = 0x00001000
  1624  	LVS_EX_MULTIWORKAREAS   = 0x00002000
  1625  	LVS_EX_LABELTIP         = 0x00004000
  1626  	LVS_EX_BORDERSELECT     = 0x00008000
  1627  	LVS_EX_DOUBLEBUFFER     = 0x00010000
  1628  	LVS_EX_HIDELABELS       = 0x00020000
  1629  	LVS_EX_SINGLEROW        = 0x00040000
  1630  	LVS_EX_SNAPTOGRID       = 0x00080000
  1631  	LVS_EX_SIMPLESELECT     = 0x00100000
  1632  )
  1633  
  1634  // ListView column flags
  1635  const (
  1636  	LVCF_FMT     = 0x0001
  1637  	LVCF_WIDTH   = 0x0002
  1638  	LVCF_TEXT    = 0x0004
  1639  	LVCF_SUBITEM = 0x0008
  1640  	LVCF_IMAGE   = 0x0010
  1641  	LVCF_ORDER   = 0x0020
  1642  )
  1643  
  1644  // ListView column format constants
  1645  const (
  1646  	LVCFMT_LEFT            = 0x0000
  1647  	LVCFMT_RIGHT           = 0x0001
  1648  	LVCFMT_CENTER          = 0x0002
  1649  	LVCFMT_JUSTIFYMASK     = 0x0003
  1650  	LVCFMT_IMAGE           = 0x0800
  1651  	LVCFMT_BITMAP_ON_RIGHT = 0x1000
  1652  	LVCFMT_COL_HAS_IMAGES  = 0x8000
  1653  )
  1654  
  1655  // ListView item flags
  1656  const (
  1657  	LVIF_TEXT        = 0x00000001
  1658  	LVIF_IMAGE       = 0x00000002
  1659  	LVIF_PARAM       = 0x00000004
  1660  	LVIF_STATE       = 0x00000008
  1661  	LVIF_INDENT      = 0x00000010
  1662  	LVIF_NORECOMPUTE = 0x00000800
  1663  	LVIF_GROUPID     = 0x00000100
  1664  	LVIF_COLUMNS     = 0x00000200
  1665  )
  1666  
  1667  const LVFI_PARAM = 0x0001
  1668  
  1669  // ListView item states
  1670  const (
  1671  	LVIS_FOCUSED        = 1
  1672  	LVIS_SELECTED       = 2
  1673  	LVIS_CUT            = 4
  1674  	LVIS_DROPHILITED    = 8
  1675  	LVIS_OVERLAYMASK    = 0xF00
  1676  	LVIS_STATEIMAGEMASK = 0xF000
  1677  )
  1678  
  1679  // ListView hit test constants
  1680  const (
  1681  	LVHT_NOWHERE         = 0x00000001
  1682  	LVHT_ONITEMICON      = 0x00000002
  1683  	LVHT_ONITEMLABEL     = 0x00000004
  1684  	LVHT_ONITEMSTATEICON = 0x00000008
  1685  	LVHT_ONITEM          = LVHT_ONITEMICON | LVHT_ONITEMLABEL | LVHT_ONITEMSTATEICON
  1686  
  1687  	LVHT_ABOVE   = 0x00000008
  1688  	LVHT_BELOW   = 0x00000010
  1689  	LVHT_TORIGHT = 0x00000020
  1690  	LVHT_TOLEFT  = 0x00000040
  1691  )
  1692  
  1693  // ListView image list types
  1694  const (
  1695  	LVSIL_NORMAL      = 0
  1696  	LVSIL_SMALL       = 1
  1697  	LVSIL_STATE       = 2
  1698  	LVSIL_GROUPHEADER = 3
  1699  )
  1700  
  1701  // InitCommonControlsEx flags
  1702  const (
  1703  	ICC_LISTVIEW_CLASSES   = 1
  1704  	ICC_TREEVIEW_CLASSES   = 2
  1705  	ICC_BAR_CLASSES        = 4
  1706  	ICC_TAB_CLASSES        = 8
  1707  	ICC_UPDOWN_CLASS       = 16
  1708  	ICC_PROGRESS_CLASS     = 32
  1709  	ICC_HOTKEY_CLASS       = 64
  1710  	ICC_ANIMATE_CLASS      = 128
  1711  	ICC_WIN95_CLASSES      = 255
  1712  	ICC_DATE_CLASSES       = 256
  1713  	ICC_USEREX_CLASSES     = 512
  1714  	ICC_COOL_CLASSES       = 1024
  1715  	ICC_INTERNET_CLASSES   = 2048
  1716  	ICC_PAGESCROLLER_CLASS = 4096
  1717  	ICC_NATIVEFNTCTL_CLASS = 8192
  1718  	INFOTIPSIZE            = 1024
  1719  	ICC_STANDARD_CLASSES   = 0x00004000
  1720  	ICC_LINK_CLASS         = 0x00008000
  1721  )
  1722  
  1723  // Dialog Codes
  1724  const (
  1725  	DLGC_WANTARROWS      = 0x0001
  1726  	DLGC_WANTTAB         = 0x0002
  1727  	DLGC_WANTALLKEYS     = 0x0004
  1728  	DLGC_WANTMESSAGE     = 0x0004
  1729  	DLGC_HASSETSEL       = 0x0008
  1730  	DLGC_DEFPUSHBUTTON   = 0x0010
  1731  	DLGC_UNDEFPUSHBUTTON = 0x0020
  1732  	DLGC_RADIOBUTTON     = 0x0040
  1733  	DLGC_WANTCHARS       = 0x0080
  1734  	DLGC_STATIC          = 0x0100
  1735  	DLGC_BUTTON          = 0x2000
  1736  )
  1737  
  1738  // Get/SetWindowWord/Long offsets for use with WC_DIALOG windows
  1739  const (
  1740  	DWL_MSGRESULT = 0
  1741  	DWL_DLGPROC   = 4
  1742  	DWL_USER      = 8
  1743  )
  1744  
  1745  // Registry predefined keys
  1746  const (
  1747  	HKEY_CLASSES_ROOT     HKEY = 0x80000000
  1748  	HKEY_CURRENT_USER     HKEY = 0x80000001
  1749  	HKEY_LOCAL_MACHINE    HKEY = 0x80000002
  1750  	HKEY_USERS            HKEY = 0x80000003
  1751  	HKEY_PERFORMANCE_DATA HKEY = 0x80000004
  1752  	HKEY_CURRENT_CONFIG   HKEY = 0x80000005
  1753  	HKEY_DYN_DATA         HKEY = 0x80000006
  1754  )
  1755  
  1756  // Registry Key Security and Access Rights
  1757  const (
  1758  	KEY_ALL_ACCESS         = 0xF003F
  1759  	KEY_CREATE_SUB_KEY     = 0x0004
  1760  	KEY_ENUMERATE_SUB_KEYS = 0x0008
  1761  	KEY_NOTIFY             = 0x0010
  1762  	KEY_QUERY_VALUE        = 0x0001
  1763  	KEY_SET_VALUE          = 0x0002
  1764  	KEY_READ               = 0x20019
  1765  	KEY_WRITE              = 0x20006
  1766  )
  1767  
  1768  const (
  1769  	NFR_ANSI    = 1
  1770  	NFR_UNICODE = 2
  1771  	NF_QUERY    = 3
  1772  	NF_REQUERY  = 4
  1773  )
  1774  
  1775  // Registry value types
  1776  const (
  1777  	RRF_RT_REG_NONE         = 0x00000001
  1778  	RRF_RT_REG_SZ           = 0x00000002
  1779  	RRF_RT_REG_EXPAND_SZ    = 0x00000004
  1780  	RRF_RT_REG_BINARY       = 0x00000008
  1781  	RRF_RT_REG_DWORD        = 0x00000010
  1782  	RRF_RT_REG_MULTI_SZ     = 0x00000020
  1783  	RRF_RT_REG_QWORD        = 0x00000040
  1784  	RRF_RT_DWORD            = (RRF_RT_REG_BINARY | RRF_RT_REG_DWORD)
  1785  	RRF_RT_QWORD            = (RRF_RT_REG_BINARY | RRF_RT_REG_QWORD)
  1786  	RRF_RT_ANY              = 0x0000ffff
  1787  	RRF_NOEXPAND            = 0x10000000
  1788  	RRF_ZEROONFAILURE       = 0x20000000
  1789  	REG_PROCESS_APPKEY      = 0x00000001
  1790  	REG_MUI_STRING_TRUNCATE = 0x00000001
  1791  )
  1792  
  1793  // PeekMessage wRemoveMsg value
  1794  const (
  1795  	PM_NOREMOVE = 0x000
  1796  	PM_REMOVE   = 0x001
  1797  	PM_NOYIELD  = 0x002
  1798  )
  1799  
  1800  // ImageList flags
  1801  const (
  1802  	ILC_MASK             = 0x00000001
  1803  	ILC_COLOR            = 0x00000000
  1804  	ILC_COLORDDB         = 0x000000FE
  1805  	ILC_COLOR4           = 0x00000004
  1806  	ILC_COLOR8           = 0x00000008
  1807  	ILC_COLOR16          = 0x00000010
  1808  	ILC_COLOR24          = 0x00000018
  1809  	ILC_COLOR32          = 0x00000020
  1810  	ILC_PALETTE          = 0x00000800
  1811  	ILC_MIRROR           = 0x00002000
  1812  	ILC_PERITEMMIRROR    = 0x00008000
  1813  	ILC_ORIGINALSIZE     = 0x00010000
  1814  	ILC_HIGHQUALITYSCALE = 0x00020000
  1815  )
  1816  
  1817  // Keystroke Message Flags
  1818  const (
  1819  	KF_EXTENDED = 0x0100
  1820  	KF_DLGMODE  = 0x0800
  1821  	KF_MENUMODE = 0x1000
  1822  	KF_ALTDOWN  = 0x2000
  1823  	KF_REPEAT   = 0x4000
  1824  	KF_UP       = 0x8000
  1825  )
  1826  
  1827  // Virtual-Key Codes
  1828  /*
  1829  const (
  1830  	VK_LBUTTON             = 0x01
  1831  	VK_RBUTTON             = 0x02
  1832  	VK_CANCEL              = 0x03
  1833  	VK_MBUTTON             = 0x04
  1834  	VK_XBUTTON1            = 0x05
  1835  	VK_XBUTTON2            = 0x06
  1836  	VK_BACK                = 0x08
  1837  	VK_TAB                 = 0x09
  1838  	VK_CLEAR               = 0x0C
  1839  	VK_RETURN              = 0x0D
  1840  	VK_SHIFT               = 0x10
  1841  	VK_CONTROL             = 0x11
  1842  	VK_MENU                = 0x12
  1843  	VK_PAUSE               = 0x13
  1844  	VK_CAPITAL             = 0x14
  1845  	VK_KANA                = 0x15
  1846  	VK_HANGEUL             = 0x15
  1847  	VK_HANGUL              = 0x15
  1848  	VK_JUNJA               = 0x17
  1849  	VK_FINAL               = 0x18
  1850  	VK_HANJA               = 0x19
  1851  	VK_KANJI               = 0x19
  1852  	VK_ESCAPE              = 0x1B
  1853  	VK_CONVERT             = 0x1C
  1854  	VK_NONCONVERT          = 0x1D
  1855  	VK_ACCEPT              = 0x1E
  1856  	VK_MODECHANGE          = 0x1F
  1857  	VK_SPACE               = 0x20
  1858  	VK_PRIOR               = 0x21
  1859  	VK_NEXT                = 0x22
  1860  	VK_END                 = 0x23
  1861  	VK_HOME                = 0x24
  1862  	VK_LEFT                = 0x25
  1863  	VK_UP                  = 0x26
  1864  	VK_RIGHT               = 0x27
  1865  	VK_DOWN                = 0x28
  1866  	VK_SELECT              = 0x29
  1867  	VK_PRINT               = 0x2A
  1868  	VK_EXECUTE             = 0x2B
  1869  	VK_SNAPSHOT            = 0x2C
  1870  	VK_INSERT              = 0x2D
  1871  	VK_DELETE              = 0x2E
  1872  	VK_HELP                = 0x2F
  1873  	VK_LWIN                = 0x5B
  1874  	VK_RWIN                = 0x5C
  1875  	VK_APPS                = 0x5D
  1876  	VK_SLEEP               = 0x5F
  1877  	VK_NUMPAD0             = 0x60
  1878  	VK_NUMPAD1             = 0x61
  1879  	VK_NUMPAD2             = 0x62
  1880  	VK_NUMPAD3             = 0x63
  1881  	VK_NUMPAD4             = 0x64
  1882  	VK_NUMPAD5             = 0x65
  1883  	VK_NUMPAD6             = 0x66
  1884  	VK_NUMPAD7             = 0x67
  1885  	VK_NUMPAD8             = 0x68
  1886  	VK_NUMPAD9             = 0x69
  1887  	VK_MULTIPLY            = 0x6A
  1888  	VK_ADD                 = 0x6B
  1889  	VK_SEPARATOR           = 0x6C
  1890  	VK_SUBTRACT            = 0x6D
  1891  	VK_DECIMAL             = 0x6E
  1892  	VK_DIVIDE              = 0x6F
  1893  	VK_F1                  = 0x70
  1894  	VK_F2                  = 0x71
  1895  	VK_F3                  = 0x72
  1896  	VK_F4                  = 0x73
  1897  	VK_F5                  = 0x74
  1898  	VK_F6                  = 0x75
  1899  	VK_F7                  = 0x76
  1900  	VK_F8                  = 0x77
  1901  	VK_F9                  = 0x78
  1902  	VK_F10                 = 0x79
  1903  	VK_F11                 = 0x7A
  1904  	VK_F12                 = 0x7B
  1905  	VK_F13                 = 0x7C
  1906  	VK_F14                 = 0x7D
  1907  	VK_F15                 = 0x7E
  1908  	VK_F16                 = 0x7F
  1909  	VK_F17                 = 0x80
  1910  	VK_F18                 = 0x81
  1911  	VK_F19                 = 0x82
  1912  	VK_F20                 = 0x83
  1913  	VK_F21                 = 0x84
  1914  	VK_F22                 = 0x85
  1915  	VK_F23                 = 0x86
  1916  	VK_F24                 = 0x87
  1917  	VK_NUMLOCK             = 0x90
  1918  	VK_SCROLL              = 0x91
  1919  	VK_OEM_NEC_EQUAL       = 0x92
  1920  	VK_OEM_FJ_JISHO        = 0x92
  1921  	VK_OEM_FJ_MASSHOU      = 0x93
  1922  	VK_OEM_FJ_TOUROKU      = 0x94
  1923  	VK_OEM_FJ_LOYA         = 0x95
  1924  	VK_OEM_FJ_ROYA         = 0x96
  1925  	VK_LSHIFT              = 0xA0
  1926  	VK_RSHIFT              = 0xA1
  1927  	VK_LCONTROL            = 0xA2
  1928  	VK_RCONTROL            = 0xA3
  1929  	VK_LMENU               = 0xA4
  1930  	VK_RMENU               = 0xA5
  1931  	VK_BROWSER_BACK        = 0xA6
  1932  	VK_BROWSER_FORWARD     = 0xA7
  1933  	VK_BROWSER_REFRESH     = 0xA8
  1934  	VK_BROWSER_STOP        = 0xA9
  1935  	VK_BROWSER_SEARCH      = 0xAA
  1936  	VK_BROWSER_FAVORITES   = 0xAB
  1937  	VK_BROWSER_HOME        = 0xAC
  1938  	VK_VOLUME_MUTE         = 0xAD
  1939  	VK_VOLUME_DOWN         = 0xAE
  1940  	VK_VOLUME_UP           = 0xAF
  1941  	VK_MEDIA_NEXT_TRACK    = 0xB0
  1942  	VK_MEDIA_PREV_TRACK    = 0xB1
  1943  	VK_MEDIA_STOP          = 0xB2
  1944  	VK_MEDIA_PLAY_PAUSE    = 0xB3
  1945  	VK_LAUNCH_MAIL         = 0xB4
  1946  	VK_LAUNCH_MEDIA_SELECT = 0xB5
  1947  	VK_LAUNCH_APP1         = 0xB6
  1948  	VK_LAUNCH_APP2         = 0xB7
  1949  	VK_OEM_1               = 0xBA
  1950  	VK_OEM_PLUS            = 0xBB
  1951  	VK_OEM_COMMA           = 0xBC
  1952  	VK_OEM_MINUS           = 0xBD
  1953  	VK_OEM_PERIOD          = 0xBE
  1954  	VK_OEM_2               = 0xBF
  1955  	VK_OEM_3               = 0xC0
  1956  	VK_OEM_4               = 0xDB
  1957  	VK_OEM_5               = 0xDC
  1958  	VK_OEM_6               = 0xDD
  1959  	VK_OEM_7               = 0xDE
  1960  	VK_OEM_8               = 0xDF
  1961  	VK_OEM_AX              = 0xE1
  1962  	VK_OEM_102             = 0xE2
  1963  	VK_ICO_HELP            = 0xE3
  1964  	VK_ICO_00              = 0xE4
  1965  	VK_PROCESSKEY          = 0xE5
  1966  	VK_ICO_CLEAR           = 0xE6
  1967  	VK_OEM_RESET           = 0xE9
  1968  	VK_OEM_JUMP            = 0xEA
  1969  	VK_OEM_PA1             = 0xEB
  1970  	VK_OEM_PA2             = 0xEC
  1971  	VK_OEM_PA3             = 0xED
  1972  	VK_OEM_WSCTRL          = 0xEE
  1973  	VK_OEM_CUSEL           = 0xEF
  1974  	VK_OEM_ATTN            = 0xF0
  1975  	VK_OEM_FINISH          = 0xF1
  1976  	VK_OEM_COPY            = 0xF2
  1977  	VK_OEM_AUTO            = 0xF3
  1978  	VK_OEM_ENLW            = 0xF4
  1979  	VK_OEM_BACKTAB         = 0xF5
  1980  	VK_ATTN                = 0xF6
  1981  	VK_CRSEL               = 0xF7
  1982  	VK_EXSEL               = 0xF8
  1983  	VK_EREOF               = 0xF9
  1984  	VK_PLAY                = 0xFA
  1985  	VK_ZOOM                = 0xFB
  1986  	VK_NONAME              = 0xFC
  1987  	VK_PA1                 = 0xFD
  1988  	VK_OEM_CLEAR           = 0xFE
  1989  )*/
  1990  
  1991  // Registry Value Types
  1992  const (
  1993  	REG_NONE                       = 0
  1994  	REG_SZ                         = 1
  1995  	REG_EXPAND_SZ                  = 2
  1996  	REG_BINARY                     = 3
  1997  	REG_DWORD                      = 4
  1998  	REG_DWORD_LITTLE_ENDIAN        = 4
  1999  	REG_DWORD_BIG_ENDIAN           = 5
  2000  	REG_LINK                       = 6
  2001  	REG_MULTI_SZ                   = 7
  2002  	REG_RESOURCE_LIST              = 8
  2003  	REG_FULL_RESOURCE_DESCRIPTOR   = 9
  2004  	REG_RESOURCE_REQUIREMENTS_LIST = 10
  2005  	REG_QWORD                      = 11
  2006  	REG_QWORD_LITTLE_ENDIAN        = 11
  2007  )
  2008  
  2009  // Tooltip styles
  2010  const (
  2011  	TTS_ALWAYSTIP      = 0x01
  2012  	TTS_NOPREFIX       = 0x02
  2013  	TTS_NOANIMATE      = 0x10
  2014  	TTS_NOFADE         = 0x20
  2015  	TTS_BALLOON        = 0x40
  2016  	TTS_CLOSE          = 0x80
  2017  	TTS_USEVISUALSTYLE = 0x100
  2018  )
  2019  
  2020  // Tooltip messages
  2021  const (
  2022  	TTM_ACTIVATE        = (WM_USER + 1)
  2023  	TTM_SETDELAYTIME    = (WM_USER + 3)
  2024  	TTM_ADDTOOL         = (WM_USER + 50)
  2025  	TTM_DELTOOL         = (WM_USER + 51)
  2026  	TTM_NEWTOOLRECT     = (WM_USER + 52)
  2027  	TTM_RELAYEVENT      = (WM_USER + 7)
  2028  	TTM_GETTOOLINFO     = (WM_USER + 53)
  2029  	TTM_SETTOOLINFO     = (WM_USER + 54)
  2030  	TTM_HITTEST         = (WM_USER + 55)
  2031  	TTM_GETTEXT         = (WM_USER + 56)
  2032  	TTM_UPDATETIPTEXT   = (WM_USER + 57)
  2033  	TTM_GETTOOLCOUNT    = (WM_USER + 13)
  2034  	TTM_ENUMTOOLS       = (WM_USER + 58)
  2035  	TTM_GETCURRENTTOOL  = (WM_USER + 59)
  2036  	TTM_WINDOWFROMPOINT = (WM_USER + 16)
  2037  	TTM_TRACKACTIVATE   = (WM_USER + 17)
  2038  	TTM_TRACKPOSITION   = (WM_USER + 18)
  2039  	TTM_SETTIPBKCOLOR   = (WM_USER + 19)
  2040  	TTM_SETTIPTEXTCOLOR = (WM_USER + 20)
  2041  	TTM_GETDELAYTIME    = (WM_USER + 21)
  2042  	TTM_GETTIPBKCOLOR   = (WM_USER + 22)
  2043  	TTM_GETTIPTEXTCOLOR = (WM_USER + 23)
  2044  	TTM_SETMAXTIPWIDTH  = (WM_USER + 24)
  2045  	TTM_GETMAXTIPWIDTH  = (WM_USER + 25)
  2046  	TTM_SETMARGIN       = (WM_USER + 26)
  2047  	TTM_GETMARGIN       = (WM_USER + 27)
  2048  	TTM_POP             = (WM_USER + 28)
  2049  	TTM_UPDATE          = (WM_USER + 29)
  2050  	TTM_GETBUBBLESIZE   = (WM_USER + 30)
  2051  	TTM_ADJUSTRECT      = (WM_USER + 31)
  2052  	TTM_SETTITLE        = (WM_USER + 33)
  2053  	TTM_POPUP           = (WM_USER + 34)
  2054  	TTM_GETTITLE        = (WM_USER + 35)
  2055  )
  2056  
  2057  // Tooltip icons
  2058  const (
  2059  	TTI_NONE          = 0
  2060  	TTI_INFO          = 1
  2061  	TTI_WARNING       = 2
  2062  	TTI_ERROR         = 3
  2063  	TTI_INFO_LARGE    = 4
  2064  	TTI_WARNING_LARGE = 5
  2065  	TTI_ERROR_LARGE   = 6
  2066  )
  2067  
  2068  // Tooltip notifications
  2069  const (
  2070  	TTN_FIRST       = -520
  2071  	TTN_LAST        = -549
  2072  	TTN_GETDISPINFO = (TTN_FIRST - 10)
  2073  	TTN_SHOW        = (TTN_FIRST - 1)
  2074  	TTN_POP         = (TTN_FIRST - 2)
  2075  	TTN_LINKCLICK   = (TTN_FIRST - 3)
  2076  	TTN_NEEDTEXT    = TTN_GETDISPINFO
  2077  )
  2078  
  2079  const (
  2080  	TTF_IDISHWND    = 0x0001
  2081  	TTF_CENTERTIP   = 0x0002
  2082  	TTF_RTLREADING  = 0x0004
  2083  	TTF_SUBCLASS    = 0x0010
  2084  	TTF_TRACK       = 0x0020
  2085  	TTF_ABSOLUTE    = 0x0080
  2086  	TTF_TRANSPARENT = 0x0100
  2087  	TTF_PARSELINKS  = 0x1000
  2088  	TTF_DI_SETITEM  = 0x8000
  2089  )
  2090  
  2091  const (
  2092  	SWP_NOSIZE         = 0x0001
  2093  	SWP_NOMOVE         = 0x0002
  2094  	SWP_NOZORDER       = 0x0004
  2095  	SWP_NOREDRAW       = 0x0008
  2096  	SWP_NOACTIVATE     = 0x0010
  2097  	SWP_FRAMECHANGED   = 0x0020
  2098  	SWP_SHOWWINDOW     = 0x0040
  2099  	SWP_HIDEWINDOW     = 0x0080
  2100  	SWP_NOCOPYBITS     = 0x0100
  2101  	SWP_NOOWNERZORDER  = 0x0200
  2102  	SWP_NOSENDCHANGING = 0x0400
  2103  	SWP_DRAWFRAME      = SWP_FRAMECHANGED
  2104  	SWP_NOREPOSITION   = SWP_NOOWNERZORDER
  2105  	SWP_DEFERERASE     = 0x2000
  2106  	SWP_ASYNCWINDOWPOS = 0x4000
  2107  )
  2108  
  2109  // Predefined window handles
  2110  const (
  2111  	HWND_BROADCAST = HWND(0xFFFF)
  2112  	HWND_BOTTOM    = HWND(1)
  2113  	HWND_NOTOPMOST = ^HWND(1) // -2
  2114  	HWND_TOP       = HWND(0)
  2115  	HWND_TOPMOST   = ^HWND(0) // -1
  2116  	HWND_DESKTOP   = HWND(0)
  2117  	HWND_MESSAGE   = ^HWND(2) // -3
  2118  )
  2119  
  2120  // Pen types
  2121  const (
  2122  	PS_COSMETIC  = 0x00000000
  2123  	PS_GEOMETRIC = 0x00010000
  2124  	PS_TYPE_MASK = 0x000F0000
  2125  )
  2126  
  2127  // Pen styles
  2128  const (
  2129  	PS_SOLID       = 0
  2130  	PS_DASH        = 1
  2131  	PS_DOT         = 2
  2132  	PS_DASHDOT     = 3
  2133  	PS_DASHDOTDOT  = 4
  2134  	PS_NULL        = 5
  2135  	PS_INSIDEFRAME = 6
  2136  	PS_USERSTYLE   = 7
  2137  	PS_ALTERNATE   = 8
  2138  	PS_STYLE_MASK  = 0x0000000F
  2139  )
  2140  
  2141  // Pen cap types
  2142  const (
  2143  	PS_ENDCAP_ROUND  = 0x00000000
  2144  	PS_ENDCAP_SQUARE = 0x00000100
  2145  	PS_ENDCAP_FLAT   = 0x00000200
  2146  	PS_ENDCAP_MASK   = 0x00000F00
  2147  )
  2148  
  2149  // Pen join types
  2150  const (
  2151  	PS_JOIN_ROUND = 0x00000000
  2152  	PS_JOIN_BEVEL = 0x00001000
  2153  	PS_JOIN_MITER = 0x00002000
  2154  	PS_JOIN_MASK  = 0x0000F000
  2155  )
  2156  
  2157  // Hatch styles
  2158  const (
  2159  	HS_HORIZONTAL = 0
  2160  	HS_VERTICAL   = 1
  2161  	HS_FDIAGONAL  = 2
  2162  	HS_BDIAGONAL  = 3
  2163  	HS_CROSS      = 4
  2164  	HS_DIAGCROSS  = 5
  2165  )
  2166  
  2167  // Stock Logical Objects
  2168  const (
  2169  	WHITE_BRUSH         = 0
  2170  	LTGRAY_BRUSH        = 1
  2171  	GRAY_BRUSH          = 2
  2172  	DKGRAY_BRUSH        = 3
  2173  	BLACK_BRUSH         = 4
  2174  	NULL_BRUSH          = 5
  2175  	HOLLOW_BRUSH        = NULL_BRUSH
  2176  	WHITE_PEN           = 6
  2177  	BLACK_PEN           = 7
  2178  	NULL_PEN            = 8
  2179  	OEM_FIXED_FONT      = 10
  2180  	ANSI_FIXED_FONT     = 11
  2181  	ANSI_VAR_FONT       = 12
  2182  	SYSTEM_FONT         = 13
  2183  	DEVICE_DEFAULT_FONT = 14
  2184  	DEFAULT_PALETTE     = 15
  2185  	SYSTEM_FIXED_FONT   = 16
  2186  	DEFAULT_GUI_FONT    = 17
  2187  	DC_BRUSH            = 18
  2188  	DC_PEN              = 19
  2189  )
  2190  
  2191  // Brush styles
  2192  const (
  2193  	BS_SOLID         = 0
  2194  	BS_NULL          = 1
  2195  	BS_HOLLOW        = BS_NULL
  2196  	BS_HATCHED       = 2
  2197  	BS_PATTERN       = 3
  2198  	BS_INDEXED       = 4
  2199  	BS_DIBPATTERN    = 5
  2200  	BS_DIBPATTERNPT  = 6
  2201  	BS_PATTERN8X8    = 7
  2202  	BS_DIBPATTERN8X8 = 8
  2203  	BS_MONOPATTERN   = 9
  2204  )
  2205  
  2206  // TRACKMOUSEEVENT flags
  2207  const (
  2208  	TME_HOVER     = 0x00000001
  2209  	TME_LEAVE     = 0x00000002
  2210  	TME_NONCLIENT = 0x00000010
  2211  	TME_QUERY     = 0x40000000
  2212  	TME_CANCEL    = 0x80000000
  2213  
  2214  	HOVER_DEFAULT = 0xFFFFFFFF
  2215  )
  2216  
  2217  // WM_NCHITTEST and MOUSEHOOKSTRUCT Mouse Position Codes
  2218  const (
  2219  	HTERROR       = (-2)
  2220  	HTTRANSPARENT = (-1)
  2221  	HTNOWHERE     = 0
  2222  	HTCLIENT      = 1
  2223  	HTCAPTION     = 2
  2224  	HTSYSMENU     = 3
  2225  	HTGROWBOX     = 4
  2226  	HTSIZE        = HTGROWBOX
  2227  	HTMENU        = 5
  2228  	HTHSCROLL     = 6
  2229  	HTVSCROLL     = 7
  2230  	HTMINBUTTON   = 8
  2231  	HTMAXBUTTON   = 9
  2232  	HTLEFT        = 10
  2233  	HTRIGHT       = 11
  2234  	HTTOP         = 12
  2235  	HTTOPLEFT     = 13
  2236  	HTTOPRIGHT    = 14
  2237  	HTBOTTOM      = 15
  2238  	HTBOTTOMLEFT  = 16
  2239  	HTBOTTOMRIGHT = 17
  2240  	HTBORDER      = 18
  2241  	HTREDUCE      = HTMINBUTTON
  2242  	HTZOOM        = HTMAXBUTTON
  2243  	HTSIZEFIRST   = HTLEFT
  2244  	HTSIZELAST    = HTBOTTOMRIGHT
  2245  	HTOBJECT      = 19
  2246  	HTCLOSE       = 20
  2247  	HTHELP        = 21
  2248  )
  2249  
  2250  // DrawText[Ex] format flags
  2251  const (
  2252  	DT_TOP                  = 0x00000000
  2253  	DT_LEFT                 = 0x00000000
  2254  	DT_CENTER               = 0x00000001
  2255  	DT_RIGHT                = 0x00000002
  2256  	DT_VCENTER              = 0x00000004
  2257  	DT_BOTTOM               = 0x00000008
  2258  	DT_WORDBREAK            = 0x00000010
  2259  	DT_SINGLELINE           = 0x00000020
  2260  	DT_EXPANDTABS           = 0x00000040
  2261  	DT_TABSTOP              = 0x00000080
  2262  	DT_NOCLIP               = 0x00000100
  2263  	DT_EXTERNALLEADING      = 0x00000200
  2264  	DT_CALCRECT             = 0x00000400
  2265  	DT_NOPREFIX             = 0x00000800
  2266  	DT_INTERNAL             = 0x00001000
  2267  	DT_EDITCONTROL          = 0x00002000
  2268  	DT_PATH_ELLIPSIS        = 0x00004000
  2269  	DT_END_ELLIPSIS         = 0x00008000
  2270  	DT_MODIFYSTRING         = 0x00010000
  2271  	DT_RTLREADING           = 0x00020000
  2272  	DT_WORD_ELLIPSIS        = 0x00040000
  2273  	DT_NOFULLWIDTHCHARBREAK = 0x00080000
  2274  	DT_HIDEPREFIX           = 0x00100000
  2275  	DT_PREFIXONLY           = 0x00200000
  2276  )
  2277  
  2278  const CLR_INVALID = 0xFFFFFFFF
  2279  
  2280  // Background Modes
  2281  const (
  2282  	TRANSPARENT = 1
  2283  	OPAQUE      = 2
  2284  	BKMODE_LAST = 2
  2285  )
  2286  
  2287  // Global Memory Flags
  2288  const (
  2289  	GMEM_FIXED          = 0x0000
  2290  	GMEM_MOVEABLE       = 0x0002
  2291  	GMEM_NOCOMPACT      = 0x0010
  2292  	GMEM_NODISCARD      = 0x0020
  2293  	GMEM_ZEROINIT       = 0x0040
  2294  	GMEM_MODIFY         = 0x0080
  2295  	GMEM_DISCARDABLE    = 0x0100
  2296  	GMEM_NOT_BANKED     = 0x1000
  2297  	GMEM_SHARE          = 0x2000
  2298  	GMEM_DDESHARE       = 0x2000
  2299  	GMEM_NOTIFY         = 0x4000
  2300  	GMEM_LOWER          = GMEM_NOT_BANKED
  2301  	GMEM_VALID_FLAGS    = 0x7F72
  2302  	GMEM_INVALID_HANDLE = 0x8000
  2303  	GHND                = (GMEM_MOVEABLE | GMEM_ZEROINIT)
  2304  	GPTR                = (GMEM_FIXED | GMEM_ZEROINIT)
  2305  )
  2306  
  2307  // Ternary raster operations
  2308  const (
  2309  	SRCCOPY        = 0x00CC0020
  2310  	SRCPAINT       = 0x00EE0086
  2311  	SRCAND         = 0x008800C6
  2312  	SRCINVERT      = 0x00660046
  2313  	SRCERASE       = 0x00440328
  2314  	NOTSRCCOPY     = 0x00330008
  2315  	NOTSRCERASE    = 0x001100A6
  2316  	MERGECOPY      = 0x00C000CA
  2317  	MERGEPAINT     = 0x00BB0226
  2318  	PATCOPY        = 0x00F00021
  2319  	PATPAINT       = 0x00FB0A09
  2320  	PATINVERT      = 0x005A0049
  2321  	DSTINVERT      = 0x00550009
  2322  	BLACKNESS      = 0x00000042
  2323  	WHITENESS      = 0x00FF0062
  2324  	NOMIRRORBITMAP = 0x80000000
  2325  	CAPTUREBLT     = 0x40000000
  2326  )
  2327  
  2328  // Clipboard formats
  2329  const (
  2330  	CF_TEXT            = 1
  2331  	CF_BITMAP          = 2
  2332  	CF_METAFILEPICT    = 3
  2333  	CF_SYLK            = 4
  2334  	CF_DIF             = 5
  2335  	CF_TIFF            = 6
  2336  	CF_OEMTEXT         = 7
  2337  	CF_DIB             = 8
  2338  	CF_PALETTE         = 9
  2339  	CF_PENDATA         = 10
  2340  	CF_RIFF            = 11
  2341  	CF_WAVE            = 12
  2342  	CF_UNICODETEXT     = 13
  2343  	CF_ENHMETAFILE     = 14
  2344  	CF_HDROP           = 15
  2345  	CF_LOCALE          = 16
  2346  	CF_DIBV5           = 17
  2347  	CF_MAX             = 18
  2348  	CF_OWNERDISPLAY    = 0x0080
  2349  	CF_DSPTEXT         = 0x0081
  2350  	CF_DSPBITMAP       = 0x0082
  2351  	CF_DSPMETAFILEPICT = 0x0083
  2352  	CF_DSPENHMETAFILE  = 0x008E
  2353  	CF_PRIVATEFIRST    = 0x0200
  2354  	CF_PRIVATELAST     = 0x02FF
  2355  	CF_GDIOBJFIRST     = 0x0300
  2356  	CF_GDIOBJLAST      = 0x03FF
  2357  )
  2358  
  2359  // Bitmap compression formats
  2360  const (
  2361  	BI_RGB       = 0
  2362  	BI_RLE8      = 1
  2363  	BI_RLE4      = 2
  2364  	BI_BITFIELDS = 3
  2365  	BI_JPEG      = 4
  2366  	BI_PNG       = 5
  2367  )
  2368  
  2369  // SetDIBitsToDevice fuColorUse
  2370  const (
  2371  	DIB_PAL_COLORS = 1
  2372  	DIB_RGB_COLORS = 0
  2373  )
  2374  
  2375  const (
  2376  	STANDARD_RIGHTS_REQUIRED = 0x000F
  2377  )
  2378  
  2379  // Service Control Manager object specific access types
  2380  const (
  2381  	SC_MANAGER_CONNECT            = 0x0001
  2382  	SC_MANAGER_CREATE_SERVICE     = 0x0002
  2383  	SC_MANAGER_ENUMERATE_SERVICE  = 0x0004
  2384  	SC_MANAGER_LOCK               = 0x0008
  2385  	SC_MANAGER_QUERY_LOCK_STATUS  = 0x0010
  2386  	SC_MANAGER_MODIFY_BOOT_CONFIG = 0x0020
  2387  	SC_MANAGER_ALL_ACCESS         = STANDARD_RIGHTS_REQUIRED | SC_MANAGER_CONNECT | SC_MANAGER_CREATE_SERVICE | SC_MANAGER_ENUMERATE_SERVICE | SC_MANAGER_LOCK | SC_MANAGER_QUERY_LOCK_STATUS | SC_MANAGER_MODIFY_BOOT_CONFIG
  2388  )
  2389  
  2390  // Service Types (Bit Mask)
  2391  const (
  2392  	SERVICE_KERNEL_DRIVER       = 0x00000001
  2393  	SERVICE_FILE_SYSTEM_DRIVER  = 0x00000002
  2394  	SERVICE_ADAPTER             = 0x00000004
  2395  	SERVICE_RECOGNIZER_DRIVER   = 0x00000008
  2396  	SERVICE_DRIVER              = SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER | SERVICE_RECOGNIZER_DRIVER
  2397  	SERVICE_WIN32_OWN_PROCESS   = 0x00000010
  2398  	SERVICE_WIN32_SHARE_PROCESS = 0x00000020
  2399  	SERVICE_WIN32               = SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS
  2400  	SERVICE_INTERACTIVE_PROCESS = 0x00000100
  2401  	SERVICE_TYPE_ALL            = SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVER | SERVICE_INTERACTIVE_PROCESS
  2402  )
  2403  
  2404  // Service State -- for CurrentState
  2405  const (
  2406  	SERVICE_STOPPED          = 0x00000001
  2407  	SERVICE_START_PENDING    = 0x00000002
  2408  	SERVICE_STOP_PENDING     = 0x00000003
  2409  	SERVICE_RUNNING          = 0x00000004
  2410  	SERVICE_CONTINUE_PENDING = 0x00000005
  2411  	SERVICE_PAUSE_PENDING    = 0x00000006
  2412  	SERVICE_PAUSED           = 0x00000007
  2413  )
  2414  
  2415  // Controls Accepted  (Bit Mask)
  2416  const (
  2417  	SERVICE_ACCEPT_STOP                  = 0x00000001
  2418  	SERVICE_ACCEPT_PAUSE_CONTINUE        = 0x00000002
  2419  	SERVICE_ACCEPT_SHUTDOWN              = 0x00000004
  2420  	SERVICE_ACCEPT_PARAMCHANGE           = 0x00000008
  2421  	SERVICE_ACCEPT_NETBINDCHANGE         = 0x00000010
  2422  	SERVICE_ACCEPT_HARDWAREPROFILECHANGE = 0x00000020
  2423  	SERVICE_ACCEPT_POWEREVENT            = 0x00000040
  2424  	SERVICE_ACCEPT_SESSIONCHANGE         = 0x00000080
  2425  	SERVICE_ACCEPT_PRESHUTDOWN           = 0x00000100
  2426  	SERVICE_ACCEPT_TIMECHANGE            = 0x00000200
  2427  	SERVICE_ACCEPT_TRIGGEREVENT          = 0x00000400
  2428  )
  2429  
  2430  // Service object specific access type
  2431  const (
  2432  	SERVICE_QUERY_CONFIG         = 0x0001
  2433  	SERVICE_CHANGE_CONFIG        = 0x0002
  2434  	SERVICE_QUERY_STATUS         = 0x0004
  2435  	SERVICE_ENUMERATE_DEPENDENTS = 0x0008
  2436  	SERVICE_START                = 0x0010
  2437  	SERVICE_STOP                 = 0x0020
  2438  	SERVICE_PAUSE_CONTINUE       = 0x0040
  2439  	SERVICE_INTERROGATE          = 0x0080
  2440  	SERVICE_USER_DEFINED_CONTROL = 0x0100
  2441  
  2442  	SERVICE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED |
  2443  		SERVICE_QUERY_CONFIG |
  2444  		SERVICE_CHANGE_CONFIG |
  2445  		SERVICE_QUERY_STATUS |
  2446  		SERVICE_ENUMERATE_DEPENDENTS |
  2447  		SERVICE_START |
  2448  		SERVICE_STOP |
  2449  		SERVICE_PAUSE_CONTINUE |
  2450  		SERVICE_INTERROGATE |
  2451  		SERVICE_USER_DEFINED_CONTROL
  2452  )
  2453  
  2454  // MapVirtualKey maptypes
  2455  const (
  2456  	MAPVK_VK_TO_CHAR   = 2
  2457  	MAPVK_VK_TO_VSC    = 0
  2458  	MAPVK_VSC_TO_VK    = 1
  2459  	MAPVK_VSC_TO_VK_EX = 3
  2460  )
  2461  
  2462  // ReadEventLog Flags
  2463  const (
  2464  	EVENTLOG_SEEK_READ       = 0x0002
  2465  	EVENTLOG_SEQUENTIAL_READ = 0x0001
  2466  	EVENTLOG_FORWARDS_READ   = 0x0004
  2467  	EVENTLOG_BACKWARDS_READ  = 0x0008
  2468  )
  2469  
  2470  // CreateToolhelp32Snapshot flags
  2471  const (
  2472  	TH32CS_SNAPHEAPLIST = 0x00000001
  2473  	TH32CS_SNAPPROCESS  = 0x00000002
  2474  	TH32CS_SNAPTHREAD   = 0x00000004
  2475  	TH32CS_SNAPMODULE   = 0x00000008
  2476  	TH32CS_SNAPMODULE32 = 0x00000010
  2477  	TH32CS_INHERIT      = 0x80000000
  2478  	TH32CS_SNAPALL      = TH32CS_SNAPHEAPLIST | TH32CS_SNAPMODULE | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD
  2479  )
  2480  
  2481  const (
  2482  	MAX_MODULE_NAME32 = 255
  2483  	MAX_PATH          = 260
  2484  )
  2485  
  2486  const (
  2487  	FOREGROUND_BLUE            = 0x0001
  2488  	FOREGROUND_GREEN           = 0x0002
  2489  	FOREGROUND_RED             = 0x0004
  2490  	FOREGROUND_INTENSITY       = 0x0008
  2491  	BACKGROUND_BLUE            = 0x0010
  2492  	BACKGROUND_GREEN           = 0x0020
  2493  	BACKGROUND_RED             = 0x0040
  2494  	BACKGROUND_INTENSITY       = 0x0080
  2495  	COMMON_LVB_LEADING_BYTE    = 0x0100
  2496  	COMMON_LVB_TRAILING_BYTE   = 0x0200
  2497  	COMMON_LVB_GRID_HORIZONTAL = 0x0400
  2498  	COMMON_LVB_GRID_LVERTICAL  = 0x0800
  2499  	COMMON_LVB_GRID_RVERTICAL  = 0x1000
  2500  	COMMON_LVB_REVERSE_VIDEO   = 0x4000
  2501  	COMMON_LVB_UNDERSCORE      = 0x8000
  2502  )
  2503  
  2504  // Flags used by the DWM_BLURBEHIND structure to indicate
  2505  // which of its members contain valid information.
  2506  const (
  2507  	DWM_BB_ENABLE                = 0x00000001 //     A value for the fEnable member has been specified.
  2508  	DWM_BB_BLURREGION            = 0x00000002 //     A value for the hRgnBlur member has been specified.
  2509  	DWM_BB_TRANSITIONONMAXIMIZED = 0x00000004 //     A value for the fTransitionOnMaximized member has been specified.
  2510  )
  2511  
  2512  // Flags used by the DwmEnableComposition  function
  2513  // to change the state of Desktop Window Manager (DWM) composition.
  2514  const (
  2515  	DWM_EC_DISABLECOMPOSITION = 0 //     Disable composition
  2516  	DWM_EC_ENABLECOMPOSITION  = 1 //     Enable composition
  2517  )
  2518  
  2519  // enum-lite implementation for the following constant structure
  2520  type DWM_SHOWCONTACT int32
  2521  
  2522  const (
  2523  	DWMSC_DOWN      = 0x00000001
  2524  	DWMSC_UP        = 0x00000002
  2525  	DWMSC_DRAG      = 0x00000004
  2526  	DWMSC_HOLD      = 0x00000008
  2527  	DWMSC_PENBARREL = 0x00000010
  2528  	DWMSC_NONE      = 0x00000000
  2529  	DWMSC_ALL       = 0xFFFFFFFF
  2530  )
  2531  
  2532  // enum-lite implementation for the following constant structure
  2533  type DWM_SOURCE_FRAME_SAMPLING int32
  2534  
  2535  // TODO: need to verify this construction
  2536  // Flags used by the DwmSetPresentParameters function
  2537  // to specify the frame sampling type
  2538  const (
  2539  	DWM_SOURCE_FRAME_SAMPLING_POINT = iota + 1
  2540  	DWM_SOURCE_FRAME_SAMPLING_COVERAGE
  2541  	DWM_SOURCE_FRAME_SAMPLING_LAST
  2542  )
  2543  
  2544  // Flags used by the DWM_THUMBNAIL_PROPERTIES structure to
  2545  // indicate which of its members contain valid information.
  2546  const (
  2547  	DWM_TNP_RECTDESTINATION      = 0x00000001 //    A value for the rcDestination member has been specified
  2548  	DWM_TNP_RECTSOURCE           = 0x00000002 //    A value for the rcSource member has been specified
  2549  	DWM_TNP_OPACITY              = 0x00000004 //    A value for the opacity member has been specified
  2550  	DWM_TNP_VISIBLE              = 0x00000008 //    A value for the fVisible member has been specified
  2551  	DWM_TNP_SOURCECLIENTAREAONLY = 0x00000010 //    A value for the fSourceClientAreaOnly member has been specified
  2552  )
  2553  
  2554  // enum-lite implementation for the following constant structure
  2555  type DWMFLIP3DWINDOWPOLICY int32
  2556  
  2557  // TODO: need to verify this construction
  2558  // Flags used by the DwmSetWindowAttribute function
  2559  // to specify the Flip3D window policy
  2560  const (
  2561  	DWMFLIP3D_DEFAULT = iota + 1
  2562  	DWMFLIP3D_EXCLUDEBELOW
  2563  	DWMFLIP3D_EXCLUDEABOVE
  2564  	DWMFLIP3D_LAST
  2565  )
  2566  
  2567  // enum-lite implementation for the following constant structure
  2568  type DWMNCRENDERINGPOLICY int32
  2569  
  2570  // TODO: need to verify this construction
  2571  // Flags used by the DwmSetWindowAttribute function
  2572  // to specify the non-client area rendering policy
  2573  const (
  2574  	DWMNCRP_USEWINDOWSTYLE = iota + 1
  2575  	DWMNCRP_DISABLED
  2576  	DWMNCRP_ENABLED
  2577  	DWMNCRP_LAST
  2578  )
  2579  
  2580  // enum-lite implementation for the following constant structure
  2581  type DWMTRANSITION_OWNEDWINDOW_TARGET int32
  2582  
  2583  const (
  2584  	DWMTRANSITION_OWNEDWINDOW_NULL       = -1
  2585  	DWMTRANSITION_OWNEDWINDOW_REPOSITION = 0
  2586  )
  2587  
  2588  // enum-lite implementation for the following constant structure
  2589  type DWMWINDOWATTRIBUTE int32
  2590  
  2591  // TODO: need to verify this construction
  2592  // Flags used by the DwmGetWindowAttribute and DwmSetWindowAttribute functions
  2593  // to specify window attributes for non-client rendering
  2594  const (
  2595  	DWMWA_NCRENDERING_ENABLED = iota + 1
  2596  	DWMWA_NCRENDERING_POLICY
  2597  	DWMWA_TRANSITIONS_FORCEDISABLED
  2598  	DWMWA_ALLOW_NCPAINT
  2599  	DWMWA_CAPTION_BUTTON_BOUNDS
  2600  	DWMWA_NONCLIENT_RTL_LAYOUT
  2601  	DWMWA_FORCE_ICONIC_REPRESENTATION
  2602  	DWMWA_FLIP3D_POLICY
  2603  	DWMWA_EXTENDED_FRAME_BOUNDS
  2604  	DWMWA_HAS_ICONIC_BITMAP
  2605  	DWMWA_DISALLOW_PEEK
  2606  	DWMWA_EXCLUDED_FROM_PEEK
  2607  	DWMWA_CLOAK
  2608  	DWMWA_CLOAKED
  2609  	DWMWA_FREEZE_REPRESENTATION
  2610  	DWMWA_LAST
  2611  )
  2612  
  2613  // enum-lite implementation for the following constant structure
  2614  type GESTURE_TYPE int32
  2615  
  2616  // TODO: use iota?
  2617  // Identifies the gesture type
  2618  const (
  2619  	GT_PEN_TAP                 = 0
  2620  	GT_PEN_DOUBLETAP           = 1
  2621  	GT_PEN_RIGHTTAP            = 2
  2622  	GT_PEN_PRESSANDHOLD        = 3
  2623  	GT_PEN_PRESSANDHOLDABORT   = 4
  2624  	GT_TOUCH_TAP               = 5
  2625  	GT_TOUCH_DOUBLETAP         = 6
  2626  	GT_TOUCH_RIGHTTAP          = 7
  2627  	GT_TOUCH_PRESSANDHOLD      = 8
  2628  	GT_TOUCH_PRESSANDHOLDABORT = 9
  2629  	GT_TOUCH_PRESSANDTAP       = 10
  2630  )
  2631  
  2632  // Icons
  2633  const (
  2634  	ICON_SMALL  = 0
  2635  	ICON_BIG    = 1
  2636  	ICON_SMALL2 = 2
  2637  )
  2638  
  2639  const (
  2640  	SIZE_RESTORED  = 0
  2641  	SIZE_MINIMIZED = 1
  2642  	SIZE_MAXIMIZED = 2
  2643  	SIZE_MAXSHOW   = 3
  2644  	SIZE_MAXHIDE   = 4
  2645  )
  2646  
  2647  // XButton values
  2648  const (
  2649  	XBUTTON1 = 1
  2650  	XBUTTON2 = 2
  2651  )
  2652  
  2653  // Devmode
  2654  const (
  2655  	DM_SPECVERSION = 0x0401
  2656  
  2657  	DM_ORIENTATION        = 0x00000001
  2658  	DM_PAPERSIZE          = 0x00000002
  2659  	DM_PAPERLENGTH        = 0x00000004
  2660  	DM_PAPERWIDTH         = 0x00000008
  2661  	DM_SCALE              = 0x00000010
  2662  	DM_POSITION           = 0x00000020
  2663  	DM_NUP                = 0x00000040
  2664  	DM_DISPLAYORIENTATION = 0x00000080
  2665  	DM_COPIES             = 0x00000100
  2666  	DM_DEFAULTSOURCE      = 0x00000200
  2667  	DM_PRINTQUALITY       = 0x00000400
  2668  	DM_COLOR              = 0x00000800
  2669  	DM_DUPLEX             = 0x00001000
  2670  	DM_YRESOLUTION        = 0x00002000
  2671  	DM_TTOPTION           = 0x00004000
  2672  	DM_COLLATE            = 0x00008000
  2673  	DM_FORMNAME           = 0x00010000
  2674  	DM_LOGPIXELS          = 0x00020000
  2675  	DM_BITSPERPEL         = 0x00040000
  2676  	DM_PELSWIDTH          = 0x00080000
  2677  	DM_PELSHEIGHT         = 0x00100000
  2678  	DM_DISPLAYFLAGS       = 0x00200000
  2679  	DM_DISPLAYFREQUENCY   = 0x00400000
  2680  	DM_ICMMETHOD          = 0x00800000
  2681  	DM_ICMINTENT          = 0x01000000
  2682  	DM_MEDIATYPE          = 0x02000000
  2683  	DM_DITHERTYPE         = 0x04000000
  2684  	DM_PANNINGWIDTH       = 0x08000000
  2685  	DM_PANNINGHEIGHT      = 0x10000000
  2686  	DM_DISPLAYFIXEDOUTPUT = 0x20000000
  2687  )
  2688  
  2689  // ChangeDisplaySettings
  2690  const (
  2691  	CDS_UPDATEREGISTRY  = 0x00000001
  2692  	CDS_TEST            = 0x00000002
  2693  	CDS_FULLSCREEN      = 0x00000004
  2694  	CDS_GLOBAL          = 0x00000008
  2695  	CDS_SET_PRIMARY     = 0x00000010
  2696  	CDS_VIDEOPARAMETERS = 0x00000020
  2697  	CDS_RESET           = 0x40000000
  2698  	CDS_NORESET         = 0x10000000
  2699  
  2700  	DISP_CHANGE_SUCCESSFUL  = 0
  2701  	DISP_CHANGE_RESTART     = 1
  2702  	DISP_CHANGE_FAILED      = -1
  2703  	DISP_CHANGE_BADMODE     = -2
  2704  	DISP_CHANGE_NOTUPDATED  = -3
  2705  	DISP_CHANGE_BADFLAGS    = -4
  2706  	DISP_CHANGE_BADPARAM    = -5
  2707  	DISP_CHANGE_BADDUALVIEW = -6
  2708  )
  2709  
  2710  const (
  2711  	ENUM_CURRENT_SETTINGS  = 0xFFFFFFFF
  2712  	ENUM_REGISTRY_SETTINGS = 0xFFFFFFFE
  2713  )
  2714  
  2715  // PIXELFORMATDESCRIPTOR
  2716  const (
  2717  	PFD_TYPE_RGBA       = 0
  2718  	PFD_TYPE_COLORINDEX = 1
  2719  
  2720  	PFD_MAIN_PLANE     = 0
  2721  	PFD_OVERLAY_PLANE  = 1
  2722  	PFD_UNDERLAY_PLANE = -1
  2723  
  2724  	PFD_DOUBLEBUFFER         = 0x00000001
  2725  	PFD_STEREO               = 0x00000002
  2726  	PFD_DRAW_TO_WINDOW       = 0x00000004
  2727  	PFD_DRAW_TO_BITMAP       = 0x00000008
  2728  	PFD_SUPPORT_GDI          = 0x00000010
  2729  	PFD_SUPPORT_OPENGL       = 0x00000020
  2730  	PFD_GENERIC_FORMAT       = 0x00000040
  2731  	PFD_NEED_PALETTE         = 0x00000080
  2732  	PFD_NEED_SYSTEM_PALETTE  = 0x00000100
  2733  	PFD_SWAP_EXCHANGE        = 0x00000200
  2734  	PFD_SWAP_COPY            = 0x00000400
  2735  	PFD_SWAP_LAYER_BUFFERS   = 0x00000800
  2736  	PFD_GENERIC_ACCELERATED  = 0x00001000
  2737  	PFD_SUPPORT_DIRECTDRAW   = 0x00002000
  2738  	PFD_DIRECT3D_ACCELERATED = 0x00004000
  2739  	PFD_SUPPORT_COMPOSITION  = 0x00008000
  2740  
  2741  	PFD_DEPTH_DONTCARE        = 0x20000000
  2742  	PFD_DOUBLEBUFFER_DONTCARE = 0x40000000
  2743  	PFD_STEREO_DONTCARE       = 0x80000000
  2744  )
  2745  
  2746  const (
  2747  	INPUT_MOUSE    = 0
  2748  	INPUT_KEYBOARD = 1
  2749  	INPUT_HARDWARE = 2
  2750  )
  2751  
  2752  const (
  2753  	MOUSEEVENTF_ABSOLUTE        = 0x8000
  2754  	MOUSEEVENTF_HWHEEL          = 0x01000
  2755  	MOUSEEVENTF_MOVE            = 0x0001
  2756  	MOUSEEVENTF_MOVE_NOCOALESCE = 0x2000
  2757  	MOUSEEVENTF_LEFTDOWN        = 0x0002
  2758  	MOUSEEVENTF_LEFTUP          = 0x0004
  2759  	MOUSEEVENTF_RIGHTDOWN       = 0x0008
  2760  	MOUSEEVENTF_RIGHTUP         = 0x0010
  2761  	MOUSEEVENTF_MIDDLEDOWN      = 0x0020
  2762  	MOUSEEVENTF_MIDDLEUP        = 0x0040
  2763  	MOUSEEVENTF_VIRTUALDESK     = 0x4000
  2764  	MOUSEEVENTF_WHEEL           = 0x0800
  2765  	MOUSEEVENTF_XDOWN           = 0x0080
  2766  	MOUSEEVENTF_XUP             = 0x0100
  2767  )
  2768  
  2769  // Windows Hooks (WH_*)
  2770  // http://msdn.microsoft.com/en-us/library/windows/desktop/ms644990(v=vs.85).aspx
  2771  const (
  2772  	WH_CALLWNDPROC     = 4
  2773  	WH_CALLWNDPROCRET  = 12
  2774  	WH_CBT             = 5
  2775  	WH_DEBUG           = 9
  2776  	WH_FOREGROUNDIDLE  = 11
  2777  	WH_GETMESSAGE      = 3
  2778  	WH_JOURNALPLAYBACK = 1
  2779  	WH_JOURNALRECORD   = 0
  2780  	WH_KEYBOARD        = 2
  2781  	WH_KEYBOARD_LL     = 13
  2782  	WH_MOUSE           = 7
  2783  	WH_MOUSE_LL        = 14
  2784  	WH_MSGFILTER       = -1
  2785  	WH_SHELL           = 10
  2786  	WH_SYSMSGFILTER    = 6
  2787  )
  2788  
  2789  // ComboBox return values
  2790  const (
  2791  	CB_OKAY     = 0
  2792  	CB_ERR      = ^uintptr(0) // -1
  2793  	CB_ERRSPACE = ^uintptr(1) // -2
  2794  )
  2795  
  2796  // ComboBox notifications
  2797  const (
  2798  	CBN_ERRSPACE     = -1
  2799  	CBN_SELCHANGE    = 1
  2800  	CBN_DBLCLK       = 2
  2801  	CBN_SETFOCUS     = 3
  2802  	CBN_KILLFOCUS    = 4
  2803  	CBN_EDITCHANGE   = 5
  2804  	CBN_EDITUPDATE   = 6
  2805  	CBN_DROPDOWN     = 7
  2806  	CBN_CLOSEUP      = 8
  2807  	CBN_SELENDOK     = 9
  2808  	CBN_SELENDCANCEL = 10
  2809  )
  2810  
  2811  // ComboBox styles
  2812  const (
  2813  	CBS_SIMPLE            = 0x0001
  2814  	CBS_DROPDOWN          = 0x0002
  2815  	CBS_DROPDOWNLIST      = 0x0003
  2816  	CBS_OWNERDRAWFIXED    = 0x0010
  2817  	CBS_OWNERDRAWVARIABLE = 0x0020
  2818  	CBS_AUTOHSCROLL       = 0x0040
  2819  	CBS_OEMCONVERT        = 0x0080
  2820  	CBS_SORT              = 0x0100
  2821  	CBS_HASSTRINGS        = 0x0200
  2822  	CBS_NOINTEGRALHEIGHT  = 0x0400
  2823  	CBS_DISABLENOSCROLL   = 0x0800
  2824  	CBS_UPPERCASE         = 0x2000
  2825  	CBS_LOWERCASE         = 0x4000
  2826  )
  2827  
  2828  // ComboBox messages
  2829  const (
  2830  	CB_GETEDITSEL            = 0x0140
  2831  	CB_LIMITTEXT             = 0x0141
  2832  	CB_SETEDITSEL            = 0x0142
  2833  	CB_ADDSTRING             = 0x0143
  2834  	CB_DELETESTRING          = 0x0144
  2835  	CB_DIR                   = 0x0145
  2836  	CB_GETCOUNT              = 0x0146
  2837  	CB_GETCURSEL             = 0x0147
  2838  	CB_GETLBTEXT             = 0x0148
  2839  	CB_GETLBTEXTLEN          = 0x0149
  2840  	CB_INSERTSTRING          = 0x014A
  2841  	CB_RESETCONTENT          = 0x014B
  2842  	CB_FINDSTRING            = 0x014C
  2843  	CB_SELECTSTRING          = 0x014D
  2844  	CB_SETCURSEL             = 0x014E
  2845  	CB_SHOWDROPDOWN          = 0x014F
  2846  	CB_GETITEMDATA           = 0x0150
  2847  	CB_SETITEMDATA           = 0x0151
  2848  	CB_GETDROPPEDCONTROLRECT = 0x0152
  2849  	CB_SETITEMHEIGHT         = 0x0153
  2850  	CB_GETITEMHEIGHT         = 0x0154
  2851  	CB_SETEXTENDEDUI         = 0x0155
  2852  	CB_GETEXTENDEDUI         = 0x0156
  2853  	CB_GETDROPPEDSTATE       = 0x0157
  2854  	CB_FINDSTRINGEXACT       = 0x0158
  2855  	CB_SETLOCALE             = 0x0159
  2856  	CB_GETLOCALE             = 0x015A
  2857  	CB_GETTOPINDEX           = 0x015b
  2858  	CB_SETTOPINDEX           = 0x015c
  2859  	CB_GETHORIZONTALEXTENT   = 0x015d
  2860  	CB_SETHORIZONTALEXTENT   = 0x015e
  2861  	CB_GETDROPPEDWIDTH       = 0x015f
  2862  	CB_SETDROPPEDWIDTH       = 0x0160
  2863  	CB_INITSTORAGE           = 0x0161
  2864  	CB_MULTIPLEADDSTRING     = 0x0163
  2865  	CB_GETCOMBOBOXINFO       = 0x0164
  2866  )
  2867  
  2868  // TreeView styles
  2869  const (
  2870  	TVS_HASBUTTONS      = 0x0001
  2871  	TVS_HASLINES        = 0x0002
  2872  	TVS_LINESATROOT     = 0x0004
  2873  	TVS_EDITLABELS      = 0x0008
  2874  	TVS_DISABLEDRAGDROP = 0x0010
  2875  	TVS_SHOWSELALWAYS   = 0x0020
  2876  	TVS_RTLREADING      = 0x0040
  2877  	TVS_NOTOOLTIPS      = 0x0080
  2878  	TVS_CHECKBOXES      = 0x0100
  2879  	TVS_TRACKSELECT     = 0x0200
  2880  	TVS_SINGLEEXPAND    = 0x0400
  2881  	TVS_INFOTIP         = 0x0800
  2882  	TVS_FULLROWSELECT   = 0x1000
  2883  	TVS_NOSCROLL        = 0x2000
  2884  	TVS_NONEVENHEIGHT   = 0x4000
  2885  	TVS_NOHSCROLL       = 0x8000
  2886  )
  2887  
  2888  const (
  2889  	TVS_EX_NOSINGLECOLLAPSE    = 0x0001
  2890  	TVS_EX_MULTISELECT         = 0x0002
  2891  	TVS_EX_DOUBLEBUFFER        = 0x0004
  2892  	TVS_EX_NOINDENTSTATE       = 0x0008
  2893  	TVS_EX_RICHTOOLTIP         = 0x0010
  2894  	TVS_EX_AUTOHSCROLL         = 0x0020
  2895  	TVS_EX_FADEINOUTEXPANDOS   = 0x0040
  2896  	TVS_EX_PARTIALCHECKBOXES   = 0x0080
  2897  	TVS_EX_EXCLUSIONCHECKBOXES = 0x0100
  2898  	TVS_EX_DIMMEDCHECKBOXES    = 0x0200
  2899  	TVS_EX_DRAWIMAGEASYNC      = 0x0400
  2900  )
  2901  
  2902  const (
  2903  	TVIF_TEXT          = 0x0001
  2904  	TVIF_IMAGE         = 0x0002
  2905  	TVIF_PARAM         = 0x0004
  2906  	TVIF_STATE         = 0x0008
  2907  	TVIF_HANDLE        = 0x0010
  2908  	TVIF_SELECTEDIMAGE = 0x0020
  2909  	TVIF_CHILDREN      = 0x0040
  2910  	TVIF_INTEGRAL      = 0x0080
  2911  	TVIF_STATEEX       = 0x0100
  2912  	TVIF_EXPANDEDIMAGE = 0x0200
  2913  )
  2914  
  2915  const (
  2916  	TVIS_SELECTED       = 0x0002
  2917  	TVIS_CUT            = 0x0004
  2918  	TVIS_DROPHILITED    = 0x0008
  2919  	TVIS_BOLD           = 0x0010
  2920  	TVIS_EXPANDED       = 0x0020
  2921  	TVIS_EXPANDEDONCE   = 0x0040
  2922  	TVIS_EXPANDPARTIAL  = 0x0080
  2923  	TVIS_OVERLAYMASK    = 0x0F00
  2924  	TVIS_STATEIMAGEMASK = 0xF000
  2925  	TVIS_USERMASK       = 0xF000
  2926  )
  2927  
  2928  const (
  2929  	TVIS_EX_FLAT     = 0x0001
  2930  	TVIS_EX_DISABLED = 0x0002
  2931  	TVIS_EX_ALL      = 0x0002
  2932  )
  2933  
  2934  const (
  2935  	TVI_ROOT  = ^HTREEITEM(0xffff)
  2936  	TVI_FIRST = ^HTREEITEM(0xfffe)
  2937  	TVI_LAST  = ^HTREEITEM(0xfffd)
  2938  	TVI_SORT  = ^HTREEITEM(0xfffc)
  2939  )
  2940  
  2941  // TVM_EXPAND action flags
  2942  const (
  2943  	TVE_COLLAPSE      = 0x0001
  2944  	TVE_EXPAND        = 0x0002
  2945  	TVE_TOGGLE        = 0x0003
  2946  	TVE_EXPANDPARTIAL = 0x4000
  2947  	TVE_COLLAPSERESET = 0x8000
  2948  )
  2949  
  2950  const (
  2951  	TVGN_CARET = 9
  2952  )
  2953  
  2954  // TreeView messages
  2955  const (
  2956  	TV_FIRST = 0x1100
  2957  
  2958  	TVM_INSERTITEM          = TV_FIRST + 50
  2959  	TVM_DELETEITEM          = TV_FIRST + 1
  2960  	TVM_EXPAND              = TV_FIRST + 2
  2961  	TVM_GETITEMRECT         = TV_FIRST + 4
  2962  	TVM_GETCOUNT            = TV_FIRST + 5
  2963  	TVM_GETINDENT           = TV_FIRST + 6
  2964  	TVM_SETINDENT           = TV_FIRST + 7
  2965  	TVM_GETIMAGELIST        = TV_FIRST + 8
  2966  	TVM_SETIMAGELIST        = TV_FIRST + 9
  2967  	TVM_GETNEXTITEM         = TV_FIRST + 10
  2968  	TVM_SELECTITEM          = TV_FIRST + 11
  2969  	TVM_GETITEM             = TV_FIRST + 62
  2970  	TVM_SETITEM             = TV_FIRST + 63
  2971  	TVM_EDITLABEL           = TV_FIRST + 65
  2972  	TVM_GETEDITCONTROL      = TV_FIRST + 15
  2973  	TVM_GETVISIBLECOUNT     = TV_FIRST + 16
  2974  	TVM_HITTEST             = TV_FIRST + 17
  2975  	TVM_CREATEDRAGIMAGE     = TV_FIRST + 18
  2976  	TVM_SORTCHILDREN        = TV_FIRST + 19
  2977  	TVM_ENSUREVISIBLE       = TV_FIRST + 20
  2978  	TVM_SORTCHILDRENCB      = TV_FIRST + 21
  2979  	TVM_ENDEDITLABELNOW     = TV_FIRST + 22
  2980  	TVM_GETISEARCHSTRING    = TV_FIRST + 64
  2981  	TVM_SETTOOLTIPS         = TV_FIRST + 24
  2982  	TVM_GETTOOLTIPS         = TV_FIRST + 25
  2983  	TVM_SETINSERTMARK       = TV_FIRST + 26
  2984  	TVM_SETUNICODEFORMAT    = CCM_SETUNICODEFORMAT
  2985  	TVM_GETUNICODEFORMAT    = CCM_GETUNICODEFORMAT
  2986  	TVM_SETITEMHEIGHT       = TV_FIRST + 27
  2987  	TVM_GETITEMHEIGHT       = TV_FIRST + 28
  2988  	TVM_SETBKCOLOR          = TV_FIRST + 29
  2989  	TVM_SETTEXTCOLOR        = TV_FIRST + 30
  2990  	TVM_GETBKCOLOR          = TV_FIRST + 31
  2991  	TVM_GETTEXTCOLOR        = TV_FIRST + 32
  2992  	TVM_SETSCROLLTIME       = TV_FIRST + 33
  2993  	TVM_GETSCROLLTIME       = TV_FIRST + 34
  2994  	TVM_SETINSERTMARKCOLOR  = TV_FIRST + 37
  2995  	TVM_GETINSERTMARKCOLOR  = TV_FIRST + 38
  2996  	TVM_GETITEMSTATE        = TV_FIRST + 39
  2997  	TVM_SETLINECOLOR        = TV_FIRST + 40
  2998  	TVM_GETLINECOLOR        = TV_FIRST + 41
  2999  	TVM_MAPACCIDTOHTREEITEM = TV_FIRST + 42
  3000  	TVM_MAPHTREEITEMTOACCID = TV_FIRST + 43
  3001  	TVM_SETEXTENDEDSTYLE    = TV_FIRST + 44
  3002  	TVM_GETEXTENDEDSTYLE    = TV_FIRST + 45
  3003  	TVM_SETAUTOSCROLLINFO   = TV_FIRST + 59
  3004  )
  3005  
  3006  // TreeView notifications
  3007  const (
  3008  	TVN_FIRST = ^uint32(399)
  3009  
  3010  	TVN_SELCHANGING    = TVN_FIRST - 50
  3011  	TVN_SELCHANGED     = TVN_FIRST - 51
  3012  	TVN_GETDISPINFO    = TVN_FIRST - 52
  3013  	TVN_ITEMEXPANDING  = TVN_FIRST - 54
  3014  	TVN_ITEMEXPANDED   = TVN_FIRST - 55
  3015  	TVN_BEGINDRAG      = TVN_FIRST - 56
  3016  	TVN_BEGINRDRAG     = TVN_FIRST - 57
  3017  	TVN_DELETEITEM     = TVN_FIRST - 58
  3018  	TVN_BEGINLABELEDIT = TVN_FIRST - 59
  3019  	TVN_ENDLABELEDIT   = TVN_FIRST - 60
  3020  	TVN_KEYDOWN        = TVN_FIRST - 12
  3021  	TVN_GETINFOTIP     = TVN_FIRST - 14
  3022  	TVN_SINGLEEXPAND   = TVN_FIRST - 15
  3023  	TVN_ITEMCHANGING   = TVN_FIRST - 17
  3024  	TVN_ITEMCHANGED    = TVN_FIRST - 19
  3025  	TVN_ASYNCDRAW      = TVN_FIRST - 20
  3026  )
  3027  
  3028  // TreeView hit test constants
  3029  const (
  3030  	TVHT_NOWHERE         = 1
  3031  	TVHT_ONITEMICON      = 2
  3032  	TVHT_ONITEMLABEL     = 4
  3033  	TVHT_ONITEM          = TVHT_ONITEMICON | TVHT_ONITEMLABEL | TVHT_ONITEMSTATEICON
  3034  	TVHT_ONITEMINDENT    = 8
  3035  	TVHT_ONITEMBUTTON    = 16
  3036  	TVHT_ONITEMRIGHT     = 32
  3037  	TVHT_ONITEMSTATEICON = 64
  3038  	TVHT_ABOVE           = 256
  3039  	TVHT_BELOW           = 512
  3040  	TVHT_TORIGHT         = 1024
  3041  	TVHT_TOLEFT          = 2048
  3042  )
  3043  
  3044  type HTREEITEM HANDLE
  3045  
  3046  type TVITEM struct {
  3047  	Mask           uint32
  3048  	HItem          HTREEITEM
  3049  	State          uint32
  3050  	StateMask      uint32
  3051  	PszText        uintptr
  3052  	CchTextMax     int32
  3053  	IImage         int32
  3054  	ISelectedImage int32
  3055  	CChildren      int32
  3056  	LParam         uintptr
  3057  }
  3058  
  3059  /*type TVITEMEX struct {
  3060  	mask           UINT
  3061  	hItem          HTREEITEM
  3062  	state          UINT
  3063  	stateMask      UINT
  3064  	pszText        LPWSTR
  3065  	cchTextMax     int
  3066  	iImage         int
  3067  	iSelectedImage int
  3068  	cChildren      int
  3069  	lParam         LPARAM
  3070  	iIntegral      int
  3071  	uStateEx       UINT
  3072  	hwnd           HWND
  3073  	iExpandedImage int
  3074  }*/
  3075  
  3076  type TVINSERTSTRUCT struct {
  3077  	HParent      HTREEITEM
  3078  	HInsertAfter HTREEITEM
  3079  	Item         TVITEM
  3080  	//	itemex       TVITEMEX
  3081  }
  3082  
  3083  type NMTREEVIEW struct {
  3084  	Hdr     NMHDR
  3085  	Action  uint32
  3086  	ItemOld TVITEM
  3087  	ItemNew TVITEM
  3088  	PtDrag  POINT
  3089  }
  3090  
  3091  type NMTVDISPINFO struct {
  3092  	Hdr  NMHDR
  3093  	Item TVITEM
  3094  }
  3095  
  3096  type NMTVKEYDOWN struct {
  3097  	Hdr   NMHDR
  3098  	WVKey uint16
  3099  	Flags uint32
  3100  }
  3101  
  3102  type TVHITTESTINFO struct {
  3103  	Pt    POINT
  3104  	Flags uint32
  3105  	HItem HTREEITEM
  3106  }
  3107  
  3108  // TabPage support
  3109  
  3110  const TCM_FIRST = 0x1300
  3111  const TCN_FIRST = -550
  3112  
  3113  const (
  3114  	TCS_SCROLLOPPOSITE    = 0x0001
  3115  	TCS_BOTTOM            = 0x0002
  3116  	TCS_RIGHT             = 0x0002
  3117  	TCS_MULTISELECT       = 0x0004
  3118  	TCS_FLATBUTTONS       = 0x0008
  3119  	TCS_FORCEICONLEFT     = 0x0010
  3120  	TCS_FORCELABELLEFT    = 0x0020
  3121  	TCS_HOTTRACK          = 0x0040
  3122  	TCS_VERTICAL          = 0x0080
  3123  	TCS_TABS              = 0x0000
  3124  	TCS_BUTTONS           = 0x0100
  3125  	TCS_SINGLELINE        = 0x0000
  3126  	TCS_MULTILINE         = 0x0200
  3127  	TCS_RIGHTJUSTIFY      = 0x0000
  3128  	TCS_FIXEDWIDTH        = 0x0400
  3129  	TCS_RAGGEDRIGHT       = 0x0800
  3130  	TCS_FOCUSONBUTTONDOWN = 0x1000
  3131  	TCS_OWNERDRAWFIXED    = 0x2000
  3132  	TCS_TOOLTIPS          = 0x4000
  3133  	TCS_FOCUSNEVER        = 0x8000
  3134  )
  3135  
  3136  const (
  3137  	TCS_EX_FLATSEPARATORS = 0x00000001
  3138  	TCS_EX_REGISTERDROP   = 0x00000002
  3139  )
  3140  
  3141  const (
  3142  	TCM_GETIMAGELIST     = TCM_FIRST + 2
  3143  	TCM_SETIMAGELIST     = TCM_FIRST + 3
  3144  	TCM_GETITEMCOUNT     = TCM_FIRST + 4
  3145  	TCM_GETITEM          = TCM_FIRST + 60
  3146  	TCM_SETITEM          = TCM_FIRST + 61
  3147  	TCM_INSERTITEM       = TCM_FIRST + 62
  3148  	TCM_DELETEITEM       = TCM_FIRST + 8
  3149  	TCM_DELETEALLITEMS   = TCM_FIRST + 9
  3150  	TCM_GETITEMRECT      = TCM_FIRST + 10
  3151  	TCM_GETCURSEL        = TCM_FIRST + 11
  3152  	TCM_SETCURSEL        = TCM_FIRST + 12
  3153  	TCM_HITTEST          = TCM_FIRST + 13
  3154  	TCM_SETITEMEXTRA     = TCM_FIRST + 14
  3155  	TCM_ADJUSTRECT       = TCM_FIRST + 40
  3156  	TCM_SETITEMSIZE      = TCM_FIRST + 41
  3157  	TCM_REMOVEIMAGE      = TCM_FIRST + 42
  3158  	TCM_SETPADDING       = TCM_FIRST + 43
  3159  	TCM_GETROWCOUNT      = TCM_FIRST + 44
  3160  	TCM_GETTOOLTIPS      = TCM_FIRST + 45
  3161  	TCM_SETTOOLTIPS      = TCM_FIRST + 46
  3162  	TCM_GETCURFOCUS      = TCM_FIRST + 47
  3163  	TCM_SETCURFOCUS      = TCM_FIRST + 48
  3164  	TCM_SETMINTABWIDTH   = TCM_FIRST + 49
  3165  	TCM_DESELECTALL      = TCM_FIRST + 50
  3166  	TCM_HIGHLIGHTITEM    = TCM_FIRST + 51
  3167  	TCM_SETEXTENDEDSTYLE = TCM_FIRST + 52
  3168  	TCM_GETEXTENDEDSTYLE = TCM_FIRST + 53
  3169  	TCM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
  3170  	TCM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
  3171  )
  3172  
  3173  const (
  3174  	TCIF_TEXT       = 0x0001
  3175  	TCIF_IMAGE      = 0x0002
  3176  	TCIF_RTLREADING = 0x0004
  3177  	TCIF_PARAM      = 0x0008
  3178  	TCIF_STATE      = 0x0010
  3179  )
  3180  
  3181  const (
  3182  	TCIS_BUTTONPRESSED = 0x0001
  3183  	TCIS_HIGHLIGHTED   = 0x0002
  3184  )
  3185  
  3186  const (
  3187  	TCHT_NOWHERE     = 0x0001
  3188  	TCHT_ONITEMICON  = 0x0002
  3189  	TCHT_ONITEMLABEL = 0x0004
  3190  	TCHT_ONITEM      = TCHT_ONITEMICON | TCHT_ONITEMLABEL
  3191  )
  3192  
  3193  const (
  3194  	TCN_KEYDOWN     = TCN_FIRST - 0
  3195  	TCN_SELCHANGE   = TCN_FIRST - 1
  3196  	TCN_SELCHANGING = TCN_FIRST - 2
  3197  	TCN_GETOBJECT   = TCN_FIRST - 3
  3198  	TCN_FOCUSCHANGE = TCN_FIRST - 4
  3199  )
  3200  
  3201  type TCITEMHEADER struct {
  3202  	Mask        uint32
  3203  	LpReserved1 uint32
  3204  	LpReserved2 uint32
  3205  	PszText     *uint16
  3206  	CchTextMax  int32
  3207  	IImage      int32
  3208  }
  3209  
  3210  type TCITEM struct {
  3211  	Mask        uint32
  3212  	DwState     uint32
  3213  	DwStateMask uint32
  3214  	PszText     *uint16
  3215  	CchTextMax  int32
  3216  	IImage      int32
  3217  	LParam      uintptr
  3218  }
  3219  
  3220  type TCHITTESTINFO struct {
  3221  	Pt    POINT
  3222  	flags uint32
  3223  }
  3224  
  3225  type NMTCKEYDOWN struct {
  3226  	Hdr   NMHDR
  3227  	WVKey uint16
  3228  	Flags uint32
  3229  }
  3230  
  3231  // Menu support constants
  3232  
  3233  // Constants for MENUITEMINFO.fMask
  3234  const (
  3235  	MIIM_STATE      = 1
  3236  	MIIM_ID         = 2
  3237  	MIIM_SUBMENU    = 4
  3238  	MIIM_CHECKMARKS = 8
  3239  	MIIM_TYPE       = 16
  3240  	MIIM_DATA       = 32
  3241  	MIIM_STRING     = 64
  3242  	MIIM_BITMAP     = 128
  3243  	MIIM_FTYPE      = 256
  3244  )
  3245  
  3246  // Constants for MENUITEMINFO.fType
  3247  const (
  3248  	MFT_BITMAP       = 4
  3249  	MFT_MENUBARBREAK = 32
  3250  	MFT_MENUBREAK    = 64
  3251  	MFT_OWNERDRAW    = 256
  3252  	MFT_RADIOCHECK   = 512
  3253  	MFT_RIGHTJUSTIFY = 0x4000
  3254  	MFT_SEPARATOR    = 0x800
  3255  	MFT_RIGHTORDER   = 0x2000
  3256  	MFT_STRING       = 0
  3257  )
  3258  
  3259  // Constants for MENUITEMINFO.fState
  3260  const (
  3261  	MFS_CHECKED   = 8
  3262  	MFS_DEFAULT   = 4096
  3263  	MFS_DISABLED  = 3
  3264  	MFS_ENABLED   = 0
  3265  	MFS_GRAYED    = 3
  3266  	MFS_HILITE    = 128
  3267  	MFS_UNCHECKED = 0
  3268  	MFS_UNHILITE  = 0
  3269  )
  3270  
  3271  // Constants for MENUITEMINFO.hbmp*
  3272  const (
  3273  	HBMMENU_CALLBACK        = -1
  3274  	HBMMENU_SYSTEM          = 1
  3275  	HBMMENU_MBAR_RESTORE    = 2
  3276  	HBMMENU_MBAR_MINIMIZE   = 3
  3277  	HBMMENU_MBAR_CLOSE      = 5
  3278  	HBMMENU_MBAR_CLOSE_D    = 6
  3279  	HBMMENU_MBAR_MINIMIZE_D = 7
  3280  	HBMMENU_POPUP_CLOSE     = 8
  3281  	HBMMENU_POPUP_RESTORE   = 9
  3282  	HBMMENU_POPUP_MAXIMIZE  = 10
  3283  	HBMMENU_POPUP_MINIMIZE  = 11
  3284  )
  3285  
  3286  // MENUINFO mask constants
  3287  const (
  3288  	MIM_APPLYTOSUBMENUS = 0x80000000
  3289  	MIM_BACKGROUND      = 0x00000002
  3290  	MIM_HELPID          = 0x00000004
  3291  	MIM_MAXHEIGHT       = 0x00000001
  3292  	MIM_MENUDATA        = 0x00000008
  3293  	MIM_STYLE           = 0x00000010
  3294  )
  3295  
  3296  // MENUINFO style constants
  3297  const (
  3298  	MNS_AUTODISMISS = 0x10000000
  3299  	MNS_CHECKORBMP  = 0x04000000
  3300  	MNS_DRAGDROP    = 0x20000000
  3301  	MNS_MODELESS    = 0x40000000
  3302  	MNS_NOCHECK     = 0x80000000
  3303  	MNS_NOTIFYBYPOS = 0x08000000
  3304  )
  3305  
  3306  const (
  3307  	MF_BYCOMMAND  = 0x00000000
  3308  	MF_BYPOSITION = 0x00000400
  3309  )
  3310  
  3311  type MENUITEMINFO struct {
  3312  	CbSize        uint32
  3313  	FMask         uint32
  3314  	FType         uint32
  3315  	FState        uint32
  3316  	WID           uint32
  3317  	HSubMenu      HMENU
  3318  	HbmpChecked   HBITMAP
  3319  	HbmpUnchecked HBITMAP
  3320  	DwItemData    uintptr
  3321  	DwTypeData    *uint16
  3322  	Cch           uint32
  3323  	HbmpItem      HBITMAP
  3324  }
  3325  
  3326  type MENUINFO struct {
  3327  	CbSize          uint32
  3328  	FMask           uint32
  3329  	DwStyle         uint32
  3330  	CyMax           uint32
  3331  	HbrBack         HBRUSH
  3332  	DwContextHelpID uint32
  3333  	DwMenuData      uintptr
  3334  }
  3335  
  3336  // UI state constants
  3337  const (
  3338  	UIS_SET        = 1
  3339  	UIS_CLEAR      = 2
  3340  	UIS_INITIALIZE = 3
  3341  )
  3342  
  3343  // UI state constants
  3344  const (
  3345  	UISF_HIDEFOCUS = 0x1
  3346  	UISF_HIDEACCEL = 0x2
  3347  	UISF_ACTIVE    = 0x4
  3348  )
  3349  
  3350  // Virtual key codes
  3351  const (
  3352  	VK_LBUTTON             = 1
  3353  	VK_RBUTTON             = 2
  3354  	VK_CANCEL              = 3
  3355  	VK_MBUTTON             = 4
  3356  	VK_XBUTTON1            = 5
  3357  	VK_XBUTTON2            = 6
  3358  	VK_BACK                = 8
  3359  	VK_TAB                 = 9
  3360  	VK_CLEAR               = 12
  3361  	VK_RETURN              = 13
  3362  	VK_SHIFT               = 16
  3363  	VK_CONTROL             = 17
  3364  	VK_MENU                = 18
  3365  	VK_PAUSE               = 19
  3366  	VK_CAPITAL             = 20
  3367  	VK_KANA                = 0x15
  3368  	VK_HANGEUL             = 0x15
  3369  	VK_HANGUL              = 0x15
  3370  	VK_JUNJA               = 0x17
  3371  	VK_FINAL               = 0x18
  3372  	VK_HANJA               = 0x19
  3373  	VK_KANJI               = 0x19
  3374  	VK_ESCAPE              = 0x1B
  3375  	VK_CONVERT             = 0x1C
  3376  	VK_NONCONVERT          = 0x1D
  3377  	VK_ACCEPT              = 0x1E
  3378  	VK_MODECHANGE          = 0x1F
  3379  	VK_SPACE               = 32
  3380  	VK_PRIOR               = 33
  3381  	VK_NEXT                = 34
  3382  	VK_END                 = 35
  3383  	VK_HOME                = 36
  3384  	VK_LEFT                = 37
  3385  	VK_UP                  = 38
  3386  	VK_RIGHT               = 39
  3387  	VK_DOWN                = 40
  3388  	VK_SELECT              = 41
  3389  	VK_PRINT               = 42
  3390  	VK_EXECUTE             = 43
  3391  	VK_SNAPSHOT            = 44
  3392  	VK_INSERT              = 45
  3393  	VK_DELETE              = 46
  3394  	VK_HELP                = 47
  3395  	VK_LWIN                = 0x5B
  3396  	VK_RWIN                = 0x5C
  3397  	VK_APPS                = 0x5D
  3398  	VK_SLEEP               = 0x5F
  3399  	VK_NUMPAD0             = 0x60
  3400  	VK_NUMPAD1             = 0x61
  3401  	VK_NUMPAD2             = 0x62
  3402  	VK_NUMPAD3             = 0x63
  3403  	VK_NUMPAD4             = 0x64
  3404  	VK_NUMPAD5             = 0x65
  3405  	VK_NUMPAD6             = 0x66
  3406  	VK_NUMPAD7             = 0x67
  3407  	VK_NUMPAD8             = 0x68
  3408  	VK_NUMPAD9             = 0x69
  3409  	VK_MULTIPLY            = 0x6A
  3410  	VK_ADD                 = 0x6B
  3411  	VK_SEPARATOR           = 0x6C
  3412  	VK_SUBTRACT            = 0x6D
  3413  	VK_DECIMAL             = 0x6E
  3414  	VK_DIVIDE              = 0x6F
  3415  	VK_F1                  = 0x70
  3416  	VK_F2                  = 0x71
  3417  	VK_F3                  = 0x72
  3418  	VK_F4                  = 0x73
  3419  	VK_F5                  = 0x74
  3420  	VK_F6                  = 0x75
  3421  	VK_F7                  = 0x76
  3422  	VK_F8                  = 0x77
  3423  	VK_F9                  = 0x78
  3424  	VK_F10                 = 0x79
  3425  	VK_F11                 = 0x7A
  3426  	VK_F12                 = 0x7B
  3427  	VK_F13                 = 0x7C
  3428  	VK_F14                 = 0x7D
  3429  	VK_F15                 = 0x7E
  3430  	VK_F16                 = 0x7F
  3431  	VK_F17                 = 0x80
  3432  	VK_F18                 = 0x81
  3433  	VK_F19                 = 0x82
  3434  	VK_F20                 = 0x83
  3435  	VK_F21                 = 0x84
  3436  	VK_F22                 = 0x85
  3437  	VK_F23                 = 0x86
  3438  	VK_F24                 = 0x87
  3439  	VK_NUMLOCK             = 0x90
  3440  	VK_SCROLL              = 0x91
  3441  	VK_LSHIFT              = 0xA0
  3442  	VK_RSHIFT              = 0xA1
  3443  	VK_LCONTROL            = 0xA2
  3444  	VK_RCONTROL            = 0xA3
  3445  	VK_LMENU               = 0xA4
  3446  	VK_RMENU               = 0xA5
  3447  	VK_BROWSER_BACK        = 0xA6
  3448  	VK_BROWSER_FORWARD     = 0xA7
  3449  	VK_BROWSER_REFRESH     = 0xA8
  3450  	VK_BROWSER_STOP        = 0xA9
  3451  	VK_BROWSER_SEARCH      = 0xAA
  3452  	VK_BROWSER_FAVORITES   = 0xAB
  3453  	VK_BROWSER_HOME        = 0xAC
  3454  	VK_VOLUME_MUTE         = 0xAD
  3455  	VK_VOLUME_DOWN         = 0xAE
  3456  	VK_VOLUME_UP           = 0xAF
  3457  	VK_MEDIA_NEXT_TRACK    = 0xB0
  3458  	VK_MEDIA_PREV_TRACK    = 0xB1
  3459  	VK_MEDIA_STOP          = 0xB2
  3460  	VK_MEDIA_PLAY_PAUSE    = 0xB3
  3461  	VK_LAUNCH_MAIL         = 0xB4
  3462  	VK_LAUNCH_MEDIA_SELECT = 0xB5
  3463  	VK_LAUNCH_APP1         = 0xB6
  3464  	VK_LAUNCH_APP2         = 0xB7
  3465  	VK_OEM_1               = 0xBA
  3466  	VK_OEM_PLUS            = 0xBB
  3467  	VK_OEM_COMMA           = 0xBC
  3468  	VK_OEM_MINUS           = 0xBD
  3469  	VK_OEM_PERIOD          = 0xBE
  3470  	VK_OEM_2               = 0xBF
  3471  	VK_OEM_3               = 0xC0
  3472  	VK_OEM_4               = 0xDB
  3473  	VK_OEM_5               = 0xDC
  3474  	VK_OEM_6               = 0xDD
  3475  	VK_OEM_7               = 0xDE
  3476  	VK_OEM_8               = 0xDF
  3477  	VK_OEM_102             = 0xE2
  3478  	VK_PROCESSKEY          = 0xE5
  3479  	VK_PACKET              = 0xE7
  3480  	VK_ATTN                = 0xF6
  3481  	VK_CRSEL               = 0xF7
  3482  	VK_EXSEL               = 0xF8
  3483  	VK_EREOF               = 0xF9
  3484  	VK_PLAY                = 0xFA
  3485  	VK_ZOOM                = 0xFB
  3486  	VK_NONAME              = 0xFC
  3487  	VK_PA1                 = 0xFD
  3488  	VK_OEM_CLEAR           = 0xFE
  3489  )
  3490  
  3491  // ScrollBar constants
  3492  const (
  3493  	SB_HORZ = 0
  3494  	SB_VERT = 1
  3495  	SB_CTL  = 2
  3496  	SB_BOTH = 3
  3497  )
  3498  
  3499  // ScrollBar commands
  3500  const (
  3501  	SB_LINEUP        = 0
  3502  	SB_LINELEFT      = 0
  3503  	SB_LINEDOWN      = 1
  3504  	SB_LINERIGHT     = 1
  3505  	SB_PAGEUP        = 2
  3506  	SB_PAGELEFT      = 2
  3507  	SB_PAGEDOWN      = 3
  3508  	SB_PAGERIGHT     = 3
  3509  	SB_THUMBPOSITION = 4
  3510  	SB_THUMBTRACK    = 5
  3511  	SB_TOP           = 6
  3512  	SB_LEFT          = 6
  3513  	SB_BOTTOM        = 7
  3514  	SB_RIGHT         = 7
  3515  	SB_ENDSCROLL     = 8
  3516  )
  3517  
  3518  // [Get|Set]ScrollInfo mask constants
  3519  const (
  3520  	SIF_RANGE           = 1
  3521  	SIF_PAGE            = 2
  3522  	SIF_POS             = 4
  3523  	SIF_DISABLENOSCROLL = 8
  3524  	SIF_TRACKPOS        = 16
  3525  	SIF_ALL             = SIF_RANGE + SIF_PAGE + SIF_POS + SIF_TRACKPOS
  3526  )