gui

package module
v0.0.0-...-39dfb2a Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2018 License: MIT Imports: 3 Imported by: 0

README

gui

golang windows gui

end

remake wu32 (User32.lib)

Documentation

Index

Constants

View Source
const (
	LVM_FIRST      = 0x1000 // ListView messages
	TV_FIRST       = 0x1100 // TreeView messages
	HDM_FIRST      = 0x1200 // Header messages
	TCM_FIRST      = 0x1300 // Tab control messages
	PGM_FIRST      = 0x1400 // Pager control messages
	ECM_FIRST      = 0x1500 // Edit control messages
	BCM_FIRST      = 0x1600 // Button control messages
	CBM_FIRST      = 0x1700 // Combobox control messages
	CCM_FIRST      = 0x2000 // Common control shared messages
	CCM_LAST       = (CCM_FIRST + 0x200)
	CCM_SETBKCOLOR = (CCM_FIRST + 1)
)
View Source
const (
	WM_NULL                           = 0x0000
	WM_CREATE                         = 0x0001
	WM_DESTROY                        = 0x0002
	WM_MOVE                           = 0x0003
	WM_SIZE                           = 0x0005
	WM_ACTIVATE                       = 0x0006
	WM_SETFOCUS                       = 0x0007
	WM_KILLFOCUS                      = 0x0008
	WM_ENABLE                         = 0x000A
	WM_SETREDRAW                      = 0x000B
	WM_SETTEXT                        = 0x000C
	WM_GETTEXT                        = 0x000D
	WM_GETTEXTLENGTH                  = 0x000E
	WM_PAINT                          = 0x000F
	WM_CLOSE                          = 0x0010
	WM_QUERYENDSESSION                = 0x0011
	WM_QUERYOPEN                      = 0x0013
	WM_ENDSESSION                     = 0x0016
	WM_QUIT                           = 0x0012
	WM_ERASEBKGND                     = 0x0014
	WM_SYSCOLORCHANGE                 = 0x0015
	WM_SHOWWINDOW                     = 0x0018
	WM_WININICHANGE                   = 0x001A
	WM_SETTINGCHANGE                  = WM_WININICHANGE
	WM_DEVMODECHANGE                  = 0x001B
	WM_ACTIVATEAPP                    = 0x001C
	WM_FONTCHANGE                     = 0x001D
	WM_TIMECHANGE                     = 0x001E
	WM_CANCELMODE                     = 0x001F
	WM_SETCURSOR                      = 0x0020
	WM_MOUSEACTIVATE                  = 0x0021
	WM_CHILDACTIVATE                  = 0x0022
	WM_QUEUESYNC                      = 0x0023
	WM_GETMINMAXINFO                  = 0x0024
	WM_PAINTICON                      = 0x0026
	WM_ICONERASEBKGND                 = 0x0027
	WM_NEXTDLGCTL                     = 0x0028
	WM_SPOOLERSTATUS                  = 0x002A
	WM_DRAWITEM                       = 0x002B
	WM_MEASUREITEM                    = 0x002C
	WM_DELETEITEM                     = 0x002D
	WM_VKEYTOITEM                     = 0x002E
	WM_CHARTOITEM                     = 0x002F
	WM_SETFONT                        = 0x0030
	WM_GETFONT                        = 0x0031
	WM_SETHOTKEY                      = 0x0032
	WM_GETHOTKEY                      = 0x0033
	WM_QUERYDRAGICON                  = 0x0037
	WM_COMPAREITEM                    = 0x0039
	WM_GETOBJECT                      = 0x003D
	WM_COMPACTING                     = 0x0041
	WM_COMMNOTIFY                     = 0x0044
	WM_WINDOWPOSCHANGING              = 0x0046
	WM_WINDOWPOSCHANGED               = 0x0047
	WM_POWER                          = 0x0048
	WM_COPYDATA                       = 0x004A
	WM_CANCELJOURNAL                  = 0x004B
	WM_NOTIFY                         = 0x004E
	WM_INPUTLANGCHANGEREQUEST         = 0x0050
	WM_INPUTLANGCHANGE                = 0x0051
	WM_TCARD                          = 0x0052
	WM_HELP                           = 0x0053
	WM_USERCHANGED                    = 0x0054
	WM_NOTIFYFORMAT                   = 0x0055
	WM_CONTEXTMENU                    = 0x007B
	WM_STYLECHANGING                  = 0x007C
	WM_STYLECHANGED                   = 0x007D
	WM_DISPLAYCHANGE                  = 0x007E
	WM_GETICON                        = 0x007F
	WM_SETICON                        = 0x0080
	WM_NCCREATE                       = 0x0081
	WM_NCDESTROY                      = 0x0082
	WM_NCCALCSIZE                     = 0x0083
	WM_NCHITTEST                      = 0x0084
	WM_NCPAINT                        = 0x0085
	WM_NCACTIVATE                     = 0x0086
	WM_GETDLGCODE                     = 0x0087
	WM_SYNCPAINT                      = 0x0088
	WM_NCMOUSEMOVE                    = 0x00A0
	WM_NCLBUTTONDOWN                  = 0x00A1
	WM_NCLBUTTONUP                    = 0x00A2
	WM_NCLBUTTONDBLCLK                = 0x00A3
	WM_NCRBUTTONDOWN                  = 0x00A4
	WM_NCRBUTTONUP                    = 0x00A5
	WM_NCRBUTTONDBLCLK                = 0x00A6
	WM_NCMBUTTONDOWN                  = 0x00A7
	WM_NCMBUTTONUP                    = 0x00A8
	WM_NCMBUTTONDBLCLK                = 0x00A9
	WM_NCXBUTTONDOWN                  = 0x00AB
	WM_NCXBUTTONUP                    = 0x00AC
	WM_NCXBUTTONDBLCLK                = 0x00AD
	WM_INPUT_DEVICE_CHANGE            = 0x00FE
	WM_INPUT                          = 0x00FF
	WM_KEYFIRST                       = 0x0100
	WM_KEYDOWN                        = 0x0100
	WM_KEYUP                          = 0x0101
	WM_CHAR                           = 0x0102
	WM_DEADCHAR                       = 0x0103
	WM_SYSKEYDOWN                     = 0x0104
	WM_SYSKEYUP                       = 0x0105
	WM_SYSCHAR                        = 0x0106
	WM_SYSDEADCHAR                    = 0x0107
	WM_UNICHAR                        = 0x0109
	WM_KEYLAST                        = 0x0109
	UNICODE_NOCHAR                    = 0xFFFF
	WM_IME_STARTCOMPOSITION           = 0x010D
	WM_IME_ENDCOMPOSITION             = 0x010E
	WM_IME_COMPOSITION                = 0x010F
	WM_IME_KEYLAST                    = 0x010F
	WM_INITDIALOG                     = 0x0110
	WM_COMMAND                        = 0x0111
	WM_SYSCOMMAND                     = 0x0112
	WM_TIMER                          = 0x0113
	WM_HSCROLL                        = 0x0114
	WM_VSCROLL                        = 0x0115
	WM_INITMENU                       = 0x0116
	WM_INITMENUPOPUP                  = 0x0117
	WM_GESTURE                        = 0x0119
	WM_GESTURENOTIFY                  = 0x011A
	WM_MENUSELECT                     = 0x011F
	WM_MENUCHAR                       = 0x0120
	WM_ENTERIDLE                      = 0x0121
	WM_MENURBUTTONUP                  = 0x0122
	WM_MENUDRAG                       = 0x0123
	WM_MENUGETOBJECT                  = 0x0124
	WM_UNINITMENUPOPUP                = 0x0125
	WM_MENUCOMMAND                    = 0x0126
	WM_CHANGEUISTATE                  = 0x0127
	WM_UPDATEUISTATE                  = 0x0128
	WM_QUERYUISTATE                   = 0x0129
	WM_CTLCOLORMSGBOX                 = 0x0132
	WM_CTLCOLOREDIT                   = 0x0133
	WM_CTLCOLORLISTBOX                = 0x0134
	WM_CTLCOLORBTN                    = 0x0135
	WM_CTLCOLORDLG                    = 0x0136
	WM_CTLCOLORSCROLLBAR              = 0x0137
	WM_CTLCOLORSTATIC                 = 0x0138
	MN_GETHMENU                       = 0x01E1
	WM_MOUSEFIRST                     = 0x0200
	WM_MOUSEMOVE                      = 0x0200
	WM_LBUTTONDOWN                    = 0x0201
	WM_LBUTTONUP                      = 0x0202
	WM_LBUTTONDBLCLK                  = 0x0203
	WM_RBUTTONDOWN                    = 0x0204
	WM_RBUTTONUP                      = 0x0205
	WM_RBUTTONDBLCLK                  = 0x0206
	WM_MBUTTONDOWN                    = 0x0207
	WM_MBUTTONUP                      = 0x0208
	WM_MBUTTONDBLCLK                  = 0x0209
	WM_MOUSEWHEEL                     = 0x020A
	WM_XBUTTONDOWN                    = 0x020B
	WM_XBUTTONUP                      = 0x020C
	WM_XBUTTONDBLCLK                  = 0x020D
	WM_MOUSEHWHEEL                    = 0x020E
	WM_PARENTNOTIFY                   = 0x0210
	WM_ENTERMENULOOP                  = 0x0211
	WM_EXITMENULOOP                   = 0x0212
	WM_NEXTMENU                       = 0x0213
	WM_SIZING                         = 0x0214
	WM_CAPTURECHANGED                 = 0x0215
	WM_MOVING                         = 0x0216
	WM_POWERBROADCAST                 = 0x0218
	WM_DEVICECHANGE                   = 0x0219
	WM_MDICREATE                      = 0x0220
	WM_MDIDESTROY                     = 0x0221
	WM_MDIACTIVATE                    = 0x0222
	WM_MDIRESTORE                     = 0x0223
	WM_MDINEXT                        = 0x0224
	WM_MDIMAXIMIZE                    = 0x0225
	WM_MDITILE                        = 0x0226
	WM_MDICASCADE                     = 0x0227
	WM_MDIICONARRANGE                 = 0x0228
	WM_MDIGETACTIVE                   = 0x0229
	WM_MDISETMENU                     = 0x0230
	WM_ENTERSIZEMOVE                  = 0x0231
	WM_EXITSIZEMOVE                   = 0x0232
	WM_DROPFILES                      = 0x0233
	WM_MDIREFRESHMENU                 = 0x0234
	WM_POINTERDEVICECHANGE            = 0x238
	WM_POINTERDEVICEINRANGE           = 0x239
	WM_POINTERDEVICEOUTOFRANGE        = 0x23A
	WM_TOUCH                          = 0x0240
	WM_NCPOINTERUPDATE                = 0x0241
	WM_NCPOINTERDOWN                  = 0x0242
	WM_NCPOINTERUP                    = 0x0243
	WM_POINTERUPDATE                  = 0x0245
	WM_POINTERDOWN                    = 0x0246
	WM_POINTERUP                      = 0x0247
	WM_POINTERENTER                   = 0x0249
	WM_POINTERLEAVE                   = 0x024A
	WM_POINTERACTIVATE                = 0x024B
	WM_POINTERCAPTURECHANGED          = 0x024C
	WM_TOUCHHITTESTING                = 0x024D
	WM_POINTERWHEEL                   = 0x024E
	WM_POINTERHWHEEL                  = 0x024F
	DM_POINTERHITTEST                 = 0x0250
	WM_POINTERROUTEDTO                = 0x0251
	WM_POINTERROUTEDAWAY              = 0x0252
	WM_POINTERROUTEDRELEASED          = 0x0253
	WM_IME_SETCONTEXT                 = 0x0281
	WM_IME_NOTIFY                     = 0x0282
	WM_IME_CONTROL                    = 0x0283
	WM_IME_COMPOSITIONFULL            = 0x0284
	WM_IME_SELECT                     = 0x0285
	WM_IME_CHAR                       = 0x0286
	WM_IME_REQUEST                    = 0x0288
	WM_IME_KEYDOWN                    = 0x0290
	WM_IME_KEYUP                      = 0x0291
	WM_MOUSEHOVER                     = 0x02A1
	WM_MOUSELEAVE                     = 0x02A3
	WM_NCMOUSEHOVER                   = 0x02A0
	WM_NCMOUSELEAVE                   = 0x02A2
	WM_WTSSESSION_CHANGE              = 0x02B1
	WM_TABLET_FIRST                   = 0x02c0
	WM_TABLET_LAST                    = 0x02df
	WM_DPICHANGED                     = 0x02E0
	WM_DPICHANGED_BEFOREPARENT        = 0x02E2
	WM_DPICHANGED_AFTERPARENT         = 0x02E3
	WM_GETDPISCALEDSIZE               = 0x02E4
	WM_CUT                            = 0x0300
	WM_COPY                           = 0x0301
	WM_PASTE                          = 0x0302
	WM_CLEAR                          = 0x0303
	WM_UNDO                           = 0x0304
	WM_RENDERFORMAT                   = 0x0305
	WM_RENDERALLFORMATS               = 0x0306
	WM_DESTROYCLIPBOARD               = 0x0307
	WM_DRAWCLIPBOARD                  = 0x0308
	WM_PAINTCLIPBOARD                 = 0x0309
	WM_VSCROLLCLIPBOARD               = 0x030A
	WM_SIZECLIPBOARD                  = 0x030B
	WM_ASKCBFORMATNAME                = 0x030C
	WM_CHANGECBCHAIN                  = 0x030D
	WM_HSCROLLCLIPBOARD               = 0x030E
	WM_QUERYNEWPALETTE                = 0x030F
	WM_PALETTEISCHANGING              = 0x0310
	WM_PALETTECHANGED                 = 0x0311
	WM_HOTKEY                         = 0x0312
	WM_PRINT                          = 0x0317
	WM_PRINTCLIENT                    = 0x0318
	WM_APPCOMMAND                     = 0x0319
	WM_THEMECHANGED                   = 0x031A
	WM_CLIPBOARDUPDATE                = 0x031D
	WM_DWMCOMPOSITIONCHANGED          = 0x031E
	WM_DWMNCRENDERINGCHANGED          = 0x031F
	WM_DWMCOLORIZATIONCOLORCHANGED    = 0x0320
	WM_DWMWINDOWMAXIMIZEDCHANGE       = 0x0321
	WM_DWMSENDICONICTHUMBNAIL         = 0x0323
	WM_DWMSENDICONICLIVEPREVIEWBITMAP = 0x0326
	WM_GETTITLEBARINFOEX              = 0x033F
	WM_HANDHELDFIRST                  = 0x0358
	WM_HANDHELDLAST                   = 0x035F
	WM_AFXFIRST                       = 0x0360
	WM_AFXLAST                        = 0x037F
	WM_PENWINFIRST                    = 0x0380
	WM_PENWINLAST                     = 0x038F
	WM_APP                            = 0x8000
)

windows messages

View Source
const (
	BM_GETCHECK     = 0x00F0
	BM_SETCHECK     = 0x00F1
	BM_GETSTATE     = 0x00F2
	BM_SETSTATE     = 0x00F3
	BM_SETSTYLE     = 0x00F4
	BM_CLICK        = 0x00F5
	BM_GETIMAGE     = 0x00F6
	BM_SETIMAGE     = 0x00F7
	BM_SETDONTCLICK = 0x00F8
)

button messages

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_ENABLEFEATURE       = 0x00DA
)

edit messages

View Source
const (
	// LEFTDOWN mouse button
	LEFTDOWN = 0x00000002
	// LEFTUP mouse button
	LEFTUP = 0x00000004
	// MIDDLEDOWN mouse button
	MIDDLEDOWN = 0x00000020
	// MIDDLEUP mouse button
	MIDDLEUP = 0x00000040
	// MOVE mouse button
	MOVE = 0x00000001
	// ABSOLUTE mouse button
	ABSOLUTE = 0x00008000
	// RIGHTDOWN mouse button
	RIGHTDOWN = 0x00000008
	// RIGHTUP mouse button
	RIGHTUP = 0x00000010
	// WHEEL mouse button
	WHEEL = 0x00000800
	// HWHEEL mouse button
	HWHEEL = 0x00001000
)
View Source
const (
	WHEEL_DELTA = 120
)

mouse wheel

Variables

This section is empty.

Functions

func ClickMouseLeft

func ClickMouseLeft(posx, posy int32)

ClickMouseLeft click pos left button

func ClickMouseMiddle

func ClickMouseMiddle(posx, posy int32)

ClickMouseMiddle click pos middle button

func ClickMouseRight

func ClickMouseRight(posx, posy int32)

ClickMouseRight click pos right button

func CloseWindow

func CloseWindow(hwnd HWND)

CloseWindow close window

func GetAsyncKeyState

func GetAsyncKeyState(vkey byte) int

GetAsyncKeyState virtual key

func GetClassName

func GetClassName(h HWND) string

GetClassName get class name

func GetWindowText

func GetWindowText(h HWND) string

GetWindowText get window text(title)

func IsValidKey

func IsValidKey(key string) (ok bool)

IsValidKey valid key

func KeyList

func KeyList() (list []string)

KeyList valid key list

func MessageBox

func MessageBox(hwnd HWND, text, caption string, btype uint32)

MessageBox popup messagebox

func MouseLButtonDown

func MouseLButtonDown()

MouseLButtonDown mouse button down(left)

func MouseLButtonUp

func MouseLButtonUp()

MouseLButtonUp mouse button up(left)

func MouseMButtonDown

func MouseMButtonDown()

MouseMButtonDown mouse button down(middle)

func MouseMButtonUp

func MouseMButtonUp()

MouseMButtonUp mouse button up(middle)

func MouseMoveAbs

func MouseMoveAbs(x, y int)

MouseMoveAbs mouse move absolute

func MouseMoveHWheel

func MouseMoveHWheel(scroll int32)

MouseMoveHWheel move mouse wheel(height)

func MouseMoveRel

func MouseMoveRel(x, y int)

MouseMoveRel mouse move relocate

func MouseMoveWheel

func MouseMoveWheel(scroll int32)

MouseMoveWheel move mouse wheel(side)

func MouseRButtonDown

func MouseRButtonDown()

MouseRButtonDown mouse button down(right)

func MouseRButtonUp

func MouseRButtonUp()

MouseRButtonUp mouse button up(right)

func PressedKey

func PressedKey(key string) bool

PressedKey key check pressed

func PrintTreeClassName

func PrintTreeClassName(hwnd HWND)

PrintTreeClassName print class name

func SendMessage

func SendMessage(hwnd HWND, msg, wparam, lparam uint32)

SendMessage send message

func SetCursorPos

func SetCursorPos(x, y int32)

SetCursorPos set cursor pos

func SetWindowPos

func SetWindowPos(h HWND, posx, posy, posex, posey int32)

SetWindowPos set window poss

func SetWindowSize

func SetWindowSize(h HWND, posx, posy, width, height int32)

SetWindowSize set window pos and size

func SetWindowText

func SetWindowText(hwnd HWND, text string)

SetWindowText send wm_settext message

Types

type HWND

type HWND uintptr

HWND windows window handle

func FindWindow

func FindWindow(className, windowName string) (w HWND, err error)

FindWindow find className and windowName

ex: wnd := FindWindow("", "testwindow")

func GetChildWindows

func GetChildWindows(h HWND) []HWND

GetChildWindows get child windows

func GetDesktopWindow

func GetDesktopWindow() HWND

GetDesktopWindow get desktop window

type POINT

type POINT struct {
	X, Y int32
}

POINT pos

func GetCursorPos

func GetCursorPos() POINT

GetCursorPos get cursor pos

type RECT

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

RECT window rect

func GetWindowRect

func GetWindowRect(h HWND) RECT

GetWindowRect get window rect

Jump to

Keyboard shortcuts

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