win: github.com/lxn/win Index | Files

package win

import "github.com/lxn/win"

Index

Package Files

advapi32.go combobox.go comctl32.go comdlg32.go datetimepicker.go edit.go gdi32.go gdiplus.go header.go kernel32.go listbox.go listview.go menu.go ole32.go oleaut32.go oleaut32_amd64.go opengl32.go pdh.go shdocvw.go shell32.go shobj.go shobj_amd64.go statusbar.go syslink.go tab.go toolbar.go tooltip.go treeview.go updown.go user32.go uxtheme.go win.go winspool.go

Constants

const (
    REG_NONE      uint64 = 0 // No value type
    REG_SZ               = 1 // Unicode nul terminated string
    REG_EXPAND_SZ        = 2 // Unicode nul terminated string
    // (with environment variable references)
    REG_BINARY                     = 3 // Free form binary
    REG_DWORD                      = 4 // 32-bit number
    REG_DWORD_LITTLE_ENDIAN        = 4 // 32-bit number (same as REG_DWORD)
    REG_DWORD_BIG_ENDIAN           = 5 // 32-bit number
    REG_LINK                       = 6 // Symbolic Link (unicode)
    REG_MULTI_SZ                   = 7 // Multiple Unicode strings
    REG_RESOURCE_LIST              = 8 // Resource list in the resource map
    REG_FULL_RESOURCE_DESCRIPTOR   = 9 // Resource list in the hardware description
    REG_RESOURCE_REQUIREMENTS_LIST = 10
    REG_QWORD                      = 11 // 64-bit number
    REG_QWORD_LITTLE_ENDIAN        = 11 // 64-bit number (same as REG_QWORD)

)
const (
    CB_OKAY     = 0
    CB_ERR      = ^uintptr(0) // -1
    CB_ERRSPACE = ^uintptr(1) // -2
)

ComboBox return values

const (
    CBN_ERRSPACE     = -1
    CBN_SELCHANGE    = 1
    CBN_DBLCLK       = 2
    CBN_SETFOCUS     = 3
    CBN_KILLFOCUS    = 4
    CBN_EDITCHANGE   = 5
    CBN_EDITUPDATE   = 6
    CBN_DROPDOWN     = 7
    CBN_CLOSEUP      = 8
    CBN_SELENDOK     = 9
    CBN_SELENDCANCEL = 10
)

ComboBox notifications

const (
    CBS_SIMPLE            = 0x0001
    CBS_DROPDOWN          = 0x0002
    CBS_DROPDOWNLIST      = 0x0003
    CBS_OWNERDRAWFIXED    = 0x0010
    CBS_OWNERDRAWVARIABLE = 0x0020
    CBS_AUTOHSCROLL       = 0x0040
    CBS_OEMCONVERT        = 0x0080
    CBS_SORT              = 0x0100
    CBS_HASSTRINGS        = 0x0200
    CBS_NOINTEGRALHEIGHT  = 0x0400
    CBS_DISABLENOSCROLL   = 0x0800
    CBS_UPPERCASE         = 0x2000
    CBS_LOWERCASE         = 0x4000
)

ComboBox styles

const (
    CB_GETEDITSEL            = 0x0140
    CB_LIMITTEXT             = 0x0141
    CB_SETEDITSEL            = 0x0142
    CB_ADDSTRING             = 0x0143
    CB_DELETESTRING          = 0x0144
    CB_DIR                   = 0x0145
    CB_GETCOUNT              = 0x0146
    CB_GETCURSEL             = 0x0147
    CB_GETLBTEXT             = 0x0148
    CB_GETLBTEXTLEN          = 0x0149
    CB_INSERTSTRING          = 0x014A
    CB_RESETCONTENT          = 0x014B
    CB_FINDSTRING            = 0x014C
    CB_SELECTSTRING          = 0x014D
    CB_SETCURSEL             = 0x014E
    CB_SHOWDROPDOWN          = 0x014F
    CB_GETITEMDATA           = 0x0150
    CB_SETITEMDATA           = 0x0151
    CB_GETDROPPEDCONTROLRECT = 0x0152
    CB_SETITEMHEIGHT         = 0x0153
    CB_GETITEMHEIGHT         = 0x0154
    CB_SETEXTENDEDUI         = 0x0155
    CB_GETEXTENDEDUI         = 0x0156
    CB_GETDROPPEDSTATE       = 0x0157
    CB_FINDSTRINGEXACT       = 0x0158
    CB_SETLOCALE             = 0x0159
    CB_GETLOCALE             = 0x015A
    CB_GETTOPINDEX           = 0x015b
    CB_SETTOPINDEX           = 0x015c
    CB_GETHORIZONTALEXTENT   = 0x015d
    CB_SETHORIZONTALEXTENT   = 0x015e
    CB_GETDROPPEDWIDTH       = 0x015f
    CB_SETDROPPEDWIDTH       = 0x0160
    CB_INITSTORAGE           = 0x0161
    CB_MULTIPLEADDSTRING     = 0x0163
    CB_GETCOMBOBOXINFO       = 0x0164
)

ComboBox messages

const (
    BCM_FIRST            = 0x1600
    BCM_GETIDEALSIZE     = BCM_FIRST + 0x0001
    BCM_SETIMAGELIST     = BCM_FIRST + 0x0002
    BCM_GETIMAGELIST     = BCM_FIRST + 0x0003
    BCM_SETTEXTMARGIN    = BCM_FIRST + 0x0004
    BCM_GETTEXTMARGIN    = BCM_FIRST + 0x0005
    BCM_SETDROPDOWNSTATE = BCM_FIRST + 0x0006
    BCM_SETSPLITINFO     = BCM_FIRST + 0x0007
    BCM_GETSPLITINFO     = BCM_FIRST + 0x0008
    BCM_SETNOTE          = BCM_FIRST + 0x0009
    BCM_GETNOTE          = BCM_FIRST + 0x000A
    BCM_GETNOTELENGTH    = BCM_FIRST + 0x000B
    BCM_SETSHIELD        = BCM_FIRST + 0x000C
)

Button control messages

const (
    CCM_FIRST            = 0x2000
    CCM_LAST             = CCM_FIRST + 0x200
    CCM_SETBKCOLOR       = 8193
    CCM_SETCOLORSCHEME   = 8194
    CCM_GETCOLORSCHEME   = 8195
    CCM_GETDROPTARGET    = 8196
    CCM_SETUNICODEFORMAT = 8197
    CCM_GETUNICODEFORMAT = 8198
    CCM_SETVERSION       = 0x2007
    CCM_GETVERSION       = 0x2008
    CCM_SETNOTIFYWINDOW  = 0x2009
    CCM_SETWINDOWTHEME   = 0x200b
    CCM_DPISCALE         = 0x200c
)
const (
    CCS_TOP           = 1
    CCS_NOMOVEY       = 2
    CCS_BOTTOM        = 3
    CCS_NORESIZE      = 4
    CCS_NOPARENTALIGN = 8
    CCS_ADJUSTABLE    = 32
    CCS_NODIVIDER     = 64
    CCS_VERT          = 128
    CCS_LEFT          = 129
    CCS_NOMOVEX       = 130
    CCS_RIGHT         = 131
)

Common controls styles

const (
    ICC_LISTVIEW_CLASSES   = 1
    ICC_TREEVIEW_CLASSES   = 2
    ICC_BAR_CLASSES        = 4
    ICC_TAB_CLASSES        = 8
    ICC_UPDOWN_CLASS       = 16
    ICC_PROGRESS_CLASS     = 32
    ICC_HOTKEY_CLASS       = 64
    ICC_ANIMATE_CLASS      = 128
    ICC_WIN95_CLASSES      = 255
    ICC_DATE_CLASSES       = 256
    ICC_USEREX_CLASSES     = 512
    ICC_COOL_CLASSES       = 1024
    ICC_INTERNET_CLASSES   = 2048
    ICC_PAGESCROLLER_CLASS = 4096
    ICC_NATIVEFNTCTL_CLASS = 8192
    INFOTIPSIZE            = 1024
    ICC_STANDARD_CLASSES   = 0x00004000
    ICC_LINK_CLASS         = 0x00008000
)

InitCommonControlsEx flags

const (
    NM_FIRST              = 0
    NM_OUTOFMEMORY        = ^uint32(0)  // NM_FIRST - 1
    NM_CLICK              = ^uint32(1)  // NM_FIRST - 2
    NM_DBLCLK             = ^uint32(2)  // NM_FIRST - 3
    NM_RETURN             = ^uint32(3)  // NM_FIRST - 4
    NM_RCLICK             = ^uint32(4)  // NM_FIRST - 5
    NM_RDBLCLK            = ^uint32(5)  // NM_FIRST - 6
    NM_SETFOCUS           = ^uint32(6)  // NM_FIRST - 7
    NM_KILLFOCUS          = ^uint32(7)  // NM_FIRST - 8
    NM_CUSTOMDRAW         = ^uint32(11) // NM_FIRST - 12
    NM_HOVER              = ^uint32(12) // NM_FIRST - 13
    NM_NCHITTEST          = ^uint32(13) // NM_FIRST - 14
    NM_KEYDOWN            = ^uint32(14) // NM_FIRST - 15
    NM_RELEASEDCAPTURE    = ^uint32(15) // NM_FIRST - 16
    NM_SETCURSOR          = ^uint32(16) // NM_FIRST - 17
    NM_CHAR               = ^uint32(17) // NM_FIRST - 18
    NM_TOOLTIPSCREATED    = ^uint32(18) // NM_FIRST - 19
    NM_LAST               = ^uint32(98) // NM_FIRST - 99
    TRBN_THUMBPOSCHANGING = 0xfffffa22  // TRBN_FIRST - 1
)

WM_NOTITY messages

const (
    PBM_SETPOS      = WM_USER + 2
    PBM_DELTAPOS    = WM_USER + 3
    PBM_SETSTEP     = WM_USER + 4
    PBM_STEPIT      = WM_USER + 5
    PBM_SETMARQUEE  = WM_USER + 10
    PBM_SETRANGE32  = 1030
    PBM_GETRANGE    = 1031
    PBM_GETPOS      = 1032
    PBM_SETBARCOLOR = 1033
    PBM_SETBKCOLOR  = CCM_SETBKCOLOR
)

ProgressBar messages

const (
    PBS_SMOOTH   = 0x01
    PBS_VERTICAL = 0x04
    PBS_MARQUEE  = 0x08
)

ProgressBar styles

const (
    TBM_GETPOS      = WM_USER
    TBM_GETRANGEMIN = WM_USER + 1
    TBM_GETRANGEMAX = WM_USER + 2
    TBM_SETPOS      = WM_USER + 5
    TBM_SETRANGEMIN = WM_USER + 7
    TBM_SETRANGEMAX = WM_USER + 8
)

TrackBar (Slider) messages

const (
    TBS_VERT     = 0x002
    TBS_TOOLTIPS = 0x100
)

TrackBar (Slider) styles

const (
    ILC_MASK          = 0x00000001
    ILC_COLOR         = 0x00000000
    ILC_COLORDDB      = 0x000000FE
    ILC_COLOR4        = 0x00000004
    ILC_COLOR8        = 0x00000008
    ILC_COLOR16       = 0x00000010
    ILC_COLOR24       = 0x00000018
    ILC_COLOR32       = 0x00000020
    ILC_PALETTE       = 0x00000800
    ILC_MIRROR        = 0x00002000
    ILC_PERITEMMIRROR = 0x00008000
)

ImageList creation flags

const (
    LIM_SMALL = 0
    LIM_LARGE = 1
)

LoadIconMetric flags

const (
    CDDS_PREPAINT      = 0x00000001
    CDDS_POSTPAINT     = 0x00000002
    CDDS_PREERASE      = 0x00000003
    CDDS_POSTERASE     = 0x00000004
    CDDS_ITEM          = 0x00010000
    CDDS_ITEMPREPAINT  = CDDS_ITEM | CDDS_PREPAINT
    CDDS_ITEMPOSTPAINT = CDDS_ITEM | CDDS_POSTPAINT
    CDDS_ITEMPREERASE  = CDDS_ITEM | CDDS_PREERASE
    CDDS_ITEMPOSTERASE = CDDS_ITEM | CDDS_POSTERASE
    CDDS_SUBITEM       = 0x00020000
)
const (
    CDIS_SELECTED         = 0x0001
    CDIS_GRAYED           = 0x0002
    CDIS_DISABLED         = 0x0004
    CDIS_CHECKED          = 0x0008
    CDIS_FOCUS            = 0x0010
    CDIS_DEFAULT          = 0x0020
    CDIS_HOT              = 0x0040
    CDIS_MARKED           = 0x0080
    CDIS_INDETERMINATE    = 0x0100
    CDIS_SHOWKEYBOARDCUES = 0x0200
    CDIS_NEARHOT          = 0x0400
    CDIS_OTHERSIDEHOT     = 0x0800
    CDIS_DROPHILITED      = 0x1000
)
const (
    CDRF_DODEFAULT         = 0x00000000
    CDRF_NEWFONT           = 0x00000002
    CDRF_SKIPDEFAULT       = 0x00000004
    CDRF_DOERASE           = 0x00000008
    CDRF_NOTIFYPOSTPAINT   = 0x00000010
    CDRF_NOTIFYITEMDRAW    = 0x00000020
    CDRF_NOTIFYSUBITEMDRAW = 0x00000020
    CDRF_NOTIFYPOSTERASE   = 0x00000040
    CDRF_SKIPPOSTPAINT     = 0x00000100
)
const (
    LPSTR_TEXTCALLBACK = ^uintptr(0)
    I_CHILDRENCALLBACK = -1
)
const (
    CDERR_DIALOGFAILURE   = 0xFFFF
    CDERR_FINDRESFAILURE  = 0x0006
    CDERR_INITIALIZATION  = 0x0002
    CDERR_LOADRESFAILURE  = 0x0007
    CDERR_LOADSTRFAILURE  = 0x0005
    CDERR_LOCKRESFAILURE  = 0x0008
    CDERR_MEMALLOCFAILURE = 0x0009
    CDERR_MEMLOCKFAILURE  = 0x000A
    CDERR_NOHINSTANCE     = 0x0004
    CDERR_NOHOOK          = 0x000B
    CDERR_NOTEMPLATE      = 0x0003
    CDERR_REGISTERMSGFAIL = 0x000C
    CDERR_STRUCTSIZE      = 0x0001
)

Common error codes

const (
    CC_ANYCOLOR             = 0x00000100
    CC_ENABLEHOOK           = 0x00000010
    CC_ENABLETEMPLATE       = 0x00000020
    CC_ENABLETEMPLATEHANDLE = 0x00000040
    CC_FULLOPEN             = 0x00000002
    CC_PREVENTFULLOPEN      = 0x00000004
    CC_RGBINIT              = 0x00000001
    CC_SHOWHELP             = 0x00000008
    CC_SOLIDCOLOR           = 0x00000080
)

CHOOSECOLOR flags

const (
    PDERR_CREATEICFAILURE  = 0x100A
    PDERR_DEFAULTDIFFERENT = 0x100C
    PDERR_DNDMMISMATCH     = 0x1009
    PDERR_GETDEVMODEFAIL   = 0x1005
    PDERR_INITFAILURE      = 0x1006
    PDERR_LOADDRVFAILURE   = 0x1004
    PDERR_NODEFAULTPRN     = 0x1008
    PDERR_NODEVICES        = 0x1007
    PDERR_PARSEFAILURE     = 0x1002
    PDERR_PRINTERNOTFOUND  = 0x100B
    PDERR_RETDEFFAILURE    = 0x1003
    PDERR_SETUPFAILURE     = 0x1001
)

PrintDlg specific error codes

const (
    CFERR_MAXLESSTHANMIN = 0x2002
    CFERR_NOFONTS        = 0x2001
)

ChooseFont specific error codes

const (
    FNERR_BUFFERTOOSMALL  = 0x3003
    FNERR_INVALIDFILENAME = 0x3002
    FNERR_SUBCLASSFAILURE = 0x3001
)

GetOpenFileName and GetSaveFileName specific error codes

const (
    OFN_ALLOWMULTISELECT     = 0x00000200
    OFN_CREATEPROMPT         = 0x00002000
    OFN_DONTADDTORECENT      = 0x02000000
    OFN_ENABLEHOOK           = 0x00000020
    OFN_ENABLEINCLUDENOTIFY  = 0x00400000
    OFN_ENABLESIZING         = 0x00800000
    OFN_ENABLETEMPLATE       = 0x00000040
    OFN_ENABLETEMPLATEHANDLE = 0x00000080
    OFN_EXPLORER             = 0x00080000
    OFN_EXTENSIONDIFFERENT   = 0x00000400
    OFN_FILEMUSTEXIST        = 0x00001000
    OFN_FORCESHOWHIDDEN      = 0x10000000
    OFN_HIDEREADONLY         = 0x00000004
    OFN_LONGNAMES            = 0x00200000
    OFN_NOCHANGEDIR          = 0x00000008
    OFN_NODEREFERENCELINKS   = 0x00100000
    OFN_NOLONGNAMES          = 0x00040000
    OFN_NONETWORKBUTTON      = 0x00020000
    OFN_NOREADONLYRETURN     = 0x00008000
    OFN_NOTESTFILECREATE     = 0x00010000
    OFN_NOVALIDATE           = 0x00000100
    OFN_OVERWRITEPROMPT      = 0x00000002
    OFN_PATHMUSTEXIST        = 0x00000800
    OFN_READONLY             = 0x00000001
    OFN_SHAREAWARE           = 0x00004000
    OFN_SHOWHELP             = 0x00000010
)

GetOpenFileName and GetSaveFileName flags

const (
    PD_RESULT_APPLY  = 2
    PD_RESULT_CANCEL = 0
    PD_RESULT_PRINT  = 1
)

PrintDlg[Ex] result actions

const (
    PD_ALLPAGES                   = 0x00000000
    PD_COLLATE                    = 0x00000010
    PD_CURRENTPAGE                = 0x00400000
    PD_DISABLEPRINTTOFILE         = 0x00080000
    PD_ENABLEPRINTTEMPLATE        = 0x00004000
    PD_ENABLEPRINTTEMPLATEHANDLE  = 0x00010000
    PD_EXCLUSIONFLAGS             = 0x01000000
    PD_HIDEPRINTTOFILE            = 0x00100000
    PD_NOCURRENTPAGE              = 0x00800000
    PD_NOPAGENUMS                 = 0x00000008
    PD_NOSELECTION                = 0x00000004
    PD_NOWARNING                  = 0x00000080
    PD_PAGENUMS                   = 0x00000002
    PD_PRINTTOFILE                = 0x00000020
    PD_RETURNDC                   = 0x00000100
    PD_RETURNDEFAULT              = 0x00000400
    PD_RETURNIC                   = 0x00000200
    PD_SELECTION                  = 0x00000001
    PD_USEDEVMODECOPIES           = 0x00040000
    PD_USEDEVMODECOPIESANDCOLLATE = 0x00040000
    PD_USELARGETEMPLATE           = 0x10000000
)

PrintDlg[Ex] flags

const (
    GDTR_MIN = 0x0001
    GDTR_MAX = 0x0002
)
const (
    GDT_ERROR = -1
    GDT_VALID = 0
    GDT_NONE  = 1
)
const (
    DTM_GETSYSTEMTIME = DTM_FIRST + 1
    DTM_SETSYSTEMTIME = DTM_FIRST + 2
    DTM_GETRANGE      = DTM_FIRST + 3
    DTM_SETRANGE      = DTM_FIRST + 4
    DTM_SETFORMAT     = DTM_FIRST + 50
    DTM_SETMCCOLOR    = DTM_FIRST + 6
    DTM_GETMCCOLOR    = DTM_FIRST + 7
    DTM_GETMONTHCAL   = DTM_FIRST + 8
    DTM_SETMCFONT     = DTM_FIRST + 9
    DTM_GETMCFONT     = DTM_FIRST + 10
)

Messages

const (
    DTS_UPDOWN                 = 0x0001
    DTS_SHOWNONE               = 0x0002
    DTS_SHORTDATEFORMAT        = 0x0000
    DTS_LONGDATEFORMAT         = 0x0004
    DTS_SHORTDATECENTURYFORMAT = 0x000C
    DTS_TIMEFORMAT             = 0x0009
    DTS_APPCANPARSE            = 0x0010
    DTS_RIGHTALIGN             = 0x0020
)

Styles

const (
    DTN_DATETIMECHANGE = DTN_FIRST2 - 6
    DTN_USERSTRING     = DTN_FIRST - 5
    DTN_WMKEYDOWN      = DTN_FIRST - 4
    DTN_FORMAT         = DTN_FIRST - 3
    DTN_FORMATQUERY    = DTN_FIRST - 2
    DTN_DROPDOWN       = DTN_FIRST2 - 1
    DTN_CLOSEUP        = DTN_FIRST2
)

Notifications

const (
    ES_LEFT        = 0x0000
    ES_CENTER      = 0x0001
    ES_RIGHT       = 0x0002
    ES_MULTILINE   = 0x0004
    ES_UPPERCASE   = 0x0008
    ES_LOWERCASE   = 0x0010
    ES_PASSWORD    = 0x0020
    ES_AUTOVSCROLL = 0x0040
    ES_AUTOHSCROLL = 0x0080
    ES_NOHIDESEL   = 0x0100
    ES_OEMCONVERT  = 0x0400
    ES_READONLY    = 0x0800
    ES_WANTRETURN  = 0x1000
    ES_NUMBER      = 0x2000
)

Edit styles

const (
    EN_SETFOCUS     = 0x0100
    EN_KILLFOCUS    = 0x0200
    EN_CHANGE       = 0x0300
    EN_UPDATE       = 0x0400
    EN_ERRSPACE     = 0x0500
    EN_MAXTEXT      = 0x0501
    EN_HSCROLL      = 0x0601
    EN_VSCROLL      = 0x0602
    EN_ALIGN_LTR_EC = 0x0700
    EN_ALIGN_RTL_EC = 0x0701
)

Edit notifications

const (
    EM_GETSEL              = 0x00B0
    EM_SETSEL              = 0x00B1
    EM_GETRECT             = 0x00B2
    EM_SETRECT             = 0x00B3
    EM_SETRECTNP           = 0x00B4
    EM_SCROLL              = 0x00B5
    EM_LINESCROLL          = 0x00B6
    EM_SCROLLCARET         = 0x00B7
    EM_GETMODIFY           = 0x00B8
    EM_SETMODIFY           = 0x00B9
    EM_GETLINECOUNT        = 0x00BA
    EM_LINEINDEX           = 0x00BB
    EM_SETHANDLE           = 0x00BC
    EM_GETHANDLE           = 0x00BD
    EM_GETTHUMB            = 0x00BE
    EM_LINELENGTH          = 0x00C1
    EM_REPLACESEL          = 0x00C2
    EM_GETLINE             = 0x00C4
    EM_LIMITTEXT           = 0x00C5
    EM_CANUNDO             = 0x00C6
    EM_UNDO                = 0x00C7
    EM_FMTLINES            = 0x00C8
    EM_LINEFROMCHAR        = 0x00C9
    EM_SETTABSTOPS         = 0x00CB
    EM_SETPASSWORDCHAR     = 0x00CC
    EM_EMPTYUNDOBUFFER     = 0x00CD
    EM_GETFIRSTVISIBLELINE = 0x00CE
    EM_SETREADONLY         = 0x00CF
    EM_SETWORDBREAKPROC    = 0x00D0
    EM_GETWORDBREAKPROC    = 0x00D1
    EM_GETPASSWORDCHAR     = 0x00D2
    EM_SETMARGINS          = 0x00D3
    EM_GETMARGINS          = 0x00D4
    EM_SETLIMITTEXT        = EM_LIMITTEXT
    EM_GETLIMITTEXT        = 0x00D5
    EM_POSFROMCHAR         = 0x00D6
    EM_CHARFROMPOS         = 0x00D7
    EM_SETIMESTATUS        = 0x00D8
    EM_GETIMESTATUS        = 0x00D9
    EM_SETCUEBANNER        = 0x1501
    EM_GETCUEBANNER        = 0x1502
)

Edit messages

const (
    DRIVERVERSION   = 0
    TECHNOLOGY      = 2
    HORZSIZE        = 4
    VERTSIZE        = 6
    HORZRES         = 8
    VERTRES         = 10
    LOGPIXELSX      = 88
    LOGPIXELSY      = 90
    BITSPIXEL       = 12
    PLANES          = 14
    NUMBRUSHES      = 16
    NUMPENS         = 18
    NUMFONTS        = 22
    NUMCOLORS       = 24
    NUMMARKERS      = 20
    ASPECTX         = 40
    ASPECTY         = 42
    ASPECTXY        = 44
    PDEVICESIZE     = 26
    CLIPCAPS        = 36
    SIZEPALETTE     = 104
    NUMRESERVED     = 106
    COLORRES        = 108
    PHYSICALWIDTH   = 110
    PHYSICALHEIGHT  = 111
    PHYSICALOFFSETX = 112
    PHYSICALOFFSETY = 113
    SCALINGFACTORX  = 114
    SCALINGFACTORY  = 115
    VREFRESH        = 116
    DESKTOPHORZRES  = 118
    DESKTOPVERTRES  = 117
    BLTALIGNMENT    = 119
    SHADEBLENDCAPS  = 120
    COLORMGMTCAPS   = 121
    RASTERCAPS      = 38
    CURVECAPS       = 28
    LINECAPS        = 30
    POLYGONALCAPS   = 32
    TEXTCAPS        = 34
)

GetDeviceCaps index constants

const (
    DT_PLOTTER    = 0
    DT_RASDISPLAY = 1
    DT_RASPRINTER = 2
    DT_RASCAMERA  = 3
    DT_CHARSTREAM = 4
    DT_METAFILE   = 5
    DT_DISPFILE   = 6
)

GetDeviceCaps TECHNOLOGY constants

const (
    SB_NONE          = 0x00
    SB_CONST_ALPHA   = 0x01
    SB_PIXEL_ALPHA   = 0x02
    SB_PREMULT_ALPHA = 0x04
    SB_GRAD_RECT     = 0x10
    SB_GRAD_TRI      = 0x20
)

GetDeviceCaps SHADEBLENDCAPS constants

const (
    CM_NONE       = 0x00
    CM_DEVICE_ICM = 0x01
    CM_GAMMA_RAMP = 0x02
    CM_CMYK_COLOR = 0x04
)

GetDeviceCaps COLORMGMTCAPS constants

const (
    RC_BANDING      = 2
    RC_BITBLT       = 1
    RC_BITMAP64     = 8
    RC_DI_BITMAP    = 128
    RC_DIBTODEV     = 512
    RC_FLOODFILL    = 4096
    RC_GDI20_OUTPUT = 16
    RC_PALETTE      = 256
    RC_SCALING      = 4
    RC_STRETCHBLT   = 2048
    RC_STRETCHDIB   = 8192
    RC_DEVBITS      = 0x8000
    RC_OP_DX_OUTPUT = 0x4000
)

GetDeviceCaps RASTERCAPS constants

const (
    CC_NONE       = 0
    CC_CIRCLES    = 1
    CC_PIE        = 2
    CC_CHORD      = 4
    CC_ELLIPSES   = 8
    CC_WIDE       = 16
    CC_STYLED     = 32
    CC_WIDESTYLED = 64
    CC_INTERIORS  = 128
    CC_ROUNDRECT  = 256
)

GetDeviceCaps CURVECAPS constants

const (
    LC_NONE       = 0
    LC_POLYLINE   = 2
    LC_MARKER     = 4
    LC_POLYMARKER = 8
    LC_WIDE       = 16
    LC_STYLED     = 32
    LC_WIDESTYLED = 64
    LC_INTERIORS  = 128
)

GetDeviceCaps LINECAPS constants

const (
    PC_NONE        = 0
    PC_POLYGON     = 1
    PC_POLYPOLYGON = 256
    PC_PATHS       = 512
    PC_RECTANGLE   = 2
    PC_WINDPOLYGON = 4
    PC_SCANLINE    = 8
    PC_TRAPEZOID   = 4
    PC_WIDE        = 16
    PC_STYLED      = 32
    PC_WIDESTYLED  = 64
    PC_INTERIORS   = 128
)

GetDeviceCaps POLYGONALCAPS constants

const (
    TC_OP_CHARACTER = 1
    TC_OP_STROKE    = 2
    TC_CP_STROKE    = 4
    TC_CR_90        = 8
    TC_CR_ANY       = 16
    TC_SF_X_YINDEP  = 32
    TC_SA_DOUBLE    = 64
    TC_SA_INTEGER   = 128
    TC_SA_CONTIN    = 256
    TC_EA_DOUBLE    = 512
    TC_IA_ABLE      = 1024
    TC_UA_ABLE      = 2048
    TC_SO_ABLE      = 4096
    TC_RA_ABLE      = 8192
    TC_VA_ABLE      = 16384
    TC_RESERVED     = 32768
    TC_SCROLLBLT    = 65536
)

GetDeviceCaps TEXTCAPS constants

const (
    BS_SOLID         = 0
    BS_NULL          = 1
    BS_HOLLOW        = BS_NULL
    BS_HATCHED       = 2
    BS_PATTERN       = 3
    BS_INDEXED       = 4
    BS_DIBPATTERN    = 5
    BS_DIBPATTERNPT  = 6
    BS_PATTERN8X8    = 7
    BS_DIBPATTERN8X8 = 8
    BS_MONOPATTERN   = 9
)

Brush styles

const (
    HS_HORIZONTAL = 0
    HS_VERTICAL   = 1
    HS_FDIAGONAL  = 2
    HS_BDIAGONAL  = 3
    HS_CROSS      = 4
    HS_DIAGCROSS  = 5
)

Hatch styles

const (
    PS_COSMETIC  = 0x00000000
    PS_GEOMETRIC = 0x00010000
    PS_TYPE_MASK = 0x000F0000
)

Pen types

const (
    PS_SOLID       = 0
    PS_DASH        = 1
    PS_DOT         = 2
    PS_DASHDOT     = 3
    PS_DASHDOTDOT  = 4
    PS_NULL        = 5
    PS_INSIDEFRAME = 6
    PS_USERSTYLE   = 7
    PS_ALTERNATE   = 8
    PS_STYLE_MASK  = 0x0000000F
)

Pen styles

const (
    PS_ENDCAP_ROUND  = 0x00000000
    PS_ENDCAP_SQUARE = 0x00000100
    PS_ENDCAP_FLAT   = 0x00000200
    PS_ENDCAP_MASK   = 0x00000F00
)

Pen cap types

const (
    PS_JOIN_ROUND = 0x00000000
    PS_JOIN_BEVEL = 0x00001000
    PS_JOIN_MITER = 0x00002000
    PS_JOIN_MASK  = 0x0000F000
)

Pen join types

const (
    PRF_NONCLIENT  = 0x00000002
    PRF_CLIENT     = 0x00000004
    PRF_ERASEBKGND = 0x00000008
    PRF_CHILDREN   = 0x00000010
    PRF_OWNED      = 0x00000020
)

Print constants

const (
    WHITE_BRUSH         = 0
    LTGRAY_BRUSH        = 1
    GRAY_BRUSH          = 2
    DKGRAY_BRUSH        = 3
    BLACK_BRUSH         = 4
    NULL_BRUSH          = 5
    HOLLOW_BRUSH        = NULL_BRUSH
    WHITE_PEN           = 6
    BLACK_PEN           = 7
    NULL_PEN            = 8
    OEM_FIXED_FONT      = 10
    ANSI_FIXED_FONT     = 11
    ANSI_VAR_FONT       = 12
    SYSTEM_FONT         = 13
    DEVICE_DEFAULT_FONT = 14
    DEFAULT_PALETTE     = 15
    SYSTEM_FIXED_FONT   = 16
    DEFAULT_GUI_FONT    = 17
    DC_BRUSH            = 18
    DC_PEN              = 19
)

Stock logical objects

const (
    FW_DONTCARE   = 0
    FW_THIN       = 100
    FW_EXTRALIGHT = 200
    FW_ULTRALIGHT = FW_EXTRALIGHT
    FW_LIGHT      = 300
    FW_NORMAL     = 400
    FW_REGULAR    = 400
    FW_MEDIUM     = 500
    FW_SEMIBOLD   = 600
    FW_DEMIBOLD   = FW_SEMIBOLD
    FW_BOLD       = 700
    FW_EXTRABOLD  = 800
    FW_ULTRABOLD  = FW_EXTRABOLD
    FW_HEAVY      = 900
    FW_BLACK      = FW_HEAVY
)

Font weight constants

const (
    ANSI_CHARSET        = 0
    DEFAULT_CHARSET     = 1
    SYMBOL_CHARSET      = 2
    SHIFTJIS_CHARSET    = 128
    HANGEUL_CHARSET     = 129
    HANGUL_CHARSET      = 129
    GB2312_CHARSET      = 134
    CHINESEBIG5_CHARSET = 136
    GREEK_CHARSET       = 161
    TURKISH_CHARSET     = 162
    HEBREW_CHARSET      = 177
    ARABIC_CHARSET      = 178
    BALTIC_CHARSET      = 186
    RUSSIAN_CHARSET     = 204
    THAI_CHARSET        = 222
    EASTEUROPE_CHARSET  = 238
    OEM_CHARSET         = 255
    JOHAB_CHARSET       = 130
    VIETNAMESE_CHARSET  = 163
    MAC_CHARSET         = 77
)

Charset constants

const (
    OUT_DEFAULT_PRECIS   = 0
    OUT_STRING_PRECIS    = 1
    OUT_CHARACTER_PRECIS = 2
    OUT_STROKE_PRECIS    = 3
    OUT_TT_PRECIS        = 4
    OUT_DEVICE_PRECIS    = 5
    OUT_RASTER_PRECIS    = 6
    OUT_TT_ONLY_PRECIS   = 7
    OUT_OUTLINE_PRECIS   = 8
    OUT_PS_ONLY_PRECIS   = 10
)

Font output precision constants

const (
    CLIP_DEFAULT_PRECIS   = 0
    CLIP_CHARACTER_PRECIS = 1
    CLIP_STROKE_PRECIS    = 2
    CLIP_MASK             = 15
    CLIP_LH_ANGLES        = 16
    CLIP_TT_ALWAYS        = 32
    CLIP_EMBEDDED         = 128
)

Font clipping precision constants

const (
    DEFAULT_QUALITY        = 0
    DRAFT_QUALITY          = 1
    PROOF_QUALITY          = 2
    NONANTIALIASED_QUALITY = 3
    ANTIALIASED_QUALITY    = 4
    CLEARTYPE_QUALITY      = 5
)

Font output quality constants

const (
    DEFAULT_PITCH  = 0
    FIXED_PITCH    = 1
    VARIABLE_PITCH = 2
)

Font pitch constants

const (
    FF_DECORATIVE = 80
    FF_DONTCARE   = 0
    FF_MODERN     = 48
    FF_ROMAN      = 16
    FF_SCRIPT     = 64
    FF_SWISS      = 32
)

Font family constants

const (
    DC_FIELDS            = 1
    DC_PAPERS            = 2
    DC_PAPERSIZE         = 3
    DC_MINEXTENT         = 4
    DC_MAXEXTENT         = 5
    DC_BINS              = 6
    DC_DUPLEX            = 7
    DC_SIZE              = 8
    DC_EXTRA             = 9
    DC_VERSION           = 10
    DC_DRIVER            = 11
    DC_BINNAMES          = 12
    DC_ENUMRESOLUTIONS   = 13
    DC_FILEDEPENDENCIES  = 14
    DC_TRUETYPE          = 15
    DC_PAPERNAMES        = 16
    DC_ORIENTATION       = 17
    DC_COPIES            = 18
    DC_BINADJUST         = 19
    DC_EMF_COMPLIANT     = 20
    DC_DATATYPE_PRODUCED = 21
    DC_COLLATE           = 22
    DC_MANUFACTURER      = 23
    DC_MODEL             = 24
    DC_PERSONALITY       = 25
    DC_PRINTRATE         = 26
    DC_PRINTRATEUNIT     = 27
    DC_PRINTERMEM        = 28
    DC_MEDIAREADY        = 29
    DC_STAPLE            = 30
    DC_PRINTRATEPPM      = 31
    DC_COLORDEVICE       = 32
    DC_NUP               = 33
    DC_MEDIATYPENAMES    = 34
    DC_MEDIATYPES        = 35
)

DeviceCapabilities capabilities

const (
    CCHDEVICENAME = 32
    CCHFORMNAME   = 32
)
const (
    DM_UPDATE      = 1
    DM_COPY        = 2
    DM_PROMPT      = 4
    DM_MODIFY      = 8
    DM_IN_BUFFER   = DM_MODIFY
    DM_IN_PROMPT   = DM_PROMPT
    DM_OUT_BUFFER  = DM_COPY
    DM_OUT_DEFAULT = DM_UPDATE
)
const (
    DM_ORIENTATION        = 0x00000001
    DM_PAPERSIZE          = 0x00000002
    DM_PAPERLENGTH        = 0x00000004
    DM_PAPERWIDTH         = 0x00000008
    DM_SCALE              = 0x00000010
    DM_POSITION           = 0x00000020
    DM_NUP                = 0x00000040
    DM_DISPLAYORIENTATION = 0x00000080
    DM_COPIES             = 0x00000100
    DM_DEFAULTSOURCE      = 0x00000200
    DM_PRINTQUALITY       = 0x00000400
    DM_COLOR              = 0x00000800
    DM_DUPLEX             = 0x00001000
    DM_YRESOLUTION        = 0x00002000
    DM_TTOPTION           = 0x00004000
    DM_COLLATE            = 0x00008000
    DM_FORMNAME           = 0x00010000
    DM_LOGPIXELS          = 0x00020000
    DM_BITSPERPEL         = 0x00040000
    DM_PELSWIDTH          = 0x00080000
    DM_PELSHEIGHT         = 0x00100000
    DM_DISPLAYFLAGS       = 0x00200000
    DM_DISPLAYFREQUENCY   = 0x00400000
    DM_ICMMETHOD          = 0x00800000
    DM_ICMINTENT          = 0x01000000
    DM_MEDIATYPE          = 0x02000000
    DM_DITHERTYPE         = 0x04000000
    DM_PANNINGWIDTH       = 0x08000000
    DM_PANNINGHEIGHT      = 0x10000000
    DM_DISPLAYFIXEDOUTPUT = 0x20000000
)

DEVMODE field selection bits

const (
    DMORIENT_PORTRAIT  = 1
    DMORIENT_LANDSCAPE = 2
)

Orientation constants

const (
    DMPAPER_FIRST                         = DMPAPER_LETTER
    DMPAPER_LETTER                        = 1   /* Letter 8 1/2 x 11 in               */
    DMPAPER_LETTERSMALL                   = 2   /* Letter Small 8 1/2 x 11 in         */
    DMPAPER_TABLOID                       = 3   /* Tabloid 11 x 17 in                 */
    DMPAPER_LEDGER                        = 4   /* Ledger 17 x 11 in                  */
    DMPAPER_LEGAL                         = 5   /* Legal 8 1/2 x 14 in                */
    DMPAPER_STATEMENT                     = 6   /* Statement 5 1/2 x 8 1/2 in         */
    DMPAPER_EXECUTIVE                     = 7   /* Executive 7 1/4 x 10 1/2 in        */
    DMPAPER_A3                            = 8   /* A3 297 x 420 mm                    */
    DMPAPER_A4                            = 9   /* A4 210 x 297 mm                    */
    DMPAPER_A4SMALL                       = 10  /* A4 Small 210 x 297 mm              */
    DMPAPER_A5                            = 11  /* A5 148 x 210 mm                    */
    DMPAPER_B4                            = 12  /* B4 (JIS) 250 x 354                 */
    DMPAPER_B5                            = 13  /* B5 (JIS) 182 x 257 mm              */
    DMPAPER_FOLIO                         = 14  /* Folio 8 1/2 x 13 in                */
    DMPAPER_QUARTO                        = 15  /* Quarto 215 x 275 mm                */
    DMPAPER_10X14                         = 16  /* 10x14 in                           */
    DMPAPER_11X17                         = 17  /* 11x17 in                           */
    DMPAPER_NOTE                          = 18  /* Note 8 1/2 x 11 in                 */
    DMPAPER_ENV_9                         = 19  /* Envelope #9 3 7/8 x 8 7/8          */
    DMPAPER_ENV_10                        = 20  /* Envelope #10 4 1/8 x 9 1/2         */
    DMPAPER_ENV_11                        = 21  /* Envelope #11 4 1/2 x 10 3/8        */
    DMPAPER_ENV_12                        = 22  /* Envelope #12 4 \276 x 11           */
    DMPAPER_ENV_14                        = 23  /* Envelope #14 5 x 11 1/2            */
    DMPAPER_CSHEET                        = 24  /* C size sheet                       */
    DMPAPER_DSHEET                        = 25  /* D size sheet                       */
    DMPAPER_ESHEET                        = 26  /* E size sheet                       */
    DMPAPER_ENV_DL                        = 27  /* Envelope DL 110 x 220mm            */
    DMPAPER_ENV_C5                        = 28  /* Envelope C5 162 x 229 mm           */
    DMPAPER_ENV_C3                        = 29  /* Envelope C3  324 x 458 mm          */
    DMPAPER_ENV_C4                        = 30  /* Envelope C4  229 x 324 mm          */
    DMPAPER_ENV_C6                        = 31  /* Envelope C6  114 x 162 mm          */
    DMPAPER_ENV_C65                       = 32  /* Envelope C65 114 x 229 mm          */
    DMPAPER_ENV_B4                        = 33  /* Envelope B4  250 x 353 mm          */
    DMPAPER_ENV_B5                        = 34  /* Envelope B5  176 x 250 mm          */
    DMPAPER_ENV_B6                        = 35  /* Envelope B6  176 x 125 mm          */
    DMPAPER_ENV_ITALY                     = 36  /* Envelope 110 x 230 mm              */
    DMPAPER_ENV_MONARCH                   = 37  /* Envelope Monarch 3.875 x 7.5 in    */
    DMPAPER_ENV_PERSONAL                  = 38  /* 6 3/4 Envelope 3 5/8 x 6 1/2 in    */
    DMPAPER_FANFOLD_US                    = 39  /* US Std Fanfold 14 7/8 x 11 in      */
    DMPAPER_FANFOLD_STD_GERMAN            = 40  /* German Std Fanfold 8 1/2 x 12 in   */
    DMPAPER_FANFOLD_LGL_GERMAN            = 41  /* German Legal Fanfold 8 1/2 x 13 in */
    DMPAPER_ISO_B4                        = 42  /* B4 (ISO) 250 x 353 mm              */
    DMPAPER_JAPANESE_POSTCARD             = 43  /* Japanese Postcard 100 x 148 mm     */
    DMPAPER_9X11                          = 44  /* 9 x 11 in                          */
    DMPAPER_10X11                         = 45  /* 10 x 11 in                         */
    DMPAPER_15X11                         = 46  /* 15 x 11 in                         */
    DMPAPER_ENV_INVITE                    = 47  /* Envelope Invite 220 x 220 mm       */
    DMPAPER_RESERVED_48                   = 48  /* RESERVED--DO NOT USE               */
    DMPAPER_RESERVED_49                   = 49  /* RESERVED--DO NOT USE               */
    DMPAPER_LETTER_EXTRA                  = 50  /* Letter Extra 9 \275 x 12 in        */
    DMPAPER_LEGAL_EXTRA                   = 51  /* Legal Extra 9 \275 x 15 in         */
    DMPAPER_TABLOID_EXTRA                 = 52  /* Tabloid Extra 11.69 x 18 in        */
    DMPAPER_A4_EXTRA                      = 53  /* A4 Extra 9.27 x 12.69 in           */
    DMPAPER_LETTER_TRANSVERSE             = 54  /* Letter Transverse 8 \275 x 11 in   */
    DMPAPER_A4_TRANSVERSE                 = 55  /* A4 Transverse 210 x 297 mm         */
    DMPAPER_LETTER_EXTRA_TRANSVERSE       = 56  /* Letter Extra Transverse 9\275 x 12 in */
    DMPAPER_A_PLUS                        = 57  /* SuperA/SuperA/A4 227 x 356 mm      */
    DMPAPER_B_PLUS                        = 58  /* SuperB/SuperB/A3 305 x 487 mm      */
    DMPAPER_LETTER_PLUS                   = 59  /* Letter Plus 8.5 x 12.69 in         */
    DMPAPER_A4_PLUS                       = 60  /* A4 Plus 210 x 330 mm               */
    DMPAPER_A5_TRANSVERSE                 = 61  /* A5 Transverse 148 x 210 mm         */
    DMPAPER_B5_TRANSVERSE                 = 62  /* B5 (JIS) Transverse 182 x 257 mm   */
    DMPAPER_A3_EXTRA                      = 63  /* A3 Extra 322 x 445 mm              */
    DMPAPER_A5_EXTRA                      = 64  /* A5 Extra 174 x 235 mm              */
    DMPAPER_B5_EXTRA                      = 65  /* B5 (ISO) Extra 201 x 276 mm        */
    DMPAPER_A2                            = 66  /* A2 420 x 594 mm                    */
    DMPAPER_A3_TRANSVERSE                 = 67  /* A3 Transverse 297 x 420 mm         */
    DMPAPER_A3_EXTRA_TRANSVERSE           = 68  /* A3 Extra Transverse 322 x 445 mm   */
    DMPAPER_DBL_JAPANESE_POSTCARD         = 69  /* Japanese Double Postcard 200 x 148 mm */
    DMPAPER_A6                            = 70  /* A6 105 x 148 mm                 */
    DMPAPER_JENV_KAKU2                    = 71  /* Japanese Envelope Kaku #2       */
    DMPAPER_JENV_KAKU3                    = 72  /* Japanese Envelope Kaku #3       */
    DMPAPER_JENV_CHOU3                    = 73  /* Japanese Envelope Chou #3       */
    DMPAPER_JENV_CHOU4                    = 74  /* Japanese Envelope Chou #4       */
    DMPAPER_LETTER_ROTATED                = 75  /* Letter Rotated 11 x 8 1/2 11 in */
    DMPAPER_A3_ROTATED                    = 76  /* A3 Rotated 420 x 297 mm         */
    DMPAPER_A4_ROTATED                    = 77  /* A4 Rotated 297 x 210 mm         */
    DMPAPER_A5_ROTATED                    = 78  /* A5 Rotated 210 x 148 mm         */
    DMPAPER_B4_JIS_ROTATED                = 79  /* B4 (JIS) Rotated 364 x 257 mm   */
    DMPAPER_B5_JIS_ROTATED                = 80  /* B5 (JIS) Rotated 257 x 182 mm   */
    DMPAPER_JAPANESE_POSTCARD_ROTATED     = 81  /* Japanese Postcard Rotated 148 x 100 mm */
    DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED = 82  /* Double Japanese Postcard Rotated 148 x 200 mm */
    DMPAPER_A6_ROTATED                    = 83  /* A6 Rotated 148 x 105 mm         */
    DMPAPER_JENV_KAKU2_ROTATED            = 84  /* Japanese Envelope Kaku #2 Rotated */
    DMPAPER_JENV_KAKU3_ROTATED            = 85  /* Japanese Envelope Kaku #3 Rotated */
    DMPAPER_JENV_CHOU3_ROTATED            = 86  /* Japanese Envelope Chou #3 Rotated */
    DMPAPER_JENV_CHOU4_ROTATED            = 87  /* Japanese Envelope Chou #4 Rotated */
    DMPAPER_B6_JIS                        = 88  /* B6 (JIS) 128 x 182 mm           */
    DMPAPER_B6_JIS_ROTATED                = 89  /* B6 (JIS) Rotated 182 x 128 mm   */
    DMPAPER_12X11                         = 90  /* 12 x 11 in                      */
    DMPAPER_JENV_YOU4                     = 91  /* Japanese Envelope You #4        */
    DMPAPER_JENV_YOU4_ROTATED             = 92  /* Japanese Envelope You #4 Rotated*/
    DMPAPER_P16K                          = 93  /* PRC 16K 146 x 215 mm            */
    DMPAPER_P32K                          = 94  /* PRC 32K 97 x 151 mm             */
    DMPAPER_P32KBIG                       = 95  /* PRC 32K(Big) 97 x 151 mm        */
    DMPAPER_PENV_1                        = 96  /* PRC Envelope #1 102 x 165 mm    */
    DMPAPER_PENV_2                        = 97  /* PRC Envelope #2 102 x 176 mm    */
    DMPAPER_PENV_3                        = 98  /* PRC Envelope #3 125 x 176 mm    */
    DMPAPER_PENV_4                        = 99  /* PRC Envelope #4 110 x 208 mm    */
    DMPAPER_PENV_5                        = 100 /* PRC Envelope #5 110 x 220 mm    */
    DMPAPER_PENV_6                        = 101 /* PRC Envelope #6 120 x 230 mm    */
    DMPAPER_PENV_7                        = 102 /* PRC Envelope #7 160 x 230 mm    */
    DMPAPER_PENV_8                        = 103 /* PRC Envelope #8 120 x 309 mm    */
    DMPAPER_PENV_9                        = 104 /* PRC Envelope #9 229 x 324 mm    */
    DMPAPER_PENV_10                       = 105 /* PRC Envelope #10 324 x 458 mm   */
    DMPAPER_P16K_ROTATED                  = 106 /* PRC 16K Rotated                 */
    DMPAPER_P32K_ROTATED                  = 107 /* PRC 32K Rotated                 */
    DMPAPER_P32KBIG_ROTATED               = 108 /* PRC 32K(Big) Rotated            */
    DMPAPER_PENV_1_ROTATED                = 109 /* PRC Envelope #1 Rotated 165 x 102 mm */
    DMPAPER_PENV_2_ROTATED                = 110 /* PRC Envelope #2 Rotated 176 x 102 mm */
    DMPAPER_PENV_3_ROTATED                = 111 /* PRC Envelope #3 Rotated 176 x 125 mm */
    DMPAPER_PENV_4_ROTATED                = 112 /* PRC Envelope #4 Rotated 208 x 110 mm */
    DMPAPER_PENV_5_ROTATED                = 113 /* PRC Envelope #5 Rotated 220 x 110 mm */
    DMPAPER_PENV_6_ROTATED                = 114 /* PRC Envelope #6 Rotated 230 x 120 mm */
    DMPAPER_PENV_7_ROTATED                = 115 /* PRC Envelope #7 Rotated 230 x 160 mm */
    DMPAPER_PENV_8_ROTATED                = 116 /* PRC Envelope #8 Rotated 309 x 120 mm */
    DMPAPER_PENV_9_ROTATED                = 117 /* PRC Envelope #9 Rotated 324 x 229 mm */
    DMPAPER_PENV_10_ROTATED               = 118 /* PRC Envelope #10 Rotated 458 x 324 mm */
    DMPAPER_LAST                          = DMPAPER_PENV_10_ROTATED
    DMPAPER_USER                          = 256
)

Paper sizes

const (
    DMBIN_FIRST         = DMBIN_UPPER
    DMBIN_UPPER         = 1
    DMBIN_ONLYONE       = 1
    DMBIN_LOWER         = 2
    DMBIN_MIDDLE        = 3
    DMBIN_MANUAL        = 4
    DMBIN_ENVELOPE      = 5
    DMBIN_ENVMANUAL     = 6
    DMBIN_AUTO          = 7
    DMBIN_TRACTOR       = 8
    DMBIN_SMALLFMT      = 9
    DMBIN_LARGEFMT      = 10
    DMBIN_LARGECAPACITY = 11
    DMBIN_CASSETTE      = 14
    DMBIN_FORMSOURCE    = 15
    DMBIN_LAST          = DMBIN_FORMSOURCE
    DMBIN_USER          = 256
)

Bin constants

const (
    DMRES_DRAFT  = -1
    DMRES_LOW    = -2
    DMRES_MEDIUM = -3
    DMRES_HIGH   = -4
)

Quality constants

const (
    DMCOLOR_MONOCHROME = 1
    DMCOLOR_COLOR      = 2
)

Color/monochrome constants

const (
    DMDUP_SIMPLEX    = 1
    DMDUP_VERTICAL   = 2
    DMDUP_HORIZONTAL = 3
)

Duplex constants

const (
    DMTT_BITMAP           = 1
    DMTT_DOWNLOAD         = 2
    DMTT_SUBDEV           = 3
    DMTT_DOWNLOAD_OUTLINE = 4
)

TrueType constants

const (
    DMCOLLATE_FALSE = 0
    DMCOLLATE_TRUE  = 1
)

Collation constants

const (
    TRANSPARENT = 1
    OPAQUE      = 2
)

Background modes

const (
    SRCCOPY        = 0x00CC0020
    SRCPAINT       = 0x00EE0086
    SRCAND         = 0x008800C6
    SRCINVERT      = 0x00660046
    SRCERASE       = 0x00440328
    NOTSRCCOPY     = 0x00330008
    NOTSRCERASE    = 0x001100A6
    MERGECOPY      = 0x00C000CA
    MERGEPAINT     = 0x00BB0226
    PATCOPY        = 0x00F00021
    PATPAINT       = 0x00FB0A09
    PATINVERT      = 0x005A0049
    DSTINVERT      = 0x00550009
    BLACKNESS      = 0x00000042
    WHITENESS      = 0x00FF0062
    NOMIRRORBITMAP = 0x80000000
    CAPTUREBLT     = 0x40000000
)

Ternary raster operations

const (
    BLACKONWHITE        = 1
    WHITEONBLACK        = 2
    COLORONCOLOR        = 3
    HALFTONE            = 4
    MAXSTRETCHBLTMODE   = 4
    STRETCH_ANDSCANS    = BLACKONWHITE
    STRETCH_ORSCANS     = WHITEONBLACK
    STRETCH_DELETESCANS = COLORONCOLOR
    STRETCH_HALFTONE    = HALFTONE
)

StretchBlt modes

const (
    BI_RGB       = 0
    BI_RLE8      = 1
    BI_RLE4      = 2
    BI_BITFIELDS = 3
    BI_JPEG      = 4
    BI_PNG       = 5
)

Bitmap compression constants

const (
    DIB_RGB_COLORS = 0
    DIB_PAL_COLORS = 1
)

Bitmap color table usage

const (
    /* pixel types */
    PFD_TYPE_RGBA       = 0
    PFD_TYPE_COLORINDEX = 1

    /* layer types */
    PFD_MAIN_PLANE     = 0
    PFD_OVERLAY_PLANE  = 1
    PFD_UNDERLAY_PLANE = (-1)

    /* PIXELFORMATDESCRIPTOR flags */
    PFD_DOUBLEBUFFER        = 0x00000001
    PFD_STEREO              = 0x00000002
    PFD_DRAW_TO_WINDOW      = 0x00000004
    PFD_DRAW_TO_BITMAP      = 0x00000008
    PFD_SUPPORT_GDI         = 0x00000010
    PFD_SUPPORT_OPENGL      = 0x00000020
    PFD_GENERIC_FORMAT      = 0x00000040
    PFD_NEED_PALETTE        = 0x00000080
    PFD_NEED_SYSTEM_PALETTE = 0x00000100
    PFD_SWAP_EXCHANGE       = 0x00000200
    PFD_SWAP_COPY           = 0x00000400
    PFD_SWAP_LAYER_BUFFERS  = 0x00000800
    PFD_GENERIC_ACCELERATED = 0x00001000
    PFD_SUPPORT_DIRECTDRAW  = 0x00002000

    /* PIXELFORMATDESCRIPTOR flags for use in ChoosePixelFormat only */
    PFD_DEPTH_DONTCARE        = 0x20000000
    PFD_DOUBLEBUFFER_DONTCARE = 0x40000000
    PFD_STEREO_DONTCARE       = 0x80000000
)
const (
    GRADIENT_FILL_RECT_H   = 0x00
    GRADIENT_FILL_RECT_V   = 0x01
    GRADIENT_FILL_TRIANGLE = 0x02
)

GradientFill constants

const (
    RGN_AND  = 1
    RGN_OR   = 2
    RGN_XOR  = 3
    RGN_DIFF = 4
    RGN_COPY = 5
)

Region Combine Modes

const (
    REGIONERROR   = 0
    NULLREGION    = 1
    SIMPLEREGION  = 2
    COMPLEXREGION = 3
)

Region Types

const (
    FR_PRIVATE  = 0x10
    FR_NOT_ENUM = 0x20
)

AddFontResourceEx flags

const (
    HDI_WIDTH      = 0x0001
    HDI_HEIGHT     = HDI_WIDTH
    HDI_TEXT       = 0x0002
    HDI_FORMAT     = 0x0004
    HDI_LPARAM     = 0x0008
    HDI_BITMAP     = 0x0010
    HDI_IMAGE      = 0x0020
    HDI_DI_SETITEM = 0x0040
    HDI_ORDER      = 0x0080
    HDI_FILTER     = 0x0100
    HDI_STATE      = 0x0200
)
const (
    HDF_LEFT            = 0x0000
    HDF_RIGHT           = 0x0001
    HDF_CENTER          = 0x0002
    HDF_JUSTIFYMASK     = 0x0003
    HDF_RTLREADING      = 0x0004
    HDF_CHECKBOX        = 0x0040
    HDF_CHECKED         = 0x0080
    HDF_FIXEDWIDTH      = 0x0100
    HDF_SORTDOWN        = 0x0200
    HDF_SORTUP          = 0x0400
    HDF_IMAGE           = 0x0800
    HDF_BITMAP_ON_RIGHT = 0x1000
    HDF_BITMAP          = 0x2000
    HDF_STRING          = 0x4000
    HDF_OWNERDRAW       = 0x8000
    HDF_SPLITBUTTON     = 0x1000000
)
const (
    HDM_FIRST                  = 0x1200
    HDM_GETITEMCOUNT           = HDM_FIRST + 0
    HDM_DELETEITEM             = HDM_FIRST + 2
    HDM_LAYOUT                 = HDM_FIRST + 5
    HDM_HITTEST                = HDM_FIRST + 6
    HDM_GETITEMRECT            = HDM_FIRST + 7
    HDM_SETIMAGELIST           = HDM_FIRST + 8
    HDM_GETIMAGELIST           = HDM_FIRST + 9
    HDM_INSERTITEM             = HDM_FIRST + 10
    HDM_GETITEM                = HDM_FIRST + 11
    HDM_SETITEM                = HDM_FIRST + 12
    HDM_ORDERTOINDEX           = HDM_FIRST + 15
    HDM_CREATEDRAGIMAGE        = HDM_FIRST + 16
    HDM_GETORDERARRAY          = HDM_FIRST + 17
    HDM_SETORDERARRAY          = HDM_FIRST + 18
    HDM_SETHOTDIVIDER          = HDM_FIRST + 19
    HDM_SETBITMAPMARGIN        = HDM_FIRST + 20
    HDM_GETBITMAPMARGIN        = HDM_FIRST + 21
    HDM_SETFILTERCHANGETIMEOUT = HDM_FIRST + 22
    HDM_EDITFILTER             = HDM_FIRST + 23
    HDM_CLEARFILTER            = HDM_FIRST + 24
    HDM_GETITEMDROPDOWNRECT    = HDM_FIRST + 25
    HDM_GETOVERFLOWRECT        = HDM_FIRST + 26
    HDM_GETFOCUSEDITEM         = HDM_FIRST + 27
    HDM_SETFOCUSEDITEM         = HDM_FIRST + 28
    HDM_SETUNICODEFORMAT       = CCM_SETUNICODEFORMAT
    HDM_GETUNICODEFORMAT       = CCM_GETUNICODEFORMAT
)
const (
    HHT_NOWHERE         = 0x0001
    HHT_ONHEADER        = 0x0002
    HHT_ONDIVIDER       = 0x0004
    HHT_ONDIVOPEN       = 0x0008
    HHT_ONFILTER        = 0x0010
    HHT_ONFILTERBUTTON  = 0x0020
    HHT_ABOVE           = 0x0100
    HHT_BELOW           = 0x0200
    HHT_TORIGHT         = 0x0400
    HHT_TOLEFT          = 0x0800
    HHT_ONITEMSTATEICON = 0x1000
    HHT_ONDROPDOWN      = 0x2000
    HHT_ONOVERFLOW      = 0x4000
)
const (
    HDN_FIRST              = ^uint32(300)
    HDN_BEGINDRAG          = HDN_FIRST - 10
    HDN_ENDDRAG            = HDN_FIRST - 11
    HDN_FILTERCHANGE       = HDN_FIRST - 12
    HDN_FILTERBTNCLICK     = HDN_FIRST - 13
    HDN_BEGINFILTEREDIT    = HDN_FIRST - 14
    HDN_ENDFILTEREDIT      = HDN_FIRST - 15
    HDN_ITEMSTATEICONCLICK = HDN_FIRST - 16
    HDN_ITEMKEYDOWN        = HDN_FIRST - 17
    HDN_DROPDOWN           = HDN_FIRST - 18
    HDN_OVERFLOWCLICK      = HDN_FIRST - 19
    HDN_ITEMCHANGING       = HDN_FIRST - 20
    HDN_ITEMCHANGED        = HDN_FIRST - 21
    HDN_ITEMCLICK          = HDN_FIRST - 22
    HDN_ITEMDBLCLICK       = HDN_FIRST - 23
    HDN_DIVIDERDBLCLICK    = HDN_FIRST - 25
    HDN_BEGINTRACK         = HDN_FIRST - 26
    HDN_ENDTRACK           = HDN_FIRST - 27
    HDN_TRACK              = HDN_FIRST - 28
    HDN_GETDISPINFO        = HDN_FIRST - 29
)
const (
    ERROR_SUCCESS             = 0
    ERROR_INVALID_FUNCTION    = 1
    ERROR_FILE_NOT_FOUND      = 2
    ERROR_INVALID_PARAMETER   = 87
    ERROR_INSUFFICIENT_BUFFER = 122
    ERROR_MORE_DATA           = 234
)

Error codes

const (
    GHND          = 0x0042
    GMEM_FIXED    = 0x0000
    GMEM_MOVEABLE = 0x0002
    GMEM_ZEROINIT = 0x0040
    GPTR          = 0x004
)

GlobalAlloc flags

const (
    LBS_NOTIFY            = 0x0001
    LBS_SORT              = 0x0002
    LBS_NOREDRAW          = 0x0004
    LBS_MULTIPLESEL       = 0x0008
    LBS_OWNERDRAWFIXED    = 0x0010
    LBS_OWNERDRAWVARIABLE = 0x0020
    LBS_HASSTRINGS        = 0x0040
    LBS_USETABSTOPS       = 0x0080
    LBS_NOINTEGRALHEIGHT  = 0x0100
    LBS_MULTICOLUMN       = 0x0200
    LBS_WANTKEYBOARDINPUT = 0x0400
    LBS_EXTENDEDSEL       = 0x0800
    LBS_DISABLENOSCROLL   = 0x1000
    LBS_NODATA            = 0x2000
    LBS_NOSEL             = 0x4000
    LBS_COMBOBOX          = 0x8000
    LBS_STANDARD          = LBS_NOTIFY | LBS_SORT | WS_BORDER | WS_VSCROLL
)

ListBox style

const (
    LB_ADDSTRING           = 0x0180
    LB_INSERTSTRING        = 0x0181
    LB_DELETESTRING        = 0x0182
    LB_SELITEMRANGEEX      = 0x0183
    LB_RESETCONTENT        = 0x0184
    LB_SETSEL              = 0x0185
    LB_SETCURSEL           = 0x0186
    LB_GETSEL              = 0x0187
    LB_GETCURSEL           = 0x0188
    LB_GETTEXT             = 0x0189
    LB_GETTEXTLEN          = 0x018A
    LB_GETCOUNT            = 0x018B
    LB_SELECTSTRING        = 0x018C
    LB_DIR                 = 0x018D
    LB_GETTOPINDEX         = 0x018E
    LB_FINDSTRING          = 0x018F
    LB_GETSELCOUNT         = 0x0190
    LB_GETSELITEMS         = 0x0191
    LB_SETTABSTOPS         = 0x0192
    LB_GETHORIZONTALEXTENT = 0x0193
    LB_SETHORIZONTALEXTENT = 0x0194
    LB_SETCOLUMNWIDTH      = 0x0195
    LB_ADDFILE             = 0x0196
    LB_SETTOPINDEX         = 0x0197
    LB_GETITEMRECT         = 0x0198
    LB_GETITEMDATA         = 0x0199
    LB_SETITEMDATA         = 0x019A
    LB_SELITEMRANGE        = 0x019B
    LB_SETANCHORINDEX      = 0x019C
    LB_GETANCHORINDEX      = 0x019D
    LB_SETCARETINDEX       = 0x019E
    LB_GETCARETINDEX       = 0x019F
    LB_SETITEMHEIGHT       = 0x01A0
    LB_GETITEMHEIGHT       = 0x01A1
    LB_FINDSTRINGEXACT     = 0x01A2
    LB_SETLOCALE           = 0x01A5
    LB_GETLOCALE           = 0x01A6
    LB_SETCOUNT            = 0x01A7
    LB_INITSTORAGE         = 0x01A8
    LB_ITEMFROMPOINT       = 0x01A9
    LB_MULTIPLEADDSTRING   = 0x01B1
)

ListBox messages

const (
    LBN_ERRSPACE  = -2
    LBN_SELCHANGE = 1
    LBN_DBLCLK    = 2
    LBN_SELCANCEL = 3
    LBN_SETFOCUS  = 4
    LBN_KILLFOCUS = 5
)

Listbox Notification Codes

const (
    LB_ERR      = -1
    LB_ERRSPACE = -2
)
const (
    LVSCW_AUTOSIZE           = ^uintptr(0)
    LVSCW_AUTOSIZE_USEHEADER = ^uintptr(1)
)
const (
    LVSICF_NOINVALIDATEALL = 0x0001
    LVSICF_NOSCROLL        = 0x0002
)

LVM_SETITEMCOUNT flags

const (
    LVM_FIRST                    = 0x1000
    LVM_SETIMAGELIST             = LVM_FIRST + 3
    LVM_GETITEM                  = LVM_FIRST + 75
    LVM_SETITEM                  = LVM_FIRST + 76
    LVM_INSERTITEM               = LVM_FIRST + 77
    LVM_DELETEITEM               = LVM_FIRST + 8
    LVM_DELETEALLITEMS           = LVM_FIRST + 9
    LVM_GETCALLBACKMASK          = LVM_FIRST + 10
    LVM_SETCALLBACKMASK          = LVM_FIRST + 11
    LVM_GETNEXTITEM              = LVM_FIRST + 12
    LVM_FINDITEM                 = LVM_FIRST + 83
    LVM_GETITEMRECT              = LVM_FIRST + 14
    LVM_GETSTRINGWIDTH           = LVM_FIRST + 87
    LVM_HITTEST                  = LVM_FIRST + 18
    LVM_ENSUREVISIBLE            = LVM_FIRST + 19
    LVM_SCROLL                   = LVM_FIRST + 20
    LVM_REDRAWITEMS              = LVM_FIRST + 21
    LVM_ARRANGE                  = LVM_FIRST + 22
    LVM_EDITLABEL                = LVM_FIRST + 118
    LVM_GETEDITCONTROL           = LVM_FIRST + 24
    LVM_GETCOLUMN                = LVM_FIRST + 95
    LVM_SETCOLUMN                = LVM_FIRST + 96
    LVM_INSERTCOLUMN             = LVM_FIRST + 97
    LVM_DELETECOLUMN             = LVM_FIRST + 28
    LVM_GETCOLUMNWIDTH           = LVM_FIRST + 29
    LVM_SETCOLUMNWIDTH           = LVM_FIRST + 30
    LVM_GETHEADER                = LVM_FIRST + 31
    LVM_CREATEDRAGIMAGE          = LVM_FIRST + 33
    LVM_GETVIEWRECT              = LVM_FIRST + 34
    LVM_GETTEXTCOLOR             = LVM_FIRST + 35
    LVM_SETTEXTCOLOR             = LVM_FIRST + 36
    LVM_GETTEXTBKCOLOR           = LVM_FIRST + 37
    LVM_SETTEXTBKCOLOR           = LVM_FIRST + 38
    LVM_GETTOPINDEX              = LVM_FIRST + 39
    LVM_GETCOUNTPERPAGE          = LVM_FIRST + 40
    LVM_GETORIGIN                = LVM_FIRST + 41
    LVM_UPDATE                   = LVM_FIRST + 42
    LVM_SETITEMSTATE             = LVM_FIRST + 43
    LVM_GETITEMSTATE             = LVM_FIRST + 44
    LVM_GETITEMTEXT              = LVM_FIRST + 115
    LVM_SETITEMTEXT              = LVM_FIRST + 116
    LVM_SETITEMCOUNT             = LVM_FIRST + 47
    LVM_SORTITEMS                = LVM_FIRST + 48
    LVM_SETITEMPOSITION32        = LVM_FIRST + 49
    LVM_GETSELECTEDCOUNT         = LVM_FIRST + 50
    LVM_GETITEMSPACING           = LVM_FIRST + 51
    LVM_GETISEARCHSTRING         = LVM_FIRST + 117
    LVM_SETICONSPACING           = LVM_FIRST + 53
    LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54
    LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 55
    LVM_GETSUBITEMRECT           = LVM_FIRST + 56
    LVM_SUBITEMHITTEST           = LVM_FIRST + 57
    LVM_SETCOLUMNORDERARRAY      = LVM_FIRST + 58
    LVM_GETCOLUMNORDERARRAY      = LVM_FIRST + 59
    LVM_SETHOTITEM               = LVM_FIRST + 60
    LVM_GETHOTITEM               = LVM_FIRST + 61
    LVM_SETHOTCURSOR             = LVM_FIRST + 62
    LVM_GETHOTCURSOR             = LVM_FIRST + 63
    LVM_APPROXIMATEVIEWRECT      = LVM_FIRST + 64
    LVM_SETWORKAREAS             = LVM_FIRST + 65
    LVM_GETWORKAREAS             = LVM_FIRST + 70
    LVM_GETNUMBEROFWORKAREAS     = LVM_FIRST + 73
    LVM_GETSELECTIONMARK         = LVM_FIRST + 66
    LVM_SETSELECTIONMARK         = LVM_FIRST + 67
    LVM_SETHOVERTIME             = LVM_FIRST + 71
    LVM_GETHOVERTIME             = LVM_FIRST + 72
    LVM_SETTOOLTIPS              = LVM_FIRST + 74
    LVM_GETTOOLTIPS              = LVM_FIRST + 78
    LVM_SORTITEMSEX              = LVM_FIRST + 81
    LVM_SETBKIMAGE               = LVM_FIRST + 138
    LVM_GETBKIMAGE               = LVM_FIRST + 139
    LVM_SETSELECTEDCOLUMN        = LVM_FIRST + 140
    LVM_SETVIEW                  = LVM_FIRST + 142
    LVM_GETVIEW                  = LVM_FIRST + 143
    LVM_INSERTGROUP              = LVM_FIRST + 145
    LVM_SETGROUPINFO             = LVM_FIRST + 147
    LVM_GETGROUPINFO             = LVM_FIRST + 149
    LVM_REMOVEGROUP              = LVM_FIRST + 150
    LVM_MOVEGROUP                = LVM_FIRST + 151
    LVM_GETGROUPCOUNT            = LVM_FIRST + 152
    LVM_GETGROUPINFOBYINDEX      = LVM_FIRST + 153
    LVM_MOVEITEMTOGROUP          = LVM_FIRST + 154
    LVM_GETGROUPRECT             = LVM_FIRST + 98
    LVM_SETGROUPMETRICS          = LVM_FIRST + 155
    LVM_GETGROUPMETRICS          = LVM_FIRST + 156
    LVM_ENABLEGROUPVIEW          = LVM_FIRST + 157
    LVM_SORTGROUPS               = LVM_FIRST + 158
    LVM_INSERTGROUPSORTED        = LVM_FIRST + 159
    LVM_REMOVEALLGROUPS          = LVM_FIRST + 160
    LVM_HASGROUP                 = LVM_FIRST + 161
    LVM_GETGROUPSTATE            = LVM_FIRST + 92
    LVM_GETFOCUSEDGROUP          = LVM_FIRST + 93
    LVM_SETTILEVIEWINFO          = LVM_FIRST + 162
    LVM_GETTILEVIEWINFO          = LVM_FIRST + 163
    LVM_SETTILEINFO              = LVM_FIRST + 164
    LVM_GETTILEINFO              = LVM_FIRST + 165
    LVM_SETINSERTMARK            = LVM_FIRST + 166
    LVM_GETINSERTMARK            = LVM_FIRST + 167
    LVM_INSERTMARKHITTEST        = LVM_FIRST + 168
    LVM_GETINSERTMARKRECT        = LVM_FIRST + 169
    LVM_SETINSERTMARKCOLOR       = LVM_FIRST + 170
    LVM_GETINSERTMARKCOLOR       = LVM_FIRST + 171
    LVM_SETINFOTIP               = LVM_FIRST + 173
    LVM_GETSELECTEDCOLUMN        = LVM_FIRST + 174
    LVM_ISGROUPVIEWENABLED       = LVM_FIRST + 175
    LVM_GETOUTLINECOLOR          = LVM_FIRST + 176
    LVM_SETOUTLINECOLOR          = LVM_FIRST + 177
    LVM_CANCELEDITLABEL          = LVM_FIRST + 179
    LVM_MAPINDEXTOID             = LVM_FIRST + 180
    LVM_MAPIDTOINDEX             = LVM_FIRST + 181
    LVM_ISITEMVISIBLE            = LVM_FIRST + 182
    LVM_GETNEXTITEMINDEX         = LVM_FIRST + 211
)

ListView messages

const (
    LVN_FIRST = ^uint32(99) // -100

    LVN_ITEMCHANGING      = LVN_FIRST - 0
    LVN_ITEMCHANGED       = LVN_FIRST - 1
    LVN_INSERTITEM        = LVN_FIRST - 2
    LVN_DELETEITEM        = LVN_FIRST - 3
    LVN_DELETEALLITEMS    = LVN_FIRST - 4
    LVN_BEGINLABELEDIT    = LVN_FIRST - 75
    LVN_ENDLABELEDIT      = LVN_FIRST - 76
    LVN_COLUMNCLICK       = LVN_FIRST - 8
    LVN_BEGINDRAG         = LVN_FIRST - 9
    LVN_BEGINRDRAG        = LVN_FIRST - 11
    LVN_ODCACHEHINT       = LVN_FIRST - 13
    LVN_ODFINDITEM        = LVN_FIRST - 79
    LVN_ITEMACTIVATE      = LVN_FIRST - 14
    LVN_ODSTATECHANGED    = LVN_FIRST - 15
    LVN_HOTTRACK          = LVN_FIRST - 21
    LVN_GETDISPINFO       = LVN_FIRST - 77
    LVN_SETDISPINFO       = LVN_FIRST - 78
    LVN_KEYDOWN           = LVN_FIRST - 55
    LVN_MARQUEEBEGIN      = LVN_FIRST - 56
    LVN_GETINFOTIP        = LVN_FIRST - 58
    LVN_INCREMENTALSEARCH = LVN_FIRST - 63
    LVN_BEGINSCROLL       = LVN_FIRST - 80
    LVN_ENDSCROLL         = LVN_FIRST - 81
)

ListView notifications

const (
    LVNI_ALL         = 0
    LVNI_FOCUSED     = 1
    LVNI_SELECTED    = 2
    LVNI_CUT         = 4
    LVNI_DROPHILITED = 8
    LVNI_ABOVE       = 256
    LVNI_BELOW       = 512
    LVNI_TOLEFT      = 1024
    LVNI_TORIGHT     = 2048
)

ListView LVNI constants

const (
    LVS_ICON            = 0x0000
    LVS_REPORT          = 0x0001
    LVS_SMALLICON       = 0x0002
    LVS_LIST            = 0x0003
    LVS_TYPEMASK        = 0x0003
    LVS_SINGLESEL       = 0x0004
    LVS_SHOWSELALWAYS   = 0x0008
    LVS_SORTASCENDING   = 0x0010
    LVS_SORTDESCENDING  = 0x0020
    LVS_SHAREIMAGELISTS = 0x0040
    LVS_NOLABELWRAP     = 0x0080
    LVS_AUTOARRANGE     = 0x0100
    LVS_EDITLABELS      = 0x0200
    LVS_OWNERDATA       = 0x1000
    LVS_NOSCROLL        = 0x2000
    LVS_TYPESTYLEMASK   = 0xfc00
    LVS_ALIGNTOP        = 0x0000
    LVS_ALIGNLEFT       = 0x0800
    LVS_ALIGNMASK       = 0x0c00
    LVS_OWNERDRAWFIXED  = 0x0400
    LVS_NOCOLUMNHEADER  = 0x4000
    LVS_NOSORTHEADER    = 0x8000
)

ListView styles

const (
    LVS_EX_GRIDLINES        = 0x00000001
    LVS_EX_SUBITEMIMAGES    = 0x00000002
    LVS_EX_CHECKBOXES       = 0x00000004
    LVS_EX_TRACKSELECT      = 0x00000008
    LVS_EX_HEADERDRAGDROP   = 0x00000010
    LVS_EX_FULLROWSELECT    = 0x00000020
    LVS_EX_ONECLICKACTIVATE = 0x00000040
    LVS_EX_TWOCLICKACTIVATE = 0x00000080
    LVS_EX_FLATSB           = 0x00000100
    LVS_EX_REGIONAL         = 0x00000200
    LVS_EX_INFOTIP          = 0x00000400
    LVS_EX_UNDERLINEHOT     = 0x00000800
    LVS_EX_UNDERLINECOLD    = 0x00001000
    LVS_EX_MULTIWORKAREAS   = 0x00002000
    LVS_EX_LABELTIP         = 0x00004000
    LVS_EX_BORDERSELECT     = 0x00008000
    LVS_EX_DOUBLEBUFFER     = 0x00010000
    LVS_EX_HIDELABELS       = 0x00020000
    LVS_EX_SINGLEROW        = 0x00040000
    LVS_EX_SNAPTOGRID       = 0x00080000
    LVS_EX_SIMPLESELECT     = 0x00100000
)

ListView extended styles

const (
    LVCF_FMT     = 0x0001
    LVCF_WIDTH   = 0x0002
    LVCF_TEXT    = 0x0004
    LVCF_SUBITEM = 0x0008
    LVCF_IMAGE   = 0x0010
    LVCF_ORDER   = 0x0020
)

ListView column flags

const (
    LVCFMT_LEFT            = 0x0000
    LVCFMT_RIGHT           = 0x0001
    LVCFMT_CENTER          = 0x0002
    LVCFMT_JUSTIFYMASK     = 0x0003
    LVCFMT_IMAGE           = 0x0800
    LVCFMT_BITMAP_ON_RIGHT = 0x1000
    LVCFMT_COL_HAS_IMAGES  = 0x8000
)

ListView column format constants

const (
    LVIF_TEXT        = 0x00000001
    LVIF_IMAGE       = 0x00000002
    LVIF_PARAM       = 0x00000004
    LVIF_STATE       = 0x00000008
    LVIF_INDENT      = 0x00000010
    LVIF_NORECOMPUTE = 0x00000800
    LVIF_GROUPID     = 0x00000100
    LVIF_COLUMNS     = 0x00000200
)

ListView item flags

const (
    LVIS_FOCUSED        = 1
    LVIS_SELECTED       = 2
    LVIS_CUT            = 4
    LVIS_DROPHILITED    = 8
    LVIS_OVERLAYMASK    = 0xF00
    LVIS_STATEIMAGEMASK = 0xF000
)

ListView item states

const (
    LVHT_NOWHERE         = 0x00000001
    LVHT_ONITEMICON      = 0x00000002
    LVHT_ONITEMLABEL     = 0x00000004
    LVHT_ONITEMSTATEICON = 0x00000008
    LVHT_ONITEM          = LVHT_ONITEMICON | LVHT_ONITEMLABEL | LVHT_ONITEMSTATEICON

    LVHT_ABOVE   = 0x00000008
    LVHT_BELOW   = 0x00000010
    LVHT_TORIGHT = 0x00000020
    LVHT_TOLEFT  = 0x00000040
)

ListView hit test constants

const (
    LVSIL_NORMAL      = 0
    LVSIL_SMALL       = 1
    LVSIL_STATE       = 2
    LVSIL_GROUPHEADER = 3
)

ListView image list types

const (
    MIIM_STATE      = 1
    MIIM_ID         = 2
    MIIM_SUBMENU    = 4
    MIIM_CHECKMARKS = 8
    MIIM_TYPE       = 16
    MIIM_DATA       = 32
    MIIM_STRING     = 64
    MIIM_BITMAP     = 128
    MIIM_FTYPE      = 256
)

Constants for MENUITEMINFO.fMask

const (
    MFT_BITMAP       = 4
    MFT_MENUBARBREAK = 32
    MFT_MENUBREAK    = 64
    MFT_OWNERDRAW    = 256
    MFT_RADIOCHECK   = 512
    MFT_RIGHTJUSTIFY = 0x4000
    MFT_SEPARATOR    = 0x800
    MFT_RIGHTORDER   = 0x2000
    MFT_STRING       = 0
)

Constants for MENUITEMINFO.fType

const (
    MFS_CHECKED   = 8
    MFS_DEFAULT   = 4096
    MFS_DISABLED  = 3
    MFS_ENABLED   = 0
    MFS_GRAYED    = 3
    MFS_HILITE    = 128
    MFS_UNCHECKED = 0
    MFS_UNHILITE  = 0
)

Constants for MENUITEMINFO.fState

const (
    HBMMENU_CALLBACK        = -1
    HBMMENU_SYSTEM          = 1
    HBMMENU_MBAR_RESTORE    = 2
    HBMMENU_MBAR_MINIMIZE   = 3
    HBMMENU_MBAR_CLOSE      = 5
    HBMMENU_MBAR_CLOSE_D    = 6
    HBMMENU_MBAR_MINIMIZE_D = 7
    HBMMENU_POPUP_CLOSE     = 8
    HBMMENU_POPUP_RESTORE   = 9
    HBMMENU_POPUP_MAXIMIZE  = 10
    HBMMENU_POPUP_MINIMIZE  = 11
)

Constants for MENUITEMINFO.hbmp*

const (
    MIM_APPLYTOSUBMENUS = 0x80000000
    MIM_BACKGROUND      = 0x00000002
    MIM_HELPID          = 0x00000004
    MIM_MAXHEIGHT       = 0x00000001
    MIM_MENUDATA        = 0x00000008
    MIM_STYLE           = 0x00000010
)

MENUINFO mask constants

const (
    MNS_AUTODISMISS = 0x10000000
    MNS_CHECKORBMP  = 0x04000000
    MNS_DRAGDROP    = 0x20000000
    MNS_MODELESS    = 0x40000000
    MNS_NOCHECK     = 0x80000000
    MNS_NOTIFYBYPOS = 0x08000000
)

MENUINFO style constants

const (
    MF_BYCOMMAND  = 0x00000000
    MF_BYPOSITION = 0x00000400
)
const (
    CLSCTX_INPROC_SERVER          = 0x1
    CLSCTX_INPROC_HANDLER         = 0x2
    CLSCTX_LOCAL_SERVER           = 0x4
    CLSCTX_INPROC_SERVER16        = 0x8
    CLSCTX_REMOTE_SERVER          = 0x10
    CLSCTX_INPROC_HANDLER16       = 0x20
    CLSCTX_RESERVED1              = 0x40
    CLSCTX_RESERVED2              = 0x80
    CLSCTX_RESERVED3              = 0x100
    CLSCTX_RESERVED4              = 0x200
    CLSCTX_NO_CODE_DOWNLOAD       = 0x400
    CLSCTX_RESERVED5              = 0x800
    CLSCTX_NO_CUSTOM_MARSHAL      = 0x1000
    CLSCTX_ENABLE_CODE_DOWNLOAD   = 0x2000
    CLSCTX_NO_FAILURE_LOG         = 0x4000
    CLSCTX_DISABLE_AAA            = 0x8000
    CLSCTX_ENABLE_AAA             = 0x10000
    CLSCTX_FROM_DEFAULT_CONTEXT   = 0x20000
    CLSCTX_ACTIVATE_32_BIT_SERVER = 0x40000
    CLSCTX_ACTIVATE_64_BIT_SERVER = 0x80000
    CLSCTX_ENABLE_CLOAKING        = 0x100000
    CLSCTX_PS_DLL                 = 0x80000000
    CLSCTX_ALL                    = CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER
)
const (
    OLEIVERB_PRIMARY          = 0
    OLEIVERB_SHOW             = -1
    OLEIVERB_OPEN             = -2
    OLEIVERB_HIDE             = -3
    OLEIVERB_UIACTIVATE       = -4
    OLEIVERB_INPLACEACTIVATE  = -5
    OLEIVERB_DISCARDUNDOSTATE = -6
)

Verbs for IOleObject.DoVerb

const (
    OLECLOSE_SAVEIFDIRTY = 0
    OLECLOSE_NOSAVE      = 1
    OLECLOSE_PROMPTSAVE  = 2
)

OLECLOSE constants

const (
    CSC_UPDATECOMMANDS  = ^0x0
    CSC_NAVIGATEFORWARD = 0x1
    CSC_NAVIGATEBACK    = 0x2
)
const (
    WGL_SWAP_MAIN_PLANE = (1 << 0)
    WGL_SWAP_OVERLAY1   = (1 << 1)
    WGL_SWAP_OVERLAY2   = (1 << 2)
    WGL_SWAP_OVERLAY3   = (1 << 3)
    WGL_SWAP_OVERLAY4   = (1 << 4)
    WGL_SWAP_OVERLAY5   = (1 << 5)
    WGL_SWAP_OVERLAY6   = (1 << 6)
    WGL_SWAP_OVERLAY7   = (1 << 7)
    WGL_SWAP_OVERLAY8   = (1 << 8)
    WGL_SWAP_OVERLAY9   = (1 << 9)
    WGL_SWAP_OVERLAY10  = (1 << 10)
    WGL_SWAP_OVERLAY11  = (1 << 11)
    WGL_SWAP_OVERLAY12  = (1 << 12)
    WGL_SWAP_OVERLAY13  = (1 << 13)
    WGL_SWAP_OVERLAY14  = (1 << 14)
    WGL_SWAP_OVERLAY15  = (1 << 15)
    WGL_SWAP_UNDERLAY1  = (1 << 16)
    WGL_SWAP_UNDERLAY2  = (1 << 17)
    WGL_SWAP_UNDERLAY3  = (1 << 18)
    WGL_SWAP_UNDERLAY4  = (1 << 19)
    WGL_SWAP_UNDERLAY5  = (1 << 20)
    WGL_SWAP_UNDERLAY6  = (1 << 21)
    WGL_SWAP_UNDERLAY7  = (1 << 22)
    WGL_SWAP_UNDERLAY8  = (1 << 23)
    WGL_SWAP_UNDERLAY9  = (1 << 24)
    WGL_SWAP_UNDERLAY10 = (1 << 25)
    WGL_SWAP_UNDERLAY11 = (1 << 26)
    WGL_SWAP_UNDERLAY12 = (1 << 27)
    WGL_SWAP_UNDERLAY13 = (1 << 28)
    WGL_SWAP_UNDERLAY14 = (1 << 29)
    WGL_SWAP_UNDERLAY15 = (1 << 30)
)

for second parameter of WglSwapLayerBuffers

const (
    PDH_CSTATUS_VALID_DATA                     = 0x00000000 // The returned data is valid.
    PDH_CSTATUS_NEW_DATA                       = 0x00000001 // The return data value is valid and different from the last sample.
    PDH_CSTATUS_NO_MACHINE                     = 0x800007D0 // Unable to connect to the specified computer, or the computer is offline.
    PDH_CSTATUS_NO_INSTANCE                    = 0x800007D1
    PDH_MORE_DATA                              = 0x800007D2 // The PdhGetFormattedCounterArray* function can return this if there's 'more data to be displayed'.
    PDH_CSTATUS_ITEM_NOT_VALIDATED             = 0x800007D3
    PDH_RETRY                                  = 0x800007D4
    PDH_NO_DATA                                = 0x800007D5 // The query does not currently contain any counters (for example, limited access)
    PDH_CALC_NEGATIVE_DENOMINATOR              = 0x800007D6
    PDH_CALC_NEGATIVE_TIMEBASE                 = 0x800007D7
    PDH_CALC_NEGATIVE_VALUE                    = 0x800007D8
    PDH_DIALOG_CANCELLED                       = 0x800007D9
    PDH_END_OF_LOG_FILE                        = 0x800007DA
    PDH_ASYNC_QUERY_TIMEOUT                    = 0x800007DB
    PDH_CANNOT_SET_DEFAULT_REALTIME_DATASOURCE = 0x800007DC
    PDH_CSTATUS_NO_OBJECT                      = 0xC0000BB8
    PDH_CSTATUS_NO_COUNTER                     = 0xC0000BB9 // The specified counter could not be found.
    PDH_CSTATUS_INVALID_DATA                   = 0xC0000BBA // The counter was successfully found, but the data returned is not valid.
    PDH_MEMORY_ALLOCATION_FAILURE              = 0xC0000BBB
    PDH_INVALID_HANDLE                         = 0xC0000BBC
    PDH_INVALID_ARGUMENT                       = 0xC0000BBD // Required argument is missing or incorrect.
    PDH_FUNCTION_NOT_FOUND                     = 0xC0000BBE
    PDH_CSTATUS_NO_COUNTERNAME                 = 0xC0000BBF
    PDH_CSTATUS_BAD_COUNTERNAME                = 0xC0000BC0 // Unable to parse the counter path. Check the format and syntax of the specified path.
    PDH_INVALID_BUFFER                         = 0xC0000BC1
    PDH_INSUFFICIENT_BUFFER                    = 0xC0000BC2
    PDH_CANNOT_CONNECT_MACHINE                 = 0xC0000BC3
    PDH_INVALID_PATH                           = 0xC0000BC4
    PDH_INVALID_INSTANCE                       = 0xC0000BC5
    PDH_INVALID_DATA                           = 0xC0000BC6 // specified counter does not contain valid data or a successful status code.
    PDH_NO_DIALOG_DATA                         = 0xC0000BC7
    PDH_CANNOT_READ_NAME_STRINGS               = 0xC0000BC8
    PDH_LOG_FILE_CREATE_ERROR                  = 0xC0000BC9
    PDH_LOG_FILE_OPEN_ERROR                    = 0xC0000BCA
    PDH_LOG_TYPE_NOT_FOUND                     = 0xC0000BCB
    PDH_NO_MORE_DATA                           = 0xC0000BCC
    PDH_ENTRY_NOT_IN_LOG_FILE                  = 0xC0000BCD
    PDH_DATA_SOURCE_IS_LOG_FILE                = 0xC0000BCE
    PDH_DATA_SOURCE_IS_REAL_TIME               = 0xC0000BCF
    PDH_UNABLE_READ_LOG_HEADER                 = 0xC0000BD0
    PDH_FILE_NOT_FOUND                         = 0xC0000BD1
    PDH_FILE_ALREADY_EXISTS                    = 0xC0000BD2
    PDH_NOT_IMPLEMENTED                        = 0xC0000BD3
    PDH_STRING_NOT_FOUND                       = 0xC0000BD4
    PDH_UNABLE_MAP_NAME_FILES                  = 0x80000BD5
    PDH_UNKNOWN_LOG_FORMAT                     = 0xC0000BD6
    PDH_UNKNOWN_LOGSVC_COMMAND                 = 0xC0000BD7
    PDH_LOGSVC_QUERY_NOT_FOUND                 = 0xC0000BD8
    PDH_LOGSVC_NOT_OPENED                      = 0xC0000BD9
    PDH_WBEM_ERROR                             = 0xC0000BDA
    PDH_ACCESS_DENIED                          = 0xC0000BDB
    PDH_LOG_FILE_TOO_SMALL                     = 0xC0000BDC
    PDH_INVALID_DATASOURCE                     = 0xC0000BDD
    PDH_INVALID_SQLDB                          = 0xC0000BDE
    PDH_NO_COUNTERS                            = 0xC0000BDF
    PDH_SQL_ALLOC_FAILED                       = 0xC0000BE0
    PDH_SQL_ALLOCCON_FAILED                    = 0xC0000BE1
    PDH_SQL_EXEC_DIRECT_FAILED                 = 0xC0000BE2
    PDH_SQL_FETCH_FAILED                       = 0xC0000BE3
    PDH_SQL_ROWCOUNT_FAILED                    = 0xC0000BE4
    PDH_SQL_MORE_RESULTS_FAILED                = 0xC0000BE5
    PDH_SQL_CONNECT_FAILED                     = 0xC0000BE6
    PDH_SQL_BIND_FAILED                        = 0xC0000BE7
    PDH_CANNOT_CONNECT_WMI_SERVER              = 0xC0000BE8
    PDH_PLA_COLLECTION_ALREADY_RUNNING         = 0xC0000BE9
    PDH_PLA_ERROR_SCHEDULE_OVERLAP             = 0xC0000BEA
    PDH_PLA_COLLECTION_NOT_FOUND               = 0xC0000BEB
    PDH_PLA_ERROR_SCHEDULE_ELAPSED             = 0xC0000BEC
    PDH_PLA_ERROR_NOSTART                      = 0xC0000BED
    PDH_PLA_ERROR_ALREADY_EXISTS               = 0xC0000BEE
    PDH_PLA_ERROR_TYPE_MISMATCH                = 0xC0000BEF
    PDH_PLA_ERROR_FILEPATH                     = 0xC0000BF0
    PDH_PLA_SERVICE_ERROR                      = 0xC0000BF1
    PDH_PLA_VALIDATION_ERROR                   = 0xC0000BF2
    PDH_PLA_VALIDATION_WARNING                 = 0x80000BF3
    PDH_PLA_ERROR_NAME_TOO_LONG                = 0xC0000BF4
    PDH_INVALID_SQL_LOG_FORMAT                 = 0xC0000BF5
    PDH_COUNTER_ALREADY_IN_QUERY               = 0xC0000BF6
    PDH_BINARY_LOG_CORRUPT                     = 0xC0000BF7
    PDH_LOG_SAMPLE_TOO_SMALL                   = 0xC0000BF8
    PDH_OS_LATER_VERSION                       = 0xC0000BF9
    PDH_OS_EARLIER_VERSION                     = 0xC0000BFA
    PDH_INCORRECT_APPEND_TIME                  = 0xC0000BFB
    PDH_UNMATCHED_APPEND_COUNTER               = 0xC0000BFC
    PDH_SQL_ALTER_DETAIL_FAILED                = 0xC0000BFD
    PDH_QUERY_PERF_DATA_TIMEOUT                = 0xC0000BFE
)

PDH error codes, which can be returned by all Pdh* functions. Taken from mingw-w64 pdhmsg.h

const (
    PDH_FMT_RAW          = 0x00000010
    PDH_FMT_ANSI         = 0x00000020
    PDH_FMT_UNICODE      = 0x00000040
    PDH_FMT_LONG         = 0x00000100 // Return data as a long int.
    PDH_FMT_DOUBLE       = 0x00000200 // Return data as a double precision floating point real.
    PDH_FMT_LARGE        = 0x00000400 // Return data as a 64 bit integer.
    PDH_FMT_NOSCALE      = 0x00001000 // can be OR-ed: Do not apply the counter's default scaling factor.
    PDH_FMT_1000         = 0x00002000 // can be OR-ed: multiply the actual value by 1,000.
    PDH_FMT_NODATA       = 0x00004000 // can be OR-ed: unknown what this is for, MSDN says nothing.
    PDH_FMT_NOCAP100     = 0x00008000 // can be OR-ed: do not cap values > 100.
    PERF_DETAIL_COSTLY   = 0x00010000
    PERF_DETAIL_STANDARD = 0x0000FFFF
)

Formatting options for GetFormattedCounterValue().

const (
    DOCHOSTUIDBLCLK_DEFAULT        = 0
    DOCHOSTUIDBLCLK_SHOWPROPERTIES = 1
    DOCHOSTUIDBLCLK_SHOWCODE       = 2
)
const (
    DOCHOSTUIFLAG_DIALOG                     = 0x1
    DOCHOSTUIFLAG_DISABLE_HELP_MENU          = 0x2
    DOCHOSTUIFLAG_NO3DBORDER                 = 0x4
    DOCHOSTUIFLAG_SCROLL_NO                  = 0x8
    DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE    = 0x10
    DOCHOSTUIFLAG_OPENNEWWIN                 = 0x20
    DOCHOSTUIFLAG_DISABLE_OFFSCREEN          = 0x40
    DOCHOSTUIFLAG_FLAT_SCROLLBAR             = 0x80
    DOCHOSTUIFLAG_DIV_BLOCKDEFAULT           = 0x100
    DOCHOSTUIFLAG_ACTIVATE_CLIENTHIT_ONLY    = 0x200
    DOCHOSTUIFLAG_OVERRIDEBEHAVIORFACTORY    = 0x400
    DOCHOSTUIFLAG_CODEPAGELINKEDFONTS        = 0x800
    DOCHOSTUIFLAG_URL_ENCODING_DISABLE_UTF8  = 0x1000
    DOCHOSTUIFLAG_URL_ENCODING_ENABLE_UTF8   = 0x2000
    DOCHOSTUIFLAG_ENABLE_FORMS_AUTOCOMPLETE  = 0x4000
    DOCHOSTUIFLAG_ENABLE_INPLACE_NAVIGATION  = 0x10000
    DOCHOSTUIFLAG_IME_ENABLE_RECONVERSION    = 0x20000
    DOCHOSTUIFLAG_THEME                      = 0x40000
    DOCHOSTUIFLAG_NOTHEME                    = 0x80000
    DOCHOSTUIFLAG_NOPICS                     = 0x100000
    DOCHOSTUIFLAG_NO3DOUTERBORDER            = 0x200000
    DOCHOSTUIFLAG_DISABLE_EDIT_NS_FIXUP      = 0x400000
    DOCHOSTUIFLAG_LOCAL_MACHINE_ACCESS_CHECK = 0x800000
    DOCHOSTUIFLAG_DISABLE_UNTRUSTEDPROTOCOL  = 0x1000000
)
const (
    NavOpenInNewWindow       = 0x1
    NavNoHistory             = 0x2
    NavNoReadFromCache       = 0x4
    NavNoWriteToCache        = 0x8
    NavAllowAutosearch       = 0x10
    NavBrowserBar            = 0x20
    NavHyperlink             = 0x40
    NavEnforceRestricted     = 0x80
    NavNewWindowsManaged     = 0x0100
    NavUntrustedForDownload  = 0x0200
    NavTrustedForActiveX     = 0x0400
    NavOpenInNewTab          = 0x0800
    NavOpenInBackgroundTab   = 0x1000
    NavKeepWordWheelText     = 0x2000
    NavVirtualTab            = 0x4000
    NavBlockRedirectsXDomain = 0x8000
    NavOpenNewForegroundTab  = 0x10000
)

BrowserNavConstants

const (
    CSIDL_DESKTOP                 = 0x00
    CSIDL_INTERNET                = 0x01
    CSIDL_PROGRAMS                = 0x02
    CSIDL_CONTROLS                = 0x03
    CSIDL_PRINTERS                = 0x04
    CSIDL_PERSONAL                = 0x05
    CSIDL_FAVORITES               = 0x06
    CSIDL_STARTUP                 = 0x07
    CSIDL_RECENT                  = 0x08
    CSIDL_SENDTO                  = 0x09
    CSIDL_BITBUCKET               = 0x0A
    CSIDL_STARTMENU               = 0x0B
    CSIDL_MYDOCUMENTS             = 0x0C
    CSIDL_MYMUSIC                 = 0x0D
    CSIDL_MYVIDEO                 = 0x0E
    CSIDL_DESKTOPDIRECTORY        = 0x10
    CSIDL_DRIVES                  = 0x11
    CSIDL_NETWORK                 = 0x12
    CSIDL_NETHOOD                 = 0x13
    CSIDL_FONTS                   = 0x14
    CSIDL_TEMPLATES               = 0x15
    CSIDL_COMMON_STARTMENU        = 0x16
    CSIDL_COMMON_PROGRAMS         = 0x17
    CSIDL_COMMON_STARTUP          = 0x18
    CSIDL_COMMON_DESKTOPDIRECTORY = 0x19
    CSIDL_APPDATA                 = 0x1A
    CSIDL_PRINTHOOD               = 0x1B
    CSIDL_LOCAL_APPDATA           = 0x1C
    CSIDL_ALTSTARTUP              = 0x1D
    CSIDL_COMMON_ALTSTARTUP       = 0x1E
    CSIDL_COMMON_FAVORITES        = 0x1F
    CSIDL_INTERNET_CACHE          = 0x20
    CSIDL_COOKIES                 = 0x21
    CSIDL_HISTORY                 = 0x22
    CSIDL_COMMON_APPDATA          = 0x23
    CSIDL_WINDOWS                 = 0x24
    CSIDL_SYSTEM                  = 0x25
    CSIDL_PROGRAM_FILES           = 0x26
    CSIDL_MYPICTURES              = 0x27
    CSIDL_PROFILE                 = 0x28
    CSIDL_SYSTEMX86               = 0x29
    CSIDL_PROGRAM_FILESX86        = 0x2A
    CSIDL_PROGRAM_FILES_COMMON    = 0x2B
    CSIDL_PROGRAM_FILES_COMMONX86 = 0x2C
    CSIDL_COMMON_TEMPLATES        = 0x2D
    CSIDL_COMMON_DOCUMENTS        = 0x2E
    CSIDL_COMMON_ADMINTOOLS       = 0x2F
    CSIDL_ADMINTOOLS              = 0x30
    CSIDL_CONNECTIONS             = 0x31
    CSIDL_COMMON_MUSIC            = 0x35
    CSIDL_COMMON_PICTURES         = 0x36
    CSIDL_COMMON_VIDEO            = 0x37
    CSIDL_RESOURCES               = 0x38
    CSIDL_RESOURCES_LOCALIZED     = 0x39
    CSIDL_COMMON_OEM_LINKS        = 0x3A
    CSIDL_CDBURN_AREA             = 0x3B
    CSIDL_COMPUTERSNEARME         = 0x3D
    CSIDL_FLAG_CREATE             = 0x8000
    CSIDL_FLAG_DONT_VERIFY        = 0x4000
    CSIDL_FLAG_NO_ALIAS           = 0x1000
    CSIDL_FLAG_PER_USER_INIT      = 0x8000
    CSIDL_FLAG_MASK               = 0xFF00
)
const (
    NIF_MESSAGE = 0x00000001
    NIF_ICON    = 0x00000002
    NIF_TIP     = 0x00000004
    NIF_STATE   = 0x00000008
    NIF_INFO    = 0x00000010
)

NotifyIcon flags

const (
    NIM_ADD        = 0x00000000
    NIM_MODIFY     = 0x00000001
    NIM_DELETE     = 0x00000002
    NIM_SETFOCUS   = 0x00000003
    NIM_SETVERSION = 0x00000004
)

NotifyIcon messages

const (
    NIS_HIDDEN     = 0x00000001
    NIS_SHAREDICON = 0x00000002
)

NotifyIcon states

const (
    NIIF_NONE    = 0x00000000
    NIIF_INFO    = 0x00000001
    NIIF_WARNING = 0x00000002
    NIIF_ERROR   = 0x00000003
    NIIF_USER    = 0x00000004
    NIIF_NOSOUND = 0x00000010
)

NotifyIcon info flags

const (
    SHGFI_LARGEICON         = 0x000000000
    SHGFI_SMALLICON         = 0x000000001
    SHGFI_OPENICON          = 0x000000002
    SHGFI_SHELLICONSIZE     = 0x000000004
    SHGFI_PIDL              = 0x000000008
    SHGFI_USEFILEATTRIBUTES = 0x000000010
    SHGFI_ADDOVERLAYS       = 0x000000020
    SHGFI_OVERLAYINDEX      = 0x000000040
    SHGFI_ICON              = 0x000000100
    SHGFI_DISPLAYNAME       = 0x000000200
    SHGFI_TYPENAME          = 0x000000400
    SHGFI_ATTRIBUTES        = 0x000000800
    SHGFI_ICONLOCATION      = 0x000001000
    SHGFI_EXETYPE           = 0x000002000
    SHGFI_SYSICONINDEX      = 0x000004000
    SHGFI_LINKOVERLAY       = 0x000008000
    SHGFI_SELECTED          = 0x000010000
    SHGFI_ATTR_SPECIFIED    = 0x000020000
)

SHGetFileInfo flags

const (
    SHGSI_ICONLOCATION  = 0
    SHGSI_ICON          = 0x000000100
    SHGSI_SYSICONINDEX  = 0x000004000
    SHGSI_LINKOVERLAY   = 0x000008000
    SHGSI_SELECTED      = 0x000010000
    SHGSI_LARGEICON     = 0x000000000
    SHGSI_SMALLICON     = 0x000000001
    SHGSI_SHELLICONSIZE = 0x000000004
)

SHGetStockIconInfo flags

const (
    SIID_DOCNOASSOC        = 0
    SIID_DOCASSOC          = 1
    SIID_APPLICATION       = 2
    SIID_FOLDER            = 3
    SIID_FOLDEROPEN        = 4
    SIID_DRIVE525          = 5
    SIID_DRIVE35           = 6
    SIID_DRIVEREMOVE       = 7
    SIID_DRIVEFIXED        = 8
    SIID_DRIVENET          = 9
    SIID_DRIVENETDISABLED  = 10
    SIID_DRIVECD           = 11
    SIID_DRIVERAM          = 12
    SIID_WORLD             = 13
    SIID_SERVER            = 15
    SIID_PRINTER           = 16
    SIID_MYNETWORK         = 17
    SIID_FIND              = 22
    SIID_HELP              = 23
    SIID_SHARE             = 28
    SIID_LINK              = 29
    SIID_SLOWFILE          = 30
    SIID_RECYCLER          = 31
    SIID_RECYCLERFULL      = 32
    SIID_MEDIACDAUDIO      = 40
    SIID_LOCK              = 47
    SIID_AUTOLIST          = 49
    SIID_PRINTERNET        = 50
    SIID_SERVERSHARE       = 51
    SIID_PRINTERFAX        = 52
    SIID_PRINTERFAXNET     = 53
    SIID_PRINTERFILE       = 54
    SIID_STACK             = 55
    SIID_MEDIASVCD         = 56
    SIID_STUFFEDFOLDER     = 57
    SIID_DRIVEUNKNOWN      = 58
    SIID_DRIVEDVD          = 59
    SIID_MEDIADVD          = 60
    SIID_MEDIADVDRAM       = 61
    SIID_MEDIADVDRW        = 62
    SIID_MEDIADVDR         = 63
    SIID_MEDIADVDROM       = 64
    SIID_MEDIACDAUDIOPLUS  = 65
    SIID_MEDIACDRW         = 66
    SIID_MEDIACDR          = 67
    SIID_MEDIACDBURN       = 68
    SIID_MEDIABLANKCD      = 69
    SIID_MEDIACDROM        = 70
    SIID_AUDIOFILES        = 71
    SIID_IMAGEFILES        = 72
    SIID_VIDEOFILES        = 73
    SIID_MIXEDFILES        = 74
    SIID_FOLDERBACK        = 75
    SIID_FOLDERFRONT       = 76
    SIID_SHIELD            = 77
    SIID_WARNING           = 78
    SIID_INFO              = 79
    SIID_ERROR             = 80
    SIID_KEY               = 81
    SIID_SOFTWARE          = 82
    SIID_RENAME            = 83
    SIID_DELETE            = 84
    SIID_MEDIAAUDIODVD     = 85
    SIID_MEDIAMOVIEDVD     = 86
    SIID_MEDIAENHANCEDCD   = 87
    SIID_MEDIAENHANCEDDVD  = 88
    SIID_MEDIAHDDVD        = 89
    SIID_MEDIABLURAY       = 90
    SIID_MEDIAVCD          = 91
    SIID_MEDIADVDPLUSR     = 92
    SIID_MEDIADVDPLUSRW    = 93
    SIID_DESKTOPPC         = 94
    SIID_MOBILEPC          = 95
    SIID_USERS             = 96
    SIID_MEDIASMARTMEDIA   = 97
    SIID_MEDIACOMPACTFLASH = 98
    SIID_DEVICECELLPHONE   = 99
    SIID_DEVICECAMERA      = 100
    SIID_DEVICEVIDEOCAMERA = 101
    SIID_DEVICEAUDIOPLAYER = 102
    SIID_NETWORKCONNECT    = 103
    SIID_INTERNET          = 104
    SIID_ZIPFILE           = 105
    SIID_SETTINGS          = 106
    SIID_DRIVEHDDVD        = 132
    SIID_DRIVEBD           = 133
    SIID_MEDIAHDDVDROM     = 134
    SIID_MEDIAHDDVDR       = 135
    SIID_MEDIAHDDVDRAM     = 136
    SIID_MEDIABDROM        = 137
    SIID_MEDIABDR          = 138
    SIID_MEDIABDRE         = 139
    SIID_CLUSTEREDDRIVE    = 140
    SIID_MAX_ICONS         = 175
)

SHSTOCKICONID values

const (
    TBPF_NOPROGRESS    = 0
    TBPF_INDETERMINATE = 0x1
    TBPF_NORMAL        = 0x2
    TBPF_ERROR         = 0x4
    TBPF_PAUSED        = 0x8
)

TBPFLAG

const (
    SBARS_SIZEGRIP = 0x100
    SBARS_TOOLTIPS = 0x800
)

Styles

const (
    SB_SETPARTS         = WM_USER + 4
    SB_GETPARTS         = WM_USER + 6
    SB_GETBORDERS       = WM_USER + 7
    SB_SETMINHEIGHT     = WM_USER + 8
    SB_SIMPLE           = WM_USER + 9
    SB_GETRECT          = WM_USER + 10
    SB_SETTEXT          = WM_USER + 11
    SB_GETTEXTLENGTH    = WM_USER + 12
    SB_GETTEXT          = WM_USER + 13
    SB_ISSIMPLE         = WM_USER + 14
    SB_SETICON          = WM_USER + 15
    SB_SETTIPTEXT       = WM_USER + 17
    SB_GETTIPTEXT       = WM_USER + 19
    SB_GETICON          = WM_USER + 20
    SB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
    SB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
    SB_SETBKCOLOR       = CCM_SETBKCOLOR
)

Messages

const (
    SBT_NOBORDERS    = 0x100
    SBT_POPOUT       = 0x200
    SBT_RTLREADING   = 0x400
    SBT_NOTABPARSING = 0x800
    SBT_OWNERDRAW    = 0x1000
)

SB_SETTEXT options

const (
    SBN_FIRST            = -880
    SBN_SIMPLEMODECHANGE = SBN_FIRST - 0
)
const (
    INVALID_LINK_INDEX = -1
    MAX_LINKID_TEXT    = 48
    L_MAX_URL_LENGTH   = 2048 + 32 + len("://")
    WC_LINK            = "SysLink"
)
const (
    LWS_TRANSPARENT    = 0x0001
    LWS_IGNORERETURN   = 0x0002
    LWS_NOPREFIX       = 0x0004
    LWS_USEVISUALSTYLE = 0x0008
    LWS_USECUSTOMTEXT  = 0x0010
    LWS_RIGHT          = 0x0020
)
const (
    LIF_ITEMINDEX = 0x00000001
    LIF_STATE     = 0x00000002
    LIF_ITEMID    = 0x00000004
    LIF_URL       = 0x00000008
)
const (
    LIS_FOCUSED       = 0x00000001
    LIS_ENABLED       = 0x00000002
    LIS_VISITED       = 0x00000004
    LIS_HOTTRACK      = 0x00000008
    LIS_DEFAULTCOLORS = 0x00000010
)
const (
    LM_HITTEST        = WM_USER + 0x300
    LM_GETIDEALHEIGHT = WM_USER + 0x301
    LM_SETITEM        = WM_USER + 0x302
    LM_GETITEM        = WM_USER + 0x303
    LM_GETIDEALSIZE   = LM_GETIDEALHEIGHT
)
const (
    TCS_SCROLLOPPOSITE    = 0x0001
    TCS_BOTTOM            = 0x0002
    TCS_RIGHT             = 0x0002
    TCS_MULTISELECT       = 0x0004
    TCS_FLATBUTTONS       = 0x0008
    TCS_FORCEICONLEFT     = 0x0010
    TCS_FORCELABELLEFT    = 0x0020
    TCS_HOTTRACK          = 0x0040
    TCS_VERTICAL          = 0x0080
    TCS_TABS              = 0x0000
    TCS_BUTTONS           = 0x0100
    TCS_SINGLELINE        = 0x0000
    TCS_MULTILINE         = 0x0200
    TCS_RIGHTJUSTIFY      = 0x0000
    TCS_FIXEDWIDTH        = 0x0400
    TCS_RAGGEDRIGHT       = 0x0800
    TCS_FOCUSONBUTTONDOWN = 0x1000
    TCS_OWNERDRAWFIXED    = 0x2000
    TCS_TOOLTIPS          = 0x4000
    TCS_FOCUSNEVER        = 0x8000
)
const (
    TCS_EX_FLATSEPARATORS = 0x00000001
    TCS_EX_REGISTERDROP   = 0x00000002
)
const (
    TCM_GETIMAGELIST     = TCM_FIRST + 2
    TCM_SETIMAGELIST     = TCM_FIRST + 3
    TCM_GETITEMCOUNT     = TCM_FIRST + 4
    TCM_GETITEM          = TCM_FIRST + 60
    TCM_SETITEM          = TCM_FIRST + 61
    TCM_INSERTITEM       = TCM_FIRST + 62
    TCM_DELETEITEM       = TCM_FIRST + 8
    TCM_DELETEALLITEMS   = TCM_FIRST + 9
    TCM_GETITEMRECT      = TCM_FIRST + 10
    TCM_GETCURSEL        = TCM_FIRST + 11
    TCM_SETCURSEL        = TCM_FIRST + 12
    TCM_HITTEST          = TCM_FIRST + 13
    TCM_SETITEMEXTRA     = TCM_FIRST + 14
    TCM_ADJUSTRECT       = TCM_FIRST + 40
    TCM_SETITEMSIZE      = TCM_FIRST + 41
    TCM_REMOVEIMAGE      = TCM_FIRST + 42
    TCM_SETPADDING       = TCM_FIRST + 43
    TCM_GETROWCOUNT      = TCM_FIRST + 44
    TCM_GETTOOLTIPS      = TCM_FIRST + 45
    TCM_SETTOOLTIPS      = TCM_FIRST + 46
    TCM_GETCURFOCUS      = TCM_FIRST + 47
    TCM_SETCURFOCUS      = TCM_FIRST + 48
    TCM_SETMINTABWIDTH   = TCM_FIRST + 49
    TCM_DESELECTALL      = TCM_FIRST + 50
    TCM_HIGHLIGHTITEM    = TCM_FIRST + 51
    TCM_SETEXTENDEDSTYLE = TCM_FIRST + 52
    TCM_GETEXTENDEDSTYLE = TCM_FIRST + 53
    TCM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
    TCM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
)
const (
    TCIF_TEXT       = 0x0001
    TCIF_IMAGE      = 0x0002
    TCIF_RTLREADING = 0x0004
    TCIF_PARAM      = 0x0008
    TCIF_STATE      = 0x0010
)
const (
    TCIS_BUTTONPRESSED = 0x0001
    TCIS_HIGHLIGHTED   = 0x0002
)
const (
    TCHT_NOWHERE     = 0x0001
    TCHT_ONITEMICON  = 0x0002
    TCHT_ONITEMLABEL = 0x0004
    TCHT_ONITEM      = TCHT_ONITEMICON | TCHT_ONITEMLABEL
)
const (
    TCN_KEYDOWN     = TCN_FIRST - 0
    TCN_SELCHANGE   = TCN_FIRST - 1
    TCN_SELCHANGING = TCN_FIRST - 2
    TCN_GETOBJECT   = TCN_FIRST - 3
    TCN_FOCUSCHANGE = TCN_FIRST - 4
)
const (
    TB_THUMBPOSITION         = 4
    TB_THUMBTRACK            = 5
    TB_ENDTRACK              = 8
    TB_ENABLEBUTTON          = WM_USER + 1
    TB_CHECKBUTTON           = WM_USER + 2
    TB_PRESSBUTTON           = WM_USER + 3
    TB_HIDEBUTTON            = WM_USER + 4
    TB_INDETERMINATE         = WM_USER + 5
    TB_MARKBUTTON            = WM_USER + 6
    TB_ISBUTTONENABLED       = WM_USER + 9
    TB_ISBUTTONCHECKED       = WM_USER + 10
    TB_ISBUTTONPRESSED       = WM_USER + 11
    TB_ISBUTTONHIDDEN        = WM_USER + 12
    TB_ISBUTTONINDETERMINATE = WM_USER + 13
    TB_ISBUTTONHIGHLIGHTED   = WM_USER + 14
    TB_SETSTATE              = WM_USER + 17
    TB_GETSTATE              = WM_USER + 18
    TB_ADDBITMAP             = WM_USER + 19
    TB_DELETEBUTTON          = WM_USER + 22
    TB_GETBUTTON             = WM_USER + 23
    TB_BUTTONCOUNT           = WM_USER + 24
    TB_COMMANDTOINDEX        = WM_USER + 25
    TB_SAVERESTORE           = WM_USER + 76
    TB_CUSTOMIZE             = WM_USER + 27
    TB_ADDSTRING             = WM_USER + 77
    TB_GETITEMRECT           = WM_USER + 29
    TB_BUTTONSTRUCTSIZE      = WM_USER + 30
    TB_SETBUTTONSIZE         = WM_USER + 31
    TB_SETBITMAPSIZE         = WM_USER + 32
    TB_AUTOSIZE              = WM_USER + 33
    TB_GETTOOLTIPS           = WM_USER + 35
    TB_SETTOOLTIPS           = WM_USER + 36
    TB_SETPARENT             = WM_USER + 37
    TB_SETROWS               = WM_USER + 39
    TB_GETROWS               = WM_USER + 40
    TB_GETBITMAPFLAGS        = WM_USER + 41
    TB_SETCMDID              = WM_USER + 42
    TB_CHANGEBITMAP          = WM_USER + 43
    TB_GETBITMAP             = WM_USER + 44
    TB_GETBUTTONTEXT         = WM_USER + 75
    TB_REPLACEBITMAP         = WM_USER + 46
    TB_GETBUTTONSIZE         = WM_USER + 58
    TB_SETBUTTONWIDTH        = WM_USER + 59
    TB_SETINDENT             = WM_USER + 47
    TB_SETIMAGELIST          = WM_USER + 48
    TB_GETIMAGELIST          = WM_USER + 49
    TB_LOADIMAGES            = WM_USER + 50
    TB_GETRECT               = WM_USER + 51
    TB_SETHOTIMAGELIST       = WM_USER + 52
    TB_GETHOTIMAGELIST       = WM_USER + 53
    TB_SETDISABLEDIMAGELIST  = WM_USER + 54
    TB_GETDISABLEDIMAGELIST  = WM_USER + 55
    TB_SETSTYLE              = WM_USER + 56
    TB_GETSTYLE              = WM_USER + 57
    TB_SETMAXTEXTROWS        = WM_USER + 60
    TB_GETTEXTROWS           = WM_USER + 61
    TB_GETOBJECT             = WM_USER + 62
    TB_GETBUTTONINFO         = WM_USER + 63
    TB_SETBUTTONINFO         = WM_USER + 64
    TB_INSERTBUTTON          = WM_USER + 67
    TB_ADDBUTTONS            = WM_USER + 68
    TB_HITTEST               = WM_USER + 69
    TB_SETDRAWTEXTFLAGS      = WM_USER + 70
    TB_GETHOTITEM            = WM_USER + 71
    TB_SETHOTITEM            = WM_USER + 72
    TB_SETANCHORHIGHLIGHT    = WM_USER + 73
    TB_GETANCHORHIGHLIGHT    = WM_USER + 74
    TB_GETINSERTMARK         = WM_USER + 79
    TB_SETINSERTMARK         = WM_USER + 80
    TB_INSERTMARKHITTEST     = WM_USER + 81
    TB_MOVEBUTTON            = WM_USER + 82
    TB_GETMAXSIZE            = WM_USER + 83
    TB_SETEXTENDEDSTYLE      = WM_USER + 84
    TB_GETEXTENDEDSTYLE      = WM_USER + 85
    TB_GETPADDING            = WM_USER + 86
    TB_SETPADDING            = WM_USER + 87
    TB_SETINSERTMARKCOLOR    = WM_USER + 88
    TB_GETINSERTMARKCOLOR    = WM_USER + 89
    TB_MAPACCELERATOR        = WM_USER + 90
    TB_GETSTRING             = WM_USER + 91
    TB_GETIDEALSIZE          = WM_USER + 99
    TB_SETCOLORSCHEME        = CCM_SETCOLORSCHEME
    TB_GETCOLORSCHEME        = CCM_GETCOLORSCHEME
    TB_SETUNICODEFORMAT      = CCM_SETUNICODEFORMAT
    TB_GETUNICODEFORMAT      = CCM_GETUNICODEFORMAT
)

ToolBar messages

const (
    TBN_FIRST    = -700
    TBN_DROPDOWN = TBN_FIRST - 10
)

ToolBar notifications

const (
    TBDDRET_DEFAULT      = 0
    TBDDRET_NODEFAULT    = 1
    TBDDRET_TREATPRESSED = 2
)

TBN_DROPDOWN return codes

const (
    TBSTATE_CHECKED       = 1
    TBSTATE_PRESSED       = 2
    TBSTATE_ENABLED       = 4
    TBSTATE_HIDDEN        = 8
    TBSTATE_INDETERMINATE = 16
    TBSTATE_WRAP          = 32
    TBSTATE_ELLIPSES      = 0x40
    TBSTATE_MARKED        = 0x0080
)

ToolBar state constants

const (
    TBSTYLE_BUTTON       = 0
    TBSTYLE_SEP          = 1
    TBSTYLE_CHECK        = 2
    TBSTYLE_GROUP        = 4
    TBSTYLE_CHECKGROUP   = TBSTYLE_GROUP | TBSTYLE_CHECK
    TBSTYLE_DROPDOWN     = 8
    TBSTYLE_AUTOSIZE     = 16
    TBSTYLE_NOPREFIX     = 32
    TBSTYLE_TOOLTIPS     = 256
    TBSTYLE_WRAPABLE     = 512
    TBSTYLE_ALTDRAG      = 1024
    TBSTYLE_FLAT         = 2048
    TBSTYLE_LIST         = 4096
    TBSTYLE_CUSTOMERASE  = 8192
    TBSTYLE_REGISTERDROP = 0x4000
    TBSTYLE_TRANSPARENT  = 0x8000
)

ToolBar style constants

const (
    TBSTYLE_EX_DRAWDDARROWS       = 0x00000001
    TBSTYLE_EX_MIXEDBUTTONS       = 8
    TBSTYLE_EX_HIDECLIPPEDBUTTONS = 16
    TBSTYLE_EX_DOUBLEBUFFER       = 0x80
)

ToolBar extended style constants

const (
    BTNS_BUTTON        = TBSTYLE_BUTTON
    BTNS_SEP           = TBSTYLE_SEP
    BTNS_CHECK         = TBSTYLE_CHECK
    BTNS_GROUP         = TBSTYLE_GROUP
    BTNS_CHECKGROUP    = TBSTYLE_CHECKGROUP
    BTNS_DROPDOWN      = TBSTYLE_DROPDOWN
    BTNS_AUTOSIZE      = TBSTYLE_AUTOSIZE
    BTNS_NOPREFIX      = TBSTYLE_NOPREFIX
    BTNS_WHOLEDROPDOWN = 0x0080
    BTNS_SHOWTEXT      = 0x0040
)

ToolBar button style constants

const (
    TBIF_IMAGE   = 0x00000001
    TBIF_TEXT    = 0x00000002
    TBIF_STATE   = 0x00000004
    TBIF_STYLE   = 0x00000008
    TBIF_LPARAM  = 0x00000010
    TBIF_COMMAND = 0x00000020
    TBIF_SIZE    = 0x00000040
    TBIF_BYINDEX = 0x80000000
)

TBBUTTONINFO mask flags

const (
    TTS_ALWAYSTIP = 0x01
    TTS_NOPREFIX  = 0x02
    TTS_NOANIMATE = 0x10
    TTS_NOFADE    = 0x20
    TTS_BALLOON   = 0x40
    TTS_CLOSE     = 0x80
)

ToolTip styles

const (
    TTM_ACTIVATE        = WM_USER + 1
    TTM_SETDELAYTIME    = WM_USER + 3
    TTM_ADDTOOL         = WM_USER + 50
    TTM_DELTOOL         = WM_USER + 51
    TTM_NEWTOOLRECT     = WM_USER + 52
    TTM_RELAYEVENT      = WM_USER + 7
    TTM_GETTOOLINFO     = WM_USER + 53
    TTM_SETTOOLINFO     = WM_USER + 54
    TTM_HITTEST         = WM_USER + 55
    TTM_GETTEXT         = WM_USER + 56
    TTM_UPDATETIPTEXT   = WM_USER + 57
    TTM_GETTOOLCOUNT    = WM_USER + 13
    TTM_ENUMTOOLS       = WM_USER + 58
    TTM_GETCURRENTTOOL  = WM_USER + 59
    TTM_WINDOWFROMPOINT = WM_USER + 16
    TTM_TRACKACTIVATE   = WM_USER + 17
    TTM_TRACKPOSITION   = WM_USER + 18
    TTM_SETTIPBKCOLOR   = WM_USER + 19
    TTM_SETTIPTEXTCOLOR = WM_USER + 20
    TTM_GETDELAYTIME    = WM_USER + 21
    TTM_GETTIPBKCOLOR   = WM_USER + 22
    TTM_GETTIPTEXTCOLOR = WM_USER + 23
    TTM_SETMAXTIPWIDTH  = WM_USER + 24
    TTM_GETMAXTIPWIDTH  = WM_USER + 25
    TTM_SETMARGIN       = WM_USER + 26
    TTM_GETMARGIN       = WM_USER + 27
    TTM_POP             = WM_USER + 28
    TTM_UPDATE          = WM_USER + 29
    TTM_GETBUBBLESIZE   = WM_USER + 30
    TTM_ADJUSTRECT      = WM_USER + 31
    TTM_SETTITLE        = WM_USER + 33
    TTM_POPUP           = WM_USER + 34
    TTM_GETTITLE        = WM_USER + 35
)

ToolTip messages

const (
    TTF_IDISHWND    = 0x0001
    TTF_CENTERTIP   = 0x0002
    TTF_RTLREADING  = 0x0004
    TTF_SUBCLASS    = 0x0010
    TTF_TRACK       = 0x0020
    TTF_ABSOLUTE    = 0x0080
    TTF_TRANSPARENT = 0x0100
    TTF_DI_SETITEM  = 0x8000
)

ToolTip flags

const (
    TTI_NONE    = 0
    TTI_INFO    = 1
    TTI_WARNING = 2
    TTI_ERROR   = 3
)

ToolTip icons

const (
    TVS_HASBUTTONS      = 0x0001
    TVS_HASLINES        = 0x0002
    TVS_LINESATROOT     = 0x0004
    TVS_EDITLABELS      = 0x0008
    TVS_DISABLEDRAGDROP = 0x0010
    TVS_SHOWSELALWAYS   = 0x0020
    TVS_RTLREADING      = 0x0040
    TVS_NOTOOLTIPS      = 0x0080
    TVS_CHECKBOXES      = 0x0100
    TVS_TRACKSELECT     = 0x0200
    TVS_SINGLEEXPAND    = 0x0400
    TVS_INFOTIP         = 0x0800
    TVS_FULLROWSELECT   = 0x1000
    TVS_NOSCROLL        = 0x2000
    TVS_NONEVENHEIGHT   = 0x4000
    TVS_NOHSCROLL       = 0x8000
)

TreeView styles

const (
    TVS_EX_NOSINGLECOLLAPSE    = 0x0001
    TVS_EX_MULTISELECT         = 0x0002
    TVS_EX_DOUBLEBUFFER        = 0x0004
    TVS_EX_NOINDENTSTATE       = 0x0008
    TVS_EX_RICHTOOLTIP         = 0x0010
    TVS_EX_AUTOHSCROLL         = 0x0020
    TVS_EX_FADEINOUTEXPANDOS   = 0x0040
    TVS_EX_PARTIALCHECKBOXES   = 0x0080
    TVS_EX_EXCLUSIONCHECKBOXES = 0x0100
    TVS_EX_DIMMEDCHECKBOXES    = 0x0200
    TVS_EX_DRAWIMAGEASYNC      = 0x0400
)
const (
    TVIF_TEXT          = 0x0001
    TVIF_IMAGE         = 0x0002
    TVIF_PARAM         = 0x0004
    TVIF_STATE         = 0x0008
    TVIF_HANDLE        = 0x0010
    TVIF_SELECTEDIMAGE = 0x0020
    TVIF_CHILDREN      = 0x0040
    TVIF_INTEGRAL      = 0x0080
    TVIF_STATEEX       = 0x0100
    TVIF_EXPANDEDIMAGE = 0x0200
)
const (
    TVIS_SELECTED       = 0x0002
    TVIS_CUT            = 0x0004
    TVIS_DROPHILITED    = 0x0008
    TVIS_BOLD           = 0x0010
    TVIS_EXPANDED       = 0x0020
    TVIS_EXPANDEDONCE   = 0x0040
    TVIS_EXPANDPARTIAL  = 0x0080
    TVIS_OVERLAYMASK    = 0x0F00
    TVIS_STATEIMAGEMASK = 0xF000
    TVIS_USERMASK       = 0xF000
)
const (
    TVIS_EX_FLAT     = 0x0001
    TVIS_EX_DISABLED = 0x0002
    TVIS_EX_ALL      = 0x0002
)
const (
    TVI_ROOT  = ^HTREEITEM(0xffff)
    TVI_FIRST = ^HTREEITEM(0xfffe)
    TVI_LAST  = ^HTREEITEM(0xfffd)
    TVI_SORT  = ^HTREEITEM(0xfffc)
)
const (
    TVE_COLLAPSE      = 0x0001
    TVE_EXPAND        = 0x0002
    TVE_TOGGLE        = 0x0003
    TVE_EXPANDPARTIAL = 0x4000
    TVE_COLLAPSERESET = 0x8000
)

TVM_EXPAND action flags

const (
    TV_FIRST = 0x1100

    TVM_INSERTITEM          = TV_FIRST + 50
    TVM_DELETEITEM          = TV_FIRST + 1
    TVM_EXPAND              = TV_FIRST + 2
    TVM_GETITEMRECT         = TV_FIRST + 4
    TVM_GETCOUNT            = TV_FIRST + 5
    TVM_GETINDENT           = TV_FIRST + 6
    TVM_SETINDENT           = TV_FIRST + 7
    TVM_GETIMAGELIST        = TV_FIRST + 8
    TVM_SETIMAGELIST        = TV_FIRST + 9
    TVM_GETNEXTITEM         = TV_FIRST + 10
    TVM_SELECTITEM          = TV_FIRST + 11
    TVM_GETITEM             = TV_FIRST + 62
    TVM_SETITEM             = TV_FIRST + 63
    TVM_EDITLABEL           = TV_FIRST + 65
    TVM_GETEDITCONTROL      = TV_FIRST + 15
    TVM_GETVISIBLECOUNT     = TV_FIRST + 16
    TVM_HITTEST             = TV_FIRST + 17
    TVM_CREATEDRAGIMAGE     = TV_FIRST + 18
    TVM_SORTCHILDREN        = TV_FIRST + 19
    TVM_ENSUREVISIBLE       = TV_FIRST + 20
    TVM_SORTCHILDRENCB      = TV_FIRST + 21
    TVM_ENDEDITLABELNOW     = TV_FIRST + 22
    TVM_GETISEARCHSTRING    = TV_FIRST + 64
    TVM_SETTOOLTIPS         = TV_FIRST + 24
    TVM_GETTOOLTIPS         = TV_FIRST + 25
    TVM_SETINSERTMARK       = TV_FIRST + 26
    TVM_SETUNICODEFORMAT    = CCM_SETUNICODEFORMAT
    TVM_GETUNICODEFORMAT    = CCM_GETUNICODEFORMAT
    TVM_SETITEMHEIGHT       = TV_FIRST + 27
    TVM_GETITEMHEIGHT       = TV_FIRST + 28
    TVM_SETBKCOLOR          = TV_FIRST + 29
    TVM_SETTEXTCOLOR        = TV_FIRST + 30
    TVM_GETBKCOLOR          = TV_FIRST + 31
    TVM_GETTEXTCOLOR        = TV_FIRST + 32
    TVM_SETSCROLLTIME       = TV_FIRST + 33
    TVM_GETSCROLLTIME       = TV_FIRST + 34
    TVM_SETINSERTMARKCOLOR  = TV_FIRST + 37
    TVM_GETINSERTMARKCOLOR  = TV_FIRST + 38
    TVM_GETITEMSTATE        = TV_FIRST + 39
    TVM_SETLINECOLOR        = TV_FIRST + 40
    TVM_GETLINECOLOR        = TV_FIRST + 41
    TVM_MAPACCIDTOHTREEITEM = TV_FIRST + 42
    TVM_MAPHTREEITEMTOACCID = TV_FIRST + 43
    TVM_SETEXTENDEDSTYLE    = TV_FIRST + 44
    TVM_GETEXTENDEDSTYLE    = TV_FIRST + 45
    TVM_SETAUTOSCROLLINFO   = TV_FIRST + 59
)

TreeView messages

const (
    TVN_FIRST = ^uint32(399)

    TVN_SELCHANGING    = TVN_FIRST - 50
    TVN_SELCHANGED     = TVN_FIRST - 51
    TVN_GETDISPINFO    = TVN_FIRST - 52
    TVN_ITEMEXPANDING  = TVN_FIRST - 54
    TVN_ITEMEXPANDED   = TVN_FIRST - 55
    TVN_BEGINDRAG      = TVN_FIRST - 56
    TVN_BEGINRDRAG     = TVN_FIRST - 57
    TVN_DELETEITEM     = TVN_FIRST - 58
    TVN_BEGINLABELEDIT = TVN_FIRST - 59
    TVN_ENDLABELEDIT   = TVN_FIRST - 60
    TVN_KEYDOWN        = TVN_FIRST - 12
    TVN_GETINFOTIP     = TVN_FIRST - 14
    TVN_SINGLEEXPAND   = TVN_FIRST - 15
    TVN_ITEMCHANGING   = TVN_FIRST - 17
    TVN_ITEMCHANGED    = TVN_FIRST - 19
    TVN_ASYNCDRAW      = TVN_FIRST - 20
)

TreeView notifications

const (
    TVHT_NOWHERE         = 1
    TVHT_ONITEMICON      = 2
    TVHT_ONITEMLABEL     = 4
    TVHT_ONITEM          = TVHT_ONITEMICON | TVHT_ONITEMLABEL | TVHT_ONITEMSTATEICON
    TVHT_ONITEMINDENT    = 8
    TVHT_ONITEMBUTTON    = 16
    TVHT_ONITEMRIGHT     = 32
    TVHT_ONITEMSTATEICON = 64
    TVHT_ABOVE           = 256
    TVHT_BELOW           = 512
    TVHT_TORIGHT         = 1024
    TVHT_TOLEFT          = 2048
)

TreeView hit test constants

const (
    UD_MAXVAL = 0x7fff
    UD_MINVAL = ^uintptr(UD_MAXVAL - 1)
)
const (
    UDS_WRAP        = 0x0001
    UDS_SETBUDDYINT = 0x0002
    UDS_ALIGNRIGHT  = 0x0004
    UDS_ALIGNLEFT   = 0x0008
    UDS_AUTOBUDDY   = 0x0010
    UDS_ARROWKEYS   = 0x0020
    UDS_HORZ        = 0x0040
    UDS_NOTHOUSANDS = 0x0080
    UDS_HOTTRACK    = 0x0100
)
const (
    UDM_SETRANGE         = WM_USER + 101
    UDM_GETRANGE         = WM_USER + 102
    UDM_SETPOS           = WM_USER + 103
    UDM_GETPOS           = WM_USER + 104
    UDM_SETBUDDY         = WM_USER + 105
    UDM_GETBUDDY         = WM_USER + 106
    UDM_SETACCEL         = WM_USER + 107
    UDM_GETACCEL         = WM_USER + 108
    UDM_SETBASE          = WM_USER + 109
    UDM_GETBASE          = WM_USER + 110
    UDM_SETRANGE32       = WM_USER + 111
    UDM_GETRANGE32       = WM_USER + 112
    UDM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
    UDM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
    UDM_SETPOS32         = WM_USER + 113
    UDM_GETPOS32         = WM_USER + 114
)
const (
    MB_OK                = 0x00000000
    MB_OKCANCEL          = 0x00000001
    MB_ABORTRETRYIGNORE  = 0x00000002
    MB_YESNOCANCEL       = 0x00000003
    MB_YESNO             = 0x00000004
    MB_RETRYCANCEL       = 0x00000005
    MB_CANCELTRYCONTINUE = 0x00000006
    MB_ICONHAND          = 0x00000010
    MB_ICONQUESTION      = 0x00000020
    MB_ICONEXCLAMATION   = 0x00000030
    MB_ICONASTERISK      = 0x00000040
    MB_USERICON          = 0x00000080
    MB_ICONWARNING       = MB_ICONEXCLAMATION
    MB_ICONERROR         = MB_ICONHAND
    MB_ICONINFORMATION   = MB_ICONASTERISK
    MB_ICONSTOP          = MB_ICONHAND
    MB_DEFBUTTON1        = 0x00000000
    MB_DEFBUTTON2        = 0x00000100
    MB_DEFBUTTON3        = 0x00000200
    MB_DEFBUTTON4        = 0x00000300
)

MessageBox constants

const (
    IDOK       = 1
    IDCANCEL   = 2
    IDABORT    = 3
    IDRETRY    = 4
    IDIGNORE   = 5
    IDYES      = 6
    IDNO       = 7
    IDCLOSE    = 8
    IDHELP     = 9
    IDTRYAGAIN = 10
    IDCONTINUE = 11
    IDTIMEOUT  = 32000
)

Dialog box command ids

const (
    SC_SIZE         = 0xF000
    SC_MOVE         = 0xF010
    SC_MINIMIZE     = 0xF020
    SC_MAXIMIZE     = 0xF030
    SC_NEXTWINDOW   = 0xF040
    SC_PREVWINDOW   = 0xF050
    SC_CLOSE        = 0xF060
    SC_VSCROLL      = 0xF070
    SC_HSCROLL      = 0xF080
    SC_MOUSEMENU    = 0xF090
    SC_KEYMENU      = 0xF100
    SC_ARRANGE      = 0xF110
    SC_RESTORE      = 0xF120
    SC_TASKLIST     = 0xF130
    SC_SCREENSAVE   = 0xF140
    SC_HOTKEY       = 0xF150
    SC_DEFAULT      = 0xF160
    SC_MONITORPOWER = 0xF170
    SC_CONTEXTHELP  = 0xF180
    SC_SEPARATOR    = 0xF00F
)

System commands

const (
    SS_BITMAP          = 14
    SS_BLACKFRAME      = 7
    SS_BLACKRECT       = 4
    SS_CENTER          = 1
    SS_CENTERIMAGE     = 512
    SS_EDITCONTROL     = 0x2000
    SS_ENHMETAFILE     = 15
    SS_ETCHEDFRAME     = 18
    SS_ETCHEDHORZ      = 16
    SS_ETCHEDVERT      = 17
    SS_GRAYFRAME       = 8
    SS_GRAYRECT        = 5
    SS_ICON            = 3
    SS_LEFT            = 0
    SS_LEFTNOWORDWRAP  = 0xc
    SS_NOPREFIX        = 128
    SS_NOTIFY          = 256
    SS_OWNERDRAW       = 0xd
    SS_REALSIZECONTROL = 0x040
    SS_REALSIZEIMAGE   = 0x800
    SS_RIGHT           = 2
    SS_RIGHTJUST       = 0x400
    SS_SIMPLE          = 11
    SS_SUNKEN          = 4096
    SS_WHITEFRAME      = 9
    SS_WHITERECT       = 6
    SS_USERITEM        = 10
    SS_TYPEMASK        = 0x0000001F
    SS_ENDELLIPSIS     = 0x00004000
    SS_PATHELLIPSIS    = 0x00008000
    SS_WORDELLIPSIS    = 0x0000C000
    SS_ELLIPSISMASK    = 0x0000C000
)

Static control styles

const (
    BM_CLICK    = 245
    BM_GETCHECK = 240
    BM_GETIMAGE = 246
    BM_GETSTATE = 242
    BM_SETCHECK = 241
    BM_SETIMAGE = 247
    BM_SETSTATE = 243
    BM_SETSTYLE = 244
)

Button message constants

const (
    BCN_DROPDOWN     = 0xfffffb20
    BN_CLICKED       = 0
    BN_PAINT         = 1
    BN_HILITE        = 2
    BN_PUSHED        = BN_HILITE
    BN_UNHILITE      = 3
    BN_UNPUSHED      = BN_UNHILITE
    BN_DISABLE       = 4
    BN_DOUBLECLICKED = 5
    BN_DBLCLK        = BN_DOUBLECLICKED
    BN_SETFOCUS      = 6
    BN_KILLFOCUS     = 7
)

Button notifications

const (
    IMAGE_BITMAP      = 0
    IMAGE_ICON        = 1
    IMAGE_CURSOR      = 2
    IMAGE_ENHMETAFILE = 3
)
const (
    LR_DEFAULTCOLOR     = 0
    LR_MONOCHROME       = 1
    LR_COLOR            = 2
    LR_COPYRETURNORG    = 4
    LR_COPYDELETEORG    = 8
    LR_LOADFROMFILE     = 16
    LR_LOADTRANSPARENT  = 32
    LR_LOADREALSIZE     = 128
    LR_DEFAULTSIZE      = 0x0040
    LR_VGACOLOR         = 0x0080
    LR_LOADMAP3DCOLORS  = 4096
    LR_CREATEDIBSECTION = 8192
    LR_COPYFROMRESOURCE = 0x4000
    LR_SHARED           = 32768
)
const (
    BS_3STATE          = 5
    BS_AUTO3STATE      = 6
    BS_AUTOCHECKBOX    = 3
    BS_AUTORADIOBUTTON = 9
    BS_BITMAP          = 128
    BS_BOTTOM          = 0X800
    BS_CENTER          = 0X300
    BS_CHECKBOX        = 2
    BS_DEFPUSHBUTTON   = 1
    BS_GROUPBOX        = 7
    BS_ICON            = 64
    BS_LEFT            = 256
    BS_LEFTTEXT        = 32
    BS_MULTILINE       = 0X2000
    BS_NOTIFY          = 0X4000
    BS_OWNERDRAW       = 0XB
    BS_PUSHBUTTON      = 0
    BS_PUSHLIKE        = 4096
    BS_RADIOBUTTON     = 4
    BS_RIGHT           = 512
    BS_RIGHTBUTTON     = 32
    BS_SPLITBUTTON     = 0x0000000c
    BS_TEXT            = 0
    BS_TOP             = 0X400
    BS_USERBUTTON      = 8
    BS_VCENTER         = 0XC00
    BS_FLAT            = 0X8000
)

Button style constants

const (
    PM_NOREMOVE = 0x0000
    PM_REMOVE   = 0x0001
    PM_NOYIELD  = 0x0002
)
const (
    BST_CHECKED       = 1
    BST_INDETERMINATE = 2
    BST_UNCHECKED     = 0
    BST_FOCUS         = 8
    BST_PUSHED        = 4
)

Button state constants

const (
    COLOR_3DDKSHADOW              = 21
    COLOR_3DFACE                  = 15
    COLOR_3DHILIGHT               = 20
    COLOR_3DHIGHLIGHT             = 20
    COLOR_3DLIGHT                 = 22
    COLOR_BTNHILIGHT              = 20
    COLOR_3DSHADOW                = 16
    COLOR_ACTIVEBORDER            = 10
    COLOR_ACTIVECAPTION           = 2
    COLOR_APPWORKSPACE            = 12
    COLOR_BACKGROUND              = 1
    COLOR_DESKTOP                 = 1
    COLOR_BTNFACE                 = 15
    COLOR_BTNHIGHLIGHT            = 20
    COLOR_BTNSHADOW               = 16
    COLOR_BTNTEXT                 = 18
    COLOR_CAPTIONTEXT             = 9
    COLOR_GRAYTEXT                = 17
    COLOR_HIGHLIGHT               = 13
    COLOR_HIGHLIGHTTEXT           = 14
    COLOR_INACTIVEBORDER          = 11
    COLOR_INACTIVECAPTION         = 3
    COLOR_INACTIVECAPTIONTEXT     = 19
    COLOR_INFOBK                  = 24
    COLOR_INFOTEXT                = 23
    COLOR_MENU                    = 4
    COLOR_MENUTEXT                = 7
    COLOR_SCROLLBAR               = 0
    COLOR_WINDOW                  = 5
    COLOR_WINDOWFRAME             = 6
    COLOR_WINDOWTEXT              = 8
    COLOR_HOTLIGHT                = 26
    COLOR_GRADIENTACTIVECAPTION   = 27
    COLOR_GRADIENTINACTIVECAPTION = 28
)

Predefined brushes constants

const (
    GA_PARENT    = 1
    GA_ROOT      = 2
    GA_ROOTOWNER = 3
)

GetAncestor flags

const (
    GWL_EXSTYLE     = -20
    GWL_STYLE       = -16
    GWL_WNDPROC     = -4
    GWLP_WNDPROC    = -4
    GWL_HINSTANCE   = -6
    GWLP_HINSTANCE  = -6
    GWL_HWNDPARENT  = -8
    GWLP_HWNDPARENT = -8
    GWL_ID          = -12
    GWLP_ID         = -12
    GWL_USERDATA    = -21
    GWLP_USERDATA   = -21
)

GetWindowLong and GetWindowLongPtr constants

const (
    HWND_BROADCAST = HWND(0xFFFF)
    HWND_BOTTOM    = HWND(1)
    HWND_NOTOPMOST = ^HWND(1) // -2
    HWND_TOP       = HWND(0)
    HWND_TOPMOST   = ^HWND(0) // -1
    HWND_DESKTOP   = HWND(0)
    HWND_MESSAGE   = ^HWND(2) // -3
)

Predefined window handles

const (
    IDI_APPLICATION = 32512
    IDI_HAND        = 32513
    IDI_QUESTION    = 32514
    IDI_EXCLAMATION = 32515
    IDI_ASTERISK    = 32516
         = 32517
    IDI_SHIELD      = 32518
    IDI_WARNING     = IDI_EXCLAMATION
    IDI_ERROR       = IDI_HAND
    IDI_INFORMATION = IDI_ASTERISK
)

Predefined icon constants

const (
    IDC_ARROW       = 32512
    IDC_IBEAM       = 32513
    IDC_WAIT        = 32514
    IDC_CROSS       = 32515
    IDC_UPARROW     = 32516
    IDC_SIZENWSE    = 32642
    IDC_SIZENESW    = 32643
    IDC_SIZEWE      = 32644
    IDC_SIZENS      = 32645
    IDC_SIZEALL     = 32646
    IDC_NO          = 32648
    IDC_HAND        = 32649
    IDC_APPSTARTING = 32650
    IDC_HELP        = 32651
    IDC_ICON        = 32641
    IDC_SIZE        = 32640
)

Predefined cursor constants

const (
    SM_CXSCREEN             = 0
    SM_CYSCREEN             = 1
    SM_CXVSCROLL            = 2
    SM_CYHSCROLL            = 3
    SM_CYCAPTION            = 4
    SM_CXBORDER             = 5
    SM_CYBORDER             = 6
    SM_CXDLGFRAME           = 7
    SM_CYDLGFRAME           = 8
    SM_CYVTHUMB             = 9
    SM_CXHTHUMB             = 10
    SM_CXICON               = 11
    SM_CYICON               = 12
    SM_CXCURSOR             = 13
    SM_CYCURSOR             = 14
    SM_CYMENU               = 15
    SM_CXFULLSCREEN         = 16
    SM_CYFULLSCREEN         = 17
    SM_CYKANJIWINDOW        = 18
    SM_MOUSEPRESENT         = 19
    SM_CYVSCROLL            = 20
    SM_CXHSCROLL            = 21
    SM_DEBUG                = 22
    SM_SWAPBUTTON           = 23
    SM_RESERVED1            = 24
    SM_RESERVED2            = 25
    SM_RESERVED3            = 26
    SM_RESERVED4            = 27
    SM_CXMIN                = 28
    SM_CYMIN                = 29
    SM_CXSIZE               = 30
    SM_CYSIZE               = 31
    SM_CXFRAME              = 32
    SM_CYFRAME              = 33
    SM_CXMINTRACK           = 34
    SM_CYMINTRACK           = 35
    SM_CXDOUBLECLK          = 36
    SM_CYDOUBLECLK          = 37
    SM_CXICONSPACING        = 38
    SM_CYICONSPACING        = 39
    SM_MENUDROPALIGNMENT    = 40
    SM_PENWINDOWS           = 41
    SM_DBCSENABLED          = 42
    SM_CMOUSEBUTTONS        = 43
    SM_CXFIXEDFRAME         = SM_CXDLGFRAME
    SM_CYFIXEDFRAME         = SM_CYDLGFRAME
    SM_CXSIZEFRAME          = SM_CXFRAME
    SM_CYSIZEFRAME          = SM_CYFRAME
    SM_SECURE               = 44
    SM_CXEDGE               = 45
    SM_CYEDGE               = 46
    SM_CXMINSPACING         = 47
    SM_CYMINSPACING         = 48
    SM_CXSMICON             = 49
    SM_CYSMICON             = 50
    SM_CYSMCAPTION          = 51
    SM_CXSMSIZE             = 52
    SM_CYSMSIZE             = 53
    SM_CXMENUSIZE           = 54
    SM_CYMENUSIZE           = 55
    SM_ARRANGE              = 56
    SM_CXMINIMIZED          = 57
    SM_CYMINIMIZED          = 58
    SM_CXMAXTRACK           = 59
    SM_CYMAXTRACK           = 60
    SM_CXMAXIMIZED          = 61
    SM_CYMAXIMIZED          = 62
    SM_NETWORK              = 63
    SM_CLEANBOOT            = 67
    SM_CXDRAG               = 68
    SM_CYDRAG               = 69
    SM_SHOWSOUNDS           = 70
    SM_CXMENUCHECK          = 71
    SM_CYMENUCHECK          = 72
    SM_SLOWMACHINE          = 73
    SM_MIDEASTENABLED       = 74
    SM_MOUSEWHEELPRESENT    = 75
    SM_XVIRTUALSCREEN       = 76
    SM_YVIRTUALSCREEN       = 77
    SM_CXVIRTUALSCREEN      = 78
    SM_CYVIRTUALSCREEN      = 79
    SM_CMONITORS            = 80
    SM_SAMEDISPLAYFORMAT    = 81
    SM_IMMENABLED           = 82
    SM_CXFOCUSBORDER        = 83
    SM_CYFOCUSBORDER        = 84
    SM_TABLETPC             = 86
    SM_MEDIACENTER          = 87
    SM_STARTER              = 88
    SM_SERVERR2             = 89
    SM_CMETRICS             = 91
    SM_REMOTESESSION        = 0x1000
    SM_SHUTTINGDOWN         = 0x2000
    SM_REMOTECONTROL        = 0x2001
    SM_CARETBLINKINGENABLED = 0x2002
)

GetSystemMetrics constants

const (
    SW_HIDE            = 0
    SW_NORMAL          = 1
    SW_SHOWNORMAL      = 1
    SW_SHOWMINIMIZED   = 2
    SW_MAXIMIZE        = 3
    SW_SHOWMAXIMIZED   = 3
    SW_SHOWNOACTIVATE  = 4
    SW_SHOW            = 5
    SW_MINIMIZE        = 6
    SW_SHOWMINNOACTIVE = 7
    SW_SHOWNA          = 8
    SW_RESTORE         = 9
    SW_SHOWDEFAULT     = 10
    SW_FORCEMINIMIZE   = 11
)

ShowWindow constants

const (
    SWP_DRAWFRAME      = 0x0020
    SWP_FRAMECHANGED   = 0x0020
    SWP_HIDEWINDOW     = 0x0080
    SWP_NOACTIVATE     = 0x0010
    SWP_NOCOPYBITS     = 0x0100
    SWP_NOMOVE         = 0x0002
    SWP_NOSIZE         = 0x0001
    SWP_NOREDRAW       = 0x0008
    SWP_NOZORDER       = 0x0004
    SWP_SHOWWINDOW     = 0x0040
    SWP_NOOWNERZORDER  = 0x0200
    SWP_NOREPOSITION   = SWP_NOOWNERZORDER
    SWP_NOSENDCHANGING = 0x0400
    SWP_DEFERERASE     = 0x2000
    SWP_ASYNCWINDOWPOS = 0x4000
)

SetWindowPos flags

const (
    UIS_SET        = 1
    UIS_CLEAR      = 2
    UIS_INITIALIZE = 3
)

UI state constants

const (
    UISF_HIDEFOCUS = 0x1
    UISF_HIDEACCEL = 0x2
    UISF_ACTIVE    = 0x4
)

UI state constants

const (
    VK_LBUTTON             = 1
    VK_RBUTTON             = 2
    VK_CANCEL              = 3
    VK_MBUTTON             = 4
    VK_XBUTTON1            = 5
    VK_XBUTTON2            = 6
    VK_BACK                = 8
    VK_TAB                 = 9
    VK_CLEAR               = 12
    VK_RETURN              = 13
    VK_SHIFT               = 16
    VK_CONTROL             = 17
    VK_MENU                = 18
    VK_PAUSE               = 19
    VK_CAPITAL             = 20
    VK_KANA                = 0x15
    VK_HANGEUL             = 0x15
    VK_HANGUL              = 0x15
    VK_JUNJA               = 0x17
    VK_FINAL               = 0x18
    VK_HANJA               = 0x19
    VK_KANJI               = 0x19
    VK_ESCAPE              = 0x1B
    VK_CONVERT             = 0x1C
    VK_NONCONVERT          = 0x1D
    VK_ACCEPT              = 0x1E
    VK_MODECHANGE          = 0x1F
    VK_SPACE               = 32
    VK_PRIOR               = 33
    VK_NEXT                = 34
    VK_END                 = 35
    VK_HOME                = 36
    VK_LEFT                = 37
    VK_UP                  = 38
    VK_RIGHT               = 39
    VK_DOWN                = 40
    VK_SELECT              = 41
    VK_PRINT               = 42
    VK_EXECUTE             = 43
    VK_SNAPSHOT            = 44
    VK_INSERT              = 45
    VK_DELETE              = 46
    VK_HELP                = 47
    VK_LWIN                = 0x5B
    VK_RWIN                = 0x5C
    VK_APPS                = 0x5D
    VK_SLEEP               = 0x5F
    VK_NUMPAD0             = 0x60
    VK_NUMPAD1             = 0x61
    VK_NUMPAD2             = 0x62
    VK_NUMPAD3             = 0x63
    VK_NUMPAD4             = 0x64
    VK_NUMPAD5             = 0x65
    VK_NUMPAD6             = 0x66
    VK_NUMPAD7             = 0x67
    VK_NUMPAD8             = 0x68
    VK_NUMPAD9             = 0x69
    VK_MULTIPLY            = 0x6A
    VK_ADD                 = 0x6B
    VK_SEPARATOR           = 0x6C
    VK_SUBTRACT            = 0x6D
    VK_DECIMAL             = 0x6E
    VK_DIVIDE              = 0x6F
    VK_F1                  = 0x70
    VK_F2                  = 0x71
    VK_F3                  = 0x72
    VK_F4                  = 0x73
    VK_F5                  = 0x74
    VK_F6                  = 0x75
    VK_F7                  = 0x76
    VK_F8                  = 0x77
    VK_F9                  = 0x78
    VK_F10                 = 0x79
    VK_F11                 = 0x7A
    VK_F12                 = 0x7B
    VK_F13                 = 0x7C
    VK_F14                 = 0x7D
    VK_F15                 = 0x7E
    VK_F16                 = 0x7F
    VK_F17                 = 0x80
    VK_F18                 = 0x81
    VK_F19                 = 0x82
    VK_F20                 = 0x83
    VK_F21                 = 0x84
    VK_F22                 = 0x85
    VK_F23                 = 0x86
    VK_F24                 = 0x87
    VK_NUMLOCK             = 0x90
    VK_SCROLL              = 0x91
    VK_LSHIFT              = 0xA0
    VK_RSHIFT              = 0xA1
    VK_LCONTROL            = 0xA2
    VK_RCONTROL            = 0xA3
    VK_LMENU               = 0xA4
    VK_RMENU               = 0xA5
    VK_BROWSER_BACK        = 0xA6
    VK_BROWSER_FORWARD     = 0xA7
    VK_BROWSER_REFRESH     = 0xA8
    VK_BROWSER_STOP        = 0xA9
    VK_BROWSER_SEARCH      = 0xAA
    VK_BROWSER_FAVORITES   = 0xAB
    VK_BROWSER_HOME        = 0xAC
    VK_VOLUME_MUTE         = 0xAD
    VK_VOLUME_DOWN         = 0xAE
    VK_VOLUME_UP           = 0xAF
    VK_MEDIA_NEXT_TRACK    = 0xB0
    VK_MEDIA_PREV_TRACK    = 0xB1
    VK_MEDIA_STOP          = 0xB2
    VK_MEDIA_PLAY_PAUSE    = 0xB3
    VK_LAUNCH_MAIL         = 0xB4
    VK_LAUNCH_MEDIA_SELECT = 0xB5
    VK_LAUNCH_APP1         = 0xB6
    VK_LAUNCH_APP2         = 0xB7
    VK_OEM_1               = 0xBA
    VK_OEM_PLUS            = 0xBB
    VK_OEM_COMMA           = 0xBC
    VK_OEM_MINUS           = 0xBD
    VK_OEM_PERIOD          = 0xBE
    VK_OEM_2               = 0xBF
    VK_OEM_3               = 0xC0
    VK_OEM_4               = 0xDB
    VK_OEM_5               = 0xDC
    VK_OEM_6               = 0xDD
    VK_OEM_7               = 0xDE
    VK_OEM_8               = 0xDF
    VK_OEM_102             = 0xE2
    VK_PROCESSKEY          = 0xE5
    VK_PACKET              = 0xE7
    VK_ATTN                = 0xF6
    VK_CRSEL               = 0xF7
    VK_EXSEL               = 0xF8
    VK_EREOF               = 0xF9
    VK_PLAY                = 0xFA
    VK_ZOOM                = 0xFB
    VK_NONAME              = 0xFC
    VK_PA1                 = 0xFD
    VK_OEM_CLEAR           = 0xFE
)

Virtual key codes

const (
    WS_OVERLAPPED       = 0X00000000
    WS_POPUP            = 0X80000000
    WS_CHILD            = 0X40000000
    WS_MINIMIZE         = 0X20000000
    WS_VISIBLE          = 0X10000000
    WS_DISABLED         = 0X08000000
    WS_CLIPSIBLINGS     = 0X04000000
    WS_CLIPCHILDREN     = 0X02000000
    WS_MAXIMIZE         = 0X01000000
    WS_CAPTION          = 0X00C00000
    WS_BORDER           = 0X00800000
    WS_DLGFRAME         = 0X00400000
    WS_VSCROLL          = 0X00200000
    WS_HSCROLL          = 0X00100000
    WS_SYSMENU          = 0X00080000
    WS_THICKFRAME       = 0X00040000
    WS_GROUP            = 0X00020000
    WS_TABSTOP          = 0X00010000
    WS_MINIMIZEBOX      = 0X00020000
    WS_MAXIMIZEBOX      = 0X00010000
    WS_TILED            = 0X00000000
    WS_ICONIC           = 0X20000000
    WS_SIZEBOX          = 0X00040000
    WS_OVERLAPPEDWINDOW = 0X00000000 | 0X00C00000 | 0X00080000 | 0X00040000 | 0X00020000 | 0X00010000
    WS_POPUPWINDOW      = 0X80000000 | 0X00800000 | 0X00080000
    WS_CHILDWINDOW      = 0X40000000
)

Window style constants

const (
    WS_EX_DLGMODALFRAME    = 0X00000001
    WS_EX_NOPARENTNOTIFY   = 0X00000004
    WS_EX_TOPMOST          = 0X00000008
    WS_EX_ACCEPTFILES      = 0X00000010
    WS_EX_TRANSPARENT      = 0X00000020
    WS_EX_MDICHILD         = 0X00000040
    WS_EX_TOOLWINDOW       = 0X00000080
    WS_EX_WINDOWEDGE       = 0X00000100
    WS_EX_CLIENTEDGE       = 0X00000200
    WS_EX_CONTEXTHELP      = 0X00000400
    WS_EX_RIGHT            = 0X00001000
    WS_EX_LEFT             = 0X00000000
    WS_EX_RTLREADING       = 0X00002000
    WS_EX_LTRREADING       = 0X00000000
    WS_EX_LEFTSCROLLBAR    = 0X00004000
    WS_EX_RIGHTSCROLLBAR   = 0X00000000
    WS_EX_CONTROLPARENT    = 0X00010000
    WS_EX_STATICEDGE       = 0X00020000
    WS_EX_APPWINDOW        = 0X00040000
    WS_EX_OVERLAPPEDWINDOW = 0X00000100 | 0X00000200
    WS_EX_PALETTEWINDOW    = 0X00000100 | 0X00000080 | 0X00000008
    WS_EX_LAYERED          = 0X00080000
    WS_EX_NOINHERITLAYOUT  = 0X00100000
    WS_EX_LAYOUTRTL        = 0X00400000
    WS_EX_NOACTIVATE       = 0X08000000
)

Extended window style constants

const (
    WM_APP                    = 32768
    WM_ACTIVATE               = 6
    WM_ACTIVATEAPP            = 28
    WM_AFXFIRST               = 864
    WM_AFXLAST                = 895
    WM_ASKCBFORMATNAME        = 780
    WM_CANCELJOURNAL          = 75
    WM_CANCELMODE             = 31
    WM_CAPTURECHANGED         = 533
    WM_CHANGECBCHAIN          = 781
    WM_CHAR                   = 258
    WM_CHARTOITEM             = 47
    WM_CHILDACTIVATE          = 34
    WM_CLEAR                  = 771
    WM_CLOSE                  = 16
    WM_COMMAND                = 273
    WM_COMMNOTIFY             = 68 /* OBSOLETE */
    WM_COMPACTING             = 65
    WM_COMPAREITEM            = 57
    WM_CONTEXTMENU            = 123
    WM_COPY                   = 769
    WM_COPYDATA               = 74
    WM_CREATE                 = 1
    WM_CTLCOLORBTN            = 309
    WM_CTLCOLORDLG            = 310
    WM_CTLCOLOREDIT           = 307
    WM_CTLCOLORLISTBOX        = 308
    WM_CTLCOLORMSGBOX         = 306
    WM_CTLCOLORSCROLLBAR      = 311
    WM_CTLCOLORSTATIC         = 312
    WM_CUT                    = 768
    WM_DEADCHAR               = 259
    WM_DELETEITEM             = 45
    WM_DESTROY                = 2
    WM_DESTROYCLIPBOARD       = 775
    WM_DEVICECHANGE           = 537
    WM_DEVMODECHANGE          = 27
    WM_DISPLAYCHANGE          = 126
    WM_DRAWCLIPBOARD          = 776
    WM_DRAWITEM               = 43
    WM_DROPFILES              = 563
    WM_ENABLE                 = 10
    WM_ENDSESSION             = 22
    WM_ENTERIDLE              = 289
    WM_ENTERMENULOOP          = 529
    WM_ENTERSIZEMOVE          = 561
    WM_ERASEBKGND             = 20
    WM_EXITMENULOOP           = 530
    WM_EXITSIZEMOVE           = 562
    WM_FONTCHANGE             = 29
    WM_GETDLGCODE             = 135
    WM_GETFONT                = 49
    WM_GETHOTKEY              = 51
    WM_GETICON                = 127
    WM_GETMINMAXINFO          = 36
    WM_GETTEXT                = 13
    WM_GETTEXTLENGTH          = 14
    WM_HANDHELDFIRST          = 856
    WM_HANDHELDLAST           = 863
    WM_HELP                   = 83
    WM_HOTKEY                 = 786
    WM_HSCROLL                = 276
    WM_HSCROLLCLIPBOARD       = 782
    WM_ICONERASEBKGND         = 39
    WM_INITDIALOG             = 272
    WM_INITMENU               = 278
    WM_INITMENUPOPUP          = 279
    WM_INPUT                  = 0X00FF
    WM_INPUTLANGCHANGE        = 81
    WM_INPUTLANGCHANGEREQUEST = 80
    WM_KEYDOWN                = 256
    WM_KEYUP                  = 257
    WM_KILLFOCUS              = 8
    WM_MDIACTIVATE            = 546
    WM_MDICASCADE             = 551
    WM_MDICREATE              = 544
    WM_MDIDESTROY             = 545
    WM_MDIGETACTIVE           = 553
    WM_MDIICONARRANGE         = 552
    WM_MDIMAXIMIZE            = 549
    WM_MDINEXT                = 548
    WM_MDIREFRESHMENU         = 564
    WM_MDIRESTORE             = 547
    WM_MDISETMENU             = 560
    WM_MDITILE                = 550
    WM_MEASUREITEM            = 44
    WM_GETOBJECT              = 0X003D
    WM_CHANGEUISTATE          = 0X0127
    WM_UPDATEUISTATE          = 0X0128
    WM_QUERYUISTATE           = 0X0129
    WM_UNINITMENUPOPUP        = 0X0125
    WM_MENURBUTTONUP          = 290
    WM_MENUCOMMAND            = 0X0126
    WM_MENUGETOBJECT          = 0X0124
    WM_MENUDRAG               = 0X0123
    WM_APPCOMMAND             = 0X0319
    WM_MENUCHAR               = 288
    WM_MENUSELECT             = 287
    WM_MOVE                   = 3
    WM_MOVING                 = 534
    WM_NCACTIVATE             = 134
    WM_NCCALCSIZE             = 131
    WM_NCCREATE               = 129
    WM_NCDESTROY              = 130
    WM_NCHITTEST              = 132
    WM_NCLBUTTONDBLCLK        = 163
    WM_NCLBUTTONDOWN          = 161
    WM_NCLBUTTONUP            = 162
    WM_NCMBUTTONDBLCLK        = 169
    WM_NCMBUTTONDOWN          = 167
    WM_NCMBUTTONUP            = 168
    WM_NCXBUTTONDOWN          = 171
    WM_NCXBUTTONUP            = 172
    WM_NCXBUTTONDBLCLK        = 173
    WM_NCMOUSEHOVER           = 0X02A0
    WM_NCMOUSELEAVE           = 0X02A2
    WM_NCMOUSEMOVE            = 160
    WM_NCPAINT                = 133
    WM_NCRBUTTONDBLCLK        = 166
    WM_NCRBUTTONDOWN          = 164
    WM_NCRBUTTONUP            = 165
    WM_NEXTDLGCTL             = 40
    WM_NEXTMENU               = 531
    WM_NOTIFY                 = 78
    WM_NOTIFYFORMAT           = 85
    WM_NULL                   = 0
    WM_PAINT                  = 15
    WM_PAINTCLIPBOARD         = 777
    WM_PAINTICON              = 38
    WM_PALETTECHANGED         = 785
    WM_PALETTEISCHANGING      = 784
    WM_PARENTNOTIFY           = 528
    WM_PASTE                  = 770
    WM_PENWINFIRST            = 896
    WM_PENWINLAST             = 911
    WM_POWER                  = 72
    WM_POWERBROADCAST         = 536
    WM_PRINT                  = 791
    WM_PRINTCLIENT            = 792
    WM_QUERYDRAGICON          = 55
    WM_QUERYENDSESSION        = 17
    WM_QUERYNEWPALETTE        = 783
    WM_QUERYOPEN              = 19
    WM_QUEUESYNC              = 35
    WM_QUIT                   = 18
    WM_RENDERALLFORMATS       = 774
    WM_RENDERFORMAT           = 773
    WM_SETCURSOR              = 32
    WM_SETFOCUS               = 7
    WM_SETFONT                = 48
    WM_SETHOTKEY              = 50
    WM_SETICON                = 128
    WM_SETREDRAW              = 11
    WM_SETTEXT                = 12
    WM_SETTINGCHANGE          = 26
    WM_SHOWWINDOW             = 24
    WM_SIZE                   = 5
    WM_SIZECLIPBOARD          = 779
    WM_SIZING                 = 532
    WM_SPOOLERSTATUS          = 42
    WM_STYLECHANGED           = 125
    WM_STYLECHANGING          = 124
    WM_SYSCHAR                = 262
    WM_SYSCOLORCHANGE         = 21
    WM_SYSCOMMAND             = 274
    WM_SYSDEADCHAR            = 263
    WM_SYSKEYDOWN             = 260
    WM_SYSKEYUP               = 261
    WM_TCARD                  = 82
    WM_THEMECHANGED           = 794
    WM_TIMECHANGE             = 30
    WM_TIMER                  = 275
    WM_UNDO                   = 772
    WM_USER                   = 1024
    WM_USERCHANGED            = 84
    WM_VKEYTOITEM             = 46
    WM_VSCROLL                = 277
    WM_VSCROLLCLIPBOARD       = 778
    WM_WINDOWPOSCHANGED       = 71
    WM_WINDOWPOSCHANGING      = 70
    WM_WININICHANGE           = 26
    WM_KEYFIRST               = 256
    WM_KEYLAST                = 264
    WM_SYNCPAINT              = 136
    WM_MOUSEACTIVATE          = 33
    WM_MOUSEMOVE              = 512
    WM_LBUTTONDOWN            = 513
    WM_LBUTTONUP              = 514
    WM_LBUTTONDBLCLK          = 515
    WM_RBUTTONDOWN            = 516
    WM_RBUTTONUP              = 517
    WM_RBUTTONDBLCLK          = 518
    WM_MBUTTONDOWN            = 519
    WM_MBUTTONUP              = 520
    WM_MBUTTONDBLCLK          = 521
    WM_MOUSEWHEEL             = 522
    WM_MOUSEFIRST             = 512
    WM_XBUTTONDOWN            = 523
    WM_XBUTTONUP              = 524
    WM_XBUTTONDBLCLK          = 525
    WM_MOUSELAST              = 525
    WM_MOUSEHOVER             = 0X2A1
    WM_MOUSELEAVE             = 0X2A3
    WM_CLIPBOARDUPDATE        = 0x031D
)

Window message constants

const (
    MK_CONTROL  = 0x0008
    MK_LBUTTON  = 0x0001
    MK_MBUTTON  = 0x0010
    MK_RBUTTON  = 0x0002
    MK_SHIFT    = 0x0004
    MK_XBUTTON1 = 0x0020
    MK_XBUTTON2 = 0x0040
)

mouse button constants

const (
    TPM_CENTERALIGN     = 0x0004
    TPM_LEFTALIGN       = 0x0000
    TPM_RIGHTALIGN      = 0x0008
    TPM_BOTTOMALIGN     = 0x0020
    TPM_TOPALIGN        = 0x0000
    TPM_VCENTERALIGN    = 0x0010
    TPM_NONOTIFY        = 0x0080
    TPM_RETURNCMD       = 0x0100
    TPM_LEFTBUTTON      = 0x0000
    TPM_RIGHTBUTTON     = 0x0002
    TPM_HORNEGANIMATION = 0x0800
    TPM_HORPOSANIMATION = 0x0400
    TPM_NOANIMATION     = 0x4000
    TPM_VERNEGANIMATION = 0x2000
    TPM_VERPOSANIMATION = 0x1000
    TPM_HORIZONTAL      = 0x0000
    TPM_VERTICAL        = 0x0040
)

TrackPopupMenu[Ex] flags

const (
    WPF_ASYNCWINDOWPLACEMENT = 0x0004
    WPF_RESTORETOMAXIMIZED   = 0x0002
    WPF_SETMINPOSITION       = 0x0001
)

WINDOWPLACEMENT flags

const (
    DT_TOP                  = 0x00000000
    DT_LEFT                 = 0x00000000
    DT_CENTER               = 0x00000001
    DT_RIGHT                = 0x00000002
    DT_VCENTER              = 0x00000004
    DT_BOTTOM               = 0x00000008
    DT_WORDBREAK            = 0x00000010
    DT_SINGLELINE           = 0x00000020
    DT_EXPANDTABS           = 0x00000040
    DT_TABSTOP              = 0x00000080
    DT_NOCLIP               = 0x00000100
    DT_EXTERNALLEADING      = 0x00000200
    DT_CALCRECT             = 0x00000400
    DT_NOPREFIX             = 0x00000800
    DT_INTERNAL             = 0x00001000
    DT_EDITCONTROL          = 0x00002000
    DT_PATH_ELLIPSIS        = 0x00004000
    DT_END_ELLIPSIS         = 0x00008000
    DT_MODIFYSTRING         = 0x00010000
    DT_RTLREADING           = 0x00020000
    DT_WORD_ELLIPSIS        = 0x00040000
    DT_NOFULLWIDTHCHARBREAK = 0x00080000
    DT_HIDEPREFIX           = 0x00100000
    DT_PREFIXONLY           = 0x00200000
)

DrawText[Ex] format flags

const (
    CS_VREDRAW         = 0x00000001
    CS_HREDRAW         = 0x00000002
    CS_KEYCVTWINDOW    = 0x00000004
    CS_DBLCLKS         = 0x00000008
    CS_OWNDC           = 0x00000020
    CS_CLASSDC         = 0x00000040
    CS_PARENTDC        = 0x00000080
    CS_NOKEYCVT        = 0x00000100
    CS_NOCLOSE         = 0x00000200
    CS_SAVEBITS        = 0x00000800
    CS_BYTEALIGNCLIENT = 0x00001000
    CS_BYTEALIGNWINDOW = 0x00002000
    CS_GLOBALCLASS     = 0x00004000
    CS_IME             = 0x00010000
    CS_DROPSHADOW      = 0x00020000
)

Window class styles

const (
    DS_ABSALIGN      = 0x0001
    DS_SYSMODAL      = 0x0002
    DS_3DLOOK        = 0x0004
    DS_FIXEDSYS      = 0x0008
    DS_NOFAILCREATE  = 0x0010
    DS_LOCALEDIT     = 0x0020
    DS_SETFONT       = 0x0040
    DS_MODALFRAME    = 0x0080
    DS_NOIDLEMSG     = 0x0100
    DS_SETFOREGROUND = 0x0200
    DS_CONTROL       = 0x0400
    DS_CENTER        = 0x0800
    DS_CENTERMOUSE   = 0x1000
    DS_CONTEXTHELP   = 0x2000
    DS_USEPIXELS     = 0x8000
    DS_SHELLFONT     = (DS_SETFONT | DS_FIXEDSYS)
)

Dialog styles

const (
    DLGC_BUTTON          = 0x2000
    DLGC_DEFPUSHBUTTON   = 0x0010
    DLGC_HASSETSEL       = 0x0008
    DLGC_RADIOBUTTON     = 0x0040
    DLGC_STATIC          = 0x0100
    DLGC_UNDEFPUSHBUTTON = 0x0020
    DLGC_WANTALLKEYS     = 0x0004
    DLGC_WANTARROWS      = 0x0001
    DLGC_WANTCHARS       = 0x0080
    DLGC_WANTMESSAGE     = 0x0004
    DLGC_WANTTAB         = 0x0002
)

WM_GETDLGCODE return values

const (
    WA_ACTIVE      = 1
    WA_CLICKACTIVE = 2
    WA_INACTIVE    = 0
)

WM_ACTIVATE codes

const (
    ODS_CHECKED      = 0x0001
    ODS_COMBOBOXEDIT = 0x0002
    ODS_DEFAULT      = 0x0004
    ODS_DISABLED     = 0x0008
    ODS_FOCUS        = 0x0010
    ODS_GRAYED       = 0x0020
    ODS_SELECTED     = 0x0040
)

Owner drawing states

const (
    RIDEV_APPKEYS      = 0x00000400
    RIDEV_CAPTUREMOUSE = 0x00000200
    RIDEV_DEVNOTIFY    = 0x00002000
    RIDEV_EXCLUDE      = 0x00000010
    RIDEV_EXINPUTSINK  = 0x00001000
    RIDEV_INPUTSINK    = 0x00000100
    RIDEV_NOHOTKEYS    = 0x00000200
    RIDEV_NOLEGACY     = 0x00000030
    RIDEV_PAGEONLY     = 0x00000020
    RIDEV_REMOVE       = 0x00000001
)

Raw input device flags

const (
    RID_HEADER = 0x10000005
    RID_INPUT  = 0x10000003
)

Raw input device command flags

const (
    RIM_TYPEHID      = 2
    RIM_TYPEKEYBOARD = 1
    RIM_TYPEMOUSE    = 0
)

Raw input type

const (
    RI_KEY_MAKE  = 0
    RI_KEY_BREAK = 1
    RI_KEY_E0    = 2
    RI_KEY_E1    = 4
)

Raw input scan code information

const (
    MOUSE_MOVE_RELATIVE      = 0x00
    MOUSE_MOVE_ABSOLUTE      = 0x01
    MOUSE_VIRTUAL_DESKTOP    = 0x02
    MOUSE_ATTRIBUTES_CHANGED = 0x04
)

Raw input mouse state

const (
    RI_MOUSE_LEFT_BUTTON_DOWN   = 0x0001
    RI_MOUSE_LEFT_BUTTON_UP     = 0x0002
    RI_MOUSE_MIDDLE_BUTTON_DOWN = 0x0010
    RI_MOUSE_MIDDLE_BUTTON_UP   = 0x0020
    RI_MOUSE_RIGHT_BUTTON_DOWN  = 0x0004
    RI_MOUSE_RIGHT_BUTTON_UP    = 0x0008
    RI_MOUSE_BUTTON_1_DOWN      = 0x0001
    RI_MOUSE_BUTTON_1_UP        = 0x0002
    RI_MOUSE_BUTTON_2_DOWN      = 0x0004
    RI_MOUSE_BUTTON_2_UP        = 0x0008
    RI_MOUSE_BUTTON_3_DOWN      = 0x0010
    RI_MOUSE_BUTTON_3_UP        = 0x0020
    RI_MOUSE_BUTTON_4_DOWN      = 0x0040
    RI_MOUSE_BUTTON_4_UP        = 0x0080
    RI_MOUSE_BUTTON_5_DOWN      = 0x0100
    RI_MOUSE_BUTTON_5_UP        = 0x0200
    RI_MOUSE_WHEEL              = 0x0400
)

Raw input transistion state of mouse buttons

const (
    MONITOR_DEFAULTTONULL    = 0x0
    MONITOR_DEFAULTTOPRIMARY = 0x1
    MONITOR_DEFAULTTONEAREST = 0x2
)

Multi monitor constants

const (
    INPUT_MOUSE    = 0
    INPUT_KEYBOARD = 1
    INPUT_HARDWARE = 2
)

INPUT Type

const (
    XBUTTON1 = 0x0001
    XBUTTON2 = 0x0002
)

MOUSEINPUT MouseData

const (
    MOUSEEVENTF_ABSOLUTE        = 0x8000
    MOUSEEVENTF_HWHEEL          = 0x1000
    MOUSEEVENTF_MOVE            = 0x0001
    MOUSEEVENTF_MOVE_NOCOALESCE = 0x2000
    MOUSEEVENTF_LEFTDOWN        = 0x0002
    MOUSEEVENTF_LEFTUP          = 0x0004
    MOUSEEVENTF_RIGHTDOWN       = 0x0008
    MOUSEEVENTF_RIGHTUP         = 0x0010
    MOUSEEVENTF_MIDDLEDOWN      = 0x0020
    MOUSEEVENTF_MIDDLEUP        = 0x0040
    MOUSEEVENTF_VIRTUALDESK     = 0x4000
    MOUSEEVENTF_WHEEL           = 0x0800
    MOUSEEVENTF_XDOWN           = 0x0080
    MOUSEEVENTF_XUP             = 0x0100
)

MOUSEINPUT DwFlags

const (
    KEYEVENTF_EXTENDEDKEY = 0x0001
    KEYEVENTF_KEYUP       = 0x0002
    KEYEVENTF_SCANCODE    = 0x0008
    KEYEVENTF_UNICODE     = 0x0004
)

KEYBDINPUT DwFlags

const (
    GW_CHILD        = 5
    GW_ENABLEDPOPUP = 6
    GW_HWNDFIRST    = 0
    GW_HWNDLAST     = 1
    GW_HWNDNEXT     = 2
    GW_HWNDPREV     = 3
    GW_OWNER        = 4
)

GetWindow uCmd constants

const (
    CF_BITMAP          = 2
    CF_DIB             = 8
    CF_DIBV5           = 17
    CF_DIF             = 5
    CF_DSPBITMAP       = 0x0082
    CF_DSPENHMETAFILE  = 0x008E
    CF_DSPMETAFILEPICT = 0x0083
    CF_DSPTEXT         = 0x0081
    CF_ENHMETAFILE     = 14
    CF_GDIOBJFIRST     = 0x0300
    CF_GDIOBJLAST      = 0x03FF
    CF_HDROP           = 15
    CF_LOCALE          = 16
    CF_METAFILEPICT    = 3
    CF_OEMTEXT         = 7
    CF_OWNERDISPLAY    = 0x0080
    CF_PALETTE         = 9
    CF_PENDATA         = 10
    CF_PRIVATEFIRST    = 0x0200
    CF_PRIVATELAST     = 0x02FF
    CF_RIFF            = 11
    CF_SYLK            = 4
    CF_TEXT            = 1
    CF_TIFF            = 6
    CF_UNICODETEXT     = 13
    CF_WAVE            = 12
)

Standard clipboard formats

const (
    SB_HORZ = 0
    SB_VERT = 1
    SB_CTL  = 2
    SB_BOTH = 3
)

ScrollBar constants

const (
    SB_LINEUP        = 0
    SB_LINELEFT      = 0
    SB_LINEDOWN      = 1
    SB_LINERIGHT     = 1
    SB_PAGEUP        = 2
    SB_PAGELEFT      = 2
    SB_PAGEDOWN      = 3
    SB_PAGERIGHT     = 3
    SB_THUMBPOSITION = 4
    SB_THUMBTRACK    = 5
    SB_TOP           = 6
    SB_LEFT          = 6
    SB_BOTTOM        = 7
    SB_RIGHT         = 7
    SB_ENDSCROLL     = 8
)

ScrollBar commands

const (
    SIF_RANGE           = 1
    SIF_PAGE            = 2
    SIF_POS             = 4
    SIF_DISABLENOSCROLL = 8
    SIF_TRACKPOS        = 16
    SIF_ALL             = SIF_RANGE + SIF_PAGE + SIF_POS + SIF_TRACKPOS
)

[Get|Set]ScrollInfo mask constants

const (
    DI_COMPAT      = 0x0004
    DI_DEFAULTSIZE = 0x0008
    DI_IMAGE       = 0x0002
    DI_MASK        = 0x0001
    DI_NOMIRROR    = 0x0010
    DI_NORMAL      = DI_IMAGE | DI_MASK
)

DrawIconEx flags

const (
    HTBORDER      = 18
    HTBOTTOM      = 15
    HTBOTTOMLEFT  = 16
    HTBOTTOMRIGHT = 17
    HTCAPTION     = 2
    HTCLIENT      = 1
    HTCLOSE       = 20
    HTERROR       = -2
    HTGROWBOX     = 4
    HTHELP        = 21
    HTHSCROLL     = 6
    HTLEFT        = 10
    HTMENU        = 5
    HTMAXBUTTON   = 9
    HTMINBUTTON   = 8
    HTNOWHERE     = 0
    HTREDUCE      = 8
    HTRIGHT       = 11
    HTSIZE        = 4
    HTSYSMENU     = 3
    HTTOP         = 12
    HTTOPLEFT     = 13
    HTTOPRIGHT    = 14
    HTTRANSPARENT = -1
    HTVSCROLL     = 7
    HTZOOM        = 9
)

WM_NCHITTEST constants

const (
    AW_ACTIVATE     = 0x00020000
    AW_BLEND        = 0x00080000
    AW_CENTER       = 0x00000010
    AW_HIDE         = 0x00010000
    AW_HOR_POSITIVE = 0x00000001
    AW_HOR_NEGATIVE = 0x00000002
    AW_SLIDE        = 0x00040000
    AW_VER_POSITIVE = 0x00000004
    AW_VER_NEGATIVE = 0x00000008
)

AnimateWindow flags

const (
    LVP_LISTITEM         = 1
    LVP_LISTGROUP        = 2
    LVP_LISTDETAIL       = 3
    LVP_LISTSORTEDDETAIL = 4
    LVP_EMPTYTEXT        = 5
    LVP_GROUPHEADER      = 6
    LVP_GROUPHEADERLINE  = 7
    LVP_EXPANDBUTTON     = 8
    LVP_COLLAPSEBUTTON   = 9
    LVP_COLUMNDETAIL     = 10
)

LISTVIEW parts

const (
    LISS_NORMAL           = 1
    LISS_HOT              = 2
    LISS_SELECTED         = 3
    LISS_DISABLED         = 4
    LISS_SELECTEDNOTFOCUS = 5
    LISS_HOTSELECTED      = 6
)

LVP_LISTITEM states

const (
    TIS_NORMAL   = 1
    TIS_HOT      = 2
    TIS_SELECTED = 3
    TIS_DISABLED = 4
    TIS_FOCUSED  = 5
)

TABP_TABITEM states

const (
    TVP_TREEITEM = 1
    TVP_GLYPH    = 2
    TVP_BRANCH   = 3
    TVP_HOTGLYPH = 4
)

TREEVIEW parts

const (
    TREIS_NORMAL           = 1
    TREIS_HOT              = 2
    TREIS_SELECTED         = 3
    TREIS_DISABLED         = 4
    TREIS_SELECTEDNOTFOCUS = 5
    TREIS_HOTSELECTED      = 6
)

TVP_TREEITEM states

const (
    DTT_TEXTCOLOR    = 1 << 0
    DTT_BORDERCOLOR  = 1 << 1
    DTT_SHADOWCOLOR  = 1 << 2
    DTT_SHADOWTYPE   = 1 << 3
    DTT_SHADOWOFFSET = 1 << 4
    DTT_BORDERSIZE   = 1 << 5
    DTT_FONTPROP     = 1 << 6
    DTT_COLORPROP    = 1 << 7
    DTT_STATEID      = 1 << 8
    DTT_CALCRECT     = 1 << 9
    DTT_APPLYOVERLAY = 1 << 10
    DTT_GLOWSIZE     = 1 << 11
    DTT_CALLBACK     = 1 << 12
    DTT_COMPOSITED   = 1 << 13
    DTT_VALIDBITS    = DTT_TEXTCOLOR |
        DTT_BORDERCOLOR |
        DTT_SHADOWCOLOR |
        DTT_SHADOWTYPE |
        DTT_SHADOWOFFSET |
        DTT_BORDERSIZE |
        DTT_FONTPROP |
        DTT_COLORPROP |
        DTT_STATEID |
        DTT_CALCRECT |
        DTT_APPLYOVERLAY |
        DTT_GLOWSIZE |
        DTT_COMPOSITED
)

DTTOPTS flags

const (
    S_OK           = 0x00000000
    S_FALSE        = 0x00000001
    E_UNEXPECTED   = 0x8000FFFF
    E_NOTIMPL      = 0x80004001
    E_OUTOFMEMORY  = 0x8007000E
    E_INVALIDARG   = 0x80070057
    E_NOINTERFACE  = 0x80004002
    E_POINTER      = 0x80004003
    E_HANDLE       = 0x80070006
    E_ABORT        = 0x80004004
    E_FAIL         = 0x80004005
    E_ACCESSDENIED = 0x80070005
    E_PENDING      = 0x8000000A
)
const (
    FALSE = 0
    TRUE  = 1
)
const (
    PRINTER_ENUM_DEFAULT     = 0x00000001
    PRINTER_ENUM_LOCAL       = 0x00000002
    PRINTER_ENUM_CONNECTIONS = 0x00000004
    PRINTER_ENUM_FAVORITE    = 0x00000004
    PRINTER_ENUM_NAME        = 0x00000008
    PRINTER_ENUM_REMOTE      = 0x00000010
    PRINTER_ENUM_SHARED      = 0x00000020
    PRINTER_ENUM_NETWORK     = 0x00000040
)

EnumPrinters flags

const (
    AC_SRC_ALPHA = 0x1
)

AlphaBlend operations

const (
    BP_CHECKBOX = 3
)

CheckBox parts

const CBM_INIT = 4
const (
    CBS_UNCHECKEDNORMAL = 1
)

CheckBox states

const CLR_INVALID = 0xFFFFFFFF
const CW_USEDEFAULT = ^0x7fffffff
const (
    DISP_E_MEMBERNOTFOUND = 0x80020003
)
const DTM_FIRST = 0x1000
const DTN_FIRST = ^uint32(739) // -740
const DTN_FIRST2 = ^uint32(752) // -753
const (
    ERROR_NO_MORE_ITEMS = 259
)
const (
    FRERR_BUFFERLENGTHZERO = 0x4001
)

FindText and ReplaceText specific error codes

const (
    HDIS_FOCUSED = 0x00000001
)
const (
    HDS_NOSIZING = 0x0800
)
const LF_FACESIZE = 32
const MAX_PATH = 260
const (
    MONITORINFOF_PRIMARY = 0x1
)

MONITORINFO flags

const NOTIFYICON_VERSION = 3
const (
    OFN_EX_NOPLACESBAR = 0x00000001
)

GetOpenFileName and GetSaveFileName extended flags

const (
    PD_EXCL_COPIESANDCOLLATE = DM_COPIES | DM_COLLATE
)

PrintDlgEx exclusion flags

const SB_SIMPLEID = 0xff
const (
    SPI_GETNONCLIENTMETRICS = 0x0029
)

SystemParametersInfo actions

const START_PAGE_GENERAL = 0xffffffff
const (
    TABP_TABITEM = 1
)

TAB parts

const TCM_FIRST = 0x1300
const TCN_FIRST = -550
const (
    TVGN_CARET = 9
)
const UDN_DELTAPOS = UDN_FIRST - 1
const UDN_FIRST = ^uint32(720)

Variables

var (
    IID_IClassFactory             = IID{0x00000001, 0x0000, 0x0000, [8]byte{0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
    IID_IConnectionPointContainer = IID{0xB196B284, 0xBAB4, 0x101A, [8]byte{0xB6, 0x9C, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07}}
    IID_IOleClientSite            = IID{0x00000118, 0x0000, 0x0000, [8]byte{0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
    IID_IOleInPlaceObject         = IID{0x00000113, 0x0000, 0x0000, [8]byte{0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
    IID_IOleInPlaceSite           = IID{0x00000119, 0x0000, 0x0000, [8]byte{0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
    IID_IOleObject                = IID{0x00000112, 0x0000, 0x0000, [8]byte{0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
    IID_IUnknown                  = IID{0x00000000, 0x0000, 0x0000, [8]byte{0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
)
var (
    CLSID_WebBrowser            = CLSID{0x8856F961, 0x340A, 0x11D0, [8]byte{0xA9, 0x6B, 0x00, 0xC0, 0x4F, 0xD7, 0x05, 0xA2}}
    DIID_DWebBrowserEvents2     = IID{0x34A715A0, 0x6587, 0x11D0, [8]byte{0x92, 0x4A, 0x00, 0x20, 0xAF, 0xC7, 0xAC, 0x4D}}
    IID_IWebBrowser2            = IID{0xD30C1661, 0xCDAF, 0x11D0, [8]byte{0x8A, 0x3E, 0x00, 0xC0, 0x4F, 0xC9, 0xE2, 0x6E}}
    IID_IDocHostUIHandler       = IID{0xBD3F23C0, 0xD43E, 0x11CF, [8]byte{0x89, 0x3B, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x1A}}
    IID_IOleInPlaceActiveObject = IID{0x00000117, 0x0000, 0x0000, [8]byte{0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
)
var (
    CLSID_TaskbarList = CLSID{0x56FDF344, 0xFD6D, 0x11d0, [8]byte{0x95, 0x8A, 0x00, 0x60, 0x97, 0xC9, 0xA0, 0x90}}
    IID_ITaskbarList3 = IID{0xea1afb91, 0x9e28, 0x4b86, [8]byte{0x90, 0xe9, 0x9e, 0x9f, 0x8a, 0x5e, 0xef, 0xaf}}
)
var (
    IID_IDispatch = IID{0x00020400, 0x0000, 0x0000, [8]byte{0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
)

func AbortDoc Uses

func AbortDoc(hdc HDC) int32

func ActivateActCtx Uses

func ActivateActCtx(ctx HANDLE) (uintptr, bool)

func AddClipboardFormatListener Uses

func AddClipboardFormatListener(hwnd HWND) bool

func AddFontResourceEx Uses

func AddFontResourceEx(lpszFilename *uint16, fl uint32, pdv unsafe.Pointer) int32

func AdjustWindowRect Uses

func AdjustWindowRect(lpRect *RECT, dwStyle uint32, bMenu bool) bool

func AlphaBlend Uses

func AlphaBlend(hdcDest HDC, nXOriginDest, nYOriginDest, nWidthDest, nHeightDest int32, hdcSrc HDC, nXOriginSrc, nYOriginSrc, nWidthSrc, nHeightSrc int32, ftn BLENDFUNCTION) bool

func AnimateWindow Uses

func AnimateWindow(hwnd HWND, dwTime, dwFlags uint32) bool

func BSTRToString Uses

func BSTRToString(value *uint16) string

func BitBlt Uses

func BitBlt(hdcDest HDC, nXDest, nYDest, nWidth, nHeight int32, hdcSrc HDC, nXSrc, nYSrc int32, dwRop uint32) bool

func CallWindowProc Uses

func CallWindowProc(lpPrevWndFunc uintptr, hWnd HWND, Msg uint32, wParam, lParam uintptr) uintptr

func ChooseColor Uses

func ChooseColor(lpcc *CHOOSECOLOR) bool

func ChoosePixelFormat Uses

func ChoosePixelFormat(hdc HDC, ppfd *PIXELFORMATDESCRIPTOR) int32

func ClientToScreen Uses

func ClientToScreen(hwnd HWND, lpPoint *POINT) bool

func CloseClipboard Uses

func CloseClipboard() bool

func CloseHandle Uses

func CloseHandle(hObject HANDLE) bool

func CoTaskMemFree Uses

func CoTaskMemFree(pv uintptr)

func CombineRgn Uses

func CombineRgn(hrgnDest, hrgnSrc1, hrgnSrc2 HRGN, fnCombineMode int32) int32

func CommDlgExtendedError Uses

func CommDlgExtendedError() uint32

func DefWindowProc Uses

func DefWindowProc(hWnd HWND, Msg uint32, wParam, lParam uintptr) uintptr

func DeleteDC Uses

func DeleteDC(hdc HDC) bool

func DeleteEnhMetaFile Uses

func DeleteEnhMetaFile(hemf HENHMETAFILE) bool

func DeleteObject Uses

func DeleteObject(hObject HGDIOBJ) bool

func DestroyIcon Uses

func DestroyIcon(hIcon HICON) bool

func DestroyMenu Uses

func DestroyMenu(hMenu HMENU) bool

func DestroyWindow Uses

func DestroyWindow(hWnd HWND) bool

func DeviceCapabilities Uses

func DeviceCapabilities(pDevice, pPort *uint16, fwCapability uint16, pOutput *uint16, pDevMode *DEVMODE) uint32

func DialogBoxParam Uses

func DialogBoxParam(instRes HINSTANCE, name *uint16, parent HWND, proc, param uintptr) int

func DispatchMessage Uses

func DispatchMessage(msg *MSG) uintptr

func DocumentProperties Uses

func DocumentProperties(hWnd HWND, hPrinter HANDLE, pDeviceName *uint16, pDevModeOutput, pDevModeInput *DEVMODE, fMode uint32) int32

func DragAcceptFiles Uses

func DragAcceptFiles(hWnd HWND, fAccept bool) bool

func DragFinish Uses

func DragFinish(hDrop HDROP)

func DragQueryFile Uses

func DragQueryFile(hDrop HDROP, iFile uint, lpszFile *uint16, cch uint) uint

func DrawFocusRect Uses

func DrawFocusRect(hDC HDC, lprc *RECT) bool

func DrawIconEx Uses

func DrawIconEx(hdc HDC, xLeft, yTop int32, hIcon HICON, cxWidth, cyWidth int32, istepIfAniCur uint32, hbrFlickerFreeDraw HBRUSH, diFlags uint32) bool

func DrawMenuBar Uses

func DrawMenuBar(hWnd HWND) bool

func DrawTextEx Uses

func DrawTextEx(hdc HDC, lpchText *uint16, cchText int32, lprc *RECT, dwDTFormat uint32, lpDTParams *DRAWTEXTPARAMS) int32

func Ellipse Uses

func Ellipse(hdc HDC, nLeftRect, nTopRect, nRightRect, nBottomRect int32) bool

func EmptyClipboard Uses

func EmptyClipboard() bool

func EnableWindow Uses

func EnableWindow(hWnd HWND, bEnable bool) bool

func EndDeferWindowPos Uses

func EndDeferWindowPos(hWinPosInfo HDWP) bool

func EndDialog Uses

func EndDialog(hwnd HWND, result int) bool

func EndDoc Uses

func EndDoc(hdc HDC) int32

func EndPage Uses

func EndPage(hdc HDC) int32

func EndPaint Uses

func EndPaint(hwnd HWND, lpPaint *PAINTSTRUCT) bool

func EnumChildWindows Uses

func EnumChildWindows(hWndParent HWND, lpEnumFunc, lParam uintptr) bool

func EnumPrinters Uses

func EnumPrinters(Flags uint32, Name *uint16, Level uint32, pPrinterEnum *byte, cbBuf uint32, pcbNeeded, pcReturned *uint32) bool

func EqualREFIID Uses

func EqualREFIID(a, b REFIID) bool

func ExcludeClipRect Uses

func ExcludeClipRect(hdc HDC, nLeftRect, nTopRect, nRightRect, nBottomRect int32) int32

func FAILED Uses

func FAILED(hr HRESULT) bool

func FileTimeToSystemTime Uses

func FileTimeToSystemTime(lpFileTime *FILETIME, lpSystemTime *SYSTEMTIME) bool

func FillRgn Uses

func FillRgn(hdc HDC, hrgn HRGN, hbr HBRUSH) bool

func GET_X_LPARAM Uses

func GET_X_LPARAM(lp uintptr) int32

func GET_Y_LPARAM Uses

func GET_Y_LPARAM(lp uintptr) int32

func GdiFlush Uses

func GdiFlush() bool

func GdiplusShutdown Uses

func GdiplusShutdown()

func GetCaretPos Uses

func GetCaretPos(lpPoint *POINT) bool

func GetClientRect Uses

func GetClientRect(hWnd HWND, rect *RECT) bool

func GetConsoleTitle Uses

func GetConsoleTitle(lpConsoleTitle *uint16, nSize uint32) uint32

func GetCursorPos Uses

func GetCursorPos(lpPoint *POINT) bool

func GetDIBits Uses

func GetDIBits(hdc HDC, hbmp HBITMAP, uStartScan uint32, cScanLines uint32, lpvBits *byte, lpbi *BITMAPINFO, uUsage uint32) int32

func GetDefaultPrinter Uses

func GetDefaultPrinter(pszBuffer *uint16, pcchBuffer *uint32) bool

func GetDeviceCaps Uses

func GetDeviceCaps(hdc HDC, nIndex int32) int32

func GetEnhMetaFileHeader Uses

func GetEnhMetaFileHeader(hemf HENHMETAFILE, cbBuffer uint32, lpemh *ENHMETAHEADER) uint32

func GetKeyState Uses

func GetKeyState(nVirtKey int32) int16

func GetLastError Uses

func GetLastError() uint32

func GetLocaleInfo Uses

func GetLocaleInfo(Locale LCID, LCType LCTYPE, lpLCData *uint16, cchData int32) int32

func GetLogicalDriveStrings Uses

func GetLogicalDriveStrings(nBufferLength uint32, lpBuffer *uint16) uint32

func GetMenuInfo Uses

func GetMenuInfo(hmenu HMENU, lpcmi *MENUINFO) bool

func GetMonitorInfo Uses

func GetMonitorInfo(hMonitor HMONITOR, lpmi *MONITORINFO) bool

func GetNumberFormat Uses

func GetNumberFormat(Locale LCID, dwFlags uint32, lpValue *uint16, lpFormat *NUMBERFMT, lpNumberStr *uint16, cchNumber int32) int32

func GetObject Uses

func GetObject(hgdiobj HGDIOBJ, cbBuffer uintptr, lpvObject unsafe.Pointer) int32

func GetOpenFileName Uses

func GetOpenFileName(lpofn *OPENFILENAME) bool

func GetPhysicallyInstalledSystemMemory Uses

func GetPhysicallyInstalledSystemMemory(totalMemoryInKilobytes *uint64) bool

func GetProfileString Uses

func GetProfileString(lpAppName, lpKeyName, lpDefault *uint16, lpReturnedString uintptr, nSize uint32) bool

func GetRawInputData Uses

func GetRawInputData(hRawInput HRAWINPUT, uiCommand uint32, pData unsafe.Pointer, pcbSize *uint32, cBSizeHeader uint32) uint32

func GetRgnBox Uses

func GetRgnBox(hrgn HRGN, lprc *RECT) int32

func GetSaveFileName Uses

func GetSaveFileName(lpofn *OPENFILENAME) bool

func GetScrollInfo Uses

func GetScrollInfo(hwnd HWND, fnBar int32, lpsi *SCROLLINFO) bool

func GetSysColor Uses

func GetSysColor(nIndex int) uint32

func GetSystemMetrics Uses

func GetSystemMetrics(nIndex int32) int32

func GetTextExtentExPoint Uses

func GetTextExtentExPoint(hdc HDC, lpszStr *uint16, cchString, nMaxExtent int32, lpnFit, alpDx *int32, lpSize *SIZE) bool

func GetTextExtentPoint32 Uses

func GetTextExtentPoint32(hdc HDC, lpString *uint16, c int32, lpSize *SIZE) bool

func GetTextMetrics Uses

func GetTextMetrics(hdc HDC, lptm *TEXTMETRIC) bool

func GetVersion Uses

func GetVersion() int64

func GetViewportOrgEx Uses

func GetViewportOrgEx(hdc HDC, lpPoint *POINT) bool

func GetWindowLong Uses

func GetWindowLong(hWnd HWND, index int32) int32

func GetWindowLongPtr Uses

func GetWindowLongPtr(hWnd HWND, index int32) uintptr

func GetWindowPlacement Uses

func GetWindowPlacement(hWnd HWND, lpwndpl *WINDOWPLACEMENT) bool

func GetWindowRect Uses

func GetWindowRect(hWnd HWND, rect *RECT) bool

func GlobalLock Uses

func GlobalLock(hMem HGLOBAL) unsafe.Pointer

func GlobalUnlock Uses

func GlobalUnlock(hMem HGLOBAL) bool

func GradientFill Uses

func GradientFill(hdc HDC, pVertex *TRIVERTEX, nVertex uint32, pMesh unsafe.Pointer, nMesh, ulMode uint32) bool

func HIBYTE Uses

func HIBYTE(w uint16) byte

func HIWORD Uses

func HIWORD(dw uint32) uint16

func ImageList_Add Uses

func ImageList_Add(himl HIMAGELIST, hbmImage, hbmMask HBITMAP) int32

func ImageList_AddMasked Uses

func ImageList_AddMasked(himl HIMAGELIST, hbmImage HBITMAP, crMask COLORREF) int32

func ImageList_Destroy Uses

func ImageList_Destroy(hIml HIMAGELIST) bool

func ImageList_ReplaceIcon Uses

func ImageList_ReplaceIcon(himl HIMAGELIST, i int32, hicon HICON) int32

func InitCommonControlsEx Uses

func InitCommonControlsEx(lpInitCtrls *INITCOMMONCONTROLSEX) bool

func InsertMenuItem Uses

func InsertMenuItem(hMenu HMENU, uItem uint32, fByPosition bool, lpmii *MENUITEMINFO) bool

func IntersectClipRect Uses

func IntersectClipRect(hdc HDC, nLeftRect, nTopRect, nRightRect, nBottomRect int32) int32

func InvalidateRect Uses

func InvalidateRect(hWnd HWND, lpRect *RECT, bErase bool) bool

func IsAppThemed Uses

func IsAppThemed() bool

func IsChild Uses

func IsChild(hWndParent, hWnd HWND) bool

func IsClipboardFormatAvailable Uses

func IsClipboardFormatAvailable(format uint32) bool

func IsDialogMessage Uses

func IsDialogMessage(hWnd HWND, msg *MSG) bool

func IsWindowEnabled Uses

func IsWindowEnabled(hWnd HWND) bool

func IsWindowVisible Uses

func IsWindowVisible(hWnd HWND) bool

func KillTimer Uses

func KillTimer(hWnd HWND, uIDEvent uintptr) bool

func LOBYTE Uses

func LOBYTE(w uint16) byte

func LOWORD Uses

func LOWORD(dw uint32) uint16

func LineTo Uses

func LineTo(hdc HDC, nXEnd, nYEnd int32) bool

func LoadString Uses

func LoadString(instRes HINSTANCE, id uint32, buf *uint16, length int32) int32

func MAKEINTRESOURCE Uses

func MAKEINTRESOURCE(id uintptr) *uint16

func MAKELONG Uses

func MAKELONG(lo, hi uint16) uint32

func MAKEWORD Uses

func MAKEWORD(lo, hi byte) uint16

func MaybeGetProcAddress Uses

func MaybeGetProcAddress(lib uintptr, name string) uintptr

func MessageBeep Uses

func MessageBeep(uType uint32) bool

Plays a waveform sound. uType is the sound to be played. The sounds are set by the user through the Sound control panel application. The following values can be used as a sound:

MB_ICONASTERISK (see MB_ICONINFORMATION)
MB_ICONEXCLAMATION (see MB_ICONWARNING)
MB_ICONERROR (The sound specified as the Windows Critical Stop sound)
MB_ICONHAND (See MB_ICONERROR)
MB_ICONINFORMATION (The sounds specified as the Windows Asterisk sound)
MB_ICONQUESTION (The sound specified as the Windows Question sound)
MB_ICONSTOP (See MB_ICONERROR)
MB_ICONWARNING (The sounds specified as the Windows Exclamation sound)
MB_OK (The sound specified as the Windows Default Beep sound)

The function will return true if the function succeeds, false if otherwise.

func MessageBox Uses

func MessageBox(hWnd HWND, lpText, lpCaption *uint16, uType uint32) int32

func MoveMemory Uses

func MoveMemory(destination, source unsafe.Pointer, length uintptr)

func MoveToEx Uses

func MoveToEx(hdc HDC, x, y int, lpPoint *POINT) bool

func MoveWindow Uses

func MoveWindow(hWnd HWND, x, y, width, height int32, repaint bool) bool

func MulDiv Uses

func MulDiv(nNumber, nNumerator, nDenominator int32) int32

func MustGetProcAddress Uses

func MustGetProcAddress(lib uintptr, name string) uintptr

func MustLoadLibrary Uses

func MustLoadLibrary(name string) uintptr

func OleUninitialize Uses

func OleUninitialize()

func OpenClipboard Uses

func OpenClipboard(hWndNewOwner HWND) bool

func PdhAddCounter Uses

func PdhAddCounter(hQuery PDH_HQUERY, szFullCounterPath string, dwUserData uintptr, phCounter *PDH_HCOUNTER) uint32

Adds the specified counter to the query. This is the internationalized version. Preferably, use the function PdhAddEnglishCounter instead. hQuery is the query handle, which has been fetched by PdhOpenQuery. szFullCounterPath is a full, internationalized counter path (this will differ per Windows language version). dwUserData is a 'user-defined value', which becomes part of the counter information. To retrieve this value later, call PdhGetCounterInfo() and access dwQueryUserData of the PDH_COUNTER_INFO structure.

Examples of szFullCounterPath (in an English version of Windows):

\\Processor(_Total)\\% Idle Time
\\Processor(_Total)\\% Processor Time
\\LogicalDisk(C:)\% Free Space

To view all (internationalized...) counters on a system, there are three non-programmatic ways: perfmon utility, the typeperf command, and the the registry editor. perfmon.exe is perhaps the easiest way, because it's basically a full implemention of the pdh.dll API, except with a GUI and all that. The registry setting also provides an interface to the available counters, and can be found at the following key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\CurrentLanguage

This registry key contains several values as follows:

1
1847
2
System
4
Memory
6
% Processor Time
... many, many more

Somehow, these numeric values can be used as szFullCounterPath too:

\2\6 will correspond to \\System\% Processor Time

The typeperf command may also be pretty easy. To find all performance counters, simply execute:

typeperf -qx

func PdhAddEnglishCounter Uses

func PdhAddEnglishCounter(hQuery PDH_HQUERY, szFullCounterPath string, dwUserData uintptr, phCounter *PDH_HCOUNTER) uint32

Adds the specified language-neutral counter to the query. See the PdhAddCounter function. This function only exists on Windows versions higher than Vista.

func PdhCloseQuery Uses

func PdhCloseQuery(hQuery PDH_HQUERY) uint32

Closes all counters contained in the specified query, closes all handles related to the query, and frees all memory associated with the query.

func PdhCollectQueryData Uses

func PdhCollectQueryData(hQuery PDH_HQUERY) uint32

Collects the current raw data value for all counters in the specified query and updates the status code of each counter. With some counters, this function needs to be repeatedly called before the value of the counter can be extracted with PdhGetFormattedCounterValue(). For example, the following code requires at least two calls:

var handle win.PDH_HQUERY
var counterHandle win.PDH_HCOUNTER
ret := win.PdhOpenQuery(0, 0, &handle)
ret = win.PdhAddEnglishCounter(handle, "\\Processor(_Total)\\% Idle Time", 0, &counterHandle)
var derp win.PDH_FMT_COUNTERVALUE_DOUBLE

ret = win.PdhCollectQueryData(handle)
fmt.Printf("Collect return code is %x\n", ret) // return code will be PDH_CSTATUS_INVALID_DATA
ret = win.PdhGetFormattedCounterValueDouble(counterHandle, 0, &derp)

ret = win.PdhCollectQueryData(handle)
fmt.Printf("Collect return code is %x\n", ret) // return code will be ERROR_SUCCESS
ret = win.PdhGetFormattedCounterValueDouble(counterHandle, 0, &derp)

The PdhCollectQueryData will return an error in the first call because it needs two values for displaying the correct data for the processor idle time. The second call will have a 0 return code.

func PdhGetFormattedCounterArrayDouble Uses

func PdhGetFormattedCounterArrayDouble(hCounter PDH_HCOUNTER, lpdwBufferSize *uint32, lpdwBufferCount *uint32, itemBuffer *PDH_FMT_COUNTERVALUE_ITEM_DOUBLE) uint32

Returns an array of formatted counter values. Use this function when you want to format the counter values of a counter that contains a wildcard character for the instance name. The itemBuffer must a slice of type PDH_FMT_COUNTERVALUE_ITEM_DOUBLE. An example of how this function can be used:

okPath := "\\Process(*)\\% Processor Time" // notice the wildcard * character

// ommitted all necessary stuff ...

var bufSize uint32
var bufCount uint32
var size uint32 = uint32(unsafe.Sizeof(win.PDH_FMT_COUNTERVALUE_ITEM_DOUBLE{}))
var emptyBuf [1]win.PDH_FMT_COUNTERVALUE_ITEM_DOUBLE // need at least 1 addressable null ptr.

for {
	// collect
	ret := win.PdhCollectQueryData(queryHandle)
	if ret == win.ERROR_SUCCESS {
		ret = win.PdhGetFormattedCounterArrayDouble(counterHandle, &bufSize, &bufCount, &emptyBuf[0]) // uses null ptr here according to MSDN.
		if ret == win.PDH_MORE_DATA {
			filledBuf := make([]win.PDH_FMT_COUNTERVALUE_ITEM_DOUBLE, bufCount*size)
			ret = win.PdhGetFormattedCounterArrayDouble(counterHandle, &bufSize, &bufCount, &filledBuf[0])
			for i := 0; i < int(bufCount); i++ {
				c := filledBuf[i]
				var s string = win.UTF16PtrToString(c.SzName)
				fmt.Printf("Index %d -> %s, value %v\n", i, s, c.FmtValue.DoubleValue)
			}

			filledBuf = nil
			// Need to at least set bufSize to zero, because if not, the function will not
			// return PDH_MORE_DATA and will not set the bufSize.
			bufCount = 0
			bufSize = 0
		}

		time.Sleep(2000 * time.Millisecond)
	}
}

func PdhGetFormattedCounterArrayLarge Uses

func PdhGetFormattedCounterArrayLarge(hCounter PDH_HCOUNTER, lpdwBufferSize *uint32, lpdwBufferCount *uint32, itemBuffer *PDH_FMT_COUNTERVALUE_ITEM_LARGE) uint32

Returns an array of formatted counter values. Use this function when you want to format the counter values of a counter that contains a wildcard character for the instance name. The itemBuffer must a slice of type PDH_FMT_COUNTERVALUE_ITEM_LARGE. For an example usage, see PdhGetFormattedCounterArrayDouble.

func PdhGetFormattedCounterArrayLong Uses

func PdhGetFormattedCounterArrayLong(hCounter PDH_HCOUNTER, lpdwBufferSize *uint32, lpdwBufferCount *uint32, itemBuffer *PDH_FMT_COUNTERVALUE_ITEM_LONG) uint32

Returns an array of formatted counter values. Use this function when you want to format the counter values of a counter that contains a wildcard character for the instance name. The itemBuffer must a slice of type PDH_FMT_COUNTERVALUE_ITEM_LONG. For an example usage, see PdhGetFormattedCounterArrayDouble.

BUG(krpors): See description of PdhGetFormattedCounterValueLong().

func PdhGetFormattedCounterValueDouble Uses

func PdhGetFormattedCounterValueDouble(hCounter PDH_HCOUNTER, lpdwType *uint32, pValue *PDH_FMT_COUNTERVALUE_DOUBLE) uint32

Formats the given hCounter using a 'double'. The result is set into the specialized union struct pValue. This function does not directly translate to a Windows counterpart due to union specialization tricks.

func PdhGetFormattedCounterValueLarge Uses

func PdhGetFormattedCounterValueLarge(hCounter PDH_HCOUNTER, lpdwType *uint32, pValue *PDH_FMT_COUNTERVALUE_LARGE) uint32

Formats the given hCounter using a large int (int64). The result is set into the specialized union struct pValue. This function does not directly translate to a Windows counterpart due to union specialization tricks.

func PdhGetFormattedCounterValueLong Uses

func PdhGetFormattedCounterValueLong(hCounter PDH_HCOUNTER, lpdwType *uint32, pValue *PDH_FMT_COUNTERVALUE_LONG) uint32

Formats the given hCounter using a 'long'. The result is set into the specialized union struct pValue. This function does not directly translate to a Windows counterpart due to union specialization tricks.

BUG(krpors): Testing this function on multiple systems yielded inconsistent results. For instance, the pValue.LongValue kept the value '192' on test system A, but on B this was '0', while the padding bytes of the struct got the correct value. Until someone can figure out this behaviour, prefer to use the Double or Large counterparts instead. These functions provide actually the same data, except in a different, working format.

func PdhOpenQuery Uses

func PdhOpenQuery(szDataSource uintptr, dwUserData uintptr, phQuery *PDH_HQUERY) uint32

Creates a new query that is used to manage the collection of performance data. szDataSource is a null terminated string that specifies the name of the log file from which to retrieve the performance data. If 0, performance data is collected from a real-time data source. dwUserData is a user-defined value to associate with this query. To retrieve the user data later, call PdhGetCounterInfo and access dwQueryUserData of the PDH_COUNTER_INFO structure. phQuery is the handle to the query, and must be used in subsequent calls. This function returns a PDH_ constant error code, or ERROR_SUCCESS if the call succeeded.

func PdhValidatePath Uses

func PdhValidatePath(path string) uint32

Validates a path. Will return ERROR_SUCCESS when ok, or PDH_CSTATUS_BAD_COUNTERNAME when the path is erroneous.

func PeekMessage Uses

func PeekMessage(lpMsg *MSG, hWnd HWND, wMsgFilterMin, wMsgFilterMax, wRemoveMsg uint32) bool

func PlayEnhMetaFile Uses

func PlayEnhMetaFile(hdc HDC, hemf HENHMETAFILE, lpRect *RECT) bool

func Polyline Uses

func Polyline(hdc HDC, lppt unsafe.Pointer, cPoints int32) bool

func PostMessage Uses

func PostMessage(hWnd HWND, msg uint32, wParam, lParam uintptr) uintptr

func PostQuitMessage Uses

func PostQuitMessage(exitCode int32)

func Rectangle_ Uses

func Rectangle_(hdc HDC, nLeftRect, nTopRect, nRightRect, nBottomRect int32) bool

func RegCloseKey Uses

func RegCloseKey(hKey HKEY) int32

func RegEnumValue Uses

func RegEnumValue(hKey HKEY, index uint32, lpValueName *uint16, lpcchValueName *uint32, lpReserved, lpType *uint32, lpData *byte, lpcbData *uint32) int32

func RegOpenKeyEx Uses

func RegOpenKeyEx(hKey HKEY, lpSubKey *uint16, ulOptions uint32, samDesired REGSAM, phkResult *HKEY) int32

func RegQueryValueEx Uses

func RegQueryValueEx(hKey HKEY, lpValueName *uint16, lpReserved, lpType *uint32, lpData *byte, lpcbData *uint32) int32

func RegSetValueEx Uses

func RegSetValueEx(hKey HKEY, lpValueName *uint16, lpReserved, lpDataType uint64, lpData *byte, cbData uint32) int32

func RegisterRawInputDevices Uses

func RegisterRawInputDevices(pRawInputDevices *RAWINPUTDEVICE, uiNumDevices uint32, cbSize uint32) bool

func RegisterWindowMessage Uses

func RegisterWindowMessage(lpString *uint16) uint32

func ReleaseCapture Uses

func ReleaseCapture() bool

func ReleaseDC Uses

func ReleaseDC(hWnd HWND, hDC HDC) bool

func RemoveFontResourceEx Uses

func RemoveFontResourceEx(lpszFilename *uint16, fl uint32, pdv unsafe.Pointer) bool

func RemoveMenu Uses

func RemoveMenu(hMenu HMENU, uPosition, uFlags uint32) bool

func RestoreDC Uses

func RestoreDC(hdc HDC, nSaveDC int32) bool

func RoundRect Uses

func RoundRect(hdc HDC, nLeftRect, nTopRect, nRightRect, nBottomRect, nWidth, nHeight int32) bool

func SHBrowseForFolder Uses

func SHBrowseForFolder(lpbi *BROWSEINFO) uintptr

func SHGetFileInfo Uses

func SHGetFileInfo(pszPath *uint16, dwFileAttributes uint32, psfi *SHFILEINFO, cbFileInfo, uFlags uint32) uintptr

func SHGetPathFromIDList Uses

func SHGetPathFromIDList(pidl uintptr, pszPath *uint16) bool

func SHGetSpecialFolderPath Uses

func SHGetSpecialFolderPath(hwndOwner HWND, lpszPath *uint16, csidl CSIDL, fCreate bool) bool

func SUCCEEDED Uses

func SUCCEEDED(hr HRESULT) bool

func SaveDC Uses

func SaveDC(hdc HDC) int32

func ScreenToClient Uses

func ScreenToClient(hWnd HWND, point *POINT) bool

func SendDlgItemMessage Uses

func SendDlgItemMessage(hWnd HWND, id int32, msg uint32, wParam, lParam uintptr) uintptr

func SendInput Uses

func SendInput(nInputs uint32, pInputs unsafe.Pointer, cbSize int32) uint32

pInputs expects a unsafe.Pointer to a slice of MOUSE_INPUT or KEYBD_INPUT or HARDWARE_INPUT structs.

func SendMessage Uses

func SendMessage(hWnd HWND, msg uint32, wParam, lParam uintptr) uintptr

func SetBkMode Uses

func SetBkMode(hdc HDC, iBkMode int32) int32

func SetBrushOrgEx Uses

func SetBrushOrgEx(hdc HDC, nXOrg, nYOrg int32, lppt *POINT) bool

func SetCursorPos Uses

func SetCursorPos(X, Y int32) bool

func SetDIBits Uses

func SetDIBits(hdc HDC, hbmp HBITMAP, uStartScan, cScanLines uint32, lpvBits *byte, lpbmi *BITMAPINFO, fuColorUse uint32) int32

func SetForegroundWindow Uses

func SetForegroundWindow(hWnd HWND) bool

func SetLastError Uses

func SetLastError(dwErrorCode uint32)

func SetMenu Uses

func SetMenu(hWnd HWND, hMenu HMENU) bool

func SetMenuInfo Uses

func SetMenuInfo(hmenu HMENU, lpcmi *MENUINFO) bool

func SetMenuItemInfo Uses

func SetMenuItemInfo(hMenu HMENU, uItem uint32, fByPosition bool, lpmii *MENUITEMINFO) bool

func SetPixelFormat Uses

func SetPixelFormat(hdc HDC, iPixelFormat int32, ppfd *PIXELFORMATDESCRIPTOR) bool

func SetScrollInfo Uses

func SetScrollInfo(hwnd HWND, fnBar int32, lpsi *SCROLLINFO, fRedraw bool) int32

func SetStretchBltMode Uses

func SetStretchBltMode(hdc HDC, iStretchMode int32) int32

func SetTimer Uses

func SetTimer(hWnd HWND, nIDEvent uintptr, uElapse uint32, lpTimerFunc uintptr) uintptr

func SetWindowLong Uses

func SetWindowLong(hWnd HWND, index, value int32) int32

func SetWindowLongPtr Uses

func SetWindowLongPtr(hWnd HWND, index int, value uintptr) uintptr

func SetWindowPlacement Uses

func SetWindowPlacement(hWnd HWND, lpwndpl *WINDOWPLACEMENT) bool

func SetWindowPos Uses

func SetWindowPos(hWnd, hWndInsertAfter HWND, x, y, width, height int32, flags uint32) bool

func Shell_NotifyIcon Uses

func Shell_NotifyIcon(dwMessage uint32, lpdata *NOTIFYICONDATA) bool

func ShowWindow Uses

func ShowWindow(hWnd HWND, nCmdShow int32) bool

func StartDoc Uses

func StartDoc(hdc HDC, lpdi *DOCINFO) int32

func StartPage Uses

func StartPage(hdc HDC) int32

func StretchBlt Uses

func StretchBlt(hdcDest HDC, nXOriginDest, nYOriginDest, nWidthDest, nHeightDest int32, hdcSrc HDC, nXOriginSrc, nYOriginSrc, nWidthSrc, nHeightSrc int32, dwRop uint32) bool

func StringToBSTR Uses

func StringToBSTR(value string) *uint16

func SwapBuffers Uses

func SwapBuffers(hdc HDC) bool

func SysAllocString Uses

func SysAllocString(s string) *uint16

func SysFreeString Uses

func SysFreeString(bstr *uint16)

func SysStringLen Uses

func SysStringLen(bstr *uint16) uint32

func SystemParametersInfo Uses

func SystemParametersInfo(uiAction, uiParam uint32, pvParam unsafe.Pointer, fWinIni uint32) bool

func SystemTimeToFileTime Uses

func SystemTimeToFileTime(lpSystemTime *SYSTEMTIME, lpFileTime *FILETIME) bool

func TextOut Uses

func TextOut(hdc HDC, nXStart, nYStart int32, lpString *uint16, cchString int32) bool

func TranslateMessage Uses

func TranslateMessage(msg *MSG) bool

func TransparentBlt Uses

func TransparentBlt(hdcDest HDC, xoriginDest, yoriginDest, wDest, hDest int32, hdcSrc HDC, xoriginSrc, yoriginSrc, wSrc, hSrc int32, crTransparent uint32) bool

func UTF16PtrToString Uses

func UTF16PtrToString(s *uint16) string

func UnregisterClass Uses

func UnregisterClass(name *uint16) bool

func UpdateWindow Uses

func UpdateWindow(hwnd HWND) bool

func VariantBSTRToString Uses

func VariantBSTRToString(value *VAR_BSTR) string

func VariantBoolToBool Uses

func VariantBoolToBool(value *VAR_BOOL) bool

func VariantI4ToInt Uses

func VariantI4ToInt(value *VAR_I4) int32

func WglCopyContext Uses

func WglCopyContext(hglrcSrc, hglrcDst HGLRC, mask uint) bool

func WglDeleteContext Uses

func WglDeleteContext(hglrc HGLRC) bool

func WglDescribeLayerPlane Uses

func WglDescribeLayerPlane(hdc HDC, iPixelFormat, iLayerPlane int, nBytes uint8, plpd *LAYERPLANEDESCRIPTOR) bool

func WglGetLayerPaletteEntries Uses

func WglGetLayerPaletteEntries(hdc HDC, iLayerPlane, iStart, cEntries int, pcr *COLORREF) int

func WglGetProcAddress Uses

func WglGetProcAddress(lpszProc *byte) uintptr

func WglMakeCurrent Uses

func WglMakeCurrent(hdc HDC, hglrc HGLRC) bool

func WglRealizeLayerPalette Uses

func WglRealizeLayerPalette(hdc HDC, iLayerPlane int, bRealize bool) bool

func WglSetLayerPaletteEntries Uses

func WglSetLayerPaletteEntries(hdc HDC, iLayerPlane, iStart, cEntries int, pcr *COLORREF) int

func WglShareLists Uses

func WglShareLists(hglrc1, hglrc2 HGLRC) bool

func WglSwapLayerBuffers Uses

func WglSwapLayerBuffers(hdc HDC, fuPlanes uint) bool

func WglUseFontBitmaps Uses

func WglUseFontBitmaps(hdc HDC, first, count, listbase uint32) bool

func WglUseFontOutlines Uses

func WglUseFontOutlines(hdc HDC, first, count, listbase uint32, deviation, extrusion float32, format int, pgmf *GLYPHMETRICSFLOAT) bool

type ACCESS_MASK Uses

type ACCESS_MASK uint32

type ACTCTX Uses

type ACTCTX struct {
    Flags                 uint32
    Source                *uint16 // UTF-16 string
    ProcessorArchitecture uint16
    LangID                uint16
    AssemblyDirectory     *uint16 // UTF-16 string
    ResourceName          *uint16 // UTF-16 string
    ApplicationName       *uint16 // UTF-16 string
    Module                HMODULE
    // contains filtered or unexported fields
}

type ARGB Uses

type ARGB uint32

type ATOM Uses

type ATOM uint16

func RegisterClassEx Uses

func RegisterClassEx(windowClass *WNDCLASSEX) ATOM

type BITMAP Uses

type BITMAP struct {
    BmType       int32
    BmWidth      int32
    BmHeight     int32
    BmWidthBytes int32
    BmPlanes     uint16
    BmBitsPixel  uint16
    BmBits       unsafe.Pointer
}

type BITMAPINFO Uses

type BITMAPINFO struct {
    BmiHeader BITMAPINFOHEADER
    BmiColors *RGBQUAD
}

type BITMAPINFOHEADER Uses

type BITMAPINFOHEADER struct {
    BiSize          uint32
    BiWidth         int32
    BiHeight        int32
    BiPlanes        uint16
    BiBitCount      uint16
    BiCompression   uint32
    BiSizeImage     uint32
    BiXPelsPerMeter int32
    BiYPelsPerMeter int32
    BiClrUsed       uint32
    BiClrImportant  uint32
}

type BITMAPV4HEADER Uses

type BITMAPV4HEADER struct {
    BITMAPINFOHEADER
    BV4RedMask    uint32
    BV4GreenMask  uint32
    BV4BlueMask   uint32
    BV4AlphaMask  uint32
    BV4CSType     uint32
    BV4Endpoints  CIEXYZTRIPLE
    BV4GammaRed   uint32
    BV4GammaGreen uint32
    BV4GammaBlue  uint32
}

type BITMAPV5HEADER Uses

type BITMAPV5HEADER struct {
    BITMAPV4HEADER
    BV5Intent      uint32
    BV5ProfileData uint32
    BV5ProfileSize uint32
    BV5Reserved    uint32
}

type BLENDFUNCTION Uses

type BLENDFUNCTION struct {
    BlendOp             byte
    BlendFlags          byte
    SourceConstantAlpha byte
    AlphaFormat         byte
}

type BOOL Uses

type BOOL int32

func BoolToBOOL Uses

func BoolToBOOL(value bool) BOOL

func GetMessage Uses

func GetMessage(msg *MSG, hWnd HWND, msgFilterMin, msgFilterMax uint32) BOOL

func SetRect Uses

func SetRect(lprc *RECT, xLeft, yTop, xRight, yBottom uint32) BOOL

func TrackPopupMenuEx Uses

func TrackPopupMenuEx(hMenu HMENU, fuFlags uint32, x, y int32, hWnd HWND, lptpm *TPMPARAMS) BOOL

type BROWSEINFO Uses

type BROWSEINFO struct {
    HwndOwner      HWND
    PidlRoot       uintptr
    PszDisplayName *uint16
    LpszTitle      *uint16
    UlFlags        uint32
    Lpfn           uintptr
    LParam         uintptr
    IImage         int32
}

type CHOOSECOLOR Uses

type CHOOSECOLOR struct {
    LStructSize    uint32
    HwndOwner      HWND
    HInstance      HWND
    RgbResult      COLORREF
    LpCustColors   *[16]COLORREF
    Flags          uint32
    LCustData      uintptr
    LpfnHook       uintptr
    LpTemplateName *uint16
}

type CIEXYZ Uses

type CIEXYZ struct {
    CiexyzX, CiexyzY, CiexyzZ int32 // FXPT2DOT30
}

type CIEXYZTRIPLE Uses

type CIEXYZTRIPLE struct {
    CiexyzRed, CiexyzGreen, CiexyzBlue CIEXYZ
}

type CLSID Uses

type CLSID syscall.GUID

type COAUTHIDENTITY Uses

type COAUTHIDENTITY struct {
    User           *uint16
    UserLength     uint32
    Domain         *uint16
    DomainLength   uint32
    Password       *uint16
    PasswordLength uint32
    Flags          uint32
}

type COAUTHINFO Uses

type COAUTHINFO struct {
    // contains filtered or unexported fields
}

type COLORREF Uses

type COLORREF uint32

func GetBkColor Uses

func GetBkColor(hdc HDC) COLORREF

func GetPixel Uses

func GetPixel(hdc HDC, nXPos, nYPos int32) COLORREF

func GetTextColor Uses

func GetTextColor(hdc HDC) COLORREF

func SetBkColor Uses

func SetBkColor(hdc HDC, crColor COLORREF) COLORREF

func SetPixel Uses

func SetPixel(hdc HDC, X, Y int32, crColor COLORREF) COLORREF

func SetTextColor Uses

func SetTextColor(hdc HDC, crColor COLORREF) COLORREF

func SetViewportOrgEx Uses

func SetViewportOrgEx(hdc HDC, x, y int32, lpPoint *POINT) COLORREF

type COSERVERINFO Uses

type COSERVERINFO struct {
    // contains filtered or unexported fields
}

type CREATESTRUCT Uses

type CREATESTRUCT struct {
    CreateParams    uintptr
    Instance        HINSTANCE
    Menu            HMENU
    Parent          HWND
    Cy              int32
    Cx              int32
    Y               int32
    X               int32
    Style           int32
    Name, ClassName uintptr
    ExStyle         uint32
}

type CSIDL Uses

type CSIDL uint32

type DEVMODE Uses

type DEVMODE struct {
    DmDeviceName       [CCHDEVICENAME]uint16
    DmSpecVersion      uint16
    DmDriverVersion    uint16
    DmSize             uint16
    DmDriverExtra      uint16
    DmFields           uint32
    DmOrientation      int16
    DmPaperSize        int16
    DmPaperLength      int16
    DmPaperWidth       int16
    DmScale            int16
    DmCopies           int16
    DmDefaultSource    int16
    DmPrintQuality     int16
    DmColor            int16
    DmDuplex           int16
    DmYResolution      int16
    DmTTOption         int16
    DmCollate          int16
    DmFormName         [CCHFORMNAME]uint16
    DmLogPixels        uint16
    DmBitsPerPel       uint32
    DmPelsWidth        uint32
    DmPelsHeight       uint32
    DmDisplayFlags     uint32
    DmDisplayFrequency uint32
    DmICMMethod        uint32
    DmICMIntent        uint32
    DmMediaType        uint32
    DmDitherType       uint32
    DmReserved1        uint32
    DmReserved2        uint32
    DmPanningWidth     uint32
    DmPanningHeight    uint32
}

type DEVNAMES Uses

type DEVNAMES struct {
    WDriverOffset uint16
    WDeviceOffset uint16
    WOutputOffset uint16
    WDefault      uint16
}

type DIBSECTION Uses

type DIBSECTION struct {
    DsBm        BITMAP
    DsBmih      BITMAPINFOHEADER
    DsBitfields [3]uint32
    DshSection  HANDLE
    DsOffset    uint32
}

type DISPID Uses

type DISPID int32
const (
    DISPID_BEFORENAVIGATE             DISPID = 100
    DISPID_NAVIGATECOMPLETE           DISPID = 101
    DISPID_STATUSTEXTCHANGE           DISPID = 102
    DISPID_QUIT                       DISPID = 103
    DISPID_DOWNLOADCOMPLETE           DISPID = 104
    DISPID_COMMANDSTATECHANGE         DISPID = 105
    DISPID_DOWNLOADBEGIN              DISPID = 106
    DISPID_NEWWINDOW                  DISPID = 107
    DISPID_PROGRESSCHANGE             DISPID = 108
    DISPID_WINDOWMOVE                 DISPID = 109
    DISPID_WINDOWRESIZE               DISPID = 110
    DISPID_WINDOWACTIVATE             DISPID = 111
    DISPID_PROPERTYCHANGE             DISPID = 112
    DISPID_TITLECHANGE                DISPID = 113
    DISPID_TITLEICONCHANGE            DISPID = 114
    DISPID_FRAMEBEFORENAVIGATE        DISPID = 200
    DISPID_FRAMENAVIGATECOMPLETE      DISPID = 201
    DISPID_FRAMENEWWINDOW             DISPID = 204
    DISPID_BEFORENAVIGATE2            DISPID = 250
    DISPID_NEWWINDOW2                 DISPID = 251
    DISPID_NAVIGATECOMPLETE2          DISPID = 252
    DISPID_ONQUIT                     DISPID = 253
    DISPID_ONVISIBLE                  DISPID = 254
    DISPID_ONTOOLBAR                  DISPID = 255
    DISPID_ONMENUBAR                  DISPID = 256
    DISPID_ONSTATUSBAR                DISPID = 257
    DISPID_ONFULLSCREEN               DISPID = 258
    DISPID_DOCUMENTCOMPLETE           DISPID = 259
    DISPID_ONTHEATERMODE              DISPID = 260
    DISPID_ONADDRESSBAR               DISPID = 261
    DISPID_WINDOWSETRESIZABLE         DISPID = 262
    DISPID_WINDOWCLOSING              DISPID = 263
    DISPID_WINDOWSETLEFT              DISPID = 264
    DISPID_WINDOWSETTOP               DISPID = 265
    DISPID_WINDOWSETWIDTH             DISPID = 266
    DISPID_WINDOWSETHEIGHT            DISPID = 267
    DISPID_CLIENTTOHOSTWINDOW         DISPID = 268
    DISPID_SETSECURELOCKICON          DISPID = 269
    DISPID_FILEDOWNLOAD               DISPID = 270
    DISPID_NAVIGATEERROR              DISPID = 271
    DISPID_PRIVACYIMPACTEDSTATECHANGE DISPID = 272
    DISPID_NEWWINDOW3                 DISPID = 273
)

type DISPPARAMS Uses

type DISPPARAMS struct {
    Rgvarg            *VARIANTARG
    RgdispidNamedArgs *DISPID
    CArgs             int32
    CNamedArgs        int32
}

type DOCHOSTUIINFO Uses

type DOCHOSTUIINFO struct {
    CbSize        uint32
    DwFlags       uint32
    DwDoubleClick uint32
    PchHostCss    *uint16
    PchHostNS     *uint16
}

type DOCINFO Uses

type DOCINFO struct {
    CbSize       int32
    LpszDocName  *uint16
    LpszOutput   *uint16
    LpszDatatype *uint16
    FwType       uint32
}

type DRAWITEMSTRUCT Uses

type DRAWITEMSTRUCT struct {
    CtlType    uint32
    CtlID      uint32
    ItemID     int32
    ItemAction uint32
    ItemState  uint32
    HwndItem   HWND
    HDC        HDC
    RcItem     RECT
    ItemData   uintptr
}

type DRAWTEXTPARAMS Uses

type DRAWTEXTPARAMS struct {
    CbSize        uint32
    ITabLength    int32
    ILeftMargin   int32
    IRightMargin  int32
    UiLengthDrawn uint32
}

type DTTOPTS Uses

type DTTOPTS struct {
    DwSize              uint32
    DwFlags             uint32
    CrText              COLORREF
    CrBorder            COLORREF
    CrShadow            COLORREF
    ITextShadowType     int32
    PtShadowOffset      POINT
    IBorderSize         int32
    IFontPropId         int32
    IColorPropId        int32
    IStateId            int32
    FApplyOverlay       BOOL
    IGlowSize           int32
    PfnDrawTextCallback uintptr
    LParam              uintptr
}

type DWebBrowserEvents2 Uses

type DWebBrowserEvents2 struct {
    LpVtbl *DWebBrowserEvents2Vtbl
}

type DWebBrowserEvents2Vtbl Uses

type DWebBrowserEvents2Vtbl struct {
    QueryInterface   uintptr
    AddRef           uintptr
    Release          uintptr
    GetTypeInfoCount uintptr
    GetTypeInfo      uintptr
    GetIDsOfNames    uintptr
    Invoke           uintptr
}

type ENHMETAHEADER Uses

type ENHMETAHEADER struct {
    IType          uint32
    NSize          uint32
    RclBounds      RECT
    RclFrame       RECT
    DSignature     uint32
    NVersion       uint32
    NBytes         uint32
    NRecords       uint32
    NHandles       uint16
    SReserved      uint16
    NDescription   uint32
    OffDescription uint32
    NPalEntries    uint32
    SzlDevice      SIZE
    SzlMillimeters SIZE
    CbPixelFormat  uint32
    OffPixelFormat uint32
    BOpenGL        uint32
    SzlMicrometers SIZE
}

type FILETIME Uses

type FILETIME struct {
    DwLowDateTime  uint32
    DwHighDateTime uint32
}

type GLYPHMETRICSFLOAT Uses

type GLYPHMETRICSFLOAT struct {
    GmfBlackBoxX     float32
    GmfBlackBoxY     float32
    GmfptGlyphOrigin POINTFLOAT
    GmfCellIncX      float32
    GmfCellIncY      float32
}

type GRADIENT_RECT Uses

type GRADIENT_RECT struct {
    UpperLeft  uint32
    LowerRight uint32
}

type GRADIENT_TRIANGLE Uses

type GRADIENT_TRIANGLE struct {
    Vertex1 uint32
    Vertex2 uint32
    Vertex3 uint32
}

type GdiplusStartupInput Uses

type GdiplusStartupInput struct {
    GdiplusVersion           uint32
    DebugEventCallback       uintptr
    SuppressBackgroundThread BOOL
    SuppressExternalCodecs   BOOL
}

type GdiplusStartupOutput Uses

type GdiplusStartupOutput struct {
    NotificationHook   uintptr
    NotificationUnhook uintptr
}

type GpBitmap Uses

type GpBitmap GpImage

type GpImage Uses

type GpImage struct{}

type GpStatus Uses

type GpStatus int32
const (
    Ok                        GpStatus = 0
    GenericError              GpStatus = 1
    InvalidParameter          GpStatus = 2
    OutOfMemory               GpStatus = 3
    ObjectBusy                GpStatus = 4
    InsufficientBuffer        GpStatus = 5
    NotImplemented            GpStatus = 6
    Win32Error                GpStatus = 7
    WrongState                GpStatus = 8
    Aborted                   GpStatus = 9
    FileNotFound              GpStatus = 10
    ValueOverflow             GpStatus = 11
    AccessDenied              GpStatus = 12
    UnknownImageFormat        GpStatus = 13
    FontFamilyNotFound        GpStatus = 14
    FontStyleNotFound         GpStatus = 15
    NotTrueTypeFont           GpStatus = 16
    UnsupportedGdiplusVersion GpStatus = 17
    GdiplusNotInitialized     GpStatus = 18
    PropertyNotFound          GpStatus = 19
    PropertyNotSupported      GpStatus = 20
    ProfileNotFound           GpStatus = 21
)

func GdipCreateBitmapFromFile Uses

func GdipCreateBitmapFromFile(filename *uint16, bitmap **GpBitmap) GpStatus

func GdipCreateBitmapFromHBITMAP Uses

func GdipCreateBitmapFromHBITMAP(hbm HBITMAP, hpal HPALETTE, bitmap **GpBitmap) GpStatus

func GdipCreateHBITMAPFromBitmap Uses

func GdipCreateHBITMAPFromBitmap(bitmap *GpBitmap, hbmReturn *HBITMAP, background ARGB) GpStatus

func GdipDisposeImage Uses

func GdipDisposeImage(image *GpImage) GpStatus

func GdiplusStartup Uses

func GdiplusStartup(input *GdiplusStartupInput, output *GdiplusStartupOutput) GpStatus

func (GpStatus) String Uses

func (s GpStatus) String() string

type HACCEL Uses

type HACCEL HANDLE

type HANDLE Uses

type HANDLE uintptr

func CreateActCtx Uses

func CreateActCtx(ctx *ACTCTX) HANDLE

func GetClipboardData Uses

func GetClipboardData(uFormat uint32) HANDLE

func LoadImage Uses

func LoadImage(hinst HINSTANCE, lpszName *uint16, uType uint32, cxDesired, cyDesired int32, fuLoad uint32) HANDLE

func SetClipboardData Uses

func SetClipboardData(uFormat uint32, hMem HANDLE) HANDLE

type HARDWAREINPUT Uses

type HARDWAREINPUT struct {
    UMsg    uint32
    WParamL uint16
    WParamH uint16
    Unused  [16]byte
}

type HARDWARE_INPUT Uses

type HARDWARE_INPUT struct {
    Type uint32
    Hi   HARDWAREINPUT
}

type HBITMAP Uses

type HBITMAP HGDIOBJ

func CreateBitmap Uses

func CreateBitmap(nWidth, nHeight int32, cPlanes, cBitsPerPel uint32, lpvBits unsafe.Pointer) HBITMAP

func CreateCompatibleBitmap Uses

func CreateCompatibleBitmap(hdc HDC, nWidth, nHeight int32) HBITMAP

func CreateDIBSection Uses

func CreateDIBSection(hdc HDC, pbmih *BITMAPINFOHEADER, iUsage uint32, ppvBits *unsafe.Pointer, hSection HANDLE, dwOffset uint32) HBITMAP

type HBRUSH Uses

type HBRUSH HGDIOBJ

func CreateBrushIndirect Uses

func CreateBrushIndirect(lplb *LOGBRUSH) HBRUSH

func CreatePatternBrush Uses

func CreatePatternBrush(hbmp HBITMAP) HBRUSH

func GetSysColorBrush Uses

func GetSysColorBrush(nIndex int) HBRUSH

type HCURSOR Uses

type HCURSOR HANDLE

func LoadCursor Uses

func LoadCursor(hInstance HINSTANCE, lpCursorName *uint16) HCURSOR

func SetCursor Uses

func SetCursor(hCursor HCURSOR) HCURSOR

type HDC Uses

type HDC HANDLE

func BeginPaint Uses

func BeginPaint(hwnd HWND, lpPaint *PAINTSTRUCT) HDC

func CreateCompatibleDC Uses

func CreateCompatibleDC(hdc HDC) HDC

func CreateDC Uses

func CreateDC(lpszDriver, lpszDevice, lpszOutput *uint16, lpInitData *DEVMODE) HDC

func CreateEnhMetaFile Uses

func CreateEnhMetaFile(hdcRef HDC, lpFilename *uint16, lpRect *RECT, lpDescription *uint16) HDC

func CreateIC Uses

func CreateIC(lpszDriver, lpszDevice, lpszOutput *uint16, lpdvmInit *DEVMODE) HDC

func GetDC Uses

func GetDC(hWnd HWND) HDC

func ResetDC Uses

func ResetDC(hdc HDC, lpInitData *DEVMODE) HDC

func WglGetCurrentDC Uses

func WglGetCurrentDC() HDC

type HDITEM Uses

type HDITEM struct {
    Mask       uint32
    Cxy        int32
    PszText    *uint16
    Hbm        HBITMAP
    CchTextMax int32
    Fmt        int32
    LParam     uintptr
    IImage     int32
    IOrder     int32
    Type       uint32
    PvFilter   uintptr
}

type HDLAYOUT Uses

type HDLAYOUT struct {
    Prc   *RECT
    Pwpos *WINDOWPOS
}

type HDROP Uses

type HDROP HANDLE

type HDWP Uses

type HDWP HANDLE

func BeginDeferWindowPos Uses

func BeginDeferWindowPos(nNumWindows int32) HDWP

func DeferWindowPos Uses

func DeferWindowPos(hWinPosInfo HDWP, hWnd, hWndInsertAfter HWND, x, y, cx, cy int32, uFlags uint32) HDWP

type HENHMETAFILE Uses

type HENHMETAFILE HANDLE

func CloseEnhMetaFile Uses

func CloseEnhMetaFile(hdc HDC) HENHMETAFILE

func CopyEnhMetaFile Uses

func CopyEnhMetaFile(hemfSrc HENHMETAFILE, lpszFile *uint16) HENHMETAFILE

func GetEnhMetaFile Uses

func GetEnhMetaFile(lpszMetaFile *uint16) HENHMETAFILE

type HFONT Uses

type HFONT HGDIOBJ

func CreateFontIndirect Uses

func CreateFontIndirect(lplf *LOGFONT) HFONT

type HGDIOBJ Uses

type HGDIOBJ HANDLE

func GetStockObject Uses

func GetStockObject(fnObject int32) HGDIOBJ

func SelectObject Uses

func SelectObject(hdc HDC, hgdiobj HGDIOBJ) HGDIOBJ

type HGLOBAL Uses

type HGLOBAL HANDLE

func GlobalAlloc Uses

func GlobalAlloc(uFlags uint32, dwBytes uintptr) HGLOBAL

func GlobalFree Uses

func GlobalFree(hMem HGLOBAL) HGLOBAL

type HGLRC Uses

type HGLRC HANDLE

func WglCreateContext Uses

func WglCreateContext(hdc HDC) HGLRC

func WglCreateLayerContext Uses

func WglCreateLayerContext(hdc HDC, iLayerPlane int) HGLRC

func WglGetCurrentContext Uses

func WglGetCurrentContext() HGLRC

type HICON Uses

type HICON HANDLE

func CreateIconIndirect Uses

func CreateIconIndirect(lpiconinfo *ICONINFO) HICON

func LoadIcon Uses

func LoadIcon(hInstance HINSTANCE, lpIconName *uint16) HICON

type HIMAGELIST Uses

type HIMAGELIST HANDLE

func ImageList_Create Uses

func ImageList_Create(cx, cy int32, flags uint32, cInitial, cGrow int32) HIMAGELIST

type HINSTANCE Uses

type HINSTANCE HANDLE

func GetModuleHandle Uses

func GetModuleHandle(lpModuleName *uint16) HINSTANCE

type HKEY Uses

type HKEY HANDLE
const (
    HKEY_CLASSES_ROOT     HKEY = 0x80000000
    HKEY_CURRENT_USER     HKEY = 0x80000001
    HKEY_LOCAL_MACHINE    HKEY = 0x80000002
    HKEY_USERS            HKEY = 0x80000003
    HKEY_PERFORMANCE_DATA HKEY = 0x80000004
    HKEY_CURRENT_CONFIG   HKEY = 0x80000005
    HKEY_DYN_DATA         HKEY = 0x80000006
)

type HMENU Uses

type HMENU HANDLE

func CreateMenu Uses

func CreateMenu() HMENU

func CreatePopupMenu Uses

func CreatePopupMenu() HMENU

func LoadMenu Uses

func LoadMenu(hinst HINSTANCE, name *uint16) HMENU

type HMODULE Uses

type HMODULE uintptr

type HMONITOR Uses

type HMONITOR HANDLE

func MonitorFromWindow Uses

func MonitorFromWindow(hwnd HWND, dwFlags uint32) HMONITOR

type HPALETTE Uses

type HPALETTE HGDIOBJ

type HPEN Uses

type HPEN HGDIOBJ

func ExtCreatePen Uses

func ExtCreatePen(dwPenStyle, dwWidth uint32, lplb *LOGBRUSH, dwStyleCount uint32, lpStyle *uint32) HPEN

type HPROPSHEETPAGE Uses

type HPROPSHEETPAGE HANDLE

type HRAWINPUT Uses

type HRAWINPUT HANDLE

type HRESULT Uses

type HRESULT int32

func CloseThemeData Uses

func CloseThemeData(hTheme HTHEME) HRESULT

func CoCreateInstance Uses

func CoCreateInstance(rclsid REFCLSID, pUnkOuter *IUnknown, dwClsContext uint32, riid REFIID, ppv *unsafe.Pointer) HRESULT

func CoGetClassObject Uses

func CoGetClassObject(rclsid REFCLSID, dwClsContext uint32, pServerInfo *COSERVERINFO, riid REFIID, ppv *unsafe.Pointer) HRESULT

func DrawThemeBackground Uses

func DrawThemeBackground(hTheme HTHEME, hdc HDC, iPartId, iStateId int32, pRect, pClipRect *RECT) HRESULT

func DrawThemeTextEx Uses

func DrawThemeTextEx(hTheme HTHEME, hdc HDC, iPartId, iStateId int32, pszText *uint16, iCharCount int32, dwFlags uint32, pRect *RECT, pOptions *DTTOPTS) HRESULT

func GetThemePartSize Uses

func GetThemePartSize(hTheme HTHEME, hdc HDC, iPartId, iStateId int32, prc *RECT, eSize THEMESIZE, psz *SIZE) HRESULT

func GetThemeTextExtent Uses

func GetThemeTextExtent(hTheme HTHEME, hdc HDC, iPartId, iStateId int32, pszText *uint16, iCharCount int32, dwTextFlags uint32, pBoundingRect, pExtentRect *RECT) HRESULT

func LoadIconMetric Uses

func LoadIconMetric(hInstance HINSTANCE, lpIconName *uint16, lims int32, hicon *HICON) HRESULT

func LoadIconWithScaleDown Uses

func LoadIconWithScaleDown(hInstance HINSTANCE, lpIconName *uint16, w int32, h int32, hicon *HICON) HRESULT

func OleInitialize Uses

func OleInitialize() HRESULT

func OleSetContainedObject Uses

func OleSetContainedObject(pUnknown *IUnknown, fContained bool) HRESULT

func PrintDlgEx Uses

func PrintDlgEx(lppd *PRINTDLGEX) HRESULT

func SHGetStockIconInfo Uses

func SHGetStockIconInfo(stockIconId int32, uFlags uint32, stockIcon *SHSTOCKICONINFO) HRESULT

func SHParseDisplayName Uses

func SHParseDisplayName(pszName *uint16, pbc uintptr, ppidl *uintptr, sfgaoIn uint32, psfgaoOut *uint32) HRESULT

func SetWindowTheme Uses

func SetWindowTheme(hwnd HWND, pszSubAppName, pszSubIdList *uint16) HRESULT

type HRGN Uses

type HRGN HGDIOBJ

func CreateRectRgn Uses

func CreateRectRgn(nLeftRect, nTopRect, nRightRect, nBottomRect int32) HRGN

type HTHEME Uses

type HTHEME HANDLE

func OpenThemeData Uses

func OpenThemeData(hwnd HWND, pszClassList *uint16) HTHEME

type HTREEITEM Uses

type HTREEITEM HANDLE

type HWND Uses

type HWND HANDLE

func CreateDialogParam Uses

func CreateDialogParam(instRes HINSTANCE, name *uint16, parent HWND,
    proc, param uintptr) HWND

func CreateWindowEx Uses

func CreateWindowEx(dwExStyle uint32, lpClassName, lpWindowName *uint16, dwStyle uint32, x, y, nWidth, nHeight int32, hWndParent HWND, hMenu HMENU, hInstance HINSTANCE, lpParam unsafe.Pointer) HWND

func FindWindow Uses

func FindWindow(lpClassName, lpWindowName *uint16) HWND

func GetActiveWindow Uses

func GetActiveWindow() HWND

func GetAncestor Uses

func GetAncestor(hWnd HWND, gaFlags uint32) HWND

func GetConsoleWindow Uses

func GetConsoleWindow() HWND

func GetDesktopWindow Uses

func GetDesktopWindow() HWND

func GetFocus Uses

func GetFocus() HWND

func GetForegroundWindow Uses

func GetForegroundWindow() HWND

func GetParent Uses

func GetParent(hWnd HWND) HWND

func GetWindow Uses

func GetWindow(hWnd HWND, uCmd uint32) HWND

func SetActiveWindow Uses

func SetActiveWindow(hWnd HWND) HWND

func SetCapture Uses

func SetCapture(hWnd HWND) HWND

func SetFocus Uses

func SetFocus(hWnd HWND) HWND

func SetParent Uses

func SetParent(hWnd HWND, parentHWnd HWND) HWND

func WindowFromDC Uses

func WindowFromDC(hDC HDC) HWND

func WindowFromPoint Uses

func WindowFromPoint(Point POINT) HWND

type ICONINFO Uses

type ICONINFO struct {
    FIcon    BOOL
    XHotspot uint32
    YHotspot uint32
    HbmMask  HBITMAP
    HbmColor HBITMAP
}

type IClassFactory Uses

type IClassFactory struct {
    LpVtbl *IClassFactoryVtbl
}

func (*IClassFactory) CreateInstance Uses

func (cf *IClassFactory) CreateInstance(pUnkOuter *IUnknown, riid REFIID, ppvObject *unsafe.Pointer) HRESULT

func (*IClassFactory) Release Uses

func (cf *IClassFactory) Release() uint32

type IClassFactoryVtbl Uses

type IClassFactoryVtbl struct {
    QueryInterface uintptr
    AddRef         uintptr
    Release        uintptr
    CreateInstance uintptr
    LockServer     uintptr
}

type IConnectionPoint Uses

type IConnectionPoint struct {
    LpVtbl *IConnectionPointVtbl
}

func (*IConnectionPoint) Advise Uses

func (cp *IConnectionPoint) Advise(pUnkSink unsafe.Pointer, pdwCookie *uint32) HRESULT

func (*IConnectionPoint) Release Uses

func (cp *IConnectionPoint) Release() uint32

type IConnectionPointContainer Uses

type IConnectionPointContainer struct {
    LpVtbl *IConnectionPointContainerVtbl
}

func (*IConnectionPointContainer) FindConnectionPoint Uses

func (cpc *IConnectionPointContainer) FindConnectionPoint(riid REFIID, ppCP **IConnectionPoint) HRESULT

func (*IConnectionPointContainer) Release Uses

func (cpc *IConnectionPointContainer) Release() uint32

type IConnectionPointContainerVtbl Uses

type IConnectionPointContainerVtbl struct {
    QueryInterface       uintptr
    AddRef               uintptr
    Release              uintptr
    EnumConnectionPoints uintptr
    FindConnectionPoint  uintptr
}

type IConnectionPointVtbl Uses

type IConnectionPointVtbl struct {
    QueryInterface              uintptr
    AddRef                      uintptr
    Release                     uintptr
    GetConnectionInterface      uintptr
    GetConnectionPointContainer uintptr
    Advise                      uintptr
    Unadvise                    uintptr
    EnumConnections             uintptr
}

type IDispatch Uses

type IDispatch struct {
    LpVtbl *IDispatchVtbl
}

type IDispatchVtbl Uses

type IDispatchVtbl struct {
    QueryInterface   uintptr
    AddRef           uintptr
    Release          uintptr
    GetTypeInfoCount uintptr
    GetTypeInfo      uintptr
    GetIDsOfNames    uintptr
    Invoke           uintptr
}

type IDocHostUIHandler Uses

type IDocHostUIHandler struct {
    LpVtbl *IDocHostUIHandlerVtbl
}

type IDocHostUIHandlerVtbl Uses

type IDocHostUIHandlerVtbl struct {
    QueryInterface        uintptr
    AddRef                uintptr
    Release               uintptr
    ShowContextMenu       uintptr
    GetHostInfo           uintptr
    ShowUI                uintptr
    HideUI                uintptr
    UpdateUI              uintptr
    EnableModeless        uintptr
    OnDocWindowActivate   uintptr
    OnFrameWindowActivate uintptr
    ResizeBorder          uintptr
    TranslateAccelerator  uintptr
    GetOptionKeyPath      uintptr
    GetDropTarget         uintptr
    GetExternal           uintptr
    TranslateUrl          uintptr
    FilterDataObject      uintptr
}

type IID Uses

type IID syscall.GUID

type INITCOMMONCONTROLSEX Uses

type INITCOMMONCONTROLSEX struct {
    DwSize, DwICC uint32
}

type IOleClientSite Uses

type IOleClientSite struct {
    LpVtbl *IOleClientSiteVtbl
}

type IOleClientSiteVtbl Uses

type IOleClientSiteVtbl struct {
    QueryInterface         uintptr
    AddRef                 uintptr
    Release                uintptr
    SaveObject             uintptr
    GetMoniker             uintptr
    GetContainer           uintptr
    ShowObject             uintptr
    OnShowWindow           uintptr
    RequestNewObjectLayout uintptr
}

type IOleInPlaceActiveObject Uses

type IOleInPlaceActiveObject struct {
    LpVtbl *IOleInPlaceActiveObjectVtbl
}

func (*IOleInPlaceActiveObject) GetWindow Uses

func (activeObj *IOleInPlaceActiveObject) GetWindow(hWndPtr *HWND) HRESULT

func (*IOleInPlaceActiveObject) Release Uses

func (activeObj *IOleInPlaceActiveObject) Release() HRESULT

func (*IOleInPlaceActiveObject) TranslateAccelerator Uses

func (activeObj *IOleInPlaceActiveObject) TranslateAccelerator(msg *MSG) HRESULT

type IOleInPlaceActiveObjectVtbl Uses

type IOleInPlaceActiveObjectVtbl struct {
    QueryInterface        uintptr
    AddRef                uintptr
    Release               uintptr
    GetWindow             uintptr
    ContextSensitiveHelp  uintptr
    TranslateAccelerator  uintptr
    OnFrameWindowActivate uintptr
    OnDocWindowActivate   uintptr
    ResizeBorder          uintptr
    EnableModeless        uintptr
}

type IOleInPlaceFrame Uses

type IOleInPlaceFrame struct {
    LpVtbl *IOleInPlaceFrameVtbl
}

type IOleInPlaceFrameVtbl Uses

type IOleInPlaceFrameVtbl struct {
    QueryInterface       uintptr
    AddRef               uintptr
    Release              uintptr
    GetWindow            uintptr
    ContextSensitiveHelp uintptr
    GetBorder            uintptr
    RequestBorderSpace   uintptr
    SetBorderSpace       uintptr
    SetActiveObject      uintptr
    InsertMenus          uintptr
    SetMenu              uintptr
    RemoveMenus          uintptr
    SetStatusText        uintptr
    EnableModeless       uintptr
    TranslateAccelerator uintptr
}

type IOleInPlaceObject Uses

type IOleInPlaceObject struct {
    LpVtbl *IOleInPlaceObjectVtbl
}

func (*IOleInPlaceObject) Release Uses

func (obj *IOleInPlaceObject) Release() uint32

func (*IOleInPlaceObject) SetObjectRects Uses

func (obj *IOleInPlaceObject) SetObjectRects(lprcPosRect, lprcClipRect *RECT) HRESULT

type IOleInPlaceObjectVtbl Uses

type IOleInPlaceObjectVtbl struct {
    QueryInterface       uintptr
    AddRef               uintptr
    Release              uintptr
    GetWindow            uintptr
    ContextSensitiveHelp uintptr
    InPlaceDeactivate    uintptr
    UIDeactivate         uintptr
    SetObjectRects       uintptr
    ReactivateAndUndo    uintptr
}

type IOleInPlaceSite Uses

type IOleInPlaceSite struct {
    LpVtbl *IOleInPlaceSiteVtbl
}

type IOleInPlaceSiteVtbl Uses

type IOleInPlaceSiteVtbl struct {
    QueryInterface       uintptr
    AddRef               uintptr
    Release              uintptr
    GetWindow            uintptr
    ContextSensitiveHelp uintptr
    CanInPlaceActivate   uintptr
    OnInPlaceActivate    uintptr
    OnUIActivate         uintptr
    GetWindowContext     uintptr
    Scroll               uintptr
    OnUIDeactivate       uintptr
    OnInPlaceDeactivate  uintptr
    DiscardUndoState     uintptr
    DeactivateAndUndo    uintptr
    OnPosRectChange      uintptr
}

type IOleObject Uses

type IOleObject struct {
    LpVtbl *IOleObjectVtbl
}

func (*IOleObject) Close Uses

func (obj *IOleObject) Close(dwSaveOption uint32) HRESULT

func (*IOleObject) DoVerb Uses

func (obj *IOleObject) DoVerb(iVerb int32, lpmsg *MSG, pActiveSite *IOleClientSite, lindex int32, hwndParent HWND, lprcPosRect *RECT) HRESULT

func (*IOleObject) QueryInterface Uses

func (obj *IOleObject) QueryInterface(riid REFIID, ppvObject *unsafe.Pointer) HRESULT

func (*IOleObject) Release Uses

func (obj *IOleObject) Release() uint32

func (*IOleObject) SetClientSite Uses

func (obj *IOleObject) SetClientSite(pClientSite *IOleClientSite) HRESULT

func (*IOleObject) SetHostNames Uses

func (obj *IOleObject) SetHostNames(szContainerApp, szContainerObj *uint16) HRESULT

type IOleObjectVtbl Uses

type IOleObjectVtbl struct {
    QueryInterface   uintptr
    AddRef           uintptr
    Release          uintptr
    SetClientSite    uintptr
    GetClientSite    uintptr
    SetHostNames     uintptr
    Close            uintptr
    SetMoniker       uintptr
    GetMoniker       uintptr
    InitFromData     uintptr
    GetClipboardData uintptr
    DoVerb           uintptr
    EnumVerbs        uintptr
    Update           uintptr
    IsUpToDate       uintptr
    GetUserClassID   uintptr
    GetUserType      uintptr
    SetExtent        uintptr
    GetExtent        uintptr
    Advise           uintptr
    Unadvise         uintptr
    EnumAdvise       uintptr
    GetMiscStatus    uintptr
    SetColorScheme   uintptr
}

type ITaskbarList3 Uses

type ITaskbarList3 struct {
    LpVtbl *ITaskbarList3Vtbl
}

func (*ITaskbarList3) SetProgressState Uses

func (obj *ITaskbarList3) SetProgressState(hwnd HWND, state int) HRESULT

func (*ITaskbarList3) SetProgressValue Uses

func (obj *ITaskbarList3) SetProgressValue(hwnd HWND, current uint32, length uint32) HRESULT

type ITaskbarList3Vtbl Uses

type ITaskbarList3Vtbl struct {
    QueryInterface        uintptr
    AddRef                uintptr
    Release               uintptr
    HrInit                uintptr
    AddTab                uintptr
    DeleteTab             uintptr
    ActivateTab           uintptr
    SetActiveAlt          uintptr
    MarkFullscreenWindow  uintptr
    SetProgressValue      uintptr
    SetProgressState      uintptr
    RegisterTab           uintptr
    UnregisterTab         uintptr
    SetTabOrder           uintptr
    SetTabActive          uintptr
    ThumbBarAddButtons    uintptr
    ThumbBarUpdateButtons uintptr
    ThumbBarSetImageList  uintptr
    SetOverlayIcon        uintptr
    SetThumbnailTooltip   uintptr
    SetThumbnailClip      uintptr
}

type IUnknown Uses

type IUnknown struct {
    LpVtbl *IUnknownVtbl
}

type IUnknownVtbl Uses

type IUnknownVtbl struct {
    QueryInterface uintptr
    AddRef         uintptr
    Release        uintptr
}

type IWebBrowser2 Uses

type IWebBrowser2 struct {
    LpVtbl *IWebBrowser2Vtbl
}

func (*IWebBrowser2) Get_LocationURL Uses

func (wb2 *IWebBrowser2) Get_LocationURL(pbstrLocationURL **uint16) HRESULT

func (*IWebBrowser2) Navigate2 Uses

func (wb2 *IWebBrowser2) Navigate2(URL *VAR_BSTR, Flags *VAR_I4, TargetFrameName *VAR_BSTR, PostData unsafe.Pointer, Headers *VAR_BSTR) HRESULT

func (*IWebBrowser2) Put_Height Uses

func (wb2 *IWebBrowser2) Put_Height(Height int32) HRESULT

func (*IWebBrowser2) Put_Left Uses

func (wb2 *IWebBrowser2) Put_Left(Left int32) HRESULT

func (*IWebBrowser2) Put_Top Uses

func (wb2 *IWebBrowser2) Put_Top(Top int32) HRESULT

func (*IWebBrowser2) Put_Width Uses

func (wb2 *IWebBrowser2) Put_Width(Width int32) HRESULT

func (*IWebBrowser2) QueryInterface Uses

func (wb2 *IWebBrowser2) QueryInterface(riid REFIID, ppvObject *unsafe.Pointer) HRESULT

func (*IWebBrowser2) Refresh Uses

func (wb2 *IWebBrowser2) Refresh() HRESULT

func (*IWebBrowser2) Release Uses

func (wb2 *IWebBrowser2) Release() HRESULT

type IWebBrowser2Vtbl Uses

type IWebBrowser2Vtbl struct {
    QueryInterface           uintptr
    AddRef                   uintptr
    Release                  uintptr
    GetTypeInfoCount         uintptr
    GetTypeInfo              uintptr
    GetIDsOfNames            uintptr
    Invoke                   uintptr
    GoBack                   uintptr
    GoForward                uintptr
    GoHome                   uintptr
    GoSearch                 uintptr
    Navigate                 uintptr
    Refresh                  uintptr
    Refresh2                 uintptr
    Stop                     uintptr
    Get_Application          uintptr
    Get_Parent               uintptr
    Get_Container            uintptr
    Get_Document             uintptr
    Get_TopLevelContainer    uintptr
    Get_Type                 uintptr
    Get_Left                 uintptr
    Put_Left                 uintptr
    Get_Top                  uintptr
    Put_Top                  uintptr
    Get_Width                uintptr
    Put_Width                uintptr
    Get_Height               uintptr
    Put_Height               uintptr
    Get_LocationName         uintptr
    Get_LocationURL          uintptr
    Get_Busy                 uintptr
    Quit                     uintptr
    ClientToWindow           uintptr
    PutProperty              uintptr
    GetProperty              uintptr
    Get_Name                 uintptr
    Get_HWND                 uintptr
    Get_FullName             uintptr
    Get_Path                 uintptr
    Get_Visible              uintptr
    Put_Visible              uintptr
    Get_StatusBar            uintptr
    Put_StatusBar            uintptr
    Get_StatusText           uintptr
    Put_StatusText           uintptr
    Get_ToolBar              uintptr
    Put_ToolBar              uintptr
    Get_MenuBar              uintptr
    Put_MenuBar              uintptr
    Get_FullScreen           uintptr
    Put_FullScreen           uintptr
    Navigate2                uintptr
    QueryStatusWB            uintptr
    ExecWB                   uintptr
    ShowBrowserBar           uintptr
    Get_ReadyState           uintptr
    Get_Offline              uintptr
    Put_Offline              uintptr
    Get_Silent               uintptr
    Put_Silent               uintptr
    Get_RegisterAsBrowser    uintptr
    Put_RegisterAsBrowser    uintptr
    Get_RegisterAsDropTarget uintptr
    Put_RegisterAsDropTarget uintptr
    Get_TheaterMode          uintptr
    Put_TheaterMode          uintptr
    Get_AddressBar           uintptr
    Put_AddressBar           uintptr
    Get_Resizable            uintptr
    Put_Resizable            uintptr
}

type KEYBDINPUT Uses

type KEYBDINPUT struct {
    WVk         uint16
    WScan       uint16
    DwFlags     uint32
    Time        uint32
    DwExtraInfo uintptr
    Unused      [8]byte
}

type KEYBD_INPUT Uses

type KEYBD_INPUT struct {
    Type uint32
    Ki   KEYBDINPUT
}

type LANGID Uses

type LANGID uint16

func GetThreadUILanguage Uses

func GetThreadUILanguage() LANGID

type LAYERPLANEDESCRIPTOR Uses

type LAYERPLANEDESCRIPTOR struct {
    NSize           uint16
    NVersion        uint16
    DwFlags         uint32
    IPixelType      uint8
    CColorBits      uint8
    CRedBits        uint8
    CRedShift       uint8
    CGreenBits      uint8
    CGreenShift     uint8
    CBlueBits       uint8
    CBlueShift      uint8
    CAlphaBits      uint8
    CAlphaShift     uint8
    CAccumBits      uint8
    CAccumRedBits   uint8
    CAccumGreenBits uint8
    CAccumBlueBits  uint8
    CAccumAlphaBits uint8
    CDepthBits      uint8
    CStencilBits    uint8
    CAuxBuffers     uint8
    ILayerType      uint8
    BReserved       uint8
    CrTransparent   COLORREF
}

type LCID Uses

type LCID uint32
const (
    LOCALE_CUSTOM_DEFAULT     LCID = 0x0c00
    LOCALE_CUSTOM_UI_DEFAULT  LCID = 0x1400
    LOCALE_CUSTOM_UNSPECIFIED LCID = 0x1000
    LOCALE_INVARIANT          LCID = 0x007f
    LOCALE_USER_DEFAULT       LCID = 0x0400
    LOCALE_SYSTEM_DEFAULT     LCID = 0x0800
)

Predefined locale ids

func GetThreadLocale Uses

func GetThreadLocale() LCID

type LCTYPE Uses

type LCTYPE uint32
const (
    LOCALE_SDECIMAL          LCTYPE = 14
    LOCALE_STHOUSAND         LCTYPE = 15
    LOCALE_SISO3166CTRYNAME  LCTYPE = 0x5a
    LOCALE_SISO3166CTRYNAME2 LCTYPE = 0x68
    LOCALE_SISO639LANGNAME   LCTYPE = 0x59
    LOCALE_SISO639LANGNAME2  LCTYPE = 0x67
)

LCTYPE constants

type LHITTESTINFO Uses

type LHITTESTINFO struct {
    Pt   POINT
    Item LITEM
}

type LITEM Uses

type LITEM struct {
    Mask      uint32
    ILink     int32
    State     uint32
    StateMask uint32
    SzID      [MAX_LINKID_TEXT]uint16
    SzUrl     [L_MAX_URL_LENGTH]uint16
}

type LOGBRUSH Uses

type LOGBRUSH struct {
    LbStyle uint32
    LbColor COLORREF
    LbHatch uintptr
}

type LOGFONT Uses

type LOGFONT struct {
    LfHeight         int32
    LfWidth          int32
    LfEscapement     int32
    LfOrientation    int32
    LfWeight         int32
    LfItalic         byte
    LfUnderline      byte
    LfStrikeOut      byte
    LfCharSet        byte
    LfOutPrecision   byte
    LfClipPrecision  byte
    LfQuality        byte
    LfPitchAndFamily byte
    LfFaceName       [LF_FACESIZE]uint16
}

type LPOFNHOOKPROC Uses

type LPOFNHOOKPROC uintptr

type LPUNKNOWN Uses

type LPUNKNOWN uintptr

type LVCOLUMN Uses

type LVCOLUMN struct {
    Mask       uint32
    Fmt        int32
    Cx         int32
    PszText    *uint16
    CchTextMax int32
    ISubItem   int32
    IImage     int32
    IOrder     int32
}

type LVHITTESTINFO Uses

type LVHITTESTINFO struct {
    Pt       POINT
    Flags    uint32
    IItem    int32
    ISubItem int32
    IGroup   int32
}

type LVITEM Uses

type LVITEM struct {
    Mask       uint32
    IItem      int32
    ISubItem   int32
    State      uint32
    StateMask  uint32
    PszText    *uint16
    CchTextMax int32
    IImage     int32
    LParam     uintptr
    IIndent    int32
    IGroupId   int32
    CColumns   uint32
    PuColumns  uint32
}

type MEASUREITEMSTRUCT Uses

type MEASUREITEMSTRUCT struct {
    CtlType    uint32
    CtlID      uint32
    ItemID     int32
    ItemWidth  uint32
    ItemHeight uint32
    ItemData   uintptr
}
type MENUINFO struct {
    CbSize          uint32
    FMask           uint32
    DwStyle         uint32
    CyMax           uint32
    HbrBack         HBRUSH
    DwContextHelpID uint32
    DwMenuData      uintptr
}
type MENUITEMINFO struct {
    CbSize        uint32
    FMask         uint32
    FType         uint32
    FState        uint32
    WID           uint32
    HSubMenu      HMENU
    HbmpChecked   HBITMAP
    HbmpUnchecked HBITMAP
    DwItemData    uintptr
    DwTypeData    *uint16
    Cch           uint32
    HbmpItem      HBITMAP
}

type MINMAXINFO Uses

type MINMAXINFO struct {
    PtReserved     POINT
    PtMaxSize      POINT
    PtMaxPosition  POINT
    PtMinTrackSize POINT
    PtMaxTrackSize POINT
}

type MONITORINFO Uses

type MONITORINFO struct {
    CbSize    uint32
    RcMonitor RECT
    RcWork    RECT
    DwFlags   uint32
}

type MOUSEINPUT Uses

type MOUSEINPUT struct {
    Dx          int32
    Dy          int32
    MouseData   uint32
    DwFlags     uint32
    Time        uint32
    DwExtraInfo uintptr
}

type MOUSE_INPUT Uses

type MOUSE_INPUT struct {
    Type uint32
    Mi   MOUSEINPUT
}

type MSG Uses

type MSG struct {
    HWnd    HWND
    Message uint32
    WParam  uintptr
    LParam  uintptr
    Time    uint32
    Pt      POINT
}

type NMBCDROPDOWN Uses

type NMBCDROPDOWN struct {
    Hdr      NMHDR
    RcButton RECT
}

type NMCUSTOMDRAW Uses

type NMCUSTOMDRAW struct {
    Hdr         NMHDR
    DwDrawStage uint32
    Hdc         HDC
    Rc          RECT
    DwItemSpec  uintptr
    UItemState  uint32
    LItemlParam uintptr
}

type NMDATETIMECHANGE Uses

type NMDATETIMECHANGE struct {
    Nmhdr   NMHDR
    DwFlags uint32
    St      SYSTEMTIME
}

Structs

type NMDATETIMEFORMAT Uses

type NMDATETIMEFORMAT struct {
    Nmhdr      NMHDR
    PszFormat  *uint16
    St         SYSTEMTIME
    PszDisplay *uint16
    SzDisplay  [64]uint16
}

Structs

type NMDATETIMEFORMATQUERY Uses

type NMDATETIMEFORMATQUERY struct {
    Nmhdr     NMHDR
    PszFormat *uint16
    SzMax     SIZE
}

Structs

type NMDATETIMESTRING Uses

type NMDATETIMESTRING struct {
    Nmhdr         NMHDR
    PszUserString *uint16
    St            SYSTEMTIME
    DwFlags       uint32
}

Structs

type NMDATETIMEWMKEYDOWN Uses

type NMDATETIMEWMKEYDOWN struct {
    Nmhdr     NMHDR
    NVirtKey  int
    PszFormat *uint16
    St        SYSTEMTIME
}

Structs

type NMHDR Uses

type NMHDR struct {
    HwndFrom HWND
    IdFrom   uintptr
    Code     uint32
}

type NMITEMACTIVATE Uses

type NMITEMACTIVATE struct {
    Hdr       NMHDR
    IItem     int32
    ISubItem  int32
    UNewState uint32
    UOldState uint32
    UChanged  uint32
    PtAction  POINT
    LParam    uintptr
    UKeyFlags uint32
}
type NMLINK struct {
    Hdr  NMHDR
    Item LITEM
}

type NMLISTVIEW Uses

type NMLISTVIEW struct {
    Hdr       NMHDR
    IItem     int32
    ISubItem  int32
    UNewState uint32
    UOldState uint32
    UChanged  uint32
    PtAction  POINT
    LParam    uintptr
}

type NMLVCUSTOMDRAW Uses

type NMLVCUSTOMDRAW struct {
    Nmcd        NMCUSTOMDRAW
    ClrText     COLORREF
    ClrTextBk   COLORREF
    ISubItem    int32
    DwItemType  uint32
    ClrFace     COLORREF
    IIconEffect int32
    IIconPhase  int32
    IPartId     int32
    IStateId    int32
    RcText      RECT
    UAlign      uint32
}

type NMLVDISPINFO Uses

type NMLVDISPINFO struct {
    Hdr  NMHDR
    Item LVITEM
}

type NMLVSCROLL Uses

type NMLVSCROLL struct {
    Hdr NMHDR
    Dx  int32
    Dy  int32
}

type NMMOUSE Uses

type NMMOUSE struct {
    Hdr        NMHDR
    DwItemSpec uintptr
    DwItemData uintptr
    Pt         POINT
    DwHitInfo  uintptr
}

type NMTCKEYDOWN Uses

type NMTCKEYDOWN struct {
    Hdr   NMHDR
    WVKey uint16
    Flags uint32
}

type NMTOOLBAR Uses

type NMTOOLBAR struct {
    Hdr      NMHDR
    IItem    int32
    TbButton TBBUTTON
    CchText  int32
    PszText  *uint16
    RcButton RECT
}

type NMTREEVIEW Uses

type NMTREEVIEW struct {
    Hdr     NMHDR
    Action  uint32
    ItemOld TVITEM
    ItemNew TVITEM
    PtDrag  POINT
}

type NMTVDISPINFO Uses

type NMTVDISPINFO struct {
    Hdr  NMHDR
    Item TVITEM
}

type NMTVKEYDOWN Uses

type NMTVKEYDOWN struct {
    Hdr   NMHDR
    WVKey uint16
    Flags uint32
}

type NMUPDOWN Uses

type NMUPDOWN struct {
    Hdr    NMHDR
    IPos   int32
    IDelta int32
}

type NONCLIENTMETRICS Uses

type NONCLIENTMETRICS struct {
    CbSize           uint32
    IBorderWidth     int32
    IScrollWidth     int32
    IScrollHeight    int32
    ICaptionWidth    int32
    ICaptionHeight   int32
    LfCaptionFont    LOGFONT
    ISmCaptionWidth  int32
    ISmCaptionHeight int32
    LfSmCaptionFont  LOGFONT
    IMenuWidth       int32
    IMenuHeight      int32
    LfMenuFont       LOGFONT
    LfStatusFont     LOGFONT
    LfMessageFont    LOGFONT
}

type NOTIFYICONDATA Uses

type NOTIFYICONDATA struct {
    CbSize           uint32
    HWnd             HWND
    UID              uint32
    UFlags           uint32
    UCallbackMessage uint32
    HIcon            HICON
    SzTip            [128]uint16
    DwState          uint32
    DwStateMask      uint32
    SzInfo           [256]uint16
    UVersion         uint32
    SzInfoTitle      [64]uint16
    DwInfoFlags      uint32
    GuidItem         syscall.GUID
}

type NUMBERFMT Uses

type NUMBERFMT struct {
    NumDigits     uint32
    LeadingZero   uint32
    Grouping      uint32
    LpDecimalSep  *uint16
    LpThousandSep *uint16
    NegativeOrder uint32
}

type OLEINPLACEFRAMEINFO Uses

type OLEINPLACEFRAMEINFO struct {
    Cb            uint32
    FMDIApp       BOOL
    HwndFrame     HWND
    Haccel        HACCEL
    CAccelEntries uint32
}

type OPENFILENAME Uses

type OPENFILENAME struct {
    LStructSize       uint32
    HwndOwner         HWND
    HInstance         HINSTANCE
    LpstrFilter       *uint16
    LpstrCustomFilter *uint16
    NMaxCustFilter    uint32
    NFilterIndex      uint32
    LpstrFile         *uint16
    NMaxFile          uint32
    LpstrFileTitle    *uint16
    NMaxFileTitle     uint32
    LpstrInitialDir   *uint16
    LpstrTitle        *uint16
    Flags             uint32
    NFileOffset       uint16
    NFileExtension    uint16
    LpstrDefExt       *uint16
    LCustData         uintptr
    LpfnHook          LPOFNHOOKPROC
    LpTemplateName    *uint16
    PvReserved        unsafe.Pointer
    DwReserved        uint32
    FlagsEx           uint32
}

type PAINTSTRUCT Uses

type PAINTSTRUCT struct {
    Hdc         HDC
    FErase      BOOL
    RcPaint     RECT
    FRestore    BOOL
    FIncUpdate  BOOL
    RgbReserved [32]byte
}

type PDH_FMT_COUNTERVALUE_DOUBLE Uses

type PDH_FMT_COUNTERVALUE_DOUBLE struct {
    CStatus     uint32
    DoubleValue float64
}

Union specialization for double values

type PDH_FMT_COUNTERVALUE_ITEM_DOUBLE Uses

type PDH_FMT_COUNTERVALUE_ITEM_DOUBLE struct {
    SzName   *uint16 // pointer to a string
    FmtValue PDH_FMT_COUNTERVALUE_DOUBLE
}

Union specialization for double values, used by PdhGetFormattedCounterArrayDouble()

type PDH_FMT_COUNTERVALUE_ITEM_LARGE Uses

type PDH_FMT_COUNTERVALUE_ITEM_LARGE struct {
    SzName   *uint16 // pointer to a string
    FmtValue PDH_FMT_COUNTERVALUE_LARGE
}

Union specialization for 'large' values, used by PdhGetFormattedCounterArrayLarge()

type PDH_FMT_COUNTERVALUE_ITEM_LONG Uses

type PDH_FMT_COUNTERVALUE_ITEM_LONG struct {
    SzName   *uint16 // pointer to a string
    FmtValue PDH_FMT_COUNTERVALUE_LONG
}

Union specialization for long values, used by PdhGetFormattedCounterArrayLong()

type PDH_FMT_COUNTERVALUE_LARGE Uses

type PDH_FMT_COUNTERVALUE_LARGE struct {
    CStatus    uint32
    LargeValue int64
}

Union specialization for 64 bit integer values

type PDH_FMT_COUNTERVALUE_LONG Uses

type PDH_FMT_COUNTERVALUE_LONG struct {
    CStatus   uint32
    LongValue int32
    // contains filtered or unexported fields
}

Union specialization for long values

type PDH_HCOUNTER Uses

type PDH_HCOUNTER HANDLE // counter handle

type PDH_HQUERY Uses

type PDH_HQUERY HANDLE // query handle

type PIXELFORMATDESCRIPTOR Uses

type PIXELFORMATDESCRIPTOR struct {
    NSize           uint16
    NVersion        uint16
    DwFlags         uint32
    IPixelType      byte
    CColorBits      byte
    CRedBits        byte
    CRedShift       byte
    CGreenBits      byte
    CGreenShift     byte
    CBlueBits       byte
    CBlueShift      byte
    CAlphaBits      byte
    CAlphaShift     byte
    CAccumBits      byte
    CAccumRedBits   byte
    CAccumGreenBits byte
    CAccumBlueBits  byte
    CAccumAlphaBits byte
    CDepthBits      byte
    CStencilBits    byte
    CAuxBuffers     byte
    ILayerType      byte
    BReserved       byte
    DwLayerMask     uint32
    DwVisibleMask   uint32
    DwDamageMask    uint32
}

type POINT Uses

type POINT struct {
    X, Y int32
}

type POINTFLOAT Uses

type POINTFLOAT struct {
    X, Y float32
}

type PRINTDLGEX Uses

type PRINTDLGEX struct {
    LStructSize         uint32
    HwndOwner           HWND
    HDevMode            HGLOBAL
    HDevNames           HGLOBAL
    HDC                 HDC
    Flags               uint32
    Flags2              uint32
    ExclusionFlags      uint32
    NPageRanges         uint32
    NMaxPageRanges      uint32
    LpPageRanges        *PRINTPAGERANGE
    NMinPage            uint32
    NMaxPage            uint32
    NCopies             uint32
    HInstance           HINSTANCE
    LpPrintTemplateName *uint16
    LpCallback          LPUNKNOWN
    NPropertyPages      uint32
    LphPropertyPages    *HPROPSHEETPAGE
    NStartPage          uint32
    DwResultAction      uint32
}

type PRINTER_INFO_4 Uses

type PRINTER_INFO_4 struct {
    PPrinterName *uint16
    PServerName  *uint16
    Attributes   uint32
}

type PRINTPAGERANGE Uses

type PRINTPAGERANGE struct {
    NFromPage uint32
    NToPage   uint32
}

type RAWHID Uses

type RAWHID struct {
    DwSizeHid uint32
    DwCount   uint32
    BRawData  [1]byte
}

type RAWINPUTDEVICE Uses

type RAWINPUTDEVICE struct {
    UsUsagePage uint16
    UsUsage     uint16
    DwFlags     uint32
    HwndTarget  HWND
}

type RAWINPUTHEADER Uses

type RAWINPUTHEADER struct {
    DwType  uint32
    DwSize  uint32
    HDevice HANDLE
    WParam  uintptr
}

type RAWINPUTHID Uses

type RAWINPUTHID struct {
    Header RAWINPUTHEADER
    Data   RAWHID
}

type RAWINPUTKEYBOARD Uses

type RAWINPUTKEYBOARD struct {
    Header RAWINPUTHEADER
    Data   RAWKEYBOARD
}

type RAWINPUTMOUSE Uses

type RAWINPUTMOUSE struct {
    Header RAWINPUTHEADER
    Data   RAWMOUSE
}

type RAWKEYBOARD Uses

type RAWKEYBOARD struct {
    MakeCode         uint16
    Flags            uint16
    Reserved         int16
    VKey             uint16
    Message          uint32
    ExtraInformation uint32
}

type RAWMOUSE Uses

type RAWMOUSE struct {
    UsFlags            uint16
    UsButtonFlags      uint16
    UsButtonData       uint16
    Pad_cgo_0          [2]byte
    UlRawButtons       uint32
    LLastX             int32
    LLastY             int32
    UlExtraInformation uint32
}

type RECT Uses

type RECT struct {
    Left, Top, Right, Bottom int32
}

type REFCLSID Uses

type REFCLSID *CLSID

type REFIID Uses

type REFIID *IID

type REGSAM Uses

type REGSAM ACCESS_MASK
const KEY_READ REGSAM = 0x20019
const KEY_WRITE REGSAM = 0x20006

type RGBQUAD Uses

type RGBQUAD struct {
    RgbBlue     byte
    RgbGreen    byte
    RgbRed      byte
    RgbReserved byte
}

type SAFEARRAY Uses

type SAFEARRAY struct {
    CDims      uint16
    FFeatures  uint16
    CbElements uint32
    CLocks     uint32
    PvData     uintptr
    Rgsabound  [1]SAFEARRAYBOUND
}

type SAFEARRAYBOUND Uses

type SAFEARRAYBOUND struct {
    CElements uint32
    LLbound   int32
}

type SCROLLINFO Uses

type SCROLLINFO struct {
    CbSize    uint32
    FMask     uint32
    NMin      int32
    NMax      int32
    NPage     uint32
    NPos      int32
    NTrackPos int32
}

type SHFILEINFO Uses

type SHFILEINFO struct {
    HIcon         HICON
    IIcon         int32
    DwAttributes  uint32
    SzDisplayName [MAX_PATH]uint16
    SzTypeName    [80]uint16
}

type SHSTOCKICONINFO Uses

type SHSTOCKICONINFO struct {
    CbSize         uint32
    HIcon          HICON
    ISysImageIndex int32
    IIcon          int32
    SzPath         [MAX_PATH]uint16
}

type SIZE Uses

type SIZE struct {
    CX, CY int32
}

type SYSTEMTIME Uses

type SYSTEMTIME struct {
    WYear         uint16
    WMonth        uint16
    WDayOfWeek    uint16
    WDay          uint16
    WHour         uint16
    WMinute       uint16
    WSecond       uint16
    WMilliseconds uint16
}

type TBBUTTON Uses

type TBBUTTON struct {
    IBitmap   int32
    IdCommand int32
    FsState   byte
    FsStyle   byte
    //#ifdef _WIN64
    //    BYTE bReserved[6]          // padding for alignment
    //#elif defined(_WIN32)
    BReserved [2]byte // padding for alignment
    //#endif
    DwData  uintptr
    IString uintptr
}

type TBBUTTONINFO Uses

type TBBUTTONINFO struct {
    CbSize    uint32
    DwMask    uint32
    IdCommand int32
    IImage    int32
    FsState   byte
    FsStyle   byte
    Cx        uint16
    LParam    uintptr
    PszText   uintptr
    CchText   int32
}

type TCHITTESTINFO Uses

type TCHITTESTINFO struct {
    Pt POINT
    // contains filtered or unexported fields
}

type TCITEM Uses

type TCITEM struct {
    Mask        uint32
    DwState     uint32
    DwStateMask uint32
    PszText     *uint16
    CchTextMax  int32
    IImage      int32
    LParam      uintptr
}

type TCITEMHEADER Uses

type TCITEMHEADER struct {
    Mask        uint32
    LpReserved1 uint32
    LpReserved2 uint32
    PszText     *uint16
    CchTextMax  int32
    IImage      int32
}

type TEXTMETRIC Uses

type TEXTMETRIC struct {
    TmHeight           int32
    TmAscent           int32
    TmDescent          int32
    TmInternalLeading  int32
    TmExternalLeading  int32
    TmAveCharWidth     int32
    TmMaxCharWidth     int32
    TmWeight           int32
    TmOverhang         int32
    TmDigitizedAspectX int32
    TmDigitizedAspectY int32
    TmFirstChar        uint16
    TmLastChar         uint16
    TmDefaultChar      uint16
    TmBreakChar        uint16
    TmItalic           byte
    TmUnderlined       byte
    TmStruckOut        byte
    TmPitchAndFamily   byte
    TmCharSet          byte
}

type THEMESIZE Uses

type THEMESIZE int
const (
    TS_MIN THEMESIZE = iota
    TS_TRUE
    TS_DRAW
)

type TOOLINFO Uses

type TOOLINFO struct {
    CbSize     uint32
    UFlags     uint32
    Hwnd       HWND
    UId        uintptr
    Rect       RECT
    Hinst      HINSTANCE
    LpszText   *uint16
    LParam     uintptr
    LpReserved unsafe.Pointer
}

type TPMPARAMS Uses

type TPMPARAMS struct {
    CbSize    uint32
    RcExclude RECT
}

type TRIVERTEX Uses

type TRIVERTEX struct {
    X     int32
    Y     int32
    Red   uint16
    Green uint16
    Blue  uint16
    Alpha uint16
}

type TTGETTITLE Uses

type TTGETTITLE struct {
    DwSize       uint32
    UTitleBitmap uint32
    Cch          uint32
    PszTitle     *uint16
}

type TVHITTESTINFO Uses

type TVHITTESTINFO struct {
    Pt    POINT
    Flags uint32
    HItem HTREEITEM
}

type TVINSERTSTRUCT Uses

type TVINSERTSTRUCT struct {
    HParent      HTREEITEM
    HInsertAfter HTREEITEM
    Item         TVITEM
}

type TVITEM Uses

type TVITEM struct {
    Mask           uint32
    HItem          HTREEITEM
    State          uint32
    StateMask      uint32
    PszText        uintptr
    CchTextMax     int32
    IImage         int32
    ISelectedImage int32
    CChildren      int32
    LParam         uintptr
}

type UDACCEL Uses

type UDACCEL struct {
    NSec uint32
    NInc uint32
}

type VARIANT Uses

type VARIANT struct {
    Vt VARTYPE
    // contains filtered or unexported fields
}

func (*VARIANT) BSTR Uses

func (v *VARIANT) BSTR() (*uint16, error)

func (*VARIANT) Bool Uses

func (v *VARIANT) Bool() (VARIANT_BOOL, error)

func (*VARIANT) Long Uses

func (v *VARIANT) Long() (int32, error)

func (*VARIANT) MustBSTR Uses

func (v *VARIANT) MustBSTR() *uint16

func (*VARIANT) MustBool Uses

func (v *VARIANT) MustBool() VARIANT_BOOL

func (*VARIANT) MustLong Uses

func (v *VARIANT) MustLong() int32

func (*VARIANT) MustPBool Uses

func (v *VARIANT) MustPBool() *VARIANT_BOOL

func (*VARIANT) MustPDispatch Uses

func (v *VARIANT) MustPDispatch() *IDispatch

func (*VARIANT) MustPPDispatch Uses

func (v *VARIANT) MustPPDispatch() **IDispatch

func (*VARIANT) MustPSafeArray Uses

func (v *VARIANT) MustPSafeArray() *SAFEARRAY

func (*VARIANT) MustPVariant Uses

func (v *VARIANT) MustPVariant() *VARIANT

func (*VARIANT) MustULong Uses

func (v *VARIANT) MustULong() uint32

func (*VARIANT) PBool Uses

func (v *VARIANT) PBool() (*VARIANT_BOOL, error)

func (*VARIANT) PDispatch Uses

func (v *VARIANT) PDispatch() (*IDispatch, error)

func (*VARIANT) PPDispatch Uses

func (v *VARIANT) PPDispatch() (**IDispatch, error)

func (*VARIANT) PSafeArray Uses

func (v *VARIANT) PSafeArray() (*SAFEARRAY, error)

func (*VARIANT) PVariant Uses

func (v *VARIANT) PVariant() (*VARIANT, error)

func (*VARIANT) SetBSTR Uses

func (v *VARIANT) SetBSTR(value *uint16)

func (*VARIANT) SetBool Uses

func (v *VARIANT) SetBool(value VARIANT_BOOL)

func (*VARIANT) SetLong Uses

func (v *VARIANT) SetLong(value int32)

func (*VARIANT) SetPBool Uses

func (v *VARIANT) SetPBool(value *VARIANT_BOOL)

func (*VARIANT) SetPDispatch Uses

func (v *VARIANT) SetPDispatch(value *IDispatch)

func (*VARIANT) SetPPDispatch Uses

func (v *VARIANT) SetPPDispatch(value **IDispatch)

func (*VARIANT) SetPSafeArray Uses

func (v *VARIANT) SetPSafeArray(value *SAFEARRAY, elementVt VARTYPE)

func (*VARIANT) SetPVariant Uses

func (v *VARIANT) SetPVariant(value *VARIANT)

func (*VARIANT) SetULong Uses

func (v *VARIANT) SetULong(value uint32)

func (*VARIANT) ULong Uses

func (v *VARIANT) ULong() (uint32, error)

type VARIANTARG Uses

type VARIANTARG struct {
    VARIANT
}

type VARIANT_BOOL Uses

type VARIANT_BOOL int16
const (
    VARIANT_TRUE  VARIANT_BOOL = -1
    VARIANT_FALSE VARIANT_BOOL = 0
)

type VARTYPE Uses

type VARTYPE uint16
const (
    VT_EMPTY            VARTYPE = 0
    VT_NULL             VARTYPE = 1
    VT_I2               VARTYPE = 2
    VT_I4               VARTYPE = 3
    VT_R4               VARTYPE = 4
    VT_R8               VARTYPE = 5
    VT_CY               VARTYPE = 6
    VT_DATE             VARTYPE = 7
    VT_BSTR             VARTYPE = 8
    VT_DISPATCH         VARTYPE = 9
    VT_ERROR            VARTYPE = 10
    VT_BOOL             VARTYPE = 11
    VT_VARIANT          VARTYPE = 12
    VT_UNKNOWN          VARTYPE = 13
    VT_DECIMAL          VARTYPE = 14
    VT_I1               VARTYPE = 16
    VT_UI1              VARTYPE = 17
    VT_UI2              VARTYPE = 18
    VT_UI4              VARTYPE = 19
    VT_I8               VARTYPE = 20
    VT_UI8              VARTYPE = 21
    VT_INT              VARTYPE = 22
    VT_UINT             VARTYPE = 23
    VT_VOID             VARTYPE = 24
    VT_HRESULT          VARTYPE = 25
    VT_PTR              VARTYPE = 26
    VT_SAFEARRAY        VARTYPE = 27
    VT_CARRAY           VARTYPE = 28
    VT_USERDEFINED      VARTYPE = 29
    VT_LPSTR            VARTYPE = 30
    VT_LPWSTR           VARTYPE = 31
    VT_RECORD           VARTYPE = 36
    VT_INT_PTR          VARTYPE = 37
    VT_UINT_PTR         VARTYPE = 38
    VT_FILETIME         VARTYPE = 64
    VT_BLOB             VARTYPE = 65
    VT_STREAM           VARTYPE = 66
    VT_STORAGE          VARTYPE = 67
    VT_STREAMED_OBJECT  VARTYPE = 68
    VT_STORED_OBJECT    VARTYPE = 69
    VT_BLOB_OBJECT      VARTYPE = 70
    VT_CF               VARTYPE = 71
    VT_CLSID            VARTYPE = 72
    VT_VERSIONED_STREAM VARTYPE = 73
    VT_BSTR_BLOB        VARTYPE = 0xfff
    VT_VECTOR           VARTYPE = 0x1000
    VT_ARRAY            VARTYPE = 0x2000
    VT_BYREF            VARTYPE = 0x4000
    VT_RESERVED         VARTYPE = 0x8000
    VT_ILLEGAL          VARTYPE = 0xffff
    VT_ILLEGALMASKED    VARTYPE = 0xfff
    VT_TYPEMASK         VARTYPE = 0xfff
)

type VAR_BOOL Uses

type VAR_BOOL struct {
    // contains filtered or unexported fields
}

func BoolToVariantBool Uses

func BoolToVariantBool(value bool) *VAR_BOOL

type VAR_BSTR Uses

type VAR_BSTR struct {
    // contains filtered or unexported fields
}

func StringToVariantBSTR Uses

func StringToVariantBSTR(value string) *VAR_BSTR

type VAR_I4 Uses

type VAR_I4 struct {
    // contains filtered or unexported fields
}

func IntToVariantI4 Uses

func IntToVariantI4(value int32) *VAR_I4

type VAR_PBOOL Uses

type VAR_PBOOL struct {
    // contains filtered or unexported fields
}

type VAR_PDISP Uses

type VAR_PDISP struct {
    // contains filtered or unexported fields
}

type VAR_PPDISP Uses

type VAR_PPDISP struct {
    // contains filtered or unexported fields
}

type VAR_PSAFEARRAY Uses

type VAR_PSAFEARRAY struct {
    // contains filtered or unexported fields
}

type VAR_PVAR Uses

type VAR_PVAR struct {
    // contains filtered or unexported fields
}

type VAR_UI4 Uses

type VAR_UI4 struct {
    // contains filtered or unexported fields
}

type WINDOWPLACEMENT Uses

type WINDOWPLACEMENT struct {
    Length           uint32
    Flags            uint32
    ShowCmd          uint32
    PtMinPosition    POINT
    PtMaxPosition    POINT
    RcNormalPosition RECT
}

type WINDOWPOS Uses

type WINDOWPOS struct {
    Hwnd            HWND
    HwndInsertAfter HWND
    X               int32
    Y               int32
    Cx              int32
    Cy              int32
    Flags           uint32
}

type WNDCLASSEX Uses

type WNDCLASSEX struct {
    CbSize        uint32
    Style         uint32
    LpfnWndProc   uintptr
    CbClsExtra    int32
    CbWndExtra    int32
    HInstance     HINSTANCE
    HIcon         HICON
    HCursor       HCURSOR
    HbrBackground HBRUSH
    LpszMenuName  *uint16
    LpszClassName *uint16
    HIconSm       HICON
}

Bugs

Testing this function on multiple systems yielded inconsistent results. For instance, the pValue.LongValue kept the value '192' on test system A, but on B this was '0', while the padding bytes of the struct got the correct value. Until someone can figure out this behaviour, prefer to use the Double or Large counterparts instead. These functions provide actually the same data, except in a different, working format.

See description of PdhGetFormattedCounterValueLong().

Package win imports 4 packages (graph) and is imported by 38 packages. Updated 2018-10-15 with GOOS=windows. Refresh now. Tools for package owners.