w32

package module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 19, 2018 License: BSD-3-Clause Imports: 5 Imported by: 0

README

About w32

w32 is a wrapper for a number of Windows APIs for the Go Programming Language.

This library has no other dependencies and you need no C-compiler, it is written in pure Go. Some function signatures have been adapted to make them work in Go, e.g. functions that take a pointer to an array and a count of items in C will now simply accept a slice in Go.

If you miss any Windows API functions, just write an issue or create a pull request, the Win32 API is very large and has many rarely used functions in it so this wrapper is supposed to grow as needed by the Go community.

Installation

Get the latest version with:

go get -u github.com/gonutz/w32

(The option -u pulls the latest changes from this repository.)

Documentation

Index

Constants

View Source
const (
	FALSE = 0
	TRUE  = 1
)
View Source
const (
	NO_ERROR                         = 0
	ERROR_SUCCESS                    = 0
	ERROR_FILE_NOT_FOUND             = 2
	ERROR_PATH_NOT_FOUND             = 3
	ERROR_ACCESS_DENIED              = 5
	ERROR_INVALID_HANDLE             = 6
	ERROR_BAD_FORMAT                 = 11
	ERROR_INVALID_NAME               = 123
	ERROR_MORE_DATA                  = 234
	ERROR_NO_MORE_ITEMS              = 259
	ERROR_INVALID_SERVICE_CONTROL    = 1052
	ERROR_SERVICE_REQUEST_TIMEOUT    = 1053
	ERROR_SERVICE_NO_THREAD          = 1054
	ERROR_SERVICE_DATABASE_LOCKED    = 1055
	ERROR_SERVICE_ALREADY_RUNNING    = 1056
	ERROR_SERVICE_DISABLED           = 1058
	ERROR_SERVICE_DOES_NOT_EXIST     = 1060
	ERROR_SERVICE_CANNOT_ACCEPT_CTRL = 1061
	ERROR_SERVICE_NOT_ACTIVE         = 1062
	ERROR_DATABASE_DOES_NOT_EXIST    = 1065
	ERROR_SERVICE_DEPENDENCY_FAIL    = 1068
	ERROR_SERVICE_LOGON_FAILED       = 1069
	ERROR_SERVICE_MARKED_FOR_DELETE  = 1072
	ERROR_SERVICE_DEPENDENCY_DELETED = 1075
)
View Source
const (
	SE_ERR_FNF             = 2
	SE_ERR_PNF             = 3
	SE_ERR_ACCESSDENIED    = 5
	SE_ERR_OOM             = 8
	SE_ERR_DLLNOTFOUND     = 32
	SE_ERR_SHARE           = 26
	SE_ERR_ASSOCINCOMPLETE = 27
	SE_ERR_DDETIMEOUT      = 28
	SE_ERR_DDEFAIL         = 29
	SE_ERR_DDEBUSY         = 30
	SE_ERR_NOASSOC         = 31
)
View Source
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

View Source
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

View Source
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

View Source
const (
	IDI_APPLICATION = 32512
	IDI_HAND        = 32513
	IDI_QUESTION    = 32514
	IDI_EXCLAMATION = 32515
	IDI_ASTERISK    = 32516
	IDI_WARNING     = IDI_EXCLAMATION
	IDI_ERROR       = IDI_HAND
	IDI_INFORMATION = IDI_ASTERISK
)

Predefined icon constants

View Source
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_TEXT            = 0
	BS_TOP             = 0x400
	BS_USERBUTTON      = 8
	BS_VCENTER         = 0xC00
	BS_FLAT            = 0x8000
)

Button style constants

View Source
const (
	BST_CHECKED       = 1
	BST_INDETERMINATE = 2
	BST_UNCHECKED     = 0
	BST_FOCUS         = 8
	BST_PUSHED        = 4
)

Button state constants

View Source
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
)

Combo box style constants

View Source
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
	CB_MSGMAX                = 0x0165
)

Combo box message constants

View Source
const (
	CB_OKAY     = 0
	CB_ERR      = -1
	CB_ERRSPACE = -2
)

Combo box return values

View Source
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
)

Combo box notification codes

View Source
const (
	LB_ADDSTRING           = 0xF180
	LB_INSERTSTRING        = 0xF181
	LB_DELETESTRING        = 0xF182
	LB_SELITEMRANGEEX      = 0xF183
	LB_RESETCONTENT        = 0xF184
	LB_SETSEL              = 0xF185
	LB_SETCURSEL           = 0xF186
	LB_GETSEL              = 0xF187
	LB_GETCURSEL           = 0xF188
	LB_GETTEXT             = 0xF189
	LB_GETTEXTLEN          = 0xF18A
	LB_GETCOUNT            = 0xF18B
	LB_SELECTSTRING        = 0xF18C
	LB_DIR                 = 0xF18D
	LB_GETTOPINDEX         = 0xF18E
	LB_FINDSTRING          = 0xF18F
	LB_GETSELCOUNT         = 0xF190
	LB_GETSELITEMS         = 0xF191
	LB_SETTABSTOPS         = 0xF192
	LB_GETHORIZONTALEXTENT = 0xF193
	LB_SETHORIZONTALEXTENT = 0xF194
	LB_SETCOLUMNWIDTH      = 0xF195
	LB_ADDFILE             = 0xF196
	LB_SETTOPINDEX         = 0xF197
	LB_GETITEMRECT         = 0xF198
	LB_GETITEMDATA         = 0xF199
	LB_SETITEMDATA         = 0xF19A
	LB_SELITEMRANGE        = 0xF19B
	LB_SETANCHORINDEX      = 0xF19C
	LB_GETANCHORINDEX      = 0xF19D
	LB_SETCARETINDEX       = 0xF19E
	LB_GETCARETINDEX       = 0xF19F
	LB_SETITEMHEIGHT       = 0xF1A0
	LB_GETITEMHEIGHT       = 0xF1A1
	LB_FINDSTRINGEXACT     = 0xF1A2
	LB_SETLOCALE           = 0xF1A5
	LB_GETLOCALE           = 0xF1A6
	LB_SETCOUNT            = 0xF1A7
	LB_INITSTORAGE         = 0xF1A8
	LB_ITEMFROMPOINT       = 0xF1A9
	LB_SETTEXT             = 0xF1AA
	LB_GETCHECKMARK        = 0xF1AB
	LB_SETCHECKMARK        = 0xF1AC
	LB_GETITEMADDDATA      = 0xF1AD
	LB_SETITEMADDDATA      = 0xF1AE
)

List box message constants

View Source
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_STANDARD          = LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER
	LBS_CHECKBOX          = 0x1000
	LBS_USEICON           = 0x2000
	LBS_AUTOCHECK         = 0x4000
	LBS_AUTOCHECKBOX      = 0x5000
	LBS_PRELOADED         = 0x4000
	LBS_COMBOLBOX         = 0x8000
)

List box styles

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

List box notification messages

View Source
const (
	LB_OKAY     = 0
	LB_ERR      = (-1)
	LB_ERRSPACE = (-2)
)

List box return values

View Source
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

View Source
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

View Source
const (
	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

View Source
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

View Source
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

View Source
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

View Source
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

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

WM_ACTIVATE

View Source
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

View Source
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

View Source
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

View Source
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

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

Font output quality constants

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

Font pitch constants

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

Font family constants

View Source
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

View Source
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

View Source
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

View Source
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

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

GetDeviceCaps COLORMGMTCAPS constants

View Source
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

View Source
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

View Source
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

View Source
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

View Source
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

View Source
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

View Source
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

View Source
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

View Source
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

View Source
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
)
View Source
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

View Source
const (
	PROGRESS_CLASS  = "msctls_progress32"
	PBM_SETPOS      = WM_USER + 2
	PBM_DELTAPOS    = WM_USER + 3
	PBM_SETSTEP     = WM_USER + 4
	PBM_STEPIT      = WM_USER + 5
	PBM_SETRANGE32  = 1030
	PBM_GETRANGE    = 1031
	PBM_GETPOS      = 1032
	PBM_SETBARCOLOR = 1033
	PBM_SETBKCOLOR  = CCM_SETBKCOLOR
	PBS_SMOOTH      = 1
	PBS_VERTICAL    = 4
)

ProgressBar messages

View Source
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

View Source
const (
	BIF_RETURNONLYFSDIRS    = 0x00000001
	BIF_DONTGOBELOWDOMAIN   = 0x00000002
	BIF_STATUSTEXT          = 0x00000004
	BIF_RETURNFSANCESTORS   = 0x00000008
	BIF_EDITBOX             = 0x00000010
	BIF_VALIDATE            = 0x00000020
	BIF_NEWDIALOGSTYLE      = 0x00000040
	BIF_BROWSEINCLUDEURLS   = 0x00000080
	BIF_USENEWUI            = BIF_EDITBOX | BIF_NEWDIALOGSTYLE
	BIF_UAHINT              = 0x00000100
	BIF_NONEWFOLDERBUTTON   = 0x00000200
	BIF_NOTRANSLATETARGETS  = 0x00000400
	BIF_BROWSEFORCOMPUTER   = 0x00001000
	BIF_BROWSEFORPRINTER    = 0x00002000
	BIF_BROWSEINCLUDEFILES  = 0x00004000
	BIF_SHAREABLE           = 0x00008000
	BIF_BROWSEFILEJUNCTIONS = 0x00010000
)

SHBrowseForFolder flags

View Source
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
	MB_TOPMOST           = 0x00040000
)

MessageBox flags

View Source
const (
	E_INVALIDARG  = 0x80070057
	E_OUTOFMEMORY = 0x8007000E
	E_UNEXPECTED  = 0x8000FFFF
)

COM

View Source
const (
	S_OK               = 0
	S_FALSE            = 0x0001
	RPC_E_CHANGED_MODE = 0x80010106
)
View Source
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

View Source
const (
	CLSCTX_INPROC_SERVER   = 1
	CLSCTX_INPROC_HANDLER  = 2
	CLSCTX_LOCAL_SERVER    = 4
	CLSCTX_INPROC_SERVER16 = 8
	CLSCTX_REMOTE_SERVER   = 16
	CLSCTX_ALL             = CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER
	CLSCTX_INPROC          = CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER
	CLSCTX_SERVER          = CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER
)
View Source
const (
	COINIT_APARTMENTTHREADED = 0x2
	COINIT_MULTITHREADED     = 0x0
	COINIT_DISABLE_OLE1DDE   = 0x4
	COINIT_SPEED_OVER_MEMORY = 0x8
)
View Source
const (
	DISPATCH_METHOD         = 1
	DISPATCH_PROPERTYGET    = 2
	DISPATCH_PROPERTYPUT    = 4
	DISPATCH_PROPERTYPUTREF = 8
)
View Source
const (
	CC_FASTCALL = iota
	CC_CDECL
	CC_MSCPASCAL
	CC_PASCAL = CC_MSCPASCAL
	CC_MACPASCAL
	CC_STDCALL
	CC_FPFASTCALL
	CC_SYSCALL
	CC_MPWCDECL
	CC_MPWPASCAL
	CC_MAX = CC_MPWPASCAL
)
View Source
const (
	VT_EMPTY           = 0x0
	VT_NULL            = 0x1
	VT_I2              = 0x2
	VT_I4              = 0x3
	VT_R4              = 0x4
	VT_R8              = 0x5
	VT_CY              = 0x6
	VT_DATE            = 0x7
	VT_BSTR            = 0x8
	VT_DISPATCH        = 0x9
	VT_ERROR           = 0xa
	VT_BOOL            = 0xb
	VT_VARIANT         = 0xc
	VT_UNKNOWN         = 0xd
	VT_DECIMAL         = 0xe
	VT_I1              = 0x10
	VT_UI1             = 0x11
	VT_UI2             = 0x12
	VT_UI4             = 0x13
	VT_I8              = 0x14
	VT_UI8             = 0x15
	VT_INT             = 0x16
	VT_UINT            = 0x17
	VT_VOID            = 0x18
	VT_HRESULT         = 0x19
	VT_PTR             = 0x1a
	VT_SAFEARRAY       = 0x1b
	VT_CARRAY          = 0x1c
	VT_USERDEFINED     = 0x1d
	VT_LPSTR           = 0x1e
	VT_LPWSTR          = 0x1f
	VT_RECORD          = 0x24
	VT_INT_PTR         = 0x25
	VT_UINT_PTR        = 0x26
	VT_FILETIME        = 0x40
	VT_BLOB            = 0x41
	VT_STREAM          = 0x42
	VT_STORAGE         = 0x43
	VT_STREAMED_OBJECT = 0x44
	VT_STORED_OBJECT   = 0x45
	VT_BLOB_OBJECT     = 0x46
	VT_CF              = 0x47
	VT_CLSID           = 0x48
	VT_BSTR_BLOB       = 0xfff
	VT_VECTOR          = 0x1000
	VT_ARRAY           = 0x2000
	VT_BYREF           = 0x4000
	VT_RESERVED        = 0x8000
	VT_ILLEGAL         = 0xffff
	VT_ILLEGALMASKED   = 0xfff
	VT_TYPEMASK        = 0xfff
)
View Source
const (
	DISPID_UNKNOWN     = -1
	DISPID_VALUE       = 0
	DISPID_PROPERTYPUT = -3
	DISPID_NEWENUM     = -4
	DISPID_EVALUATE    = -5
	DISPID_CONSTRUCTOR = -6
	DISPID_DESTRUCTOR  = -7
	DISPID_COLLECT     = -8
)
View Source
const (
	MONITOR_DEFAULTTONULL    = 0x00000000
	MONITOR_DEFAULTTOPRIMARY = 0x00000001
	MONITOR_DEFAULTTONEAREST = 0x00000002

	MONITORINFOF_PRIMARY = 0x00000001
)
View Source
const (
	CCHDEVICENAME = 32
	CCHFORMNAME   = 32
)
View Source
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
)
View Source
const (
	NM_FIRST           = 0
	NM_OUTOFMEMORY     = NM_FIRST - 1
	NM_CLICK           = NM_FIRST - 2
	NM_DBLCLK          = NM_FIRST - 3
	NM_RETURN          = NM_FIRST - 4
	NM_RCLICK          = NM_FIRST - 5
	NM_RDBLCLK         = NM_FIRST - 6
	NM_SETFOCUS        = NM_FIRST - 7
	NM_KILLFOCUS       = NM_FIRST - 8
	NM_CUSTOMDRAW      = NM_FIRST - 12
	NM_HOVER           = NM_FIRST - 13
	NM_NCHITTEST       = NM_FIRST - 14
	NM_KEYDOWN         = NM_FIRST - 15
	NM_RELEASEDCAPTURE = NM_FIRST - 16
	NM_SETCURSOR       = NM_FIRST - 17
	NM_CHAR            = NM_FIRST - 18
	NM_TOOLTIPSCREATED = NM_FIRST - 19
	NM_LAST            = NM_FIRST - 99
)

Generic WM_NOTIFY notification codes

View Source
const (
	LVM_FIRST                    = 0x1000
	LVM_GETITEMCOUNT             = LVM_FIRST + 4
	LVM_SETIMAGELIST             = LVM_FIRST + 3
	LVM_GETIMAGELIST             = LVM_FIRST + 2
	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_SETUNICODEFORMAT         = CCM_SETUNICODEFORMAT
	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

View Source
const (
	LVN_FIRST = -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_BEGINLABELEDITA   = LVN_FIRST - 5
	LVN_BEGINLABELEDITW   = LVN_FIRST - 75
	LVN_ENDLABELEDITA     = LVN_FIRST - 6
	LVN_ENDLABELEDITW     = LVN_FIRST - 76
	LVN_COLUMNCLICK       = LVN_FIRST - 8
	LVN_BEGINDRAG         = LVN_FIRST - 9
	LVN_BEGINRDRAG        = LVN_FIRST - 11
	LVN_ODCACHEHINT       = LVN_FIRST - 13
	LVN_ODFINDITEMA       = LVN_FIRST - 52
	LVN_ODFINDITEMW       = 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

View Source
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

View Source
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

View Source
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

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

ListView column flags

View Source
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

View Source
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

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

ListView item states

View Source
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

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

ListView image list types

View Source
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

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

Dialog Codes

View Source
const (
	DWL_MSGRESULT = 0
	DWL_DLGPROC   = 4
	DWL_USER      = 8
)

Get/SetWindowWord/Long offsets for use with WC_DIALOG windows

View Source
const (
	KEY_ALL_ACCESS         = 0xF003F
	KEY_CREATE_SUB_KEY     = 0x0004
	KEY_ENUMERATE_SUB_KEYS = 0x0008
	KEY_NOTIFY             = 0x0010
	KEY_QUERY_VALUE        = 0x0001
	KEY_SET_VALUE          = 0x0002
	KEY_READ               = 0x20019
	KEY_WRITE              = 0x20006
)

Registry Key Security and Access Rights

View Source
const (
	NFR_ANSI    = 1
	NFR_UNICODE = 2
	NF_QUERY    = 3
	NF_REQUERY  = 4
)
View Source
const (
	RRF_RT_REG_NONE         = 0x00000001
	RRF_RT_REG_SZ           = 0x00000002
	RRF_RT_REG_EXPAND_SZ    = 0x00000004
	RRF_RT_REG_BINARY       = 0x00000008
	RRF_RT_REG_DWORD        = 0x00000010
	RRF_RT_REG_MULTI_SZ     = 0x00000020
	RRF_RT_REG_QWORD        = 0x00000040
	RRF_RT_DWORD            = (RRF_RT_REG_BINARY | RRF_RT_REG_DWORD)
	RRF_RT_QWORD            = (RRF_RT_REG_BINARY | RRF_RT_REG_QWORD)
	RRF_RT_ANY              = 0x0000ffff
	RRF_NOEXPAND            = 0x10000000
	RRF_ZEROONFAILURE       = 0x20000000
	REG_PROCESS_APPKEY      = 0x00000001
	REG_MUI_STRING_TRUNCATE = 0x00000001
)

Registry value types

View Source
const (
	PM_NOREMOVE = 0x000
	PM_REMOVE   = 0x001
	PM_NOYIELD  = 0x002
)

PeekMessage wRemoveMsg value

View Source
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
	ILC_ORIGINALSIZE     = 0x00010000
	ILC_HIGHQUALITYSCALE = 0x00020000
)

ImageList flags

View Source
const (
	KF_EXTENDED = 0x0100
	KF_DLGMODE  = 0x0800
	KF_MENUMODE = 0x1000
	KF_ALTDOWN  = 0x2000
	KF_REPEAT   = 0x4000
	KF_UP       = 0x8000
)

Keystroke Message Flags

View Source
const (
	VK_LBUTTON             = 0x01
	VK_RBUTTON             = 0x02
	VK_CANCEL              = 0x03
	VK_MBUTTON             = 0x04
	VK_XBUTTON1            = 0x05
	VK_XBUTTON2            = 0x06
	VK_BACK                = 0x08
	VK_TAB                 = 0x09
	VK_CLEAR               = 0x0C
	VK_RETURN              = 0x0D
	VK_SHIFT               = 0x10
	VK_CONTROL             = 0x11
	VK_MENU                = 0x12
	VK_PAUSE               = 0x13
	VK_CAPITAL             = 0x14
	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               = 0x20
	VK_PRIOR               = 0x21
	VK_NEXT                = 0x22
	VK_END                 = 0x23
	VK_HOME                = 0x24
	VK_LEFT                = 0x25
	VK_UP                  = 0x26
	VK_RIGHT               = 0x27
	VK_DOWN                = 0x28
	VK_SELECT              = 0x29
	VK_PRINT               = 0x2A
	VK_EXECUTE             = 0x2B
	VK_SNAPSHOT            = 0x2C
	VK_INSERT              = 0x2D
	VK_DELETE              = 0x2E
	VK_HELP                = 0x2F
	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_OEM_NEC_EQUAL       = 0x92
	VK_OEM_FJ_JISHO        = 0x92
	VK_OEM_FJ_MASSHOU      = 0x93
	VK_OEM_FJ_TOUROKU      = 0x94
	VK_OEM_FJ_LOYA         = 0x95
	VK_OEM_FJ_ROYA         = 0x96
	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_AX              = 0xE1
	VK_OEM_102             = 0xE2
	VK_ICO_HELP            = 0xE3
	VK_ICO_00              = 0xE4
	VK_PROCESSKEY          = 0xE5
	VK_ICO_CLEAR           = 0xE6
	VK_OEM_RESET           = 0xE9
	VK_OEM_JUMP            = 0xEA
	VK_OEM_PA1             = 0xEB
	VK_OEM_PA2             = 0xEC
	VK_OEM_PA3             = 0xED
	VK_OEM_WSCTRL          = 0xEE
	VK_OEM_CUSEL           = 0xEF
	VK_OEM_ATTN            = 0xF0
	VK_OEM_FINISH          = 0xF1
	VK_OEM_COPY            = 0xF2
	VK_OEM_AUTO            = 0xF3
	VK_OEM_ENLW            = 0xF4
	VK_OEM_BACKTAB         = 0xF5
	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

View Source
const (
	REG_NONE                       = 0
	REG_SZ                         = 1
	REG_EXPAND_SZ                  = 2
	REG_BINARY                     = 3
	REG_DWORD                      = 4
	REG_DWORD_LITTLE_ENDIAN        = 4
	REG_DWORD_BIG_ENDIAN           = 5
	REG_LINK                       = 6
	REG_MULTI_SZ                   = 7
	REG_RESOURCE_LIST              = 8
	REG_FULL_RESOURCE_DESCRIPTOR   = 9
	REG_RESOURCE_REQUIREMENTS_LIST = 10
	REG_QWORD                      = 11
	REG_QWORD_LITTLE_ENDIAN        = 11
)

Registry Value Types

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

Tooltip styles

View Source
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

View Source
const (
	TTI_NONE          = 0
	TTI_INFO          = 1
	TTI_WARNING       = 2
	TTI_ERROR         = 3
	TTI_INFO_LARGE    = 4
	TTI_WARNING_LARGE = 5
	TTI_ERROR_LARGE   = 6
)

Tooltip icons

View Source
const (
	TTN_FIRST       = -520
	TTN_LAST        = -549
	TTN_GETDISPINFO = (TTN_FIRST - 10)
	TTN_SHOW        = (TTN_FIRST - 1)
	TTN_POP         = (TTN_FIRST - 2)
	TTN_LINKCLICK   = (TTN_FIRST - 3)
	TTN_NEEDTEXT    = TTN_GETDISPINFO
)

Tooltip notifications

View Source
const (
	TTF_IDISHWND    = 0x0001
	TTF_CENTERTIP   = 0x0002
	TTF_RTLREADING  = 0x0004
	TTF_SUBCLASS    = 0x0010
	TTF_TRACK       = 0x0020
	TTF_ABSOLUTE    = 0x0080
	TTF_TRANSPARENT = 0x0100
	TTF_PARSELINKS  = 0x1000
	TTF_DI_SETITEM  = 0x8000
)
View Source
const (
	SWP_NOSIZE         = 0x0001
	SWP_NOMOVE         = 0x0002
	SWP_NOZORDER       = 0x0004
	SWP_NOREDRAW       = 0x0008
	SWP_NOACTIVATE     = 0x0010
	SWP_FRAMECHANGED   = 0x0020
	SWP_SHOWWINDOW     = 0x0040
	SWP_HIDEWINDOW     = 0x0080
	SWP_NOCOPYBITS     = 0x0100
	SWP_NOOWNERZORDER  = 0x0200
	SWP_NOSENDCHANGING = 0x0400
	SWP_DRAWFRAME      = SWP_FRAMECHANGED
	SWP_NOREPOSITION   = SWP_NOOWNERZORDER
	SWP_DEFERERASE     = 0x2000
	SWP_ASYNCWINDOWPOS = 0x4000
)
View Source
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

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

Pen types

View Source
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

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

Pen cap types

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

Pen join types

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

Hatch styles

View Source
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

View Source
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

View Source
const (
	TME_HOVER     = 0x00000001
	TME_LEAVE     = 0x00000002
	TME_NONCLIENT = 0x00000010
	TME_QUERY     = 0x40000000
	TME_CANCEL    = 0x80000000

	HOVER_DEFAULT = 0xFFFFFFFF
)

TRACKMOUSEEVENT flags

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

WM_NCHITTEST and MOUSEHOOKSTRUCT Mouse Position Codes

View Source
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

View Source
const (
	TRANSPARENT = 1
	OPAQUE      = 2
	BKMODE_LAST = 2
)

Background Modes

View Source
const (
	GMEM_FIXED          = 0x0000
	GMEM_MOVEABLE       = 0x0002
	GMEM_NOCOMPACT      = 0x0010
	GMEM_NODISCARD      = 0x0020
	GMEM_ZEROINIT       = 0x0040
	GMEM_MODIFY         = 0x0080
	GMEM_DISCARDABLE    = 0x0100
	GMEM_NOT_BANKED     = 0x1000
	GMEM_SHARE          = 0x2000
	GMEM_DDESHARE       = 0x2000
	GMEM_NOTIFY         = 0x4000
	GMEM_LOWER          = GMEM_NOT_BANKED
	GMEM_VALID_FLAGS    = 0x7F72
	GMEM_INVALID_HANDLE = 0x8000
	GHND                = (GMEM_MOVEABLE | GMEM_ZEROINIT)
	GPTR                = (GMEM_FIXED | GMEM_ZEROINIT)
)

Global Memory Flags

View Source
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

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

Clipboard formats

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

Bitmap compression formats

View Source
const (
	DIB_PAL_COLORS = 1
	DIB_RGB_COLORS = 0
)

SetDIBitsToDevice fuColorUse

View Source
const (
	SC_MANAGER_CONNECT            = 0x0001
	SC_MANAGER_CREATE_SERVICE     = 0x0002
	SC_MANAGER_ENUMERATE_SERVICE  = 0x0004
	SC_MANAGER_LOCK               = 0x0008
	SC_MANAGER_QUERY_LOCK_STATUS  = 0x0010
	SC_MANAGER_MODIFY_BOOT_CONFIG = 0x0020
	SC_MANAGER_ALL_ACCESS         = STANDARD_RIGHTS_REQUIRED | SC_MANAGER_CONNECT | SC_MANAGER_CREATE_SERVICE | SC_MANAGER_ENUMERATE_SERVICE | SC_MANAGER_LOCK | SC_MANAGER_QUERY_LOCK_STATUS | SC_MANAGER_MODIFY_BOOT_CONFIG
)

Service Control Manager object specific access types

View Source
const (
	SERVICE_KERNEL_DRIVER       = 0x00000001
	SERVICE_FILE_SYSTEM_DRIVER  = 0x00000002
	SERVICE_ADAPTER             = 0x00000004
	SERVICE_RECOGNIZER_DRIVER   = 0x00000008
	SERVICE_DRIVER              = SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER | SERVICE_RECOGNIZER_DRIVER
	SERVICE_WIN32_OWN_PROCESS   = 0x00000010
	SERVICE_WIN32_SHARE_PROCESS = 0x00000020
	SERVICE_WIN32               = SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS
	SERVICE_INTERACTIVE_PROCESS = 0x00000100
	SERVICE_TYPE_ALL            = SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVER | SERVICE_INTERACTIVE_PROCESS
)

Service Types (Bit Mask)

View Source
const (
	SERVICE_STOPPED          = 0x00000001
	SERVICE_START_PENDING    = 0x00000002
	SERVICE_STOP_PENDING     = 0x00000003
	SERVICE_RUNNING          = 0x00000004
	SERVICE_CONTINUE_PENDING = 0x00000005
	SERVICE_PAUSE_PENDING    = 0x00000006
	SERVICE_PAUSED           = 0x00000007
)

Service State -- for CurrentState

View Source
const (
	SERVICE_ACCEPT_STOP                  = 0x00000001
	SERVICE_ACCEPT_PAUSE_CONTINUE        = 0x00000002
	SERVICE_ACCEPT_SHUTDOWN              = 0x00000004
	SERVICE_ACCEPT_PARAMCHANGE           = 0x00000008
	SERVICE_ACCEPT_NETBINDCHANGE         = 0x00000010
	SERVICE_ACCEPT_HARDWAREPROFILECHANGE = 0x00000020
	SERVICE_ACCEPT_POWEREVENT            = 0x00000040
	SERVICE_ACCEPT_SESSIONCHANGE         = 0x00000080
	SERVICE_ACCEPT_PRESHUTDOWN           = 0x00000100
	SERVICE_ACCEPT_TIMECHANGE            = 0x00000200
	SERVICE_ACCEPT_TRIGGEREVENT          = 0x00000400
)

Controls Accepted (Bit Mask)

View Source
const (
	SERVICE_QUERY_CONFIG         = 0x0001
	SERVICE_CHANGE_CONFIG        = 0x0002
	SERVICE_QUERY_STATUS         = 0x0004
	SERVICE_ENUMERATE_DEPENDENTS = 0x0008
	SERVICE_START                = 0x0010
	SERVICE_STOP                 = 0x0020
	SERVICE_PAUSE_CONTINUE       = 0x0040
	SERVICE_INTERROGATE          = 0x0080
	SERVICE_USER_DEFINED_CONTROL = 0x0100

	SERVICE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED |
		SERVICE_QUERY_CONFIG |
		SERVICE_CHANGE_CONFIG |
		SERVICE_QUERY_STATUS |
		SERVICE_ENUMERATE_DEPENDENTS |
		SERVICE_START |
		SERVICE_STOP |
		SERVICE_PAUSE_CONTINUE |
		SERVICE_INTERROGATE |
		SERVICE_USER_DEFINED_CONTROL
)

Service object specific access type

View Source
const (
	MAPVK_VK_TO_CHAR   = 2
	MAPVK_VK_TO_VSC    = 0
	MAPVK_VSC_TO_VK    = 1
	MAPVK_VSC_TO_VK_EX = 3
)

MapVirtualKey maptypes

View Source
const (
	EVENTLOG_SEEK_READ       = 0x0002
	EVENTLOG_SEQUENTIAL_READ = 0x0001
	EVENTLOG_FORWARDS_READ   = 0x0004
	EVENTLOG_BACKWARDS_READ  = 0x0008
)

ReadEventLog Flags

View Source
const (
	TH32CS_SNAPHEAPLIST = 0x00000001
	TH32CS_SNAPPROCESS  = 0x00000002
	TH32CS_SNAPTHREAD   = 0x00000004
	TH32CS_SNAPMODULE   = 0x00000008
	TH32CS_SNAPMODULE32 = 0x00000010
	TH32CS_INHERIT      = 0x80000000
	TH32CS_SNAPALL      = TH32CS_SNAPHEAPLIST | TH32CS_SNAPMODULE | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD
)

CreateToolhelp32Snapshot flags

View Source
const (
	MAX_MODULE_NAME32 = 255
	MAX_PATH          = 260
)
View Source
const (
	FOREGROUND_BLUE            = 0x0001
	FOREGROUND_GREEN           = 0x0002
	FOREGROUND_RED             = 0x0004
	FOREGROUND_INTENSITY       = 0x0008
	BACKGROUND_BLUE            = 0x0010
	BACKGROUND_GREEN           = 0x0020
	BACKGROUND_RED             = 0x0040
	BACKGROUND_INTENSITY       = 0x0080
	COMMON_LVB_LEADING_BYTE    = 0x0100
	COMMON_LVB_TRAILING_BYTE   = 0x0200
	COMMON_LVB_GRID_HORIZONTAL = 0x0400
	COMMON_LVB_GRID_LVERTICAL  = 0x0800
	COMMON_LVB_GRID_RVERTICAL  = 0x1000
	COMMON_LVB_REVERSE_VIDEO   = 0x4000
	COMMON_LVB_UNDERSCORE      = 0x8000
)
View Source
const (
	DWM_BB_ENABLE                = 0x00000001 //     A value for the fEnable member has been specified.
	DWM_BB_BLURREGION            = 0x00000002 //     A value for the hRgnBlur member has been specified.
	DWM_BB_TRANSITIONONMAXIMIZED = 0x00000004 //     A value for the fTransitionOnMaximized member has been specified.
)

Flags used by the DWM_BLURBEHIND structure to indicate which of its members contain valid information.

View Source
const (
	DWM_EC_DISABLECOMPOSITION = 0 //     Disable composition
	DWM_EC_ENABLECOMPOSITION  = 1 //     Enable composition
)

Flags used by the DwmEnableComposition function to change the state of Desktop Window Manager (DWM) composition.

View Source
const (
	DWMSC_DOWN      = 0x00000001
	DWMSC_UP        = 0x00000002
	DWMSC_DRAG      = 0x00000004
	DWMSC_HOLD      = 0x00000008
	DWMSC_PENBARREL = 0x00000010
	DWMSC_NONE      = 0x00000000
	DWMSC_ALL       = 0xFFFFFFFF
)
View Source
const (
	DWM_SOURCE_FRAME_SAMPLING_POINT = iota + 1
	DWM_SOURCE_FRAME_SAMPLING_COVERAGE
	DWM_SOURCE_FRAME_SAMPLING_LAST
)

TODO: need to verify this construction Flags used by the DwmSetPresentParameters function to specify the frame sampling type

View Source
const (
	DWM_TNP_RECTDESTINATION      = 0x00000001 //    A value for the rcDestination member has been specified
	DWM_TNP_RECTSOURCE           = 0x00000002 //    A value for the rcSource member has been specified
	DWM_TNP_OPACITY              = 0x00000004 //    A value for the opacity member has been specified
	DWM_TNP_VISIBLE              = 0x00000008 //    A value for the fVisible member has been specified
	DWM_TNP_SOURCECLIENTAREAONLY = 0x00000010 //    A value for the fSourceClientAreaOnly member has been specified
)

Flags used by the DWM_THUMBNAIL_PROPERTIES structure to indicate which of its members contain valid information.

View Source
const (
	DWMFLIP3D_DEFAULT = iota + 1
	DWMFLIP3D_EXCLUDEBELOW
	DWMFLIP3D_EXCLUDEABOVE
	DWMFLIP3D_LAST
)

TODO: need to verify this construction Flags used by the DwmSetWindowAttribute function to specify the Flip3D window policy

View Source
const (
	DWMNCRP_USEWINDOWSTYLE = iota + 1
	DWMNCRP_DISABLED
	DWMNCRP_ENABLED
	DWMNCRP_LAST
)

TODO: need to verify this construction Flags used by the DwmSetWindowAttribute function to specify the non-client area rendering policy

View Source
const (
	DWMTRANSITION_OWNEDWINDOW_NULL       = -1
	DWMTRANSITION_OWNEDWINDOW_REPOSITION = 0
)
View Source
const (
	DWMWA_NCRENDERING_ENABLED = iota + 1
	DWMWA_NCRENDERING_POLICY
	DWMWA_TRANSITIONS_FORCEDISABLED
	DWMWA_ALLOW_NCPAINT
	DWMWA_CAPTION_BUTTON_BOUNDS
	DWMWA_NONCLIENT_RTL_LAYOUT
	DWMWA_FORCE_ICONIC_REPRESENTATION
	DWMWA_FLIP3D_POLICY
	DWMWA_EXTENDED_FRAME_BOUNDS
	DWMWA_HAS_ICONIC_BITMAP
	DWMWA_DISALLOW_PEEK
	DWMWA_EXCLUDED_FROM_PEEK
	DWMWA_CLOAK
	DWMWA_CLOAKED
	DWMWA_FREEZE_REPRESENTATION
	DWMWA_LAST
)

TODO: need to verify this construction Flags used by the DwmGetWindowAttribute and DwmSetWindowAttribute functions to specify window attributes for non-client rendering

View Source
const (
	GT_PEN_TAP                 = 0
	GT_PEN_DOUBLETAP           = 1
	GT_PEN_RIGHTTAP            = 2
	GT_PEN_PRESSANDHOLD        = 3
	GT_PEN_PRESSANDHOLDABORT   = 4
	GT_TOUCH_TAP               = 5
	GT_TOUCH_DOUBLETAP         = 6
	GT_TOUCH_RIGHTTAP          = 7
	GT_TOUCH_PRESSANDHOLD      = 8
	GT_TOUCH_PRESSANDHOLDABORT = 9
	GT_TOUCH_PRESSANDTAP       = 10
)

TODO: use iota? Identifies the gesture type

View Source
const (
	ICON_SMALL  = 0
	ICON_BIG    = 1
	ICON_SMALL2 = 2
)

Icons

View Source
const (
	SIZE_RESTORED  = 0
	SIZE_MINIMIZED = 1
	SIZE_MAXIMIZED = 2
	SIZE_MAXSHOW   = 3
	SIZE_MAXHIDE   = 4
)
View Source
const (
	XBUTTON1 = 1
	XBUTTON2 = 2
)

XButton values

View Source
const (
	DM_SPECVERSION = 0x0401

	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

View Source
const (
	CDS_UPDATEREGISTRY  = 0x00000001
	CDS_TEST            = 0x00000002
	CDS_FULLSCREEN      = 0x00000004
	CDS_GLOBAL          = 0x00000008
	CDS_SET_PRIMARY     = 0x00000010
	CDS_VIDEOPARAMETERS = 0x00000020
	CDS_RESET           = 0x40000000
	CDS_NORESET         = 0x10000000

	DISP_CHANGE_SUCCESSFUL  = 0
	DISP_CHANGE_RESTART     = 1
	DISP_CHANGE_FAILED      = -1
	DISP_CHANGE_BADMODE     = -2
	DISP_CHANGE_NOTUPDATED  = -3
	DISP_CHANGE_BADFLAGS    = -4
	DISP_CHANGE_BADPARAM    = -5
	DISP_CHANGE_BADDUALVIEW = -6
)

ChangeDisplaySettings

View Source
const (
	ENUM_CURRENT_SETTINGS  = 0xFFFFFFFF
	ENUM_REGISTRY_SETTINGS = 0xFFFFFFFE
)
View Source
const (
	PFD_TYPE_RGBA       = 0
	PFD_TYPE_COLORINDEX = 1

	PFD_MAIN_PLANE     = 0
	PFD_OVERLAY_PLANE  = 1
	PFD_UNDERLAY_PLANE = -1

	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
	PFD_DIRECT3D_ACCELERATED = 0x00004000
	PFD_SUPPORT_COMPOSITION  = 0x00008000

	PFD_DEPTH_DONTCARE        = 0x20000000
	PFD_DOUBLEBUFFER_DONTCARE = 0x40000000
	PFD_STEREO_DONTCARE       = 0x80000000
)

PIXELFORMATDESCRIPTOR

View Source
const (
	INPUT_MOUSE    = 0
	INPUT_KEYBOARD = 1
	INPUT_HARDWARE = 2
)
View Source
const (
	MOUSEEVENTF_ABSOLUTE        = 0x8000
	MOUSEEVENTF_HWHEEL          = 0x01000
	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
)
View Source
const (
	KEYEVENTF_EXTENDEDKEY = 0x0001
	KEYEVENTF_KEYUP       = 0x0002
	KEYEVENTF_SCANCODE    = 0x0008
	KEYEVENTF_UNICODE     = 0x0004
)
View Source
const (
	WH_CALLWNDPROC     = 4
	WH_CALLWNDPROCRET  = 12
	WH_CBT             = 5
	WH_DEBUG           = 9
	WH_FOREGROUNDIDLE  = 11
	WH_GETMESSAGE      = 3
	WH_JOURNALPLAYBACK = 1
	WH_JOURNALRECORD   = 0
	WH_KEYBOARD        = 2
	WH_KEYBOARD_LL     = 13
	WH_MOUSE           = 7
	WH_MOUSE_LL        = 14
	WH_MSGFILTER       = -1
	WH_SHELL           = 10
	WH_SYSMSGFILTER    = 6
)

Windows Hooks (WH_*) http://msdn.microsoft.com/en-us/library/windows/desktop/ms644990(v=vs.85).aspx

View Source
const (
	PROCESS_TERMINATE                 = 0x0001
	PROCESS_CREATE_THREAD             = 0x0002
	PROCESS_SET_SESSIONID             = 0x0004
	PROCESS_VM_OPERATION              = 0x0008
	PROCESS_VM_READ                   = 0x0010
	PROCESS_VM_WRITE                  = 0x0020
	PROCESS_DUP_HANDLE                = 0x0040
	PROCESS_CREATE_PROCESS            = 0x0080
	PROCESS_SET_QUOTA                 = 0x0100
	PROCESS_SET_INFORMATION           = 0x0200
	PROCESS_QUERY_INFORMATION         = 0x0400
	PROCESS_SUSPEND_RESUME            = 0x0800
	PROCESS_QUERY_LIMITED_INFORMATION = 0x1000
	PROCESS_SET_LIMITED_INFORMATION   = 0x2000
)

Process Security and Access Rights https://msdn.microsoft.com/en-us/library/windows/desktop/ms684880(v=vs.85).aspx

View Source
const (
	IMAGE_BITMAP = 0
	IMAGE_ICON   = 1
	IMAGE_CURSOR = 2
)
View Source
const (
	LR_DEFAULTCOLOR     = 0x0000
	LR_MONOCHROME       = 0x0001
	LR_COLOR            = 0x0002
	LR_COPYRETURNORG    = 0x0004
	LR_COPYDELETEORG    = 0x0008
	LR_LOADFROMFILE     = 0x0010
	LR_LOADTRANSPARENT  = 0x0020
	LR_DEFAULTSIZE      = 0x0040
	LR_VGACOLOR         = 0x0080
	LR_LOADMAP3DCOLORS  = 0x1000
	LR_CREATEDIBSECTION = 0x2000
	LR_COPYFROMRESOURCE = 0x4000
	LR_SHARED           = 0x8000
)
View Source
const (
	MF_BITMAP       = 0x0004
	MF_CHECKED      = 0x0008
	MF_DISABLED     = 0x0002
	MF_ENABLED      = 0x0000
	MF_GRAYED       = 0x0001
	MF_MENUBARBREAK = 0x0020
	MF_MENUBREAK    = 0x0040
	MF_OWNERDRAW    = 0x0100
	MF_POPUP        = 0x0010
	MF_SEPARATOR    = 0x0800
	MF_STRING       = 0x0000
	MF_UNCHECKED    = 0x0000
	MF_BYCOMMAND    = 0x0000
	MF_BYPOSITION   = 0x0400
)
View Source
const (
	RID_INPUT  = 0x10000003
	RID_HEADER = 0x10000005
)
View Source
const (
	RIM_TYPEMOUSE    = 0
	RIM_TYPEKEYBOARD = 1
	RIM_TYPEHID      = 2
)
View Source
const (
	RI_KEY_MAKE            = 0 // key is down
	RI_KEY_BREAK           = 1 // key is up
	RI_KEY_E0              = 2 // scan code has e0 prefix
	RI_KEY_E1              = 4 // scan code has e1 prefix
	RI_KEY_TERMSRV_SET_LED = 8
	RI_KEY_TERMSRV_SHADOW  = 0x10
)
View Source
const (
	MOUSE_MOVE_RELATIVE      = 0
	MOUSE_MOVE_ABSOLUTE      = 1
	MOUSE_VIRTUAL_DESKTOP    = 0x02
	MOUSE_ATTRIBUTES_CHANGED = 0x04
	MOUSE_MOVE_NOCOALESCE    = 0x08
)
View Source
const (
	RI_MOUSE_LEFT_BUTTON_DOWN   = 0x0001
	RI_MOUSE_LEFT_BUTTON_UP     = 0x0002
	RI_MOUSE_RIGHT_BUTTON_DOWN  = 0x0004
	RI_MOUSE_RIGHT_BUTTON_UP    = 0x0008
	RI_MOUSE_MIDDLE_BUTTON_DOWN = 0x0010
	RI_MOUSE_MIDDLE_BUTTON_UP   = 0x0020
	RI_MOUSE_BUTTON_1_DOWN      = RI_MOUSE_LEFT_BUTTON_DOWN
	RI_MOUSE_BUTTON_1_UP        = RI_MOUSE_LEFT_BUTTON_UP
	RI_MOUSE_BUTTON_2_DOWN      = RI_MOUSE_RIGHT_BUTTON_DOWN
	RI_MOUSE_BUTTON_2_UP        = RI_MOUSE_RIGHT_BUTTON_UP
	RI_MOUSE_BUTTON_3_DOWN      = RI_MOUSE_MIDDLE_BUTTON_DOWN
	RI_MOUSE_BUTTON_3_UP        = RI_MOUSE_MIDDLE_BUTTON_UP
	RI_MOUSE_BUTTON_4_DOWN      = 0x0040 // XBUTTON1 changed to down
	RI_MOUSE_BUTTON_4_UP        = 0x0080 // XBUTTON1 changed to up
	RI_MOUSE_BUTTON_5_DOWN      = 0x100  // XBUTTON2 changed to down
	RI_MOUSE_BUTTON_5_UP        = 0x0200 // XBUTTON2 changed to up
	RI_MOUSE_WHEEL              = 0x0400
)
View Source
const (
	RIDEV_REMOVE       = 0x00000001
	RIDEV_EXCLUDE      = 0x00000010
	RIDEV_PAGEONLY     = 0x00000020
	RIDEV_NOLEGACY     = 0x00000030
	RIDEV_INPUTSINK    = 0x00000100
	RIDEV_CAPTUREMOUSE = 0x00000200
	RIDEV_NOHOTKEYS    = 0x00000200
	RIDEV_APPKEYS      = 0x00000400
	RIDEV_EXINPUTSINK  = 0x00001000
	RIDEV_DEVNOTIFY    = 0x00002000
)
View Source
const (
	Ok                        = 0
	GenericError              = 1
	InvalidParameter          = 2
	OutOfMemory               = 3
	ObjectBusy                = 4
	InsufficientBuffer        = 5
	NotImplemented            = 6
	Win32Error                = 7
	WrongState                = 8
	Aborted                   = 9
	FileNotFound              = 10
	ValueOverflow             = 11
	AccessDenied              = 12
	UnknownImageFormat        = 13
	FontFamilyNotFound        = 14
	FontStyleNotFound         = 15
	NotTrueTypeFont           = 16
	UnsupportedGdiplusVersion = 17
	GdiplusNotInitialized     = 18
	PropertyNotFound          = 19
	PropertyNotSupported      = 20
	ProfileNotFound           = 21
)

GDI+ constants

View Source
const (
	VS_FF_DEBUG        = 0x00000001
	VS_FF_INFOINFERRED = 0x00000010
	VS_FF_PATCHED      = 0x00000004
	VS_FF_PRERELEASE   = 0x00000002
	VS_FF_PRIVATEBUILD = 0x00000008
	VS_FF_SPECIALBUILD = 0x00000020

	VOS_DOS        = 0x00010000
	VOS_NT         = 0x00040000
	VOS__WINDOWS16 = 0x00000001
	VOS__WINDOWS32 = 0x00000004
	VOS_OS216      = 0x00020000
	VOS_OS232      = 0x00030000
	VOS__PM16      = 0x00000002
	VOS__PM32      = 0x00000003
	VOS_UNKNOWN    = 0x00000000

	VOS_DOS_WINDOWS16 = 0x00010001
	VOS_DOS_WINDOWS32 = 0x00010004
	VOS_NT_WINDOWS32  = 0x00040004
	VOS_OS216_PM16    = 0x00020002
	VOS_OS232_PM32    = 0x00030003

	VFT_APP        = 0x00000001
	VFT_DLL        = 0x00000002
	VFT_DRV        = 0x00000003
	VFT_FONT       = 0x00000004
	VFT_STATIC_LIB = 0x00000007
	VFT_UNKNOWN    = 0x00000000
	VFT_VXD        = 0x00000005

	VFT2_DRV_COMM              = 0x0000000A
	VFT2_DRV_DISPLAY           = 0x00000004
	VFT2_DRV_INSTALLABLE       = 0x00000008
	VFT2_DRV_KEYBOARD          = 0x00000002
	VFT2_DRV_LANGUAGE          = 0x00000003
	VFT2_DRV_MOUSE             = 0x00000005
	VFT2_DRV_NETWORK           = 0x00000006
	VFT2_DRV_PRINTER           = 0x00000001
	VFT2_DRV_SOUND             = 0x00000009
	VFT2_DRV_SYSTEM            = 0x00000007
	VFT2_DRV_VERSIONED_PRINTER = 0x0000000C
	VFT2_UNKNOWN               = 0x00000000

	VFT2_FONT_RASTER   = 0x00000001
	VFT2_FONT_TRUETYPE = 0x00000003
	VFT2_FONT_VECTOR   = 0x00000002
)
View Source
const (
	SND_SYNC        = 0
	SND_ASYNC       = 1
	SND_NODEFAULT   = 2
	SND_MEMORY      = 4
	SND_LOOP        = 8
	SND_NOSTOP      = 16
	SND_NOWAIT      = 0x2000
	SND_ALIAS       = 0x10000
	SND_ALIAS_ID    = 0x110000
	SND_FILENAME    = 0x20000
	SND_RESOURCE    = 0x40004
	SND_PURGE       = 0x40
	SND_APPLICATION = 0x80
	SND_ALIAS_START = 0
)
View Source
const (
	BLACKONWHITE        = 1
	WHITEONBLACK        = 2
	COLORONCOLOR        = 3
	HALFTONE            = 4
	STRETCH_ANDSCANS    = BLACKONWHITE
	STRETCH_DELETESCANS = COLORONCOLOR
	STRETCH_HALFTONE    = HALFTONE
	STRETCH_ORSCANS     = WHITEONBLACK
)
View Source
const (
	GW_HWNDFIRST    = 0
	GW_HWNDLAST     = 1
	GW_HWNDNEXT     = 2
	GW_HWNDPREV     = 3
	GW_OWNER        = 4
	GW_CHILD        = 5
	GW_ENABLEDPOPUP = 6
)
View Source
const (
	FVIRTKEY  = 0x01
	FNOINVERT = 0x02
	FSHIFT    = 0x04
	FCONTROL  = 0x08
	FALT      = 0x10
)

ACCEL behavior flags

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

Mouse key flags

View Source
const (
	UDS_WRAP        = 1
	UDS_SETBUDDYINT = 2
	UDS_ALIGNRIGHT  = 4
	UDS_ALIGNLEFT   = 8
	UDS_AUTOBUDDY   = 16
	UDS_ARROWKEYS   = 32
	UDS_HORZ        = 64
	UDS_NOTHOUSANDS = 128
)
View Source
const (
	UDN_FIRST    = 4294966575
	UDN_LAST     = 4294966556
	UDN_DELTAPOS = UDN_FIRST - 1
)
View Source
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_SETPOS32   = WM_USER + 113
	UDM_GETPOS32   = WM_USER + 114
)
View Source
const (
	GCL_CBCLSEXTRA     = -20
	GCL_CBWNDEXTRA     = -18
	GCLP_HBRBACKGROUND = -10
	GCLP_HCURSOR       = -12
	GCLP_HICON         = -14
	GCLP_HICONSM       = -34
	GCLP_HMODULE       = -16
	GCLP_MENUNAME      = -8
	GCL_STYLE          = -26
	GCLP_WNDPROC       = -24
)
View Source
const (
	SC_CLOSE        = 0xF060
	SC_CONTEXTHELP  = 0xF180
	SC_DEFAULT      = 0xF160
	SC_HOTKEY       = 0xF150
	SC_HSCROLL      = 0xF080
	SCF_ISSECURE    = 0x0001
	SC_KEYMENU      = 0xF100
	SC_MAXIMIZE     = 0xF030
	SC_MINIMIZE     = 0xF020
	SC_MONITORPOWER = 0xF170
	SC_MOUSEMENU    = 0xF090
	SC_MOVE         = 0xF010
	SC_NEXTWINDOW   = 0xF040
	SC_PREVWINDOW   = 0xF050
	SC_RESTORE      = 0xF120
	SC_SCREENSAVE   = 0xF140
	SC_SIZE         = 0xF000
	SC_TASKLIST     = 0xF130
	SC_VSCROLL      = 0xF070
)

system commands

View Source
const (
	RESOURCE_CONNECTED  = 0x00000001
	RESOURCE_GLOBALNET  = 0x00000002
	RESOURCE_REMEMBERED = 0x00000003
	RESOURCE_RECENT     = 0x00000004
	RESOURCE_CONTEXT    = 0x00000005
)
View Source
const (
	RESOURCETYPE_ANY      = 0x00000000
	RESOURCETYPE_DISK     = 0x00000001
	RESOURCETYPE_PRINT    = 0x00000002
	RESOURCETYPE_RESERVED = 0x00000008
	RESOURCETYPE_UNKNOWN  = 0xFFFFFFFF
)
View Source
const (
	RESOURCEUSAGE_CONNECTABLE   = 0x00000001
	RESOURCEUSAGE_CONTAINER     = 0x00000002
	RESOURCEUSAGE_NOLOCALDEVICE = 0x00000004
	RESOURCEUSAGE_SIBLING       = 0x00000008
	RESOURCEUSAGE_ATTACHED      = 0x00000010
	RESOURCEUSAGE_ALL           = RESOURCEUSAGE_CONNECTABLE | RESOURCEUSAGE_CONTAINER | RESOURCEUSAGE_ATTACHED
	RESOURCEUSAGE_RESERVED      = 0x80000000
)
View Source
const (
	RESOURCEDISPLAYTYPE_GENERIC      = 0x00000000
	RESOURCEDISPLAYTYPE_DOMAIN       = 0x00000001
	RESOURCEDISPLAYTYPE_SERVER       = 0x00000002
	RESOURCEDISPLAYTYPE_SHARE        = 0x00000003
	RESOURCEDISPLAYTYPE_FILE         = 0x00000004
	RESOURCEDISPLAYTYPE_GROUP        = 0x00000005
	RESOURCEDISPLAYTYPE_NETWORK      = 0x00000006
	RESOURCEDISPLAYTYPE_ROOT         = 0x00000007
	RESOURCEDISPLAYTYPE_SHAREADMIN   = 0x00000008
	RESOURCEDISPLAYTYPE_DIRECTORY    = 0x00000009
	RESOURCEDISPLAYTYPE_TREE         = 0x0000000A
	RESOURCEDISPLAYTYPE_NDSCONTAINER = 0x0000000B
)
View Source
const (
	CONNECT_UPDATE_PROFILE = 0x00000001
	CONNECT_UPDATE_RECENT  = 0x00000002
	CONNECT_TEMPORARY      = 0x00000004
	CONNECT_INTERACTIVE    = 0x00000008
	CONNECT_PROMPT         = 0x00000010
	CONNECT_NEED_DRIVE     = 0x00000020
	CONNECT_REFCOUNT       = 0x00000040
	CONNECT_REDIRECT       = 0x00000080
	CONNECT_LOCALDRIVE     = 0x00000100
	CONNECT_CURRENT_MEDIA  = 0x00000200
	CONNECT_DEFERRED       = 0x00000400
	CONNECT_RESERVED       = 0xFF000000
	CONNECT_COMMANDLINE    = 0x00000800
	CONNECT_CMD_SAVECRED   = 0x00001000
)
View Source
const (
	SEM_FAILCRITICALERRORS     = 0x0001
	SEM_NOALIGNMENTFAULTEXCEPT = 0x0004
	SEM_NOGPFAULTERRORBOX      = 0x0002
	SEM_NOOPENFILEERRORBOX     = 0x8000
)
View Source
const (
	GENERIC_ALL     = 0x10000000
	GENERIC_EXECUTE = 0x20000000
	GENERIC_WRITE   = 0x40000000
	GENERIC_READ    = 0x80000000
)
View Source
const (
	STANDARD_RIGHTS_REQUIRED = 0xF0000
	STANDARD_RIGHTS_READ     = 0x20000
	STANDARD_RIGHTS_WRITE    = 0x20000
	STANDARD_RIGHTS_EXECUTE  = 0x20000
	STANDARD_RIGHTS_ALL      = 0x1F0000
	SPECIFIC_RIGHTS_ALL      = 0xFFFF
	ACCESS_SYSTEM_SECURITY   = 0x1000000
)
View Source
const (
	FILE_READ_DATA                     = 1
	FILE_LIST_DIRECTORY                = 1
	FILE_WRITE_DATA                    = 2
	FILE_ADD_FILE                      = 2
	FILE_APPEND_DATA                   = 4
	FILE_ADD_SUBDIRECTORY              = 4
	FILE_CREATE_PIPE_INSTANCE          = 4
	FILE_READ_EA                       = 8
	FILE_READ_PROPERTIES               = 8
	FILE_WRITE_EA                      = 16
	FILE_WRITE_PROPERTIES              = 16
	FILE_EXECUTE                       = 32
	FILE_TRAVERSE                      = 32
	FILE_DELETE_CHILD                  = 64
	FILE_READ_ATTRIBUTES               = 128
	FILE_WRITE_ATTRIBUTES              = 256
	FILE_ALL_ACCESS                    = (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF)
	FILE_GENERIC_READ                  = (STANDARD_RIGHTS_READ | FILE_READ_DATA | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONIZE)
	FILE_GENERIC_WRITE                 = (STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA | SYNCHRONIZE)
	FILE_GENERIC_EXECUTE               = (STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES | FILE_EXECUTE | SYNCHRONIZE)
	FILE_SHARE_READ                    = 1
	FILE_SHARE_WRITE                   = 2
	FILE_SHARE_DELETE                  = 4
	FILE_ATTRIBUTE_READONLY            = 1
	FILE_ATTRIBUTE_HIDDEN              = 2
	FILE_ATTRIBUTE_SYSTEM              = 4
	FILE_ATTRIBUTE_DIRECTORY           = 16
	FILE_ATTRIBUTE_ARCHIVE             = 32
	FILE_ATTRIBUTE_ENCRYPTED           = 64
	FILE_ATTRIBUTE_NORMAL              = 128
	FILE_ATTRIBUTE_TEMPORARY           = 256
	FILE_ATTRIBUTE_SPARSE_FILE         = 512
	FILE_ATTRIBUTE_REPARSE_POINT       = 1024
	FILE_ATTRIBUTE_COMPRESSED          = 2048
	FILE_ATTRIBUTE_OFFLINE             = 0x1000
	FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x2000
	FILE_NOTIFY_CHANGE_FILE_NAME       = 1
	FILE_NOTIFY_CHANGE_DIR_NAME        = 2
	FILE_NOTIFY_CHANGE_ATTRIBUTES      = 4
	FILE_NOTIFY_CHANGE_SIZE            = 8
	FILE_NOTIFY_CHANGE_LAST_WRITE      = 16
	FILE_NOTIFY_CHANGE_LAST_ACCESS     = 32
	FILE_NOTIFY_CHANGE_CREATION        = 64
	FILE_NOTIFY_CHANGE_SECURITY        = 256
	FILE_CASE_SENSITIVE_SEARCH         = 1
	FILE_CASE_PRESERVED_NAMES          = 2
	FILE_UNICODE_ON_DISK               = 4
	FILE_PERSISTENT_ACLS               = 8
	FILE_FILE_COMPRESSION              = 16
	FILE_VOLUME_QUOTAS                 = 32
	FILE_SUPPORTS_SPARSE_FILES         = 64
	FILE_SUPPORTS_REPARSE_POINTS       = 128
)
View Source
const (
	CREATE_NEW        = 1
	CREATE_ALWAYS     = 2
	OPEN_EXISTING     = 3
	OPEN_ALWAYS       = 4
	TRUNCATE_EXISTING = 5
)
View Source
const (
	SECURITY_CONTEXT_TRACKING = 0x00040000
	SECURITY_EFFECTIVE_ONLY   = 0x00080000
	SECURITY_SQOS_PRESENT     = 0x00100000
	SECURITY_VALID_SQOS_FLAGS = 0x001F0000
)
View Source
const (
	BusTypeUnknown = iota
	BusTypeScsi
	BusTypeAtapi
	BusTypeAta
	BusType1394
	BusTypeSsa
	BusTypeFibre
	BusTypeUsb
	BusTypeRAID
	BusTypeiScsi
	BusTypeSas
	BusTypeSata
	BusTypeSd
	BusTypeMmc
	BusTypeVirtual
	BusTypeFileBackedVirtual
	BusTypeSpaces
	BusTypeNvme
	BusTypeMax
	BusTypeMaxReserved = 0x7F
)

STORAGE_BUS_TYPE values

View Source
const (
	PropertyStandardQuery = iota
	PropertyExistsQuery
	PropertyMaskQuery
	PropertyQueryMaxDefined
)

STORAGE_QUERY_TYPE values

View Source
const (
	StorageDeviceProperty = iota
	StorageAdapterProperty
	StorageDeviceIdProperty
	StorageDeviceUniqueIdProperty
	StorageDeviceWriteCacheProperty
	StorageMiniportProperty
	StorageAccessAlignmentProperty
	StorageDeviceSeekPenaltyProperty
	StorageDeviceTrimProperty
	StorageDeviceWriteAggregationProperty
	StorageDeviceDeviceTelemetryProperty
	StorageDeviceLBProvisioningProperty
	StorageDevicePowerProperty
	StorageDeviceCopyOffloadProperty
	StorageDeviceResiliencyProperty
	StorageDeviceMediumProductType
)

STORAGE_PROPERTY_ID values

View Source
const (
	CompanyName      = "CompanyName"
	FileDescription  = "FileDescription"
	FileVersion      = "FileVersion"
	LegalCopyright   = "LegalCopyright"
	LegalTrademarks  = "LegalTrademarks"
	OriginalFilename = "OriginalFilename"
	ProductVersion   = "ProductVersion"
	PrivateBuild     = "PrivateBuild"
	SpecialBuild     = "SpecialBuild"
)

these constants can be passed to VerQueryValueString as the item

View Source
const AC_SRC_OVER = 0
View Source
const CLR_INVALID = 0xFFFFFFFF
View Source
const (
	CW_USEDEFAULT = ^0x7fffffff
)
View Source
const INVALID_HANDLE_VALUE = ^HANDLE(0)
View Source
const LF_FACESIZE = 32
View Source
const NETPROPERTY_PERSISTENT = 1
View Source
const (
	OFN_EX_NOPLACESBAR = 0x00000001
)

GetOpenFileName and GetSaveFileName extended flags

View Source
const PW_CLIENTONLY = 1
View Source
const SYNCHRONIZE = 0x100000
View Source
const UPDOWN_CLASS = "msctls_updown32"

Variables

View Source
var (
	IID_NULL                      = &GUID{0x00000000, 0x0000, 0x0000, [8]byte{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}
	IID_IUnknown                  = &GUID{0x00000000, 0x0000, 0x0000, [8]byte{0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
	IID_IDispatch                 = &GUID{0x00020400, 0x0000, 0x0000, [8]byte{0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
	IID_IConnectionPointContainer = &GUID{0xB196B284, 0xBAB4, 0x101A, [8]byte{0xB6, 0x9C, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07}}
	IID_IConnectionPoint          = &GUID{0xB196B286, 0xBAB4, 0x101A, [8]byte{0xB6, 0x9C, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07}}
)

Functions

func AbortDoc

func AbortDoc(hdc HDC) int

func ActivateActCtx

func ActivateActCtx(ctx HANDLE) (uintptr, bool)

func AddClipboardFormatListener

func AddClipboardFormatListener(hwnd HWND) bool

func AdjustWindowRect

func AdjustWindowRect(rect *RECT, style uint, menu bool) bool

func AdjustWindowRectEx

func AdjustWindowRectEx(rect *RECT, style uint, menu bool, exStyle uint) bool

func AlphaBlend

func AlphaBlend(
	dest HDC, destX, destY, destW, destH int,
	src HDC, srcX, srcY, srcW, srcH int,
	f BLENDFUNC,
) bool

func AngleArc

func AngleArc(hdc HDC, x, y, r int, startAngle, sweepAngle float32) bool

func AppendMenu

func AppendMenu(m HMENU, flags uint, id uintptr, item string) bool

func Arc

func Arc(hdc HDC, x1, y1, x2, y2, x3, y3, x4, y4 int) bool

func ArcTo

func ArcTo(hdc HDC, left, top, right, bottom, xr1, yr1, xr2, yr2 int) bool

func BitBlt

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

func CallWindowProc

func CallWindowProc(preWndProc uintptr, hwnd HWND, msg uint32, wParam, lParam uintptr) uintptr

func ChangeDisplaySettingsEx

func ChangeDisplaySettingsEx(szDeviceName *uint16, devMode *DEVMODE, hwnd HWND, dwFlags uint32, lParam uintptr) int32

func CheckMenuItem

func CheckMenuItem(m HMENU, item, check uint) uint32

func CheckMenuRadioItem

func CheckMenuRadioItem(m HMENU, first, last, check, flags uint) bool

func ChoosePixelFormat

func ChoosePixelFormat(hdc HDC, pfd *PIXELFORMATDESCRIPTOR) int

func Chord

func Chord(hdc HDC, x1, y1, x2, y2, x3, y3, x4, y4 int) bool

func ClientToScreen

func ClientToScreen(hwnd HWND, x, y int) (int, int)

func CloseClipboard

func CloseClipboard() bool

func CloseEventLog

func CloseEventLog(eventlog HANDLE) bool

func CloseHandle

func CloseHandle(object HANDLE) bool

func CloseServiceHandle

func CloseServiceHandle(hSCObject HANDLE) error

func CoInitialize

func CoInitialize()

func CoUninitialize

func CoUninitialize()

func ComAddRef

func ComAddRef(unknown *IUnknown) int32

func ComGetIDsOfName

func ComGetIDsOfName(disp *IDispatch, names []string) []int32

func ComRelease

func ComRelease(unknown *IUnknown) int32

func CommDlgExtendedError

func CommDlgExtendedError() uint

func ControlService

func ControlService(hService HANDLE, dwControl uint32, lpServiceStatus *SERVICE_STATUS) bool

func CopyMemory

func CopyMemory(dest, source unsafe.Pointer, sizeInBytes int)

func CopyRect

func CopyRect(dst, src *RECT) bool

func DefDlgProc

func DefDlgProc(hwnd HWND, msg uint32, wParam, lParam uintptr) uintptr

func DefSubclassProc

func DefSubclassProc(window HWND, msg uint32, w, l uintptr) uintptr

func DefWindowProc

func DefWindowProc(hwnd HWND, msg uint32, wParam, lParam uintptr) uintptr

func DeleteDC

func DeleteDC(hdc HDC) bool

func DeleteEnhMetaFile

func DeleteEnhMetaFile(hemf HENHMETAFILE) bool

func DeleteMenu

func DeleteMenu(m HMENU, pos, flags uint) bool

func DeleteObject

func DeleteObject(hObject HGDIOBJ) bool

func DescribePixelFormat

func DescribePixelFormat(hdc HDC, iPixelFormat int, nBytes uint, pfd *PIXELFORMATDESCRIPTOR) int

func DestroyAcceleratorTable

func DestroyAcceleratorTable(acc HACCEL) bool

func DestroyIcon

func DestroyIcon(icon HICON) bool

func DestroyMenu

func DestroyMenu(m HMENU) bool

func DestroyWindow

func DestroyWindow(hwnd HWND) bool

func DeviceIoControl

func DeviceIoControl(
	dev HANDLE,
	controlCode uint32,
	inBuffer unsafe.Pointer,
	inBufferSize uint32,
	outBuffer unsafe.Pointer,
	outBufferSize uint32,
	overlapped *OVERLAPPED,
) (outBufWrittenBytes uint32, ok bool)

func DialogBox

func DialogBox(hInstance HINSTANCE, lpTemplateName *uint16, hWndParent HWND, lpDialogProc uintptr) int

func DispatchMessage

func DispatchMessage(msg *MSG) uintptr

func DragAcceptFiles

func DragAcceptFiles(hwnd HWND, accept bool)

func DragFinish

func DragFinish(hDrop HDROP)

func DragQueryFile

func DragQueryFile(hDrop HDROP, iFile uint) (fileName string, fileCount uint)

func DragQueryPoint

func DragQueryPoint(hDrop HDROP) (x, y int, isClientArea bool)

func DrawIcon

func DrawIcon(hDC HDC, x, y int, hIcon HICON) bool

func DrawMenuBar

func DrawMenuBar(window HWND) bool

func DrawText

func DrawText(hDC HDC, text string, lpRect *RECT, uFormat uint) int

DrawText does not support DT_MODIFYSTRING in this implementation.

func DwmDefWindowProc

func DwmDefWindowProc(hWnd HWND, msg uint, wParam, lParam uintptr) (bool, uint)

func DwmRenderGesture

func DwmRenderGesture(gt GESTURE_TYPE, cContacts uint, pdwPointerID *uint32, pPoints *POINT)

func DwmShowContact

func DwmShowContact(dwPointerID uint32, eShowContact DWM_SHOWCONTACT)

func DwmTetherContact

func DwmTetherContact(dwPointerID uint32, fEnable bool, ptTether POINT)

func DwmTransitionOwnedWindow

func DwmTransitionOwnedWindow(hWnd HWND, target DWMTRANSITION_OWNEDWINDOW_TARGET)

func Ellipse

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

func EmptyClipboard

func EmptyClipboard() bool

func EnableMenuItem

func EnableMenuItem(m HMENU, item, enable uint) int

func EnableWindow

func EnableWindow(hwnd HWND, b bool) bool

func EndDialog

func EndDialog(hwnd HWND, nResult uintptr) bool

func EndDoc

func EndDoc(hdc HDC) int

func EndMenu

func EndMenu() bool

func EndPage

func EndPage(hdc HDC) int

func EndPaint

func EndPaint(hwnd HWND, paint *PAINTSTRUCT)

func EnumClipboardFormats

func EnumClipboardFormats(format uint) uint

func EnumDisplayMonitors

func EnumDisplayMonitors(hdc HDC, clip *RECT, fnEnum, dwData uintptr) bool

func EnumDisplaySettingsEx

func EnumDisplaySettingsEx(szDeviceName *uint16, iModeNum uint32, devMode *DEVMODE, dwFlags uint32) bool

func EnumProcesses

func EnumProcesses(processIds []uint32, cb uint32, bytesReturned *uint32) bool

func EnumWindows

func EnumWindows(callback func(window HWND)) bool

func EqualRect

func EqualRect(rect1, rect2 *RECT) bool

func FillRect

func FillRect(hDC HDC, lprc *RECT, hbr HBRUSH) bool

func GdipCreateBitmapFromFile

func GdipCreateBitmapFromFile(filename string) (*uintptr, error)

func GdipCreateBitmapFromResource

func GdipCreateBitmapFromResource(instance HINSTANCE, resId *uint16) (*uintptr, error)

func GdipCreateBitmapFromStream

func GdipCreateBitmapFromStream(stream *IStream) (*uintptr, error)

func GdipDisposeImage

func GdipDisposeImage(image *uintptr)

func GdiplusShutdown

func GdiplusShutdown(token uintptr)

func GdiplusStartup

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

func GetAsyncKeyState

func GetAsyncKeyState(vKey int) uint16

func GetCaretBlinkTime

func GetCaretBlinkTime() int

GetCaretBlinkTime returns the time required to invert the caret's pixels, in milliseconds. If the number is negative, the time is infinite and thus the cursor does not blink.

func GetClassLongPtr

func GetClassLongPtr(w HWND, index int) uintptr

func GetClassName

func GetClassName(window HWND) (string, bool)

func GetClipboardFormatName

func GetClipboardFormatName(format uint) (string, bool)

func GetComputerName

func GetComputerName() string

func GetCursorPos

func GetCursorPos() (x, y int, ok bool)

func GetDIBits

func GetDIBits(
	dc HDC,
	bmp HBITMAP,
	startScan, scanLines uint,
	bits unsafe.Pointer,
	info *BITMAPINFO,
	usage uint,
) int

func GetDeviceCaps

func GetDeviceCaps(hdc HDC, index int) int

func GetDiskFreeSpaceEx

func GetDiskFreeSpaceEx(dirName string) (r bool,
	freeBytesAvailable, totalNumberOfBytes, totalNumberOfFreeBytes uint64)

func GetEnhMetaFileHeader

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

func GetEnhMetaFilePixelFormat

func GetEnhMetaFilePixelFormat(hemf HENHMETAFILE, cbBuffer uint32, pfd *PIXELFORMATDESCRIPTOR) uint

func GetFileVersionInfo

func GetFileVersionInfo(path string, data []byte) bool

func GetFileVersionInfoSize

func GetFileVersionInfoSize(path string) uint32

func GetGpStatus

func GetGpStatus(s int32) string

func GetKeyState

func GetKeyState(key int) uint16

func GetKeyboardState

func GetKeyboardState(lpKeyState *[]byte) bool

func GetLastError

func GetLastError() uint32

func GetLogicalDrives

func GetLogicalDrives() uint32

func GetMenuBarInfo

func GetMenuBarInfo(w HWND, object, item int, info *MENUBARINFO) bool

func GetMenuCheckMarkDimensions

func GetMenuCheckMarkDimensions() (w, h int)

func GetMenuDefaultItem

func GetMenuDefaultItem(m HMENU, byPos, flags uint) int

func GetMenuInfo

func GetMenuInfo(m HMENU, info *MENUINFO) bool

func GetMenuItemCount

func GetMenuItemCount(m HMENU) int

func GetMenuItemID

func GetMenuItemID(m HMENU, pos int) int

func GetMenuItemInfo

func GetMenuItemInfo(m HMENU, item uint, byPos bool, info *MENUITEMINFO) bool

func GetMenuItemRect

func GetMenuItemRect(w HWND, m HMENU, item uint, r *RECT) bool

func GetMenuState

func GetMenuState(m HMENU, id, flags uint) int

func GetMenuString

func GetMenuString(m HMENU, item, flags uint) string

func GetMessage

func GetMessage(msg *MSG, hwnd HWND, msgFilterMin, msgFilterMax uint32) int

func GetMonitorInfo

func GetMonitorInfo(hMonitor HMONITOR, lmpi *MONITORINFO) bool

GetMonitorInfo automatically sets the MONITORINFO's CbSize field.

func GetObject

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

func GetOpenFileName

func GetOpenFileName(ofn *OPENFILENAME) bool

GetOpenFileName automatically sets the StructSize member of the OPENFILENAME.

func GetPhysicalMonitorsFromHMONITOR

func GetPhysicalMonitorsFromHMONITOR(monitor HMONITOR, buf []PHYSICAL_MONITOR) bool

len(buf) must not be 0.

func GetPixelFormat

func GetPixelFormat(hdc HDC) int

func GetProcessTimes

func GetProcessTimes(hProcess HANDLE, lpCreationTime, lpExitTime, lpKernelTime, lpUserTime *FILETIME) bool

func GetSaveFileName

func GetSaveFileName(ofn *OPENFILENAME) bool

GetSaveFileName automatically sets the StructSize member of the OPENFILENAME.

func GetSystemMetrics

func GetSystemMetrics(index int) int

func GetSystemTimes

func GetSystemTimes(lpIdleTime, lpKernelTime, lpUserTime *FILETIME) bool

func GetTextExtentExPoint

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

func GetTextMetrics

func GetTextMetrics(hdc HDC, lptm *TEXTMETRIC) bool

func GetUserDefaultLCID

func GetUserDefaultLCID() uint32

func GetVersion

func GetVersion() uint32

func GetWindowLong

func GetWindowLong(hwnd HWND, index int) int32

func GetWindowLongPtr

func GetWindowLongPtr(hwnd HWND, index int) uintptr

func GetWindowPlacement

func GetWindowPlacement(hwnd HWND, placement *WINDOWPLACEMENT) bool

GetWindowPlacement automatically sets the WINDOWPLACEMENT's Length field.

func GetWindowText

func GetWindowText(hwnd HWND) string

func GetWindowTextLength

func GetWindowTextLength(hwnd HWND) int

func GetWindowThreadProcessId

func GetWindowThreadProcessId(hwnd HWND) (HANDLE, DWORD)

func GlobalFree

func GlobalFree(hMem HGLOBAL)

func GlobalLock

func GlobalLock(hMem HGLOBAL) unsafe.Pointer

func GlobalUnlock

func GlobalUnlock(hMem HGLOBAL) bool

func HIWORD

func HIWORD(dw uint32) uint16

func HiliteMenuItem

func HiliteMenuItem(w HWND, m HMENU, item, hilite uint) bool

func ImageList_Add

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

func ImageList_AddIcon

func ImageList_AddIcon(himl HIMAGELIST, hicon HICON) int

func ImageList_Destroy

func ImageList_Destroy(himl HIMAGELIST) bool

func ImageList_GetImageCount

func ImageList_GetImageCount(himl HIMAGELIST) int

func ImageList_Remove

func ImageList_Remove(himl HIMAGELIST, i int) bool

func ImageList_RemoveAll

func ImageList_RemoveAll(himl HIMAGELIST) bool

func ImageList_ReplaceIcon

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

func ImageList_SetImageCount

func ImageList_SetImageCount(himl HIMAGELIST, uNewCount uint) bool

func InflateRect

func InflateRect(rect *RECT, dx, dy int) bool

func InitCommonControlsEx

func InitCommonControlsEx(lpInitCtrls *INITCOMMONCONTROLSEX) bool

func InsertMenu

func InsertMenu(m HMENU, pos, flags uint, id uintptr, item string) bool

func InsertMenuItem

func InsertMenuItem(m HMENU, item uint, byPos bool, newItem *MENUITEMINFO) bool

func IntersectRect

func IntersectRect(dst, src1, src2 *RECT) bool

func InvalidateRect

func InvalidateRect(hwnd HWND, rect *RECT, erase bool) bool

func IsClipboardFormatAvailable

func IsClipboardFormatAvailable(format uint) bool

func IsDialogMessage

func IsDialogMessage(hwnd HWND, msg *MSG) bool

func IsDlgButtonChecked

func IsDlgButtonChecked(dlg HWND, id uintptr) uint

func IsMenu

func IsMenu(m HMENU) bool

func IsRectEmpty

func IsRectEmpty(rect *RECT) bool

func IsWindow

func IsWindow(hwnd HWND) bool

func IsWindowEnabled

func IsWindowEnabled(hwnd HWND) bool

func IsWindowVisible

func IsWindowVisible(hwnd HWND) bool

func LOWORD

func LOWORD(dw uint32) uint16

func LineTo

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

func LockResource

func LockResource(hResData HGLOBAL) unsafe.Pointer

func LookupIconIdFromDirectoryEx

func LookupIconIdFromDirectoryEx(mem unsafe.Pointer, icon bool, width, height int, flags uint) int

func Lstrcpy

func Lstrcpy(buf []uint16, lpString *uint16)

func Lstrlen

func Lstrlen(lpString *uint16) int

func MAKELPARAM

func MAKELPARAM(low, high uint16) uintptr

func MAKEWPARAM

func MAKEWPARAM(low, high uint16) uintptr

func MakeIntResource

func MakeIntResource(id uint16) *uint16

func MapVirtualKey

func MapVirtualKey(uCode, uMapType uint) uint

func MapVirtualKeyEx

func MapVirtualKeyEx(uCode, uMapType uint, dwhkl HKL) uint
func MenuItemFromPoint(w HWND, m HMENU, screen POINT) int

MenuItemFromPoint determines which menu item, if any, is at the specified location.

func MessageBeep

func MessageBeep(typ uint) bool

func MessageBox

func MessageBox(hwnd HWND, text, caption string, flags uint) int

func ModifyMenu

func ModifyMenu(m HMENU, pos, flags uint, idNewItem uintptr, newItem string) bool

ModifyMenu changes an existing menu item. This function is used to specify the content, appearance, and behavior of the menu item.

Note The ModifyMenu function has been superseded by the SetMenuItemInfo function. You can still use ModifyMenu, however, if you do not need any of the extended features of SetMenuItemInfo.

func Module32First

func Module32First(snapshot HANDLE, me *MODULEENTRY32) bool

func Module32Next

func Module32Next(snapshot HANDLE, me *MODULEENTRY32) bool

func MoveMemory

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

func MoveToEx

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

func MoveWindow

func MoveWindow(hwnd HWND, x, y, width, height int, repaint bool) bool

func MulDiv

func MulDiv(number, numerator, denominator int) int

func OffsetRect

func OffsetRect(rect *RECT, dx, dy int) bool

func OpenClipboard

func OpenClipboard(hWndNewOwner HWND) bool

func PatBlt

func PatBlt(hdc HDC, nXLeft, nYLeft, nWidth, nHeight int, dwRop uint) bool

func PeekMessage

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

func Pie

func Pie(hdc HDC, left, top, right, bottom, xr1, yr1, xr2, yr2 int) bool

func PlayEnhMetaFile

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

func PlaySound

func PlaySound(sound string, mod HMODULE, flags uint32) bool

func PolyBezier

func PolyBezier(hdc HDC, p []POINT) bool

func Polygon

func Polygon(hdc HDC, p []POINT) bool

func Polyline

func Polyline(hdc HDC, p []POINT) bool

func PostMessage

func PostMessage(hwnd HWND, msg uint32, wParam, lParam uintptr) bool

func PostQuitMessage

func PostQuitMessage(exitCode int)

func PrintWindow

func PrintWindow(w HWND, dc HDC, flags uint) bool

func PtInRect

func PtInRect(rect *RECT, x, y int) bool

func ReadEventLog

func ReadEventLog(eventlog HANDLE, readflags, recordoffset uint32, buffer []byte, numberofbytestoread uint32, bytesread, minnumberofbytesneeded *uint32) bool

func Rectangle

func Rectangle(hdc HDC, nLeftRect, nTopRect, nRightRect, nBottomRect int) bool

func RegCloseKey

func RegCloseKey(hKey HKEY) error

func RegDeleteKeyValue

func RegDeleteKeyValue(hKey HKEY, subKey string, valueName string) (errno int)

func RegDeleteTree

func RegDeleteTree(hKey HKEY, subKey string) (errno int)

func RegDeleteValue

func RegDeleteValue(hKey HKEY, valueName string) (errno int)

func RegEnumKeyEx

func RegEnumKeyEx(hKey HKEY, index uint32) string

func RegGetRaw

func RegGetRaw(hKey HKEY, subKey string, value string) []byte

func RegGetString

func RegGetString(hKey HKEY, subKey string, value string) string

func RegGetUint32

func RegGetUint32(hKey HKEY, subKey string, value string) (data uint32, errno int)

func RegSetBinary

func RegSetBinary(hKey HKEY, subKey string, value []byte) (errno int)

func RegSetString

func RegSetString(hKey HKEY, subKey string, value string) (errno int)

func RegSetUint32

func RegSetUint32(hKey HKEY, subKey string, value uint32) (errno int)

func RegisterRawInputDevices

func RegisterRawInputDevices(devices ...RAWINPUTDEVICE) bool

func ReleaseCapture

func ReleaseCapture() bool

func ReleaseDC

func ReleaseDC(hwnd HWND, hDC HDC) bool

func RemoveClipboardFormatListener

func RemoveClipboardFormatListener(hwnd HWND) bool

func RemoveMenu

func RemoveMenu(m HMENU, pos, flags uint) bool

RemoveMenu deletes a menu item or detaches a submenu from the specified menu. If the menu item opens a drop-down menu or submenu, RemoveMenu does not destroy the menu or its handle, allowing the menu to be reused. Before this function is called, the GetSubMenu function should retrieve a handle to the drop-down menu or submenu.

func SHBrowseForFolder

func SHBrowseForFolder(bi *BROWSEINFO) uintptr

func SHGetPathFromIDList

func SHGetPathFromIDList(idl uintptr) string

func ScreenToClient

func ScreenToClient(hwnd HWND, x, y int) (X, Y int, ok bool)

func ScrollWindow

func ScrollWindow(window HWND, dx, dy int, r, clip *RECT) bool

func SendDlgItemMessage

func SendDlgItemMessage(dlg HWND, id int, msg uint, w, l uintptr) uintptr

func SendInput

func SendInput(inputs ...INPUT) uint32

func SendMessage

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

func SetBkMode

func SetBkMode(hdc HDC, iBkMode int) int

func SetBrushOrgEx

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

func SetClassLongPtr

func SetClassLongPtr(w HWND, index int, value uintptr) uintptr

func SetConsoleTextAttribute

func SetConsoleTextAttribute(hConsoleOutput HANDLE, wAttributes uint16) bool

func SetCursorPos

func SetCursorPos(x, y int) bool

func SetDIBitsToDevice

func SetDIBitsToDevice(hdc HDC, xDest, yDest, dwWidth, dwHeight, xSrc, ySrc int, uStartScan, cScanLines uint, lpvBits []byte, lpbmi *BITMAPINFO, fuColorUse uint) int

func SetEnvironmentVariable

func SetEnvironmentVariable(name, value string) bool

func SetErrorMode

func SetErrorMode(mode uint) uint

func SetForegroundWindow

func SetForegroundWindow(window HWND) bool

func SetLocalTime

func SetLocalTime(time *SYSTEMTIME) bool

func SetMenu

func SetMenu(w HWND, m HMENU) bool

func SetMenuDefaultItem

func SetMenuDefaultItem(m HMENU, item, byPos uint) bool

SetMenuDefaultItem sets the default menu item for the specified menu.

func SetMenuInfo

func SetMenuInfo(m HMENU, info *MENUINFO) bool

SetMenuInfo sets information for a specified menu.

func SetMenuItemBitmaps

func SetMenuItemBitmaps(m HMENU, pos, flags uint, unchecked, checked HBITMAP) bool

SetMenuItemBitmaps associates the specified bitmap with a menu item. Whether the menu item is selected or clear, the system displays the appropriate bitmap next to the menu item.

func SetMenuItemInfo

func SetMenuItemInfo(m HMENU, item uint, byPos bool, mii *MENUITEMINFO) bool

SetMenuItemInfo changes information about a menu item.

func SetMonitorBrightness

func SetMonitorBrightness(monitor HANDLE, value DWORD) bool

func SetPixelFormat

func SetPixelFormat(hdc HDC, iPixelFormat int, pfd *PIXELFORMATDESCRIPTOR) bool

func SetRect

func SetRect(rect *RECT, left, top, right, bottom int) bool

func SetRectEmpty

func SetRectEmpty(rect *RECT) bool

func SetStretchBltMode

func SetStretchBltMode(hdc HDC, iStretchMode int) int

func SetSystemTime

func SetSystemTime(time *SYSTEMTIME) bool

func SetTimer

func SetTimer(window HWND, idEvent uintptr, elapse uint, timerFunc uintptr) uintptr

func SetWindowLong

func SetWindowLong(hwnd HWND, index int, value uint32) uint32

func SetWindowLongPtr

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

func SetWindowPlacement

func SetWindowPlacement(hwnd HWND, placement *WINDOWPLACEMENT) bool

func SetWindowPos

func SetWindowPos(hwnd, hWndInsertAfter HWND, x, y, cx, cy int, uFlags uint) bool

func SetWindowSubclass

func SetWindowSubclass(window HWND, proc uintptr, id uintptr, refData uintptr) bool

func SetWindowText

func SetWindowText(hwnd HWND, text string)

func ShellExecute

func ShellExecute(hwnd HWND, lpOperation, lpFile, lpParameters, lpDirectory string, nShowCmd int) error

func ShowCursor

func ShowCursor(show bool) int

func ShowWindow

func ShowWindow(hwnd HWND, cmdshow int) bool

func ShowWindowAsync

func ShowWindowAsync(hwnd HWND, cmdshow int) bool

func SizeofResource

func SizeofResource(hModule HMODULE, hResInfo HRSRC) uint32

func StartDoc

func StartDoc(hdc HDC, lpdi *DOCINFO) int

func StartPage

func StartPage(hdc HDC) int

func StartService

func StartService(hService HANDLE, lpServiceArgVectors []string) error

func StretchBlt

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

func SubtractRect

func SubtractRect(dst, src1, src2 *RECT) bool

func SwapBuffers

func SwapBuffers(hdc HDC) bool

func SwapMouseButton

func SwapMouseButton(fSwap bool) bool

func SysAllocString

func SysAllocString(v string) (ss *int16)

func SysFreeString

func SysFreeString(v *int16)

func SysStringLen

func SysStringLen(v *int16) uint

func TerminateProcess

func TerminateProcess(hProcess HANDLE, uExitCode uint) bool

func TextOut

func TextOut(hdc HDC, x, y int, s string) bool

func ToAscii

func ToAscii(uVirtKey, uScanCode uint, lpKeyState *byte, lpChar *uint16, uFlags uint) int

func TrackMouseEvent

func TrackMouseEvent(tme *TRACKMOUSEEVENT) bool

func TrackPopupMenu

func TrackPopupMenu(m HMENU, flags uint, x, y int, w HWND, r *RECT) int

TrackPopupMenu displays a shortcut menu at the specified location and tracks the selection of items on the menu. The shortcut menu can appear anywhere on the screen.

func TrackPopupMenuEx

func TrackPopupMenuEx(m HMENU, flags uint, x, y int, w HWND, tpm *TPMPARAMS) int

TrackPopupMenuEx displays a shortcut menu at the specified location and tracks the selection of items on the shortcut menu. The shortcut menu can appear anywhere on the screen.

func TranslateAccelerator

func TranslateAccelerator(hwnd HWND, hAccTable HACCEL, lpMsg *MSG) bool

func TranslateMessage

func TranslateMessage(msg *MSG) bool

func UTF16PtrToString

func UTF16PtrToString(cstr *uint16) string

func UnhookWindowsHookEx

func UnhookWindowsHookEx(hhk HHOOK) bool

func UnionRect

func UnionRect(dst, src1, src2 *RECT) bool

func UpdateWindow

func UpdateWindow(hwnd HWND) bool

func VariantInit

func VariantInit(v *VARIANT)

func VerQueryValueString

func VerQueryValueString(block []byte, translation, item string) (string, bool)

VerQueryValueString calls VerQueryValue (https://msdn.microsoft.com/en-us/library/windows/desktop/ms647464(v=vs.85).aspx) with `\StringFileInfo\...` to retrieve a specific piece of information as string in a specific translation.

func VerQueryValueTranslations

func VerQueryValueTranslations(block []byte) ([]string, bool)

VerQueryValueTranslations calls VerQueryValue (https://msdn.microsoft.com/en-us/library/windows/desktop/ms647464(v=vs.85).aspx) with `\VarFileInfo\Translation` to retrieve a list of 4-character translation strings as required by VerQueryValueString.

func WNetAddConnection2

func WNetAddConnection2(rsc *NETRESOURCE, pass, user string, flags uint32) uint32

func WNetAddConnection3

func WNetAddConnection3(owner HWND, rsc *NETRESOURCE, pass, user string, flags uint32) uint32

func WNetCancelConnection2

func WNetCancelConnection2(name string, flags uint32, force bool) uint32

func WaitMessage

func WaitMessage() bool

func WglDeleteContext

func WglDeleteContext(hglrc HGLRC) bool

func WglGetProcAddress

func WglGetProcAddress(szProc string) uintptr

func WglMakeCurrent

func WglMakeCurrent(hdc HDC, hglrc HGLRC) bool

func WglShareLists

func WglShareLists(hglrc1, hglrc2 HGLRC) bool

Types

type ACCEL

type ACCEL struct {
	// Virt is a bit mask which may contain:
	//   FALT, FCONTROL, FSHIFT: keys to be held for the accelerator
	//   FVIRTKEY: means that Key is a virtual key code, if not set, Key is
	//             interpreted as a character code
	Virt byte
	// Key can either be a virtual key code VK_... or a character
	Key uint16
	// Cmd is the value passed to WM_COMMAND or WM_SYSCOMMAND when the
	// accelerator triggers
	Cmd uint16
}

type ACTCTX

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 ATOM

type ATOM uint16

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func RegisterClassEx

func RegisterClassEx(wndClassEx *WNDCLASSEX) ATOM

RegisterClassEx sets the Size of the WNDCLASSEX automatically.

type BITMAP

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

http://msdn.microsoft.com/en-us/library/windows/desktop/dd183371.aspx

type BITMAPFILEHEADER

type BITMAPFILEHEADER struct {
	BfType      uint16
	BfSize      uint32
	BfReserved1 uint16
	BfReserved2 uint16
	BfOffBits   uint32
}

https://msdn.microsoft.com/en-us/library/windows/desktop/dd183374(v=vs.85).aspx

type BITMAPINFOHEADER

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
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd183376.aspx

type BLENDFUNC

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

type BOOL

type BOOL int32

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func BoolToBOOL

func BoolToBOOL(value bool) BOOL

type BROWSEINFO

type BROWSEINFO struct {
	Owner        HWND
	Root         *uint16
	DisplayName  *uint16
	Title        *uint16
	Flags        uint32
	CallbackFunc uintptr
	LParam       uintptr
	Image        int32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/bb773205.aspx

type COLORREF

type COLORREF uint32

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func SetBkColor

func SetBkColor(hdc HDC, crColor COLORREF) COLORREF

func SetDCBrushColor

func SetDCBrushColor(hdc HDC, color COLORREF) COLORREF

func SetDCPenColor

func SetDCPenColor(hdc HDC, color COLORREF) COLORREF

func SetTextColor

func SetTextColor(hdc HDC, crColor COLORREF) COLORREF

type CONSOLE_SCREEN_BUFFER_INFO

type CONSOLE_SCREEN_BUFFER_INFO struct {
	DwSize              COORD
	DwCursorPosition    COORD
	WAttributes         uint16
	SrWindow            SMALL_RECT
	DwMaximumWindowSize COORD
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms682093.aspx

func GetConsoleScreenBufferInfo

func GetConsoleScreenBufferInfo(hConsoleOutput HANDLE) *CONSOLE_SCREEN_BUFFER_INFO

type CREATESTRUCT

type CREATESTRUCT struct {
	CreateParams uintptr
	Instance     HINSTANCE
	Menu         HMENU
	Parent       HWND
	Cy, Cx       int32
	Y, X         int32
	Style        int32
	Name         *uint16
	Class        *uint16
	// contains filtered or unexported fields
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms632603.aspx

type DEVMODE

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
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd183565.aspx

type DIBSECTION

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

http://msdn.microsoft.com/en-us/library/windows/desktop/dd183567.aspx

type DISPPARAMS

type DISPPARAMS struct {
	Rgvarg            uintptr
	RgdispidNamedArgs uintptr
	CArgs             uint32
	CNamedArgs        uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms221416.aspx

type DOCINFO

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

http://msdn.microsoft.com/en-us/library/windows/desktop/dd183574.aspx

type DRAWITEMSTRUCT

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

type DWMFLIP3DWINDOWPOLICY

type DWMFLIP3DWINDOWPOLICY int32

enum-lite implementation for the following constant structure

type DWMNCRENDERINGPOLICY

type DWMNCRENDERINGPOLICY int32

enum-lite implementation for the following constant structure

type DWMTRANSITION_OWNEDWINDOW_TARGET

type DWMTRANSITION_OWNEDWINDOW_TARGET int32

enum-lite implementation for the following constant structure

type DWMWINDOWATTRIBUTE

type DWMWINDOWATTRIBUTE int32

enum-lite implementation for the following constant structure

type DWM_BLURBEHIND

type DWM_BLURBEHIND struct {
	DwFlags uint32
	// contains filtered or unexported fields
}

http://msdn.microsoft.com/en-us/library/windows/desktop/aa969500.aspx

type DWM_FRAME_COUNT

type DWM_FRAME_COUNT uint64

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type DWM_PRESENT_PARAMETERS

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

http://msdn.microsoft.com/en-us/library/windows/desktop/aa969501.aspx

type DWM_SHOWCONTACT

type DWM_SHOWCONTACT int32

enum-lite implementation for the following constant structure

type DWM_SOURCE_FRAME_SAMPLING

type DWM_SOURCE_FRAME_SAMPLING int32

enum-lite implementation for the following constant structure

type DWM_THUMBNAIL_PROPERTIES

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

http://msdn.microsoft.com/en-us/library/windows/desktop/aa969502.aspx

type DWM_TIMING_INFO

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

http://msdn.microsoft.com/en-us/library/windows/desktop/aa969503.aspx

type DWORD

type DWORD uint32

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func GetCurrentProcessId

func GetCurrentProcessId() DWORD

func GetMonitorBrightness

func GetMonitorBrightness(monitor HANDLE) (ok bool, min, cur, max DWORD)

func GetNumberOfPhysicalMonitorsFromHMONITOR

func GetNumberOfPhysicalMonitorsFromHMONITOR(monitor HMONITOR) (bool, DWORD)

type ENHMETAHEADER

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
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd162607.aspx

type EVENTLOGRECORD

type EVENTLOGRECORD struct {
	Length              uint32
	Reserved            uint32
	RecordNumber        uint32
	TimeGenerated       uint32
	TimeWritten         uint32
	EventID             uint32
	EventType           uint16
	NumStrings          uint16
	EventCategory       uint16
	ReservedFlags       uint16
	ClosingRecordNumber uint32
	StringOffset        uint32
	UserSidLength       uint32
	UserSidOffset       uint32
	DataLength          uint32
	DataOffset          uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/aa363646.aspx

type EXCEPINFO

type EXCEPINFO struct {
	WCode             uint16
	WReserved         uint16
	BstrSource        *uint16
	BstrDescription   *uint16
	BstrHelpFile      *uint16
	DwHelpContext     uint32
	PvReserved        uintptr
	PfnDeferredFillIn uintptr
	Scode             int32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms221133.aspx

type FILETIME

type FILETIME struct {
	DwLowDateTime  uint32
	DwHighDateTime uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms724284.aspx

func GetSystemTimeAsFileTime

func GetSystemTimeAsFileTime() (time FILETIME)

func (FILETIME) ToUint64

func (t FILETIME) ToUint64() uint64

type GESTURE_TYPE

type GESTURE_TYPE int32

enum-lite implementation for the following constant structure

type GdiplusStartupInput

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

http://msdn.microsoft.com/en-us/library/windows/desktop/ms534067.aspx

type GdiplusStartupOutput

type GdiplusStartupOutput struct {
	NotificationHook   uintptr
	NotificationUnhook uintptr
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms534068.aspx

type HACCEL

type HACCEL HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func CreateAcceleratorTable

func CreateAcceleratorTable(acc []ACCEL) HACCEL

type HANDLE

type HANDLE uintptr

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func CreateActCtx

func CreateActCtx(ctx *ACTCTX) HANDLE

func CreateFile

func CreateFile(
	filename string,
	access uint32,
	shareMode uint32,
	security *SECURITY_ATTRIBUTES,
	disposition uint32,
	flags uint32,
	templateFile HANDLE,
) HANDLE

func CreateToolhelp32Snapshot

func CreateToolhelp32Snapshot(flags, processId uint32) HANDLE

func GetClipboardData

func GetClipboardData(uFormat uint) HANDLE

func GetCurrentActCtx

func GetCurrentActCtx() (HANDLE, bool)

func GetCurrentThread

func GetCurrentThread() HANDLE

func LoadImage

func LoadImage(
	inst HINSTANCE,
	name *uint16,
	typ uint,
	desiredWidth, desiredHeight int,
	load uint,
) HANDLE

func OpenEventLog

func OpenEventLog(servername string, sourcename string) HANDLE

func OpenProcess

func OpenProcess(desiredAccess uint32, inheritHandle bool, processId uint32) HANDLE

func OpenSCManager

func OpenSCManager(lpMachineName, lpDatabaseName string, dwDesiredAccess uint32) (HANDLE, error)

func OpenService

func OpenService(hSCManager HANDLE, lpServiceName string, dwDesiredAccess uint32) (HANDLE, error)

func SetClipboardData

func SetClipboardData(uFormat uint, hMem HANDLE) HANDLE

type HARDWAREINPUT

type HARDWAREINPUT struct {
	Msg    uint32
	ParamL uint16
	ParamH uint16
}

type HBITMAP

type HBITMAP HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func CreateCompatibleBitmap

func CreateCompatibleBitmap(hdc HDC, width, height int) HBITMAP

func CreateDIBSection

func CreateDIBSection(hdc HDC, pbmi *BITMAPINFO, iUsage uint, ppvBits *unsafe.Pointer, hSection HANDLE, dwOffset uint) HBITMAP

func GdipCreateHBITMAPFromBitmap

func GdipCreateHBITMAPFromBitmap(bitmap *uintptr, background uint32) (HBITMAP, error)

type HBRUSH

type HBRUSH HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func CreateBrushIndirect

func CreateBrushIndirect(lplb *LOGBRUSH) HBRUSH

func CreateSolidBrush

func CreateSolidBrush(color uint32) HBRUSH

func GetSysColorBrush

func GetSysColorBrush(index int) HBRUSH

type HCURSOR

type HCURSOR HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func LoadCursor

func LoadCursor(instance HINSTANCE, cursorName *uint16) HCURSOR

func SetCursor

func SetCursor(cursor HCURSOR) HCURSOR

type HDC

type HDC HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func BeginPaint

func BeginPaint(hwnd HWND, paint *PAINTSTRUCT) HDC

func CreateCompatibleDC

func CreateCompatibleDC(hdc HDC) HDC

func CreateDC

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

func CreateEnhMetaFile

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

func CreateIC

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

func GetDC

func GetDC(hwnd HWND) HDC

func GetWindowDC

func GetWindowDC(window HWND) HDC

func ResetDC

func ResetDC(hdc HDC, lpInitData *DEVMODE) HDC

type HDROP

type HDROP HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HDWP

type HDWP HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HENHMETAFILE

type HENHMETAFILE HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func CloseEnhMetaFile

func CloseEnhMetaFile(hdc HDC) HENHMETAFILE

func CopyEnhMetaFile

func CopyEnhMetaFile(hemfSrc HENHMETAFILE, lpszFile *uint16) HENHMETAFILE

func GetEnhMetaFile

func GetEnhMetaFile(lpszMetaFile *uint16) HENHMETAFILE

type HFONT

type HFONT HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func CreateFontIndirect

func CreateFontIndirect(logFont *LOGFONT) HFONT

type HGDIOBJ

type HGDIOBJ HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func GetStockObject

func GetStockObject(fnObject int) HGDIOBJ

func SelectObject

func SelectObject(hdc HDC, hgdiobj HGDIOBJ) HGDIOBJ

type HGLOBAL

type HGLOBAL HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func GlobalAlloc

func GlobalAlloc(uFlags uint, dwBytes uint32) HGLOBAL

func LoadResource

func LoadResource(hModule HMODULE, hResInfo HRSRC) HGLOBAL

type HGLRC

type HGLRC HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func WglCreateContext

func WglCreateContext(hdc HDC) HGLRC

func WglCreateLayerContext

func WglCreateLayerContext(hdc HDC, iLayerPlane int) HGLRC

type HHOOK

type HHOOK HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func SetWindowsHookEx

func SetWindowsHookEx(idHook int, lpfn HOOKPROC, hMod HINSTANCE, dwThreadId DWORD) HHOOK

type HICON

type HICON HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func CreateIcon

func CreateIcon(instance HINSTANCE, nWidth, nHeight int, cPlanes, cBitsPerPixel byte, ANDbits, XORbits *byte) HICON

func CreateIconFromResourceEx

func CreateIconFromResourceEx(
	mem unsafe.Pointer,
	memSize uint32,
	icon bool,
	version uint32,
	width int,
	height int,
	flags uint,
) HICON

func ExtractIcon

func ExtractIcon(lpszExeFileName string, nIconIndex int) HICON

func LoadIcon

func LoadIcon(instance HINSTANCE, iconName *uint16) HICON

type HIMAGELIST

type HIMAGELIST HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func ImageList_Create

func ImageList_Create(cx, cy int, flags uint, cInitial, cGrow int) HIMAGELIST

type HINSTANCE

type HINSTANCE HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func GetModuleHandle

func GetModuleHandle(modulename string) HINSTANCE

type HKEY

type HKEY HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

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
)

Registry predefined keys

func RegCreateKey

func RegCreateKey(hKey HKEY, subKey string) HKEY

func RegOpenKeyEx

func RegOpenKeyEx(hKey HKEY, subKey string, samDesired uint32) HKEY

type HKL

type HKL HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HMENU

type HMENU HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func CreateMenu

func CreateMenu() HMENU

func CreatePopupMenu

func CreatePopupMenu() HMENU

func GetMenu

func GetMenu(window HWND) HMENU

func GetSubMenu

func GetSubMenu(menu HMENU, pos int) HMENU

func GetSystemMenu

func GetSystemMenu(w HWND, revert bool) HMENU

func LoadMenu

func LoadMenu(inst HINSTANCE, menuName string) HMENU

func LoadMenuIndirect

func LoadMenuIndirect(template uintptr) HMENU

TODO create nice API for this

type HMODULE

type HMODULE HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HMONITOR

type HMONITOR HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func MonitorFromPoint

func MonitorFromPoint(x, y int, dwFlags uint32) HMONITOR

func MonitorFromRect

func MonitorFromRect(rc *RECT, dwFlags uint32) HMONITOR

func MonitorFromWindow

func MonitorFromWindow(hwnd HWND, dwFlags uint32) HMONITOR

type HOOKPROC

type HOOKPROC func(int, WPARAM, LPARAM) LRESULT

type HPEN

type HPEN HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func CreatePen

func CreatePen(style int, width int, color COLORREF) HPEN

func ExtCreatePen

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

type HRAWINPUT

type HRAWINPUT HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HRESULT

type HRESULT int32

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func CoInitializeEx

func CoInitializeEx(coInit uintptr) HRESULT

func DwmEnableBlurBehindWindow

func DwmEnableBlurBehindWindow(hWnd HWND, pBlurBehind *DWM_BLURBEHIND) HRESULT

func DwmEnableMMCSS

func DwmEnableMMCSS(fEnableMMCSS bool) HRESULT

func DwmExtendFrameIntoClientArea

func DwmExtendFrameIntoClientArea(hWnd HWND, pMarInset *MARGINS) HRESULT

func DwmFlush

func DwmFlush() HRESULT

func DwmGetColorizationColor

func DwmGetColorizationColor(pcrColorization *uint32, pfOpaqueBlend *BOOL) HRESULT

func DwmGetCompositionTimingInfo

func DwmGetCompositionTimingInfo(hWnd HWND, pTimingInfo *DWM_TIMING_INFO) HRESULT

func DwmGetTransportAttributes

func DwmGetTransportAttributes(pfIsRemoting *BOOL, pfIsConnected *BOOL, pDwGeneration *uint32) HRESULT

func DwmGetWindowAttribute

func DwmGetWindowAttribute(hWnd HWND, dwAttribute uint32) (pAttribute interface{}, result HRESULT)

TODO: verify handling of variable arguments

func DwmInvalidateIconicBitmaps

func DwmInvalidateIconicBitmaps(hWnd HWND) HRESULT

func DwmIsCompositionEnabled

func DwmIsCompositionEnabled(pfEnabled *BOOL) HRESULT

func DwmModifyPreviousDxFrameDuration

func DwmModifyPreviousDxFrameDuration(hWnd HWND, cRefreshes int, fRelative bool) HRESULT

func DwmQueryThumbnailSourceSize

func DwmQueryThumbnailSourceSize(hThumbnail HTHUMBNAIL, pSize *SIZE) HRESULT

func DwmRegisterThumbnail

func DwmRegisterThumbnail(hWndDestination HWND, hWndSource HWND, phThumbnailId *HTHUMBNAIL) HRESULT

func DwmSetDxFrameDuration

func DwmSetDxFrameDuration(hWnd HWND, cRefreshes int) HRESULT

func DwmSetIconicLivePreviewBitmap

func DwmSetIconicLivePreviewBitmap(hWnd HWND, hbmp HBITMAP, pptClient *POINT, dwSITFlags uint32) HRESULT

func DwmSetIconicThumbnail

func DwmSetIconicThumbnail(hWnd HWND, hbmp HBITMAP, dwSITFlags uint32) HRESULT

func DwmSetPresentParameters

func DwmSetPresentParameters(hWnd HWND, pPresentParams *DWM_PRESENT_PARAMETERS) HRESULT

func DwmSetWindowAttribute

func DwmSetWindowAttribute(hWnd HWND, dwAttribute uint32, pvAttribute LPCVOID, cbAttribute uint32) HRESULT

func DwmUnregisterThumbnail

func DwmUnregisterThumbnail(hThumbnailId HTHUMBNAIL) HRESULT

func DwmUpdateThumbnailProperties

func DwmUpdateThumbnailProperties(hThumbnailId HTHUMBNAIL, ptnProperties *DWM_THUMBNAIL_PROPERTIES) HRESULT

type HRGN

type HRGN HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HRSRC

type HRSRC HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func FindResource

func FindResource(hModule HMODULE, lpName, lpType *uint16) (HRSRC, error)

type HTHUMBNAIL

type HTHUMBNAIL HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type HWND

type HWND HANDLE

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func CreateDialog

func CreateDialog(hInstance HINSTANCE, lpTemplate *uint16, hWndParent HWND, lpDialogProc uintptr) HWND

func CreateWindow

func CreateWindow(className, windowName *uint16,
	style uint, x, y, width, height int, parent HWND, menu HMENU,
	instance HINSTANCE, param unsafe.Pointer) HWND

func CreateWindowEx

func CreateWindowEx(exStyle uint, className, windowName *uint16,
	style uint, x, y, width, height int, parent HWND, menu HMENU,
	instance HINSTANCE, param unsafe.Pointer) HWND

func CreateWindowExStr

func CreateWindowExStr(exStyle uint, className, windowName string,
	style uint, x, y, width, height int, parent HWND, menu HMENU,
	instance HINSTANCE, param unsafe.Pointer) HWND

func CreateWindowStr

func CreateWindowStr(className, windowName string,
	style uint, x, y, width, height int, parent HWND, menu HMENU,
	instance HINSTANCE, param unsafe.Pointer) HWND

func FindWindow

func FindWindow(className, windowName string) HWND

func GetActiveWindow

func GetActiveWindow() HWND

func GetConsoleWindow

func GetConsoleWindow() HWND

func GetDesktopWindow

func GetDesktopWindow() HWND

func GetDlgItem

func GetDlgItem(hDlg HWND, nIDDlgItem int) HWND

func GetFocus

func GetFocus() HWND

func GetForegroundWindow

func GetForegroundWindow() HWND

func GetNextWindow

func GetNextWindow(rel HWND, cmd uint) HWND

func GetTopWindow

func GetTopWindow(of HWND) HWND

func GetWindow

func GetWindow(rel HWND, cmd uint) HWND

func SetCapture

func SetCapture(hwnd HWND) HWND

func SetFocus

func SetFocus(hwnd HWND) HWND

type IDispatch

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

func ComQueryInterface

func ComQueryInterface(unknown *IUnknown, id *GUID) *IDispatch

func (*IDispatch) AddRef

func (d *IDispatch) AddRef() int32

func (*IDispatch) GetIDsOfName

func (d *IDispatch) GetIDsOfName(names []string) []int32

func (*IDispatch) Invoke

func (d *IDispatch) Invoke(dispid int32, dispatch int16, params ...interface{}) *VARIANT

func (*IDispatch) QueryInterface

func (d *IDispatch) QueryInterface(id *GUID) *IDispatch

func (*IDispatch) Release

func (d *IDispatch) Release() int32

type INITCOMMONCONTROLSEX

type INITCOMMONCONTROLSEX struct {
	ICC uint32
	// contains filtered or unexported fields
}

http://msdn.microsoft.com/en-us/library/windows/desktop/bb775507.aspx

type INPUT

type INPUT struct {
	Type uint32
	// contains filtered or unexported fields
}

INPUT is used in SendInput. To create a concrete INPUT type, use the helper functions MouseInput, KeyboardInput and HardwareInput. These are necessary because the C API uses a union here, which Go does not provide.

func HardwareInput

func HardwareInput(input HARDWAREINPUT) INPUT

func KeyboardInput

func KeyboardInput(input KEYBDINPUT) INPUT

func MouseInput

func MouseInput(input MOUSEINPUT) INPUT

type IStream

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

func CreateStreamOnHGlobal

func CreateStreamOnHGlobal(hGlobal HGLOBAL, fDeleteOnRelease bool) *IStream

func (*IStream) AddRef

func (s *IStream) AddRef() int32

func (*IStream) QueryInterface

func (s *IStream) QueryInterface(id *GUID) *IDispatch

func (*IStream) Release

func (s *IStream) Release() int32

type IUnknown

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

func (*IUnknown) AddRef

func (u *IUnknown) AddRef() int32

func (*IUnknown) QueryInterface

func (u *IUnknown) QueryInterface(id *GUID) *IDispatch

func (*IUnknown) Release

func (u *IUnknown) Release() int32

type KBDLLHOOKSTRUCT

type KBDLLHOOKSTRUCT struct {
	VkCode      DWORD
	ScanCode    DWORD
	Flags       DWORD
	Time        DWORD
	DwExtraInfo ULONG_PTR
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms644967(v=vs.85).aspx

type KEYBDINPUT

type KEYBDINPUT struct {
	Vk        uint16
	Scan      uint16
	Flags     uint32
	Time      uint32
	ExtraInfo uintptr
}

type LOGFONT

type LOGFONT struct {
	Height         int32
	Width          int32
	Escapement     int32
	Orientation    int32
	Weight         int32
	Italic         byte
	Underline      byte
	StrikeOut      byte
	CharSet        byte
	OutPrecision   byte
	ClipPrecision  byte
	Quality        byte
	PitchAndFamily byte
	FaceName       [LF_FACESIZE]uint16
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd145037.aspx

type LPARAM

type LPARAM uintptr

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type LPCVOID

type LPCVOID unsafe.Pointer

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type LRESULT

type LRESULT uintptr

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

func CallNextHookEx

func CallNextHookEx(hhk HHOOK, nCode int, wParam WPARAM, lParam LPARAM) LRESULT

type LVCOLUMN

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

http://msdn.microsoft.com/en-us/library/windows/desktop/bb774743.aspx

type LVHITTESTINFO

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

http://msdn.microsoft.com/en-us/library/windows/desktop/bb774754.aspx

type LVITEM

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
	PiColFmt   *int32
	IGroup     int32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/bb774760.aspx

type MARGINS

type MARGINS struct {
	CxLeftWidth, CxRightWidth, CyTopHeight, CyBottomHeight int32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/bb773244.aspx

type MENUBARINFO struct {
	Bar        RECT
	Menu       HMENU
	Window     HWND
	BarFocused int32 // bool
	Focused    int32 // bool
	// contains filtered or unexported fields
}
type MENUINFO struct {
	Mask          uint32
	Style         uint32
	YMax          uint32
	Back          HBRUSH
	ContextHelpID uint32
	MenuData      uintptr
	// contains filtered or unexported fields
}
type MENUITEMINFO struct {
	Size              uint32
	Mask              uint32
	Type              uint32
	State             uint32
	ID                uint32
	SubMenu           HMENU
	BmpChecked        HBITMAP
	BmpUnChecked      HBITMAP
	ItemData          uintptr
	TypeData          uintptr // UTF-16 string
	ItemTextCharCount uint32
	BmpItem           HBITMAP
}

type MODULEENTRY32

type MODULEENTRY32 struct {
	Size         uint32
	ModuleID     uint32
	ProcessID    uint32
	GlblcntUsage uint32
	ProccntUsage uint32
	ModBaseAddr  *uint8
	ModBaseSize  uint32
	HModule      HMODULE
	SzModule     [MAX_MODULE_NAME32 + 1]uint16
	SzExePath    [MAX_PATH]uint16
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms684225.aspx

type MONITORINFO

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

http://msdn.microsoft.com/en-us/library/windows/desktop/dd145065.aspx

type MOUSEINPUT

type MOUSEINPUT struct {
	Dx        int32
	Dy        int32
	MouseData uint32
	Flags     uint32
	Time      uint32
	ExtraInfo uintptr
}

type MilMatrix3x2D

type MilMatrix3x2D struct {
	S_11, S_12, S_21, S_22 float64
	DX, DY                 float64
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd389402.aspx

type NETRESOURCE

type NETRESOURCE struct {
	Scope       uint32
	Type        uint32
	DisplayType uint32
	Usage       uint32
	LocalName   string
	RemoteName  string
	Comment     string
	Provider    string
}

type NMITEMACTIVATE

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

http://msdn.microsoft.com/en-us/library/windows/desktop/bb774771.aspx

type NMLISTVIEW

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

http://msdn.microsoft.com/en-us/library/windows/desktop/bb774773.aspx

type NMLVODSTATECHANGE

type NMLVODSTATECHANGE struct {
	Hdr      NMHDR
	From     int32
	To       int32
	NewState uint32
	OldState uint32
}

type NMUPDOWN

type NMUPDOWN struct {
	Hdr   NMHDR
	Pos   int32
	Delta int32
}

type OPENFILENAME

type OPENFILENAME struct {
	StructSize      uint32
	Owner           HWND
	Instance        HINSTANCE
	Filter          *uint16
	CustomFilter    *uint16
	MaxCustomFilter uint32
	FilterIndex     uint32
	File            *uint16
	MaxFile         uint32
	FileTitle       *uint16
	MaxFileTitle    uint32
	InitialDir      *uint16
	Title           *uint16
	Flags           uint32
	FileOffset      uint16
	FileExtension   uint16
	DefExt          *uint16
	CustData        uintptr
	FnHook          uintptr
	TemplateName    *uint16
	PvReserved      unsafe.Pointer
	DwReserved      uint32
	FlagsEx         uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms646839.aspx

type OVERLAPPED

type OVERLAPPED struct {
	Internal     uintptr
	InternalHigh uintptr
	Pointer      uintptr
	Event        HANDLE
}

type PAINTSTRUCT

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

http://msdn.microsoft.com/en-us/library/windows/desktop/dd162768.aspx

type PHYSICAL_MONITOR

type PHYSICAL_MONITOR struct {
	Monitor     HANDLE
	Description [128]uint16
}

type PIXELFORMATDESCRIPTOR

type PIXELFORMATDESCRIPTOR struct {
	Size                   uint16
	Version                uint16
	DwFlags                uint32
	IPixelType             byte
	ColorBits              byte
	RedBits, RedShift      byte
	GreenBits, GreenShift  byte
	BlueBits, BlueShift    byte
	AlphaBits, AlphaShift  byte
	AccumBits              byte
	AccumRedBits           byte
	AccumGreenBits         byte
	AccumBlueBits          byte
	AccumAlphaBits         byte
	DepthBits, StencilBits byte
	AuxBuffers             byte
	ILayerType             byte
	Reserved               byte
	DwLayerMask            uint32
	DwVisibleMask          uint32
	DwDamageMask           uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd368826.aspx

type PVOID

type PVOID unsafe.Pointer

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type QPC_TIME

type QPC_TIME uint64

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type RAWHID

type RAWHID struct {
	SizeHid uint32
	Count   uint32
	RawData [1]byte
}

type RAWINPUT

type RAWINPUT struct {
	Header RAWINPUTHEADER
	// contains filtered or unexported fields
}

func GetRawInputData

func GetRawInputData(input HRAWINPUT, command uint) (raw RAWINPUT, ok bool)

func (*RAWINPUT) GetHid

func (i *RAWINPUT) GetHid() RAWHID

GetHid returns the raw input as a RAWHID. Make sure to check the Header's Type flag so this is valid.

func (*RAWINPUT) GetKeyboard

func (i *RAWINPUT) GetKeyboard() RAWKEYBOARD

GetKeyboard returns the raw input as a RAWKEYBOARD. Make sure to check the Header's Type flag so this is valid.

func (*RAWINPUT) GetMouse

func (i *RAWINPUT) GetMouse() RAWMOUSE

GetMouse returns the raw input as a RAWMOUSE. Make sure to check the Header's Type flag so this is valid.

type RAWINPUTDEVICE

type RAWINPUTDEVICE struct {
	UsagePage uint16
	Usage     uint16
	Flags     uint32
	Target    HWND
}

type RAWINPUTHEADER

type RAWINPUTHEADER struct {
	Type   uint32
	Size   uint32
	Device HANDLE
	WParam WPARAM
}

type RAWKEYBOARD

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

type RAWMOUSE

type RAWMOUSE struct {
	Flags            uint16
	Buttons          uint32
	RawButtons       uint32
	LastX            int32
	LastY            int32
	ExtraInformation uint32
}

func (*RAWMOUSE) ButtonData

func (m *RAWMOUSE) ButtonData() uint16

func (*RAWMOUSE) ButtonFlags

func (m *RAWMOUSE) ButtonFlags() uint16

type RECT

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

http://msdn.microsoft.com/en-us/library/windows/desktop/dd162897.aspx

func GetClientRect

func GetClientRect(hwnd HWND) *RECT

func GetWindowRect

func GetWindowRect(hwnd HWND) *RECT

func (*RECT) Height

func (r *RECT) Height() int32

func (*RECT) Width

func (r *RECT) Width() int32

type RGBQUAD

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

http://msdn.microsoft.com/en-us/library/windows/desktop/dd162938.aspx

type SECURITY_ATTRIBUTES

type SECURITY_ATTRIBUTES struct {
	Length             uint32
	SecurityDescriptor unsafe.Pointer
	InheritHandle      uint32 // bool value
}

type SERVICE_STATUS

type SERVICE_STATUS struct {
	DwServiceType             uint32
	DwCurrentState            uint32
	DwControlsAccepted        uint32
	DwWin32ExitCode           uint32
	DwServiceSpecificExitCode uint32
	DwCheckPoint              uint32
	DwWaitHint                uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms685996.aspx

type SIZE

type SIZE struct {
	CX, CY int32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd145106.aspx

func GetTextExtentPoint32

func GetTextExtentPoint32(hdc HDC, text string) (SIZE, bool)

type SMALL_RECT

type SMALL_RECT struct {
	Left, Top, Right, Bottom int16
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms686311.aspx

type STORAGE_DEVICE_DESCRIPTOR

type STORAGE_DEVICE_DESCRIPTOR struct {
	Version               uint32
	Size                  uint32
	DeviceType            byte
	DeviceTypeModifier    byte
	RemovableMedia        byte // bool value
	CommandQueueing       byte // bool value
	VendorIdOffset        uint32
	ProductIdOffset       uint32
	ProductRevisionOffset uint32
	SerialNumberOffset    uint32
	BusType               uint32 // STORAGE_BUS_TYPE
	RawPropertiesLength   uint32
	RawDeviceProperties   [1]byte
}

type STORAGE_PROPERTY_QUERY

type STORAGE_PROPERTY_QUERY struct {
	PropertyId           uint32
	QueryType            uint32
	AdditionalParameters [1]byte
}

type SYSTEMTIME

type SYSTEMTIME struct {
	Year         uint16
	Month        uint16
	DayOfWeek    uint16
	Day          uint16
	Hour         uint16
	Minute       uint16
	Second       uint16
	Milliseconds uint16
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms724950(v=vs.85).aspx

func GetSystemTime

func GetSystemTime() (time SYSTEMTIME)

type TEXTMETRIC

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
}

http://msdn.microsoft.com/en-us/library/windows/desktop/dd145132.aspx

type TOOLINFO

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

http://msdn.microsoft.com/en-us/library/windows/desktop/bb760256.aspx

type TPMPARAMS

type TPMPARAMS struct {
	Size    uint32
	Exclude RECT
}

type TRACKMOUSEEVENT

type TRACKMOUSEEVENT struct {
	CbSize      uint32
	DwFlags     uint32
	HwndTrack   HWND
	DwHoverTime uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms645604.aspx

type ULONG_PTR

type ULONG_PTR uintptr

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

type UNSIGNED_RATIO

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

http://msdn.microsoft.com/en-us/library/windows/desktop/aa969505.aspx

type VARIANT

type VARIANT struct {
	VT         uint16 //  2
	WReserved1 uint16 //  4
	WReserved2 uint16 //  6
	WReserved3 uint16 //  8
	Val        int64  // 16
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms221627.aspx

func ComInvoke

func ComInvoke(disp *IDispatch, dispid int32, dispatch int16, params ...interface{}) (result *VARIANT)

type VS_FIXEDFILEINFO

type VS_FIXEDFILEINFO struct {
	Signature        uint32
	StrucVersion     uint32
	FileVersionMS    uint32
	FileVersionLS    uint32
	ProductVersionMS uint32
	ProductVersionLS uint32
	FileFlagsMask    uint32
	FileFlags        uint32
	FileOS           uint32
	FileType         uint32
	FileSubtype      uint32
	FileDateMS       uint32
	FileDateLS       uint32
}

func VerQueryValueRoot

func VerQueryValueRoot(block []byte) (VS_FIXEDFILEINFO, bool)

VerQueryValueRoot calls VerQueryValue (https://msdn.microsoft.com/en-us/library/windows/desktop/ms647464(v=vs.85).aspx) with `\` (root) to retieve the VS_FIXEDFILEINFO.

func (VS_FIXEDFILEINFO) FileDate

func (fi VS_FIXEDFILEINFO) FileDate() uint64

FileDate concatenates FileDateMS and FileDateLS to a uint64 value.

func (VS_FIXEDFILEINFO) FileVersion

func (fi VS_FIXEDFILEINFO) FileVersion() uint64

FileVersion concatenates FileVersionMS and FileVersionLS to a uint64 value.

type WINDOWPLACEMENT

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

type WNDCLASSEX

type WNDCLASSEX struct {
	Size       uint32
	Style      uint32
	WndProc    uintptr
	ClsExtra   int32
	WndExtra   int32
	Instance   HINSTANCE
	Icon       HICON
	Cursor     HCURSOR
	Background HBRUSH
	MenuName   *uint16
	ClassName  *uint16
	IconSm     HICON
}

http://msdn.microsoft.com/en-us/library/windows/desktop/ms633577.aspx

type WPARAM

type WPARAM uintptr

From MSDN: Windows Data Types http://msdn.microsoft.com/en-us/library/s3f49ktz.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751.aspx ATOM WORD BOOL int32 BOOLEAN byte BYTE byte CCHAR int8 CHAR int8 COLORREF DWORD DWORD uint32 DWORDLONG ULONGLONG DWORD_PTR ULONG_PTR DWORD32 uint32 DWORD64 uint64 FLOAT float32 HACCEL HANDLE HALF_PTR struct{} // ??? HANDLE PVOID HBITMAP HANDLE HBRUSH HANDLE HCOLORSPACE HANDLE HCONV HANDLE HCONVLIST HANDLE HCURSOR HANDLE HDC HANDLE HDDEDATA HANDLE HDESK HANDLE HDROP HANDLE HDWP HANDLE HENHMETAFILE HANDLE HFILE HANDLE HFONT HANDLE HGDIOBJ HANDLE HGLOBAL HANDLE HHOOK HANDLE HICON HANDLE HINSTANCE HANDLE HKEY HANDLE HKL HANDLE HLOCAL HANDLE HMENU HANDLE HMETAFILE HANDLE HMODULE HANDLE HPALETTE HANDLE HPEN HANDLE HRESULT int32 HRGN HANDLE HSZ HANDLE HWINSTA HANDLE HWND HANDLE INT int32 INT_PTR uintptr INT8 int8 INT16 int16 INT32 int32 INT64 int64 LANGID WORD LCID DWORD LCTYPE DWORD LGRPID DWORD LONG int32 LONGLONG int64 LONG_PTR uintptr LONG32 int32 LONG64 int64 LPARAM LONG_PTR LPBOOL *BOOL LPBYTE *BYTE LPCOLORREF *COLORREF LPCSTR *int8 LPCTSTR LPCWSTR LPCVOID unsafe.Pointer LPCWSTR *WCHAR LPDWORD *DWORD LPHANDLE *HANDLE LPINT *INT LPLONG *LONG LPSTR *CHAR LPTSTR LPWSTR LPVOID unsafe.Pointer LPWORD *WORD LPWSTR *WCHAR LRESULT LONG_PTR PBOOL *BOOL PBOOLEAN *BOOLEAN PBYTE *BYTE PCHAR *CHAR PCSTR *CHAR PCTSTR PCWSTR PCWSTR *WCHAR PDWORD *DWORD PDWORDLONG *DWORDLONG PDWORD_PTR *DWORD_PTR PDWORD32 *DWORD32 PDWORD64 *DWORD64 PFLOAT *FLOAT PHALF_PTR *HALF_PTR PHANDLE *HANDLE PHKEY *HKEY PINT_PTR *INT_PTR PINT8 *INT8 PINT16 *INT16 PINT32 *INT32 PINT64 *INT64 PLCID *LCID PLONG *LONG PLONGLONG *LONGLONG PLONG_PTR *LONG_PTR PLONG32 *LONG32 PLONG64 *LONG64 POINTER_32 struct{} // ??? POINTER_64 struct{} // ??? POINTER_SIGNED uintptr POINTER_UNSIGNED uintptr PSHORT *SHORT PSIZE_T *SIZE_T PSSIZE_T *SSIZE_T PSTR *CHAR PTBYTE *TBYTE PTCHAR *TCHAR PTSTR PWSTR PUCHAR *UCHAR PUHALF_PTR *UHALF_PTR PUINT *UINT PUINT_PTR *UINT_PTR PUINT8 *UINT8 PUINT16 *UINT16 PUINT32 *UINT32 PUINT64 *UINT64 PULONG *ULONG PULONGLONG *ULONGLONG PULONG_PTR *ULONG_PTR PULONG32 *ULONG32 PULONG64 *ULONG64 PUSHORT *USHORT PVOID unsafe.Pointer PWCHAR *WCHAR PWORD *WORD PWSTR *WCHAR QWORD uint64 SC_HANDLE HANDLE SC_LOCK LPVOID SERVICE_STATUS_HANDLE HANDLE SHORT int16 SIZE_T ULONG_PTR SSIZE_T LONG_PTR TBYTE WCHAR TCHAR WCHAR UCHAR uint8 UHALF_PTR struct{} // ??? UINT uint32 UINT_PTR uintptr UINT8 uint8 UINT16 uint16 UINT32 uint32 UINT64 uint64 ULONG uint32 ULONGLONG uint64 ULONG_PTR uintptr ULONG32 uint32 ULONG64 uint64 USHORT uint16 USN LONGLONG WCHAR uint16 WORD uint16 WPARAM UINT_PTR

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL