w32

package module
Version: v0.0.0-...-ad0a36d Latest Latest
Warning

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

Go to latest
Published: Apr 28, 2018 License: BSD-3-Clause Imports: 5 Imported by: 51

README

About w32

w32 is a wrapper of windows apis for the Go Programming Language.

It wraps win32 apis to "Go style" to make them easier to use.

Setup

  1. Make sure you have a working Go installation and build environment, see this go-nuts post for details: http://groups.google.com/group/golang-nuts/msg/5c87630a84f4fd0c

    Updated versions of the Windows Go build are available here: http://code.google.com/p/gomingw/downloads/list

  2. Create a "gopath" directory if you do not have one yet and set the GOPATH variable accordingly. For example: mkdir -p go-externals/src export GOPATH=${PWD}/go-externals

  3. go get github.com/AllenDang/w32

  4. go install github.com/AllenDang/w32...

Contribute

Contributions in form of design, code, documentation, bug reporting or other ways you see fit are very welcome.

Thank You!

Documentation

Index

Constants

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 (
	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 (
	WNODE_FLAG_ALL_DATA              = 0x00000001
	WNODE_FLAG_SINGLE_INSTANCE       = 0x00000002
	WNODE_FLAG_SINGLE_ITEM           = 0x00000004
	WNODE_FLAG_EVENT_ITEM            = 0x00000008
	WNODE_FLAG_FIXED_INSTANCE_SIZE   = 0x00000010
	WNODE_FLAG_TOO_SMALL             = 0x00000020
	WNODE_FLAG_INSTANCES_SAME        = 0x00000040
	WNODE_FLAG_STATIC_INSTANCE_NAMES = 0x00000080
	WNODE_FLAG_INTERNAL              = 0x00000100
	WNODE_FLAG_USE_TIMESTAMP         = 0x00000200
	WNODE_FLAG_PERSIST_EVENT         = 0x00000400
	WNODE_FLAG_EVENT_REFERENCE       = 0x00002000
	WNODE_FLAG_ANSI_INSTANCENAMES    = 0x00004000
	WNODE_FLAG_METHOD_ITEM           = 0x00008000
	WNODE_FLAG_PDO_INSTANCE_NAMES    = 0x00010000
	WNODE_FLAG_TRACED_GUID           = 0x00020000
	WNODE_FLAG_LOG_WNODE             = 0x00040000
	WNODE_FLAG_USE_GUID_PTR          = 0x00080000
	WNODE_FLAG_USE_MOF_PTR           = 0x00100000
	WNODE_FLAG_NO_HEADER             = 0x00200000
	WNODE_FLAG_SEVERITY_MASK         = 0xff000000
)

WNODE flags, for ETW (Event Tracing for Windows) / WMI

View Source
const (
	EVENT_TRACE_TYPE_INFO                  = 0x00
	EVENT_TRACE_TYPE_START                 = 0x01
	EVENT_TRACE_TYPE_END                   = 0x02
	EVENT_TRACE_TYPE_STOP                  = 0x02
	EVENT_TRACE_TYPE_DC_START              = 0x03
	EVENT_TRACE_TYPE_DC_END                = 0x04
	EVENT_TRACE_TYPE_EXTENSION             = 0x05
	EVENT_TRACE_TYPE_REPLY                 = 0x06
	EVENT_TRACE_TYPE_DEQUEUE               = 0x07
	EVENT_TRACE_TYPE_RESUME                = 0x07
	EVENT_TRACE_TYPE_CHECKPOINT            = 0x08
	EVENT_TRACE_TYPE_SUSPEND               = 0x08
	EVENT_TRACE_TYPE_WINEVT_SEND           = 0x09
	EVENT_TRACE_TYPE_WINEVT_RECEIVE        = 0XF0
	TRACE_LEVEL_NONE                       = 0
	TRACE_LEVEL_CRITICAL                   = 1
	TRACE_LEVEL_FATAL                      = 1
	TRACE_LEVEL_ERROR                      = 2
	TRACE_LEVEL_WARNING                    = 3
	TRACE_LEVEL_INFORMATION                = 4
	TRACE_LEVEL_VERBOSE                    = 5
	TRACE_LEVEL_RESERVED6                  = 6
	TRACE_LEVEL_RESERVED7                  = 7
	TRACE_LEVEL_RESERVED8                  = 8
	TRACE_LEVEL_RESERVED9                  = 9
	EVENT_TRACE_TYPE_LOAD                  = 0x0A
	EVENT_TRACE_TYPE_IO_READ               = 0x0A
	EVENT_TRACE_TYPE_IO_WRITE              = 0x0B
	EVENT_TRACE_TYPE_IO_READ_INIT          = 0x0C
	EVENT_TRACE_TYPE_IO_WRITE_INIT         = 0x0D
	EVENT_TRACE_TYPE_IO_FLUSH              = 0x0E
	EVENT_TRACE_TYPE_IO_FLUSH_INIT         = 0x0F
	EVENT_TRACE_TYPE_MM_TF                 = 0x0A
	EVENT_TRACE_TYPE_MM_DZF                = 0x0B
	EVENT_TRACE_TYPE_MM_COW                = 0x0C
	EVENT_TRACE_TYPE_MM_GPF                = 0x0D
	EVENT_TRACE_TYPE_MM_HPF                = 0x0E
	EVENT_TRACE_TYPE_MM_AV                 = 0x0F
	EVENT_TRACE_TYPE_SEND                  = 0x0A
	EVENT_TRACE_TYPE_RECEIVE               = 0x0B
	EVENT_TRACE_TYPE_CONNECT               = 0x0C
	EVENT_TRACE_TYPE_DISCONNECT            = 0x0D
	EVENT_TRACE_TYPE_RETRANSMIT            = 0x0E
	EVENT_TRACE_TYPE_ACCEPT                = 0x0F
	EVENT_TRACE_TYPE_RECONNECT             = 0x10
	EVENT_TRACE_TYPE_CONNFAIL              = 0x11
	EVENT_TRACE_TYPE_COPY_TCP              = 0x12
	EVENT_TRACE_TYPE_COPY_ARP              = 0x13
	EVENT_TRACE_TYPE_ACKFULL               = 0x14
	EVENT_TRACE_TYPE_ACKPART               = 0x15
	EVENT_TRACE_TYPE_ACKDUP                = 0x16
	EVENT_TRACE_TYPE_GUIDMAP               = 0x0A
	EVENT_TRACE_TYPE_CONFIG                = 0x0B
	EVENT_TRACE_TYPE_SIDINFO               = 0x0C
	EVENT_TRACE_TYPE_SECURITY              = 0x0D
	EVENT_TRACE_TYPE_REGCREATE             = 0x0A
	EVENT_TRACE_TYPE_REGOPEN               = 0x0B
	EVENT_TRACE_TYPE_REGDELETE             = 0x0C
	EVENT_TRACE_TYPE_REGQUERY              = 0x0D
	EVENT_TRACE_TYPE_REGSETVALUE           = 0x0E
	EVENT_TRACE_TYPE_REGDELETEVALUE        = 0x0F
	EVENT_TRACE_TYPE_REGQUERYVALUE         = 0x10
	EVENT_TRACE_TYPE_REGENUMERATEKEY       = 0x11
	EVENT_TRACE_TYPE_REGENUMERATEVALUEKEY  = 0x12
	EVENT_TRACE_TYPE_REGQUERYMULTIPLEVALUE = 0x13
	EVENT_TRACE_TYPE_REGSETINFORMATION     = 0x14
	EVENT_TRACE_TYPE_REGFLUSH              = 0x15
	EVENT_TRACE_TYPE_REGKCBCREATE          = 0x16
	EVENT_TRACE_TYPE_REGKCBDELETE          = 0x17
	EVENT_TRACE_TYPE_REGKCBRUNDOWNBEGIN    = 0x18
	EVENT_TRACE_TYPE_REGKCBRUNDOWNEND      = 0x19
	EVENT_TRACE_TYPE_REGVIRTUALIZE         = 0x1A
	EVENT_TRACE_TYPE_REGCLOSE              = 0x1B
	EVENT_TRACE_TYPE_REGSETSECURITY        = 0x1C
	EVENT_TRACE_TYPE_REGQUERYSECURITY      = 0x1D
	EVENT_TRACE_TYPE_REGCOMMIT             = 0x1E
	EVENT_TRACE_TYPE_REGPREPARE            = 0x1F
	EVENT_TRACE_TYPE_REGROLLBACK           = 0x20
	EVENT_TRACE_TYPE_REGMOUNTHIVE          = 0x21
	EVENT_TRACE_TYPE_CONFIG_CPU            = 0x0A
	EVENT_TRACE_TYPE_CONFIG_PHYSICALDISK   = 0x0B
	EVENT_TRACE_TYPE_CONFIG_LOGICALDISK    = 0x0C
	EVENT_TRACE_TYPE_CONFIG_NIC            = 0x0D
	EVENT_TRACE_TYPE_CONFIG_VIDEO          = 0x0E
	EVENT_TRACE_TYPE_CONFIG_SERVICES       = 0x0F
	EVENT_TRACE_TYPE_CONFIG_POWER          = 0x10
	EVENT_TRACE_TYPE_CONFIG_NETINFO        = 0x11
	EVENT_TRACE_TYPE_CONFIG_IRQ            = 0x15
	EVENT_TRACE_TYPE_CONFIG_PNP            = 0x16
	EVENT_TRACE_TYPE_CONFIG_IDECHANNEL     = 0x17
	EVENT_TRACE_TYPE_CONFIG_PLATFORM       = 0x19
	EVENT_TRACE_FLAG_PROCESS               = 0x00000001
	EVENT_TRACE_FLAG_THREAD                = 0x00000002
	EVENT_TRACE_FLAG_IMAGE_LOAD            = 0x00000004
	EVENT_TRACE_FLAG_DISK_IO               = 0x00000100
	EVENT_TRACE_FLAG_DISK_FILE_IO          = 0x00000200
	EVENT_TRACE_FLAG_MEMORY_PAGE_FAULTS    = 0x00001000
	EVENT_TRACE_FLAG_MEMORY_HARD_FAULTS    = 0x00002000
	EVENT_TRACE_FLAG_NETWORK_TCPIP         = 0x00010000
	EVENT_TRACE_FLAG_REGISTRY              = 0x00020000
	EVENT_TRACE_FLAG_DBGPRINT              = 0x00040000
	EVENT_TRACE_FLAG_PROCESS_COUNTERS      = 0x00000008
	EVENT_TRACE_FLAG_CSWITCH               = 0x00000010
	EVENT_TRACE_FLAG_DPC                   = 0x00000020
	EVENT_TRACE_FLAG_INTERRUPT             = 0x00000040
	EVENT_TRACE_FLAG_SYSTEMCALL            = 0x00000080
	EVENT_TRACE_FLAG_DISK_IO_INIT          = 0x00000400
	EVENT_TRACE_FLAG_ALPC                  = 0x00100000
	EVENT_TRACE_FLAG_SPLIT_IO              = 0x00200000
	EVENT_TRACE_FLAG_DRIVER                = 0x00800000
	EVENT_TRACE_FLAG_PROFILE               = 0x01000000
	EVENT_TRACE_FLAG_FILE_IO               = 0x02000000
	EVENT_TRACE_FLAG_FILE_IO_INIT          = 0x04000000
	EVENT_TRACE_FLAG_DISPATCHER            = 0x00000800
	EVENT_TRACE_FLAG_VIRTUAL_ALLOC         = 0x00004000
	EVENT_TRACE_FLAG_EXTENSION             = 0x80000000
	EVENT_TRACE_FLAG_FORWARD_WMI           = 0x40000000
	EVENT_TRACE_FLAG_ENABLE_RESERVE        = 0x20000000
	EVENT_TRACE_FILE_MODE_NONE             = 0x00000000
	EVENT_TRACE_FILE_MODE_SEQUENTIAL       = 0x00000001
	EVENT_TRACE_FILE_MODE_CIRCULAR         = 0x00000002
	EVENT_TRACE_FILE_MODE_APPEND           = 0x00000004
	EVENT_TRACE_REAL_TIME_MODE             = 0x00000100
	EVENT_TRACE_DELAY_OPEN_FILE_MODE       = 0x00000200
	EVENT_TRACE_BUFFERING_MODE             = 0x00000400
	EVENT_TRACE_PRIVATE_LOGGER_MODE        = 0x00000800
	EVENT_TRACE_ADD_HEADER_MODE            = 0x00001000
	EVENT_TRACE_USE_GLOBAL_SEQUENCE        = 0x00004000
	EVENT_TRACE_USE_LOCAL_SEQUENCE         = 0x00008000
	EVENT_TRACE_RELOG_MODE                 = 0x00010000
	EVENT_TRACE_USE_PAGED_MEMORY           = 0x01000000
	EVENT_TRACE_FILE_MODE_NEWFILE          = 0x00000008
	EVENT_TRACE_FILE_MODE_PREALLOCATE      = 0x00000020
	EVENT_TRACE_NONSTOPPABLE_MODE          = 0x00000040
	EVENT_TRACE_SECURE_MODE                = 0x00000080
	EVENT_TRACE_USE_KBYTES_FOR_SIZE        = 0x00002000
	EVENT_TRACE_PRIVATE_IN_PROC            = 0x00020000
	EVENT_TRACE_MODE_RESERVED              = 0x00100000
	EVENT_TRACE_NO_PER_PROCESSOR_BUFFERING = 0x10000000
	EVENT_TRACE_CONTROL_QUERY              = 0
	EVENT_TRACE_CONTROL_STOP               = 1
	EVENT_TRACE_CONTROL_UPDATE             = 2
	EVENT_TRACE_CONTROL_FLUSH              = 3
)

ETW flags and types etc

View Source
const (
	ALPC_PORFLG_ALLOW_LPC_REQUESTS = 0x20000
	ALPC_PORFLG_SYSTEM_PROCESS     = 0x100000
	ALPC_PORFLG_WAITABLE_PORT      = 0x40000
)
View Source
const (
	ALPC_MSGFLG_REPLY_MESSAGE   = 0x1
	ALPC_MSGFLG_LPC_MODE        = 0x2     // ?
	ALPC_MSGFLG_RELEASE_MESSAGE = 0x10000 // dbg
	ALPC_MSGFLG_SYNC_REQUEST    = 0x20000 // dbg
	ALPC_MSGFLG_WAIT_USER_MODE  = 0x100000
	ALPC_MSGFLG_WAIT_ALERTABLE  = 0x200000
	ALPC_MSGFLG_WOW64_CALL      = 0x80000000 // dbg
)
View Source
const (
	ALPC_MESSAGE_SECURITY_ATTRIBUTE = 0x80000000
	ALPC_MESSAGE_VIEW_ATTRIBUTE     = 0x40000000
	ALPC_MESSAGE_CONTEXT_ATTRIBUTE  = 0x20000000
	ALPC_MESSAGE_HANDLE_ATTRIBUTE   = 0x10000000
)
View Source
const (
	OBJ_INHERIT          = 0x00000002
	OBJ_PERMANENT        = 0x00000010
	OBJ_EXCLUSIVE        = 0x00000020
	OBJ_CASE_INSENSITIVE = 0x00000040
	OBJ_OPENIF           = 0x00000080
	OBJ_OPENLINK         = 0x00000100
	OBJ_KERNEL_HANDLE    = 0x00000200
)
View Source
const (
	LPC_REQUEST               = 1
	LPC_REPLY                 = 2
	LPC_DATAGRAM              = 3
	LPC_LOST_REPLY            = 4
	LPC_PORT_CLOSED           = 5
	LPC_CLIENT_DIED           = 6
	LPC_EXCEPTION             = 7
	LPC_DEBUG_EVENT           = 8
	LPC_ERROR_EVENT           = 9
	LPC_CONNECTION_REQUEST    = 10
	LPC_CONTINUATION_REQUIRED = 0x2000
)
View Source
const (
	SecurityAnonymous      uint32 = 1
	SecurityIdentification uint32 = 2
	SecurityImpersonation  uint32 = 3
	SecurityDelegation     uint32 = 4
)
View Source
const (
	SECURITY_DYNAMIC_TRACKING byte = 1
	SECURITY_STATIC_TRACKING  byte = 0
)
View Source
const (
	ALPC_SYNC_OBJECT_TYPE   uint32 = 2
	ALPC_THREAD_OBJECT_TYPE uint32 = 4
)
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 (
	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_XBUTTONDOWN            = 523
	WM_XBUTTONUP              = 524
	WM_XBUTTONDBLCLK          = 525
	WM_MOUSEHWHEEL            = 526
	WM_MOUSEFIRST             = 512
	WM_MOUSELAST              = 526
	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
)

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 (
	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_PACKET              = 0xE7
	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 (
	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 (
	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 (
	MEM_COMMIT     = 0x00001000
	MEM_RESERVE    = 0x00002000
	MEM_RESET      = 0x00080000
	MEM_RESET_UNDO = 0x1000000

	MEM_LARGE_PAGES = 0x20000000
	MEM_PHYSICAL    = 0x00400000
	MEM_TOP_DOWN    = 0x00100000

	MEM_DECOMMIT = 0x4000
	MEM_RELEASE  = 0x8000
)
View Source
const (
	PROCESS_CREATE_PROCESS            = 0x0080
	PROCESS_CREATE_THREAD             = 0x0002
	PROCESS_DUP_HANDLE                = 0x0040
	PROCESS_QUERY_INFORMATION         = 0x0400
	PROCESS_QUERY_LIMITED_INFORMATION = 0x1000
	PROCESS_SET_INFORMATION           = 0x0200
	PROCESS_SET_QUOTA                 = 0x0100
	PROCESS_SUSPEND_RESUME            = 0x0800
	PROCESS_TERMINATE                 = 0x0001
	PROCESS_VM_OPERATION              = 0x0008
	PROCESS_VM_READ                   = 0x0010
	PROCESS_VM_WRITE                  = 0x0020
	SYNCHRONIZE                       = 0x00100000
)
View Source
const (
	PAGE_EXECUTE           = 0x10
	PAGE_EXECUTE_READ      = 0x20
	PAGE_EXECUTE_READWRITE = 0x40
	PAGE_EXECUTE_WRITECOPY = 0x80
	PAGE_NOACCESS          = 0x01
	PAGE_READWRITE         = 0x04
	PAGE_WRITECOPY         = 0x08
	PAGE_TARGETS_INVALID   = 0x40000000
	PAGE_TARGETS_NO_UPDATE = 0x40000000
)
View Source
const (
	SMTO_ABORTIFHUNG        = 0x0002
	SMTO_BLOCK              = 0x0001
	SMTO_NORMAL             = 0x0000
	SMTO_NOTIMEOUTIFNOTHUNG = 0x0008
	SMTO_ERRORONEXIT        = 0x0020
)

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

View Source
const (
	RDW_ERASE           = 4
	RDW_ALLCHILDREN     = 0x80
	RDW_ERASENOW        = 0x200
	RDW_FRAME           = 0x400
	RDW_INTERNALPAINT   = 2
	RDW_INVALIDATE      = 1
	RDW_NOCHILDREN      = 0x40
	RDW_NOERASE         = 0x20
	RDW_NOFRAME         = 0x800
	RDW_NOINTERNALPAINT = 0x10
	RDW_UPDATENOW       = 0x100
	RDW_VALIDATE        = 8
)

RedrawWindow Flags

View Source
const (
	WAIT_ABANDONED = 0x00000080
	WAIT_OBJECT_0  = 0x00000000
	WAIT_TIMEOUT   = 0x00000102
	WAIT_FAILED    = 0xFFFFFFFF
	INFINITE       = 0xFFFFFFFF
)
View Source
const (
	RTL_CLONE_PROCESS_FLAGS_CREATE_SUSPENDED = 0x00000001
	RTL_CLONE_PROCESS_FLAGS_INHERIT_HANDLES  = 0x00000002
	RTL_CLONE_PROCESS_FLAGS_NO_SYNCHRONIZE   = 0x00000004

	RTL_CLONE_PARENT = 0
	RTL_CLONE_CHILD  = 297

	THREAD_TERMINATE                 = 0x0001
	THREAD_SUSPEND_RESUME            = 0x0002
	THREAD_GET_CONTEXT               = 0x0008
	THREAD_SET_CONTEXT               = 0x0010
	THREAD_SET_INFORMATION           = 0x0020
	THREAD_QUERY_INFORMATION         = 0x0040
	THREAD_SET_THREAD_TOKEN          = 0x0080
	THREAD_IMPERSONATE               = 0x0100
	THREAD_DIRECT_IMPERSONATION      = 0x0200
	THREAD_SET_LIMITED_INFORMATION   = 0x0400
	THREAD_QUERY_LIMITED_INFORMATION = 0x0800
	THREAD_ALL_ACCESS                = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xffff

	PROCESS_SET_SESSIONID = 0x0004
	PROCESS_ALL_ACCESS    = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xffff
)
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
)
View Source
const CLR_INVALID = 0xFFFFFFFF
View Source
const (
	CW_USEDEFAULT = ^0x7fffffff
)
View Source
const (
	KERNEL_LOGGER_NAME = "NT Kernel Logger"
)
View Source
const LF_FACESIZE = 32
View Source
const (
	OFN_EX_NOPLACESBAR = 0x00000001
)

GetOpenFileName and GetSaveFileName extended flags

View Source
const PORT_MESSAGE_SIZE = 0x28
View Source
const SECURITY_QOS_SIZE = 12
View Source
const SHORT_MESSAGE_MAX_PAYLOAD uint16 = SHORT_MESSAGE_MAX_SIZE - PORT_MESSAGE_SIZE
View Source
const SHORT_MESSAGE_MAX_SIZE uint16 = 65535 // MAX_USHORT
View Source
const (
	STANDARD_RIGHTS_REQUIRED = 0x000F
)

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}}
)
View Source
var (
	SystemTraceControlGuid = GUID{
		0x9e814aad,
		0x3204,
		0x11d2,
		[8]byte{0x9a, 0x82, 0x00, 0x60, 0x08, 0xa8, 0x69, 0x39},
	}
)

Functions

func AbortDoc

func AbortDoc(hdc HDC) int

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 AllocConsole

func AllocConsole() (e error)

BOOL WINAPI AllocConsole(void);

func AlpcGetMessageAttribute

func AlpcGetMessageAttribute(buf *ALPC_MESSAGE_ATTRIBUTES, attr uint32) unsafe.Pointer

ptr := AlpcGetMessageAttribute(&recvMsgAttrs, ALPC_MESSAGE_CONTEXT_ATTRIBUTE) if ptr != nil {

context := (*ALPC_CONTEXT_ATTR)(ptr)

}

func BitBlt

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

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 ChoosePixelFormat

func ChoosePixelFormat(hdc HDC, pfd *PIXELFORMATDESCRIPTOR) int

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 ControlTrace

func ControlTrace(hTrace TRACEHANDLE, lpSessionName string, props *EVENT_TRACE_PROPERTIES, dwControl uint32) (success bool, e error)

func CopyRect

func CopyRect(dst, src *RECT) bool

func CreateProcessW

func CreateProcessW(
	lpApplicationName, lpCommandLine string,
	lpProcessAttributes, lpThreadAttributes *SECURITY_ATTRIBUTES,
	bInheritHandles BOOL,
	dwCreationFlags uint32,
	lpEnvironment unsafe.Pointer,
	lpCurrentDirectory string,
	lpStartupInfo *STARTUPINFOW,
	lpProcessInformation *PROCESS_INFORMATION,
) (e error)

WINBASEAPI WINBOOL WINAPI CreateProcessW ( LPCWSTR lpApplicationName, LPWSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes WINBOOL bInheritHandles DWORD dwCreationFlags LPVOID lpEnvironment LPCWSTR lpCurrentDirectory LPSTARTUPINFOW lpStartupInfo LPPROCESS_INFORMATION lpProcessInformation );

func DefDlgProc

func DefDlgProc(hwnd HWND, msg uint32, wParam, lParam 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 DeleteObject

func DeleteObject(hObject HGDIOBJ) bool

func DescribePixelFormat

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

func DestroyIcon

func DestroyIcon(icon HICON) bool

func DestroyWindow

func DestroyWindow(hwnd HWND) 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 DrawText

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

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 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 EndPage

func EndPage(hdc HDC) int

func EndPaint

func EndPaint(hwnd HWND, paint *PAINTSTRUCT)

func EnumChildWindows

func EnumChildWindows(hWndParent HWND, lpEnumFunc WNDENUMPROC, lParam LPARAM) bool

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 EqualRect

func EqualRect(rect1, rect2 *RECT) bool

func FillRect

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

func Fork

func Fork() (pid uintptr, e error)

Fork creates a clone of the current process using the undocumented RtlCloneUserProcess call in ntdll, similar to unix fork(). The return value in the parent is the child PID. In the child it is 0.

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()

func GdiplusStartup

func GdiplusStartup(input *GdiplusStartupInput, output *GdiplusStartupOutput)

func GetAsyncKeyState

func GetAsyncKeyState(vKey int) uint16

func GetClassNameW

func GetClassNameW(hwnd HWND) string

func GetClipboardFormatName

func GetClipboardFormatName(format uint) (string, bool)

func GetCursorPos

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

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 GetExitCodeProcess

func GetExitCodeProcess(hProcess HANDLE) (code uintptr, e error)

func GetGpStatus

func GetGpStatus(s int32) string

func GetKeyboardState

func GetKeyboardState(lpKeyState *[]byte) bool

func GetLastError

func GetLastError() uint32

func GetLogicalDrives

func GetLogicalDrives() uint32

func GetMessage

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

func GetMonitorInfo

func GetMonitorInfo(hMonitor HMONITOR, lmpi *MONITORINFO) bool

func GetObject

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

func GetOpenFileName

func GetOpenFileName(ofn *OPENFILENAME) bool

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

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 GetTextExtentPoint32

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

func GetTextMetrics

func GetTextMetrics(hdc HDC, lptm *TEXTMETRIC) bool

func GetUserDefaultLCID

func GetUserDefaultLCID() uint32

func GetWindowLong

func GetWindowLong(hwnd HWND, index int) int32

func GetWindowLongPtr

func GetWindowLongPtr(hwnd HWND, index int) uintptr

func GetWindowText

func GetWindowText(hwnd HWND) string

func GetWindowTextLength

func GetWindowTextLength(hwnd HWND) int

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 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 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 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 KillTimer

func KillTimer(hwnd HWND, nIDEvent uint32) 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 Lstrcpy

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

func Lstrlen

func Lstrlen(lpString *uint16) int

func MakeIntResource

func MakeIntResource(id uint16) *uint16

func MapVirtualKeyEx

func MapVirtualKeyEx(uCode, uMapType uint, dwhkl HKL) uint

func MessageBox

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

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 NtAlpcCancelMessage

func NtAlpcCancelMessage(hPort HANDLE, flags uint32, pMsgContext *ALPC_CONTEXT_ATTR) (e error)

NTSYSCALLAPI NTSTATUS NTAPI NtAlpcCancelMessage(

__in HANDLE PortHandle,
__in ULONG Flags,
__in PALPC_CONTEXT_ATTR MessageContext
);

func NtAlpcDisconnectPort

func NtAlpcDisconnectPort(hPort HANDLE, flags uint32) (e error)

NTSYSCALLAPI NTSTATUS NTAPI NtAlpcDisconnectPort(

__in HANDLE PortHandle,
__in ULONG Flags
);

func NtAlpcSendWaitReceivePort

func NtAlpcSendWaitReceivePort(
	hPort HANDLE,
	flags uint32,
	sendMsg *AlpcShortMessage,
	sendMsgAttrs *ALPC_MESSAGE_ATTRIBUTES,
	recvMsg *AlpcShortMessage,
	recvBufLen *uint32,
	recvMsgAttrs *ALPC_MESSAGE_ATTRIBUTES,
	timeout *int64,
) (e error)

NTSTATUS NtAlpcSendWaitReceivePort(

__in HANDLE PortHandle,
__in ULONG Flags,
__in_opt PPORT_MESSAGE SendMessage,
__in_opt PALPC_MESSAGE_ATTRIBUTES SendMessageAttributes,
__inout_opt PPORT_MESSAGE ReceiveMessage,
__inout_opt PULONG BufferLength,
__inout_opt PALPC_MESSAGE_ATTRIBUTES ReceiveMessageAttributes,
__in_opt PLARGE_INTEGER Timeout
);

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)

func PeekMessage

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

func PlayEnhMetaFile

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

func PostMessage

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

func PostQuitMessage

func PostQuitMessage(exitCode int)

func PtInRect

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

func QueryPerformanceCounter

func QueryPerformanceCounter() uint64

func QueryPerformanceFrequency

func QueryPerformanceFrequency() uint64

func ReadEventLog

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

func ReadProcessMemory

func ReadProcessMemory(hProcess HANDLE, lpBaseAddress, nSize uintptr) (lpBuffer []uint16, lpNumberOfBytesRead int, ok bool)

func Rectangle

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

func RedrawWindow

func RedrawWindow(hWnd HWND, lpRect *RECT, hrgnUpdate HRGN, flag uint32)

it will panic when the function fails

func RegCloseKey

func RegCloseKey(hKey HKEY) error

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 RegSetBinary

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

func ReleaseCapture

func ReleaseCapture() bool

func ReleaseDC

func ReleaseDC(hwnd HWND, hDC HDC) bool

func RemoveClipboardFormatListener

func RemoveClipboardFormatListener(hwnd HWND) bool

func ResumeThread

func ResumeThread(ht HANDLE) (e error)

DWORD WINAPI ResumeThread(

_In_ HANDLE hThread

);

func RtlCloneUserProcess

func RtlCloneUserProcess(
	ProcessFlags uint32,
	ProcessSecurityDescriptor, ThreadSecurityDescriptor *SECURITY_DESCRIPTOR,
	DebugPort HANDLE,
	ProcessInformation *RTL_USER_PROCESS_INFORMATION,
) (status uintptr)

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 SendMessage

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

func SendMessageTimeout

func SendMessageTimeout(hwnd HWND, msg uint32, wParam, lParam uintptr, fuFlags, uTimeout uint32) uintptr

func SetBkMode

func SetBkMode(hdc HDC, iBkMode int) int

func SetBrushOrgEx

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

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 SetForegroundWindow

func SetForegroundWindow(hwnd HWND) 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(hwnd HWND, nIDEvent uint32, uElapse uint32, lpTimerProc 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 SetWindowPos

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

func SetWindowText

func SetWindowText(hwnd HWND, text string)

func ShellExecute

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

func ShowWindow

func ShowWindow(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)

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, exitCode uint32) (e error)

func ToAscii

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

func TrackMouseEvent

func TrackMouseEvent(tme *TRACKMOUSEEVENT) bool

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 VirtualAllocEx

func VirtualAllocEx(hProcess HANDLE, lpAddress, dwSize uintptr, flAllocationType, flProtect uint32) uintptr

func VirtualFreeEx

func VirtualFreeEx(hProcess HANDLE, lpAddress, dwSize uintptr, dwFreeType uint32) bool

func WaitForSingleObject

func WaitForSingleObject(hHandle HANDLE, msecs uint32) (ok bool, e error)

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

func WriteProcessMemory

func WriteProcessMemory(hProcess HANDLE, lpBaseAddress, lpBuffer, nSize uintptr) (int, bool)

Types

type ACL

type ACL struct {
	AclRevision byte
	Sbz1        byte
	AclSize     uint16
	AceCount    uint16
	Sbz2        uint16
}

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

type ALPC_CONTEXT_ATTR

type ALPC_CONTEXT_ATTR struct {
	PortContext    *AlpcPortContext
	MessageContext uintptr
	Sequence       uint32
	MessageId      uint32
	CallbackId     uint32
}

type ALPC_HANDLE_ATTR

type ALPC_HANDLE_ATTR struct {
	Flags         uint32
	Handle        HANDLE
	ObjectType    uint32
	DesiredAccess uint32
}

type ALPC_MESSAGE_ATTRIBUTES

type ALPC_MESSAGE_ATTRIBUTES struct {
	AllocatedAttributes uint32
	ValidAttributes     uint32
}

nt!_ALPC_MESSAGE_ATTRIBUTES

+0x000 AllocatedAttributes : Uint4B
+0x004 ValidAttributes  : Uint4B

type ALPC_PORT_ATTRIBUTES

type ALPC_PORT_ATTRIBUTES struct {
	Flags               uint32
	SecurityQos         SECURITY_QUALITY_OF_SERVICE
	MaxMessageLength    uint64 // must be filled out
	MemoryBandwidth     uint64
	MaxPoolUsage        uint64
	MaxSectionSize      uint64
	MaxViewSize         uint64
	MaxTotalSectionSize uint64
	DupObjectTypes      uint32
	Reserved            uint32
}

nt!_ALPC_PORT_ATTRIBUTES

+0x000 Flags            : Uint4B
+0x004 SecurityQos      : _SECURITY_QUALITY_OF_SERVICE
+0x010 MaxMessageLength : Uint8B
+0x018 MemoryBandwidth  : Uint8B
+0x020 MaxPoolUsage     : Uint8B
+0x028 MaxSectionSize   : Uint8B
+0x030 MaxViewSize      : Uint8B
+0x038 MaxTotalSectionSize : Uint8B
+0x040 DupObjectTypes   : Uint4B
+0x044 Reserved         : Uint4B

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

type AlpcPortContext

type AlpcPortContext struct {
	Handle HANDLE
}

type AlpcShortMessage

type AlpcShortMessage struct {
	PORT_MESSAGE
	Data [SHORT_MESSAGE_MAX_PAYLOAD]byte
}

LPC uses the first 4 bytes of the payload as an LPC Command, but this is NOT represented here, to allow the use of raw ALPC. For legacy LPC, callers must include the command as part of their payload.

func NewAlpcShortMessage

func NewAlpcShortMessage() AlpcShortMessage

func (*AlpcShortMessage) GetData

func (sm *AlpcShortMessage) GetData() []byte

TODO - is this still useful?

func (*AlpcShortMessage) Reset

func (sm *AlpcShortMessage) Reset()

func (*AlpcShortMessage) SetData

func (sm *AlpcShortMessage) SetData(d []byte) (e error)

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 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 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 CLIENT_ID

type CLIENT_ID struct {
	UniqueProcess uintptr
	UniqueThread  uintptr
}

nt!_CLIENT_ID

+0x000 UniqueProcess    : Ptr64 Void
+0x008 UniqueThread     : Ptr64 Void

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

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 EVENT_TRACE_PROPERTIES

type EVENT_TRACE_PROPERTIES struct {
	Wnode               WNODE_HEADER
	BufferSize          uint32
	MinimumBuffers      uint32
	MaximumBuffers      uint32
	MaximumFileSize     uint32
	LogFileMode         uint32
	FlushTimer          uint32
	EnableFlags         uint32
	AgeLimit            int32
	NumberOfBuffers     uint32
	FreeBuffers         uint32
	EventsLost          uint32
	BuffersWritten      uint32
	LogBuffersLost      uint32
	RealTimeBuffersLost uint32
	LoggerThreadId      HANDLE
	LogFileNameOffset   uint32
	LoggerNameOffset    uint32
}

http://msdn.microsoft.com/en-us/library/windows/desktop/aa363784(v=vs.85).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

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

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 CreateToolhelp32Snapshot

func CreateToolhelp32Snapshot(flags, processId uint32) HANDLE

func GetClipboardData

func GetClipboardData(uFormat uint) HANDLE

func GetCurrentThread

func GetCurrentThread() HANDLE

func GetWindowThreadProcessId

func GetWindowThreadProcessId(hwnd HWND) (HANDLE, int)

func NtAlpcAcceptConnectPort

func NtAlpcAcceptConnectPort(
	hSrvConnPort HANDLE,
	flags uint32,
	pObjAttr *OBJECT_ATTRIBUTES,
	pPortAttr *ALPC_PORT_ATTRIBUTES,
	pContext *AlpcPortContext,
	pConnReq *AlpcShortMessage,
	pConnMsgAttrs *ALPC_MESSAGE_ATTRIBUTES,
	accept uintptr,
) (hPort HANDLE, e error)

NTSTATUS NtAlpcAcceptConnectPort(

__out PHANDLE PortHandle,
__in HANDLE ConnectionPortHandle,
__in ULONG Flags,
__in POBJECT_ATTRIBUTES ObjectAttributes,
__in PALPC_PORT_ATTRIBUTES PortAttributes,
__in_opt PVOID PortContext,
__in PPORT_MESSAGE ConnectionRequest,
__inout_opt PALPC_MESSAGE_ATTRIBUTES ConnectionMessageAttributes,
__in BOOLEAN AcceptConnection
);

func NtAlpcCreatePort

func NtAlpcCreatePort(pObjectAttributes *OBJECT_ATTRIBUTES, pPortAttributes *ALPC_PORT_ATTRIBUTES) (hPort HANDLE, e error)

NTSTATUS NtAlpcCreatePort(

__out PHANDLE PortHandle,
__in POBJECT_ATTRIBUTES ObjectAttributes,
__in_opt PALPC_PORT_ATTRIBUTES PortAttributes
);

func OpenEventLog

func OpenEventLog(servername string, sourcename string) HANDLE

func OpenProcess

func OpenProcess(desiredAccess int, inheritHandle bool, processId uintptr) (h HANDLE, e error)

func OpenSCManager

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

func OpenService

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

func OpenThread

func OpenThread(desiredAccess int, inheritHandle bool, threadId uintptr) (h HANDLE, e error)

func SetClipboardData

func SetClipboardData(uFormat uint, hMem HANDLE) HANDLE

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 uint) 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

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 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 GetCurrentObject

func GetCurrentObject(hdc HDC, uObjectType uint32) HGDIOBJ

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

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 ExtCreatePen

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

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 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 FindWindowExW

func FindWindowExW(hwndParent, hwndChildAfter HWND, className, windowName *uint16) HWND

func FindWindowW

func FindWindowW(className, windowName *uint16) HWND

func GetConsoleWindow

func GetConsoleWindow() HWND

func GetDlgItem

func GetDlgItem(hDlg HWND, nIDDlgItem int) HWND

func SetCapture

func SetCapture(hwnd HWND) HWND

func SetFocus

func SetFocus(hwnd HWND) HWND

type HardwareInput

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

type IDispatch

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

func ComQueryInterface

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

func (*IDispatch) AddRef

func (this *IDispatch) AddRef() int32

func (*IDispatch) GetIDsOfName

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

func (*IDispatch) Invoke

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

func (*IDispatch) QueryInterface

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

func (*IDispatch) Release

func (this *IDispatch) Release() int32

type IStream

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

func CreateStreamOnHGlobal

func CreateStreamOnHGlobal(hGlobal HGLOBAL, fDeleteOnRelease bool) *IStream

func (*IStream) AddRef

func (this *IStream) AddRef() int32

func (*IStream) QueryInterface

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

func (*IStream) Release

func (this *IStream) Release() int32

type IUnknown

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

func (*IUnknown) AddRef

func (this *IUnknown) AddRef() int32

func (*IUnknown) QueryInterface

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

func (*IUnknown) Release

func (this *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 KbdInput

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

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
}

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
}

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 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 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 MouseInput

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

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 OBJECT_ATTRIBUTES

type OBJECT_ATTRIBUTES struct {
	Length uint32

	RootDirectory HANDLE
	ObjectName    *UNICODE_STRING
	Attributes    uint32

	SecurityDescriptor       *SECURITY_DESCRIPTOR
	SecurityQualityOfService *SECURITY_QUALITY_OF_SERVICE
	// contains filtered or unexported fields
}

nt!_OBJECT_ATTRIBUTES

+0x000 Length           : Uint4B
+0x008 RootDirectory    : Ptr64 Void
+0x010 ObjectName       : Ptr64 _UNICODE_STRING
+0x018 Attributes       : Uint4B
+0x020 SecurityDescriptor : Ptr64 Void
+0x028 SecurityQualityOfService : Ptr64 Void

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 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 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 PORT_MESSAGE

type PORT_MESSAGE struct {
	DataLength     uint16 // These are the two unnamed unions
	TotalLength    uint16 // without Length and ZeroInit
	Type           uint16
	DataInfoOffset uint16
	ClientId       CLIENT_ID
	MessageId      uint32

	ClientViewSize uint64
	// contains filtered or unexported fields
}

cf: http://j00ru.vexillium.org/?p=502 for legacy RPC nt!_PORT_MESSAGE

+0x000 u1               : <unnamed-tag>
+0x004 u2               : <unnamed-tag>
+0x008 ClientId         : _CLIENT_ID
+0x008 DoNotUseThisField : Float
+0x018 MessageId        : Uint4B
+0x020 ClientViewSize   : Uint8B
+0x020 CallbackId       : Uint4B

func (PORT_MESSAGE) CallbackId

func (pm PORT_MESSAGE) CallbackId() uint32

func (PORT_MESSAGE) DoNotUseThisField

func (pm PORT_MESSAGE) DoNotUseThisField() float64

type PROCESS_INFORMATION

type PROCESS_INFORMATION struct {
	Process   HANDLE
	Thread    HANDLE
	ProcessId uint32
	ThreadId  uint32
}

func CreateProcessQuick

func CreateProcessQuick(cmd string) (pi PROCESS_INFORMATION, e error)

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

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 RTL_USER_PROCESS_INFORMATION

type RTL_USER_PROCESS_INFORMATION struct {
	Length           uint32
	Process          HANDLE
	Thread           HANDLE
	ClientId         CLIENT_ID
	ImageInformation SECTION_IMAGE_INFORMATION
}

combase!_RTL_USER_PROCESS_INFORMATION

+0x000 Length           : Uint4B
+0x008 Process          : Ptr64 Void
+0x010 Thread           : Ptr64 Void
+0x018 ClientId         : _CLIENT_ID
+0x028 ImageInformation : _SECTION_IMAGE_INFORMATION

type SECTION_IMAGE_INFORMATION

type SECTION_IMAGE_INFORMATION struct {
	TransferAddress             uintptr
	ZeroBits                    uint32
	MaximumStackSize            uint64
	CommittedStackSize          uint64
	SubSystemType               uint32
	SubSystemMinorVersion       uint16
	SubSystemMajorVersion       uint16
	SubSystemVersion            uint32
	MajorOperatingSystemVersion uint16
	MinorOperatingSystemVersion uint16
	OperatingSystemVersion      uint32
	ImageCharacteristics        uint16
	DllCharacteristics          uint16
	Machine                     uint16
	ImageContainsCode           uint8
	ImageFlags                  uint8
	ComPlusFlags                uint8
	LoaderFlags                 uint32
	ImageFileSize               uint32
	CheckSum                    uint32
}

combase!_SECTION_IMAGE_INFORMATION

+0x000 TransferAddress  : Ptr64 Void
+0x008 ZeroBits         : Uint4B
+0x010 MaximumStackSize : Uint8B
+0x018 CommittedStackSize : Uint8B
+0x020 SubSystemType    : Uint4B
+0x024 SubSystemMinorVersion : Uint2B
+0x026 SubSystemMajorVersion : Uint2B
+0x024 SubSystemVersion : Uint4B
+0x028 MajorOperatingSystemVersion : Uint2B
+0x02a MinorOperatingSystemVersion : Uint2B
+0x028 OperatingSystemVersion : Uint4B
+0x02c ImageCharacteristics : Uint2B
+0x02e DllCharacteristics : Uint2B
+0x030 Machine          : Uint2B
+0x032 ImageContainsCode : UChar
+0x033 ImageFlags       : UChar
+0x033 ComPlusNativeReady : Pos 0, 1 Bit
+0x033 ComPlusILOnly    : Pos 1, 1 Bit
+0x033 ImageDynamicallyRelocated : Pos 2, 1 Bit
+0x033 ImageMappedFlat  : Pos 3, 1 Bit
+0x033 BaseBelow4gb     : Pos 4, 1 Bit
+0x033 ComPlusPrefer32bit : Pos 5, 1 Bit
+0x033 Reserved         : Pos 6, 2 Bits
+0x034 LoaderFlags      : Uint4B
+0x038 ImageFileSize    : Uint4B
+0x03c CheckSum         : Uint4B

func (*SECTION_IMAGE_INFORMATION) BaseBelow4gb

func (si *SECTION_IMAGE_INFORMATION) BaseBelow4gb() bool

func (*SECTION_IMAGE_INFORMATION) ComPlusILOnly

func (si *SECTION_IMAGE_INFORMATION) ComPlusILOnly() bool

func (*SECTION_IMAGE_INFORMATION) ComPlusNativeReady

func (si *SECTION_IMAGE_INFORMATION) ComPlusNativeReady() bool

func (*SECTION_IMAGE_INFORMATION) ComPlusPrefer32bit

func (si *SECTION_IMAGE_INFORMATION) ComPlusPrefer32bit() bool

func (*SECTION_IMAGE_INFORMATION) ImageDynamicallyRelocated

func (si *SECTION_IMAGE_INFORMATION) ImageDynamicallyRelocated() bool

func (*SECTION_IMAGE_INFORMATION) ImageMappedFlat

func (si *SECTION_IMAGE_INFORMATION) ImageMappedFlat() bool

type SECURITY_ATTRIBUTES

type SECURITY_ATTRIBUTES struct {
	Length             uint32
	SecurityDescriptor uintptr
	InheritHandle      BOOL
}

type SECURITY_DESCRIPTOR

type SECURITY_DESCRIPTOR struct {
	Revision byte
	Sbz1     byte
	Control  SECURITY_DESCRIPTOR_CONTROL
	Owner    uintptr
	Group    uintptr
	Sacl     *ACL
	Dacl     *ACL
}

func InitializeSecurityDescriptor

func InitializeSecurityDescriptor(rev uin