win32

package
v0.0.0-...-2f48622 Latest Latest
Warning

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

Go to latest
Published: Apr 20, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	WM_CREATE                  = 0x0001
	WM_DESTROY                 = 0x0002
	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_QUIT                    = 0x0012
	WM_CONTEXTMENU             = 0x007B
	WM_COMMAND                 = 0x0111
	WM_NCDESTROY               = 0x0082
	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_MOUSELAST               = 0x020E
	WM_INITDIALOG              = 0x0110
	WM_USER                    = 0x0400
	WM_SETFONT                 = 0x0030
	WM_DPICHANGED              = 0x02E0
	WM_DPICHANGED_BEFOREPARENT = 0x02E2
	WM_DPICHANGED_AFTERPARENT  = 0x02E3
	WM_GETDPISCALEDSIZE        = 0x02E4
	WM_SIZING                  = 0x0214
	WM_NCLBUTTONDOWN           = 0x00A1
	WM_NCHITTEST               = 0x0084

	WM_APP = 0x8000

	DM_GETDEFID   = WM_USER + 0
	DM_SETDEFID   = WM_USER + 1
	DM_REPOSITION = WM_USER + 2

	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
)
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
)
View Source
const (
	MK_CONTROL  = 0x0008
	MK_LBUTTON  = 0x0001
	MK_MBUTTON  = 0x0010
	MK_RBUTTON  = 0x0002
	MK_SHIFT    = 0x0004
	MK_XBUTTON1 = 0x0020
	MK_XBUTTON2 = 0x0040
)
View Source
const (
	COLOR_3DDKSHADOW              = 21
	COLOR_3DFACE                  = 15
	COLOR_3DHIGHLIGHT             = 20
	COLOR_3DHILIGHT               = 20
	COLOR_3DLIGHT                 = 22
	COLOR_3DSHADOW                = 16
	COLOR_ACTIVEBORDER            = 10
	COLOR_ACTIVECAPTION           = 2
	COLOR_APPWORKSPACE            = 12
	COLOR_BACKGROUND              = 1
	COLOR_BTNFACE                 = 15
	COLOR_BTNHIGHLIGHT            = 20
	COLOR_BTNHILIGHT              = 20
	COLOR_BTNSHADOW               = 16
	COLOR_BTNTEX                  = 18
	COLOR_CAPTIONTEXT             = 9
	COLOR_DESKTOP                 = 1
	COLOR_GRADIENTACTIVECAPTION   = 27
	COLOR_GRADIENTINACTIVECAPTION = 28
	COLOR_GRAYTEXT                = 17
	COLOR_HIGHLIGHT               = 13
	COLOR_HIGHLIGHTTEXT           = 14
	COLOR_HOTLIGHT                = 26
	COLOR_INACTIVEBORDER          = 11
	COLOR_INACTIVECAPTION         = 3
	COLOR_INACTIVECAPTIONTEXT     = 19
	COLOR_INFOBK                  = 24
	COLOR_INFOTEXT                = 23
	COLOR_MENU                    = 4
	COLOR_MENUHILIGHT             = 29
	COLOR_MENUBAR                 = 30
	COLOR_MENUTEXT                = 7
	COLOR_SCROLLBAR               = 0
	COLOR_WINDOW                  = 5
	COLOR_WINDOWFRAME             = 6
	COLOR_WINDOWTEXT              = 8
)
View Source
const (
	GWL_EXSTYLE     = -20
	GWLP_HINSTANCE  = -6
	GWLP_HWNDPARENT = -8
	GWLP_ID         = -12
	GWL_STYLE       = -16
	GWLP_USERDATA   = -21
	GWLP_WNDPROC    = -4
	DWLP_DLGPROC    = DWLP_MSGRESULT + unsafe.Sizeof(LRESULT(0))
	DWLP_MSGRESULT  = 0
	DWLP_USER       = DWLP_DLGPROC + unsafe.Sizeof(UINT_PTR(0))
)
View Source
const (
	IMAGE_BITMAP = 0
	IMAGE_ICON   = 1
	IMAGE_CURSOR = 2
)
View Source
const (
	LR_DEFAULTCOLOR     = 0x00000000
	LR_MONOCHROME       = 0x00000001
	LR_COLOR            = 0x00000002
	LR_COPYRETURNORG    = 0x00000004
	LR_COPYDELETEORG    = 0x00000008
	LR_LOADFROMFILE     = 0x00000010
	LR_LOADTRANSPARENT  = 0x00000020
	LR_DEFAULTSIZE      = 0x00000040
	LR_VGACOLOR         = 0x00000080
	LR_LOADMAP3DCOLORS  = 0x00001000
	LR_CREATEDIBSECTION = 0x00002000
	LR_COPYFROMRESOURCE = 0x00004000
	LR_SHARED           = 0x00008000
)
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_PIN         = 32671
	IDC_PERSON      = 32672
)
View Source
const (
	OCR_NORMAL      = 32512
	OCR_IBEAM       = 32513
	OCR_WAIT        = 32514
	OCR_CROSS       = 32515
	OCR_UP          = 32516
	OCR_SIZENWSE    = 32642
	OCR_SIZENESW    = 32643
	OCR_SIZEWE      = 32644
	OCR_SIZENS      = 32645
	OCR_SIZEALL     = 32646
	OCR_NO          = 32648
	OCR_HAND        = 32649
	OCR_APPSTARTING = 32650
)
View Source
const (
	MF_BYCOMMAND  = 0x0000000
	MF_BYPOSITION = 0x00000400
)
View Source
const (
	MIIM_BITMAP     = 0x00000080
	MIIM_CHECKMARKS = 0x00000008
	MIIM_DATA       = 0x00000020
	MIIM_FTYPE      = 0x00000100
	MIIM_ID         = 0x00000002
	MIIM_STATE      = 0x00000001
	MIIM_STRING     = 0x00000040
	MIIM_SUBMENU    = 0x00000004
	MIIM_TYPE       = 0x00000010
)
View Source
const (
	MFT_BITMAP       = 0x00000004
	MFT_MENUBARBREAK = 0x00000020
	MFT_MENUBREAK    = 0x00000040
	MFT_OWNERDRAW    = 0x00000100
	MFT_RADIOCHECK   = 0x00000200
	MFT_RIGHTJUSTIFY = 0x00004000
	MFT_RIGHTORDER   = 0x00002000
	MFT_SEPARATOR    = 0x00000800
	MFT_STRING       = 0x00000000
)
View Source
const (
	MFS_CHECKED   = 0x00000008
	MFS_DEFAULT   = 0x00001000
	MFS_DISABLED  = 0x00000003
	MFS_ENABLED   = 0x00000000
	MFS_GRAYED    = 0x00000003
	MFS_HILITE    = 0x00000080
	MFS_UNCHECKED = 0x00000000
	MFS_UNHILITE  = 0x00000000
)
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 (
	BN_CLICKED       = 0
	BN_PAINT         = 1
	BN_HILITE        = 2
	BN_UNHILITE      = 3
	BN_DISABLE       = 4
	BN_DOUBLECLICKED = 5
	BN_PUSHED        = BN_HILITE
	BN_UNPUSHED      = BN_UNHILITE
	BN_DBLCLK        = BN_DOUBLECLICKED
	BN_SETFOCUS      = 6
	BN_KILLFOCUS     = 7
)
View Source
const (
	BS_PUSHBUTTON      = 0x00000000
	BS_DEFPUSHBUTTON   = 0x00000001
	BS_CHECKBOX        = 0x00000002
	BS_AUTOCHECKBOX    = 0x00000003
	BS_RADIOBUTTON     = 0x00000004
	BS_3STATE          = 0x00000005
	BS_AUTO3STATE      = 0x00000006
	BS_GROUPBOX        = 0x00000007
	BS_USERBUTTON      = 0x00000008
	BS_AUTORADIOBUTTON = 0x00000009
	BS_PUSHBOX         = 0x0000000A
	BS_OWNERDRAW       = 0x0000000B
	BS_TYPEMASK        = 0x0000000F
	BS_LEFTTEXT        = 0x00000020
	BS_TEXT            = 0x00000000
	BS_ICON            = 0x00000040
	BS_BITMAP          = 0x00000080
	BS_LEFT            = 0x00000100
	BS_RIGHT           = 0x00000200
	BS_CENTER          = 0x00000300
	BS_TOP             = 0x00000400
	BS_BOTTOM          = 0x00000800
	BS_VCENTER         = 0x00000C00
	BS_PUSHLIKE        = 0x00001000
	BS_MULTILINE       = 0x00002000
	BS_NOTIFY          = 0x00004000
	BS_FLAT            = 0x00008000
	BS_RIGHTBUTTON     = BS_LEFTTEXT
)
View Source
const (
	RT_ICON       = 3
	RT_GROUP_ICON = RT_ICON + 11
	RT_MANIFEST   = 24
)
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
)
View Source
const (
	SWP_ASYNCWINDOWPOS = 0x4000
	SWP_DEFERERASE     = 0x2000
	SWP_DRAWFRAME      = 0x0020
	SWP_FRAMECHANGED   = 0x0020
	SWP_HIDEWINDOW     = 0x0080
	SWP_NOACTIVATE     = 0x0010
	SWP_NOCOPYBITS     = 0x0100
	SWP_NOMOVE         = 0x0002
	SWP_NOOWNERZORDER  = 0x0200
	SWP_NOREDRAW       = 0x0008
	SWP_NOREPOSITION   = 0x0200
	SWP_NOSENDCHANGING = 0x0400
	SWP_NOSIZE         = 0x0001
	SWP_NOZORDER       = 0x0004
	SWP_SHOWWINDOW     = 0x0040
)
View Source
const (
	IDI_APPLICATION uintptr = 32512
	IDI_HAND        uintptr = 32513
	IDI_QUESTION    uintptr = 32514
	IDI_EXCLAMATION uintptr = 32515
	IDI_ASTERISK    uintptr = 32516
	IDI_SHIELD      uintptr = 32518
	IDI_WARNING     uintptr = IDI_EXCLAMATION
	IDI_ERROR       uintptr = IDI_HAND
	IDI_INFORMATION uintptr = IDI_ASTERISK
)
View Source
const (
	GDI_ERROR = 0xFFFFFFFF
)
View Source
const (
	LF_FACESIZE = 32
)
View Source
const (
	SPI_GETNONCLIENTMETRICS = 0x0029
)
View Source
const USER_DEFAULT_SCREEN_DPI = 96

Variables

This section is empty.

Functions

func AreDpiAwarenessContextsEqual

func AreDpiAwarenessContextsEqual(ctx1, ctx2 DPI_AWARENESS_CONTEXT) bool

func B

func B(color COLORREF) byte

func BitBlt

func BitBlt(hdc HDC, x int, y int, cx int, cy int, srcDC HDC, srcX int, srcY int, op DWORD) error

func ChooseFontW

func ChooseFontW(font *CHOOSEFONTW) (bool, error)

func ClientToScreen

func ClientToScreen(hwnd HWND, pt *POINT) error

func CommDlgExtendedError

func CommDlgExtendedError() error

func DeleteDC

func DeleteDC(hdc HDC) error

func DeleteMenu

func DeleteMenu(menu HMENU, pos UINT, flags UINT) error

func DeleteObject

func DeleteObject[H HGDIOBJ](h H) error

func DestroyAcceleratorTable

func DestroyAcceleratorTable(table HACCEL) error

func DestroyMenu

func DestroyMenu(menu HMENU) error

func DestroyWindow

func DestroyWindow(hwnd HWND) error

func DrawFocusRect

func DrawFocusRect(hdc HDC, rect *RECT) error

func EndDialog

func EndDialog(hwnd HWND, result INT_PTR) error

func EndPaint

func EndPaint(hwnd HWND, p *PAINTSTRUCT) error

func EndUpdateResourceW

func EndUpdateResourceW(update HUPDATE, discard bool) error

func EnumResourceNamesExW

func EnumResourceNamesExW(module HMODULE, typ uintptr, enumProc uintptr, lParam uintptr, flags DWORD, langId DWORD) error

func G

func G(color COLORREF) byte

func GetClientRect

func GetClientRect(hwnd HWND, rect *RECT) error

func GetMenuItemInfoW

func GetMenuItemInfoW(menu HMENU, item UINT, byPos bool, mii *MENUITEMINFOW) error

func GetModuleHandleW

func GetModuleHandleW[H HMODULE | HINSTANCE](moduleName *WCHAR) (H, error)

func GetWindowRect

func GetWindowRect(hwnd HWND, rect *RECT) error

func GetWindowTextLengthW

func GetWindowTextLengthW(hwnd HWND) (int, error)

func GetWindowTextW

func GetWindowTextW(hwnd HWND, buffer *WCHAR, maxCount int) (int, error)

func InsertMenuItemW

func InsertMenuItemW(menu HMENU, item UINT, byPos bool, mii *MENUITEMINFOW) error

func InvalidateRect

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

func LineTo

func LineTo(hdc HDC, x INT, y INT) error

func LoadImageW

func LoadImageW[H HBITMAP | HCURSOR | HICON](instance HINSTANCE, name *WCHAR, imageType UINT, cx INT, cy INT, flag UINT) (H, error)

func LoadImageW_uintptr

func LoadImageW_uintptr[H HBITMAP | HCURSOR | HICON](instance HINSTANCE, name uintptr, imageType UINT, cx INT, cy INT, flag UINT) (H, error)

func MoveToEx

func MoveToEx(hdc HDC, x INT, y INT, prev *POINT) error

func PostMessageW

func PostMessageW(hwnd HWND, message UINT, wParam WPARAM, lParam LPARAM) error

func PostQuitMessage

func PostQuitMessage(code int)

func PostThreadMessageW

func PostThreadMessageW(threadId DWORD, msg UINT, wParam WPARAM, lParam LPARAM) error

func R

func R(color COLORREF) byte

func Rectangle

func Rectangle(hdc HDC, left int, top int, right int, bottom int) error

func ReleaseDC

func ReleaseDC(hwnd HWND, hdc HDC) bool

func RemoveMenu

func RemoveMenu(menu HMENU, pos UINT, flags UINT) error

func ScreenToClient

func ScreenToClient(hwnd HWND, pt *POINT) error

func SelectObject

func SelectObject[H HGDIOBJ](hdc HDC, obj H) (H, error)

func SetForegroundWindow

func SetForegroundWindow(hwnd HWND) bool

func SetMenu

func SetMenu(hwnd HWND, menu HMENU) error

func SetMenuItemInfoW

func SetMenuItemInfoW(menu HMENU, item UINT, byPos bool, mmi *MENUITEMINFOW) error

func SetPropW

func SetPropW(hwnd HWND, key *WCHAR, data HANDLE) error

func SetWindowPos

func SetWindowPos(hwnd HWND, hwndInsertAfter HWND, x INT, y INT, cx INT, cy INT, flags UINT) error

func SetWindowTextW

func SetWindowTextW(hwnd HWND, str *WCHAR) error

func ShowWindow

func ShowWindow(hwnd HWND, cmdShow SHOW_WINDOW_CMD) error

func SystemParametersInfoForDpi

func SystemParametersInfoForDpi(action UINT, param UINT, p PVOID, winIni UINT, dpi UINT) error

func SystemParametersInfoW

func SystemParametersInfoW(action UINT, param UINT, p PVOID, winIni UINT) error

func TrackPopupMenuEx

func TrackPopupMenuEx(menu HMENU, flags TRACK_POPUP_MENU_FLAG, x INT, y INT, hwnd HWND, params *TPMPARAMS) (int, error)

func TranslateAcceleratorW

func TranslateAcceleratorW(hwnd HWND, accTable HACCEL, msg *MSG) (bool, error)

func TranslateMessage

func TranslateMessage(msg *MSG) bool

func UpdateResourceW

func UpdateResourceW(update HUPDATE, resType uintptr, name uintptr, lang WORD, data unsafe.Pointer, dataSize DWORD) error

Types

type ACCEL

type ACCEL struct {
	Virt ACCEL_FVIRT
	Key  WORD
	Cmd  WORD
}

type ACCEL_FVIRT

type ACCEL_FVIRT BYTE
const (
	FALT      ACCEL_FVIRT = 0x10
	FCONTROL  ACCEL_FVIRT = 0x08
	FNOINVERT ACCEL_FVIRT = 0x02
	FSHIFT    ACCEL_FVIRT = 0x04
	FVIRTKEY  ACCEL_FVIRT = 1
)

type ATOM

type ATOM WORD

func RegisterClassExW

func RegisterClassExW(cls *WNDCLASSEXW) (ATOM, error)

type BK_MODE

type BK_MODE INT
const (
	TRANSPARENT BK_MODE = 1
	OPAQUE      BK_MODE = 2
)

func SetBkMode

func SetBkMode(hdc HDC, mode BK_MODE) (BK_MODE, error)

type BOOL

type BOOL INT

func GetMessageW

func GetMessageW(msg *MSG, hwnd HWND, msgFilterMin uint, msgFilterMax uint) BOOL

type BOOLEAN

type BOOLEAN BYTE

type BRUSH_STYLE

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

type BYTE

type BYTE uint8 // A byte (8 bits).

type CHAR

type CHAR int8 // An 8-bit Windows (ANSI) character.

type CHOOSEFONTW

type CHOOSEFONTW struct {
	StructSize   DWORD
	Owner        HWND
	DC           HDC
	LogFont      *LOGFONTW
	PointSize    INT
	Flags        CHOOSE_FONT_FLAG
	Color        COLORREF
	CustomData   LPARAM
	Hook         uintptr
	TemplateName *WCHAR
	Instance     HINSTANCE
	Style        *WCHAR
	FontType     CHOOSE_FONT_TYPE

	SizeMin INT
	SizeMax INT
	// contains filtered or unexported fields
}

type CHOOSE_FONT_FLAG

type CHOOSE_FONT_FLAG DWORD
const (
	CF_SCREENFONTS          CHOOSE_FONT_FLAG = 0x00000001
	CF_PRINTERFONTS         CHOOSE_FONT_FLAG = 0x00000002
	CF_BOTH                 CHOOSE_FONT_FLAG = (CF_SCREENFONTS | CF_PRINTERFONTS)
	CF_SHOWHELP             CHOOSE_FONT_FLAG = 0x00000004
	CF_ENABLEHOOK           CHOOSE_FONT_FLAG = 0x00000008
	CF_ENABLETEMPLATE       CHOOSE_FONT_FLAG = 0x00000010
	CF_ENABLETEMPLATEHANDLE CHOOSE_FONT_FLAG = 0x00000020
	CF_INITTOLOGFONTSTRUCT  CHOOSE_FONT_FLAG = 0x00000040
	CF_USESTYLE             CHOOSE_FONT_FLAG = 0x00000080
	CF_EFFECTS              CHOOSE_FONT_FLAG = 0x00000100
	CF_APPLY                CHOOSE_FONT_FLAG = 0x00000200
	CF_ANSIONLY             CHOOSE_FONT_FLAG = 0x00000400
	CF_SCRIPTSONLY          CHOOSE_FONT_FLAG = CF_ANSIONLY
	CF_NOVECTORFONTS        CHOOSE_FONT_FLAG = 0x00000800
	CF_NOOEMFONTS           CHOOSE_FONT_FLAG = CF_NOVECTORFONTS
	CF_NOSIMULATIONS        CHOOSE_FONT_FLAG = 0x00001000
	CF_LIMITSIZE            CHOOSE_FONT_FLAG = 0x00002000
	CF_FIXEDPITCHONLY       CHOOSE_FONT_FLAG = 0x00004000
	CF_WYSIWYG              CHOOSE_FONT_FLAG = 0x00008000 // must also have CF_SCREENFONTS & CF_PRINTERFONTS
	CF_FORCEFONTEXIST       CHOOSE_FONT_FLAG = 0x00010000
	CF_SCALABLEONLY         CHOOSE_FONT_FLAG = 0x00020000
	CF_TTONLY               CHOOSE_FONT_FLAG = 0x00040000
	CF_NOFACESEL            CHOOSE_FONT_FLAG = 0x00080000
	CF_NOSTYLESEL           CHOOSE_FONT_FLAG = 0x00100000
	CF_NOSIZESEL            CHOOSE_FONT_FLAG = 0x00200000
	CF_SELECTSCRIPT         CHOOSE_FONT_FLAG = 0x00400000
	CF_NOSCRIPTSEL          CHOOSE_FONT_FLAG = 0x00800000
	CF_NOVERTFONTS          CHOOSE_FONT_FLAG = 0x01000000
	CF_INACTIVEFONTS        CHOOSE_FONT_FLAG = 0x02000000
)

type CHOOSE_FONT_TYPE

type CHOOSE_FONT_TYPE WORD
const (
	SIMULATED_FONTTYPE CHOOSE_FONT_TYPE = 0x8000
	PRINTER_FONTTYPE   CHOOSE_FONT_TYPE = 0x4000
	SCREEN_FONTTYPE    CHOOSE_FONT_TYPE = 0x2000
	BOLD_FONTTYPE      CHOOSE_FONT_TYPE = 0x0100
	ITALIC_FONTTYPE    CHOOSE_FONT_TYPE = 0x0200
	REGULAR_FONTTYPE   CHOOSE_FONT_TYPE = 0x0400
)

type CLASS_STYLE

type CLASS_STYLE UINT
const (
	CS_BYTEALIGNCLIENT CLASS_STYLE = 0x1000
	CS_BYTEALIGNWINDOW CLASS_STYLE = 0x2000
	CS_CLASSDC         CLASS_STYLE = 0x0040
	CS_DBLCLKS         CLASS_STYLE = 0x0008
	CS_DROPSHADOW      CLASS_STYLE = 0x0002000
	CS_GLOBALCLASS     CLASS_STYLE = 0x4000
	CS_HREDRAW         CLASS_STYLE = 0x0002
	CS_NOCLOSE         CLASS_STYLE = 0x0200
	CS_OWNDC           CLASS_STYLE = 0x0020
	CS_PARENTDC        CLASS_STYLE = 0x0080
	CS_SAVEBITS        CLASS_STYLE = 0x0800
	CS_VREDRAW         CLASS_STYLE = 0x0001
)

type COLORREF

type COLORREF DWORD
const (
	CLR_INVALID COLORREF = 0xFFFFFFFF
)

func RGB

func RGB(r, g, b byte) COLORREF

func SetTextColor

func SetTextColor(hdc HDC, color COLORREF) (COLORREF, error)

type ComDlgExtError

type ComDlgExtError DWORD

func (ComDlgExtError) Error

func (err ComDlgExtError) Error() string

type DLGTEMPLATE

type DLGTEMPLATE struct {
	Style        DWORD
	ExStyle      DWORD
	ItemCount    WORD
	X, Y, CX, CY SHORT
}

type DPI_AWARENESS_CONTEXT

type DPI_AWARENESS_CONTEXT HANDLE
const (
	DPI_AWARENESS_CONTEXT_UNAWARE              DPI_AWARENESS_CONTEXT = ^DPI_AWARENESS_CONTEXT(0)     // -1
	DPI_AWARENESS_CONTEXT_SYSTEM_AWARE         DPI_AWARENESS_CONTEXT = ^DPI_AWARENESS_CONTEXT(0) - 1 // -2
	DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE    DPI_AWARENESS_CONTEXT = ^DPI_AWARENESS_CONTEXT(0) - 2 // -3
	DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 DPI_AWARENESS_CONTEXT = ^DPI_AWARENESS_CONTEXT(0) - 3 // -4
	DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED    DPI_AWARENESS_CONTEXT = ^DPI_AWARENESS_CONTEXT(0) - 4 //-5
)

func SetThreadDpiAwarenessContext

func SetThreadDpiAwarenessContext(ctx DPI_AWARENESS_CONTEXT) (DPI_AWARENESS_CONTEXT, error)

type DRAWTEXTPARAMS

type DRAWTEXTPARAMS struct {
	Size        UINT
	TabLength   INT
	LeftMargin  INT
	RightMargin INT
	LengthDrawn UINT
}

type DRAW_TEXT_FORMAT

type DRAW_TEXT_FORMAT UINT
const (
	DT_TOP             DRAW_TEXT_FORMAT = 0x00000000
	DT_LEFT            DRAW_TEXT_FORMAT = 0x00000000
	DT_CENTER          DRAW_TEXT_FORMAT = 0x00000001
	DT_RIGHT           DRAW_TEXT_FORMAT = 0x00000002
	DT_VCENTER         DRAW_TEXT_FORMAT = 0x00000004
	DT_BOTTOM          DRAW_TEXT_FORMAT = 0x00000008
	DT_WORDBREAK       DRAW_TEXT_FORMAT = 0x00000010
	DT_SINGLELINE      DRAW_TEXT_FORMAT = 0x00000020
	DT_EXPANDTABS      DRAW_TEXT_FORMAT = 0x00000040
	DT_TABSTOP         DRAW_TEXT_FORMAT = 0x00000080
	DT_NOCLIP          DRAW_TEXT_FORMAT = 0x00000100
	DT_EXTERNALLEADING DRAW_TEXT_FORMAT = 0x00000200
	DT_CALCRECT        DRAW_TEXT_FORMAT = 0x00000400
	DT_NOPREFIX        DRAW_TEXT_FORMAT = 0x00000800
	DT_INTERNAL        DRAW_TEXT_FORMAT = 0x00001000

	DT_EDITCONTROL          DRAW_TEXT_FORMAT = 0x00002000
	DT_PATH_ELLIPSIS        DRAW_TEXT_FORMAT = 0x00004000
	DT_END_ELLIPSIS         DRAW_TEXT_FORMAT = 0x00008000
	DT_MODIFYSTRING         DRAW_TEXT_FORMAT = 0x00010000
	DT_RTLREADING           DRAW_TEXT_FORMAT = 0x00020000
	DT_WORD_ELLIPSIS        DRAW_TEXT_FORMAT = 0x00040000
	DT_NOFULLWIDTHCHARBREAK DRAW_TEXT_FORMAT = 0x00080000
	DT_HIDEPREFIX           DRAW_TEXT_FORMAT = 0x00100000
	DT_PREFIXONLY           DRAW_TEXT_FORMAT = 0x00200000
)

type DWORD

type DWORD uint32 // A 32-bit unsigned integer.

func GetModuleFileNameW

func GetModuleFileNameW(h HMODULE, buf []WCHAR) DWORD

func GetSysColor

func GetSysColor(index int) DWORD

type DWORDLONG

type DWORDLONG uint64 // A 64-bit unsigned integer.

type DWORD_PTR

type DWORD_PTR uintptr // An unsigned long type for pointer precision.

type EXTLOGPEN

type EXTLOGPEN struct {
	PenStyle   PEN_STYLE
	Width      DWORD
	BrushStyle BRUSH_STYLE
	Color      COLORREF
	Hatch      HATCH_STYLE
	NumEntries DWORD
	StyleEntry []DWORD
}

type FLOAT

type FLOAT float32 // A floating-point variable.

type GET_ANCESTOR_FLAG

type GET_ANCESTOR_FLAG UINT
const (
	GA_PARENT    GET_ANCESTOR_FLAG = 1
	GA_ROOT      GET_ANCESTOR_FLAG = 2
	GA_ROOTOWNER GET_ANCESTOR_FLAG = 3
)

type GET_WINDOW_CMD

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

type GUID

type GUID = UUID

type HACCEL

type HACCEL HANDLE

func CreateAcceleratorTableW

func CreateAcceleratorTableW(accel []ACCEL) (HACCEL, error)

type HANDLE

type HANDLE uintptr

func GetPropW

func GetPropW(hwnd HWND, key *WCHAR) (HANDLE, error)

func RemovePropW

func RemovePropW(hwnd HWND, key *WCHAR) (HANDLE, error)

type HATCH_STYLE

type HATCH_STYLE ULONG_PTR
const (
	HS_HORIZONTAL HATCH_STYLE = 0 /* ----- */
	HS_VERTICAL   HATCH_STYLE = 1 /* ||||| */
	HS_FDIAGONAL  HATCH_STYLE = 2 /* \\\\\ */
	HS_BDIAGONAL  HATCH_STYLE = 3 /* ///// */
	HS_CROSS      HATCH_STYLE = 4 /* +++++ */
	HS_DIAGCROSS  HATCH_STYLE = 5 /* xxxxx */
)

type HBITMAP

type HBITMAP HANDLE

func CreateCompatibleBitmap

func CreateCompatibleBitmap(hdc HDC, cx INT, cy INT) (HBITMAP, error)

type HBRUSH

type HBRUSH HANDLE

func CreateBrushIndirect

func CreateBrushIndirect(p *LOGBRUSH) (HBRUSH, error)

type HCURSOR

type HCURSOR HANDLE // DestroyCursor

type HDC

type HDC HANDLE // DeleteDC

func BeginPaint

func BeginPaint(hwnd HWND, p *PAINTSTRUCT) (HDC, error)

func CreateCompatibleDC

func CreateCompatibleDC(hdc HDC) (HDC, error)

func GetDC

func GetDC(hwnd HWND) (HDC, error)

type HFONT

type HFONT HANDLE

func CreateFontIndirectW

func CreateFontIndirectW(f *LOGFONTW) (HFONT, error)

type HGDIOBJ

type HGDIOBJ interface {
	HMENU | HPEN | HBITMAP | HFONT | HBRUSH
}

type HGLOBAL

type HGLOBAL HANDLE

func LoadResource

func LoadResource(module HMODULE, res HRSRC) (HGLOBAL, error)

type HICON

type HICON HANDLE // DestroyIcon

func LoadIconW

func LoadIconW(instance HINSTANCE, name *WCHAR) (HICON, error)

type HINSTANCE

type HINSTANCE HANDLE

type HMENU

type HMENU HANDLE

func CreateMenu

func CreateMenu() (HMENU, error)

func CreatePopupMenu

func CreatePopupMenu() (HMENU, error)

type HMODULE

type HMODULE HANDLE

type HPEN

type HPEN HANDLE

func CreatePenIndirect

func CreatePenIndirect(p *LOGPEN) (HPEN, error)

func ExtCreatePen

func ExtCreatePen(style PEN_STYLE, width DWORD, brush *LOGBRUSH, userStyles []DWORD) (HPEN, error)

type HRESULT

type HRESULT LONG

type HRSRC

type HRSRC HANDLE

func FindResourceW

func FindResourceW(module HMODULE, name uintptr, typ uintptr) (HRSRC, error)

type HUPDATE

type HUPDATE HANDLE

func BeginUpdateResourceW

func BeginUpdateResourceW(fileName *WCHAR, deleteExisting bool) (HUPDATE, error)

type HWND

type HWND HANDLE
const (
	HWND_BOTTOM    HWND = 1
	HWND_NOTOPMOST HWND = 2
	HWND_TOP       HWND = 0
	HWND_TOPMOST   HWND = ^HWND(0)
)

func CreateWindowExW

func CreateWindowExW(
	exStyle WINDOW_EX_STYLE,
	className *WCHAR,
	windowName *WCHAR,
	style WINDOW_STYLE,
	x INT, y INT, width INT, height INT,
	wndParent HWND,
	menu HMENU,
	instance HINSTANCE,
	param UINT_PTR,
) (HWND, error)

func GetActiveWindow

func GetActiveWindow() HWND

func GetAncestor

func GetAncestor(hwnd HWND, flags GET_ANCESTOR_FLAG) (HWND, error)

func GetDesktopWindow

func GetDesktopWindow() HWND

func GetDlgItem

func GetDlgItem(hwnd HWND, id INT) (HWND, error)

func GetParent

func GetParent(hwnd HWND) (HWND, error)

func GetWindow

func GetWindow(hwnd HWND, cmd GET_WINDOW_CMD) (HWND, error)

func SetFocus

func SetFocus(hwnd HWND) HWND

type INT

type INT int32 // A 32-bit signed integer.
const CW_USEDEFAULT INT = -2147483648 //0x80000000

func DrawTextExW

func DrawTextExW(hdc HDC, text *WCHAR, cchText INT, rect *RECT, format DRAW_TEXT_FORMAT, param *DRAWTEXTPARAMS) (INT, error)

func GetMenuItemCount

func GetMenuItemCount(menu HMENU) (INT, error)

func GetSystemMetrics

func GetSystemMetrics(index SystemMetricsIndex) INT

func MessageBoxExW

func MessageBoxExW(owner HWND, text *WCHAR, caption *WCHAR, typ MESSAGE_BOX_TYPE, lang WORD) (INT, error)

func MulDiv

func MulDiv(number INT, numerator INT, denominator INT) INT

type INT_PTR

type INT_PTR int64 // A signed integer type for pointer precision.

type LOGBRUSH

type LOGBRUSH struct {
	Style BRUSH_STYLE
	Color COLORREF
	Hatch HATCH_STYLE
}

type LOGFONTW

type LOGFONTW struct {
	Height         LONG
	Width          LONG
	Escapement     LONG
	Orientation    LONG
	Weight         LONG
	Italic         BYTE
	Underline      BYTE
	StrikeOut      BYTE
	CharSet        BYTE
	OutPrecision   BYTE
	ClipPrecision  BYTE
	Quality        BYTE
	PitchAndFamily BYTE
	FaceName       [LF_FACESIZE]WCHAR
}

type LOGPEN

type LOGPEN struct {
	Style PEN_STYLE
	Width LONG

	Color COLORREF
	// contains filtered or unexported fields
}

type LONG

type LONG int32 // A 32-bit signed integer.

func GetDialogBaseUnits

func GetDialogBaseUnits() LONG

type LONGLONG

type LONGLONG int64 // A 64-bit signed integer.

type LONG_PTR

type LONG_PTR int64 // A signed long type for pointer precision.

func GetWindowLongPtrW

func GetWindowLongPtrW(hwnd HWND, index int) (LONG_PTR, error)

func SetWindowLongPtrW

func SetWindowLongPtrW(hwnd HWND, index int, newLong LONG_PTR) (LONG_PTR, error)

type LPARAM

type LPARAM LONG_PTR

type LRESULT

type LRESULT LONG_PTR

func CallWindowProcW

func CallWindowProcW(proc uintptr, hwnd HWND, msg UINT, wParam WPARAM, lParam LPARAM) LRESULT

func DefWindowProcW

func DefWindowProcW(hwnd HWND, message UINT, wParam WPARAM, lParam LPARAM) LRESULT

func DispatchMessageW

func DispatchMessageW(msg *MSG) LRESULT

func SendMessageW

func SendMessageW(hwnd HWND, message UINT, wParam WPARAM, lParam LPARAM) (LRESULT, error)
type MENUITEMINFOW struct {
	Size            UINT
	Mask            UINT
	Type            UINT
	State           UINT
	ID              UINT
	SubMenu         HMENU
	CheckedBitmap   HBITMAP
	UncheckedBitmap HBITMAP
	ItemData        ULONG_PTR
	TypeData        *WCHAR // If TypeData needs to be a non pointer, a new struct and a new version of InsertMenuItemW must be defined instead of conversion to pointer.
	Cch             UINT
	ItemBitmap      HBITMAP
}

type MESSAGE_BOX_TYPE

type MESSAGE_BOX_TYPE UINT
const (
	MB_OK                        MESSAGE_BOX_TYPE = 0x00000000
	MB_OKCANCEL                  MESSAGE_BOX_TYPE = 0x00000001
	MB_ABORTRETRYIGNORE          MESSAGE_BOX_TYPE = 0x00000002
	MB_YESNOCANCEL               MESSAGE_BOX_TYPE = 0x00000003
	MB_YESNO                     MESSAGE_BOX_TYPE = 0x00000004
	MB_RETRYCANCEL               MESSAGE_BOX_TYPE = 0x00000005
	MB_CANCELTRYCONTINUE         MESSAGE_BOX_TYPE = 0x00000006
	MB_ICONHAND                  MESSAGE_BOX_TYPE = 0x00000010
	MB_ICONQUESTION              MESSAGE_BOX_TYPE = 0x00000020
	MB_ICONEXCLAMATION           MESSAGE_BOX_TYPE = 0x00000030
	MB_ICONASTERISK              MESSAGE_BOX_TYPE = 0x00000040
	MB_USERICON                  MESSAGE_BOX_TYPE = 0x00000080
	MB_ICONWARNING               MESSAGE_BOX_TYPE = MB_ICONEXCLAMATION
	MB_ICONERROR                 MESSAGE_BOX_TYPE = MB_ICONHAND
	MB_ICONINFORMATION           MESSAGE_BOX_TYPE = MB_ICONASTERISK
	MB_ICONSTOP                  MESSAGE_BOX_TYPE = MB_ICONHAND
	MB_DEFBUTTON1                MESSAGE_BOX_TYPE = 0x00000000
	MB_DEFBUTTON2                MESSAGE_BOX_TYPE = 0x00000100
	MB_DEFBUTTON3                MESSAGE_BOX_TYPE = 0x00000200
	MB_DEFBUTTON4                MESSAGE_BOX_TYPE = 0x00000300
	MB_APPLMODAL                 MESSAGE_BOX_TYPE = 0x00000000
	MB_SYSTEMMODAL               MESSAGE_BOX_TYPE = 0x00001000
	MB_TASKMODAL                 MESSAGE_BOX_TYPE = 0x00002000
	MB_HELP                      MESSAGE_BOX_TYPE = 0x00004000
	MB_NOFOCUS                   MESSAGE_BOX_TYPE = 0x00008000
	MB_SETFOREGROUND             MESSAGE_BOX_TYPE = 0x00010000
	MB_DEFAULT_DESKTOP_ONLY      MESSAGE_BOX_TYPE = 0x00020000
	MB_TOPMOST                   MESSAGE_BOX_TYPE = 0x00040000
	MB_RIGHT                     MESSAGE_BOX_TYPE = 0x00080000
	MB_RTLREADING                MESSAGE_BOX_TYPE = 0x00100000
	MB_SERVICE_NOTIFICATION      MESSAGE_BOX_TYPE = 0x00200000
	MB_SERVICE_NOTIFICATION_NT3X MESSAGE_BOX_TYPE = 0x00040000
	MB_TYPEMASK                  MESSAGE_BOX_TYPE = 0x0000000F
	MB_ICONMASK                  MESSAGE_BOX_TYPE = 0x000000F0
	MB_DEFMASK                   MESSAGE_BOX_TYPE = 0x00000F00
	MB_MODEMASK                  MESSAGE_BOX_TYPE = 0x00003000
	MB_MISCMASK                  MESSAGE_BOX_TYPE = 0x0000C000
)

type MSG

type MSG struct {
	Hwnd    HWND
	Message UINT
	WParam  WPARAM
	LParam  LPARAM
	Time    DWORD
	Point   Point
}

type NONCLIENTMETRICSW

type NONCLIENTMETRICSW struct {
	Size              UINT
	BorderWidth       INT
	ScrollWidth       INT
	ScrollHeight      INT
	CaptionWidth      INT
	CaptionHeight     INT
	CaptionFont       LOGFONTW
	SmCaptionWidth    INT
	SmCaptionHeight   INT
	SmCaptionFont     LOGFONTW
	MenuWidth         INT
	MenuHeight        INT
	MenuFont          LOGFONTW
	StatusFont        LOGFONTW
	MessageFont       LOGFONTW
	PaddedBorderWidth INT
}

type PAINTSTRUCT

type PAINTSTRUCT struct {
	HDC     HANDLE
	Erase   BOOL
	RcPaint RECT
	// contains filtered or unexported fields
}

type PEN_STYLE

type PEN_STYLE DWORD
const (
	PS_SOLID       PEN_STYLE = 0
	PS_DASH        PEN_STYLE = 1 /* -------  */
	PS_DOT         PEN_STYLE = 2 /* .......  */
	PS_DASHDOT     PEN_STYLE = 3 /* _._._._  */
	PS_DASHDOTDOT  PEN_STYLE = 4 /* _.._.._  */
	PS_NULL        PEN_STYLE = 5
	PS_INSIDEFRAME PEN_STYLE = 6
	PS_USERSTYLE   PEN_STYLE = 7
	PS_ALTERNATE   PEN_STYLE = 8
	PS_STYLE_MASK  PEN_STYLE = 0x0000000F

	PS_ENDCAP_ROUND  PEN_STYLE = 0x00000000
	PS_ENDCAP_SQUARE PEN_STYLE = 0x00000100
	PS_ENDCAP_FLAT   PEN_STYLE = 0x00000200
	PS_ENDCAP_MASK   PEN_STYLE = 0x00000F00

	PS_JOIN_ROUND PEN_STYLE = 0x00000000
	PS_JOIN_BEVEL PEN_STYLE = 0x00001000
	PS_JOIN_MITER PEN_STYLE = 0x00002000
	PS_JOIN_MASK  PEN_STYLE = 0x0000F000

	PS_COSMETIC  PEN_STYLE = 0x00000000
	PS_GEOMETRIC PEN_STYLE = 0x00010000
	PS_TYPE_MASK PEN_STYLE = 0x000F0000
)

type POINT

type POINT struct {
	X, Y LONG
}

func GetCursorPos

func GetCursorPos() (*POINT, error)

type PVOID

type PVOID unsafe.Pointer

func LockResource

func LockResource(res HGLOBAL) (PVOID, error)

type Point

type Point struct {
	X, Y LONG
}

type RECT

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

func (*RECT) BottomRight

func (rect *RECT) BottomRight() *POINT

func (*RECT) Height

func (rect *RECT) Height() LONG

func (*RECT) TopLeft

func (rect *RECT) TopLeft() *POINT

func (*RECT) Width

func (rect *RECT) Width() LONG

type SHORT

type SHORT int16 // A 16-bit integer.

type SHOW_WINDOW_CMD

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

type SIZE_T

type SIZE_T ULONG_PTR

type SSIZE_T

type SSIZE_T LONG_PTR

type SystemMetricsIndex

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

type TPMPARAMS

type TPMPARAMS struct {
	Size    UINT
	Exclude RECT
}

type TRACK_POPUP_MENU_FLAG

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

type UCHAR

type UCHAR uint8 // An unsigned CHAR.

type UINT

type UINT uint32

func GetDpiForSystem

func GetDpiForSystem() UINT

func GetDpiForWindow

func GetDpiForWindow(hwnd HWND) (UINT, error)

type UINT_PTR

type UINT_PTR uintptr

func DialogBoxIndirectParamW

func DialogBoxIndirectParamW(instance HINSTANCE, template *DLGTEMPLATE, parent HWND, dialogFunc uintptr, param LPARAM) (UINT_PTR, error)

type ULONG

type ULONG uint32 // An unsigned LONG.

type ULONGLONG

type ULONGLONG uint64 // A 64-bit unsigned integer.

type ULONG_PTR

type ULONG_PTR uintptr // An unsigned LONG_PTR.

type USHORT

type USHORT uint16

type UUID

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

type WCHAR

type WCHAR int16 // A 16-bit Unicode character.

type WINDOW_EX_STYLE

type WINDOW_EX_STYLE DWORD
const (
	WS_EX_ACCEPTFILES         WINDOW_EX_STYLE = 0x00000010
	WS_EX_APPWINDOW           WINDOW_EX_STYLE = 0x00040000
	WS_EX_CLIENTEDGE          WINDOW_EX_STYLE = 0x00000200
	WS_EX_COMPOSITED          WINDOW_EX_STYLE = 0x02000000
	WS_EX_CONTEXTHELP         WINDOW_EX_STYLE = 0x00000400
	WS_EX_CONTROLPARENT       WINDOW_EX_STYLE = 0x00010000
	WS_EX_DLGMODALFRAME       WINDOW_EX_STYLE = 0x00000001
	WS_EX_LAYERED             WINDOW_EX_STYLE = 0x00080000
	WS_EX_LAYOUTRTL           WINDOW_EX_STYLE = 0x00400000
	WS_EX_LEFT                WINDOW_EX_STYLE = 0x00000000
	WS_EX_LEFTSCROLLBAR       WINDOW_EX_STYLE = 0x00004000
	WS_EX_LTRREADING          WINDOW_EX_STYLE = 0x00000000
	WS_EX_MDICHILD            WINDOW_EX_STYLE = 0x00000040
	WS_EX_NOACTIVATE          WINDOW_EX_STYLE = 0x08000000
	WS_EX_NOINHERITLAYOUT     WINDOW_EX_STYLE = 0x00100000
	WS_EX_NOPARENTNOTIFY      WINDOW_EX_STYLE = 0x00000004
	WS_EX_NOREDIRECTIONBITMAP WINDOW_EX_STYLE = 0x00200000
	WS_EX_OVERLAPPEDWINDOW    WINDOW_EX_STYLE = WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE
	WS_EX_PALETTEWINDOW       WINDOW_EX_STYLE = WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST
	WS_EX_RIGHT               WINDOW_EX_STYLE = 0x00001000
	WS_EX_RIGHTSCROLLBAR      WINDOW_EX_STYLE = 0x00000000
	WS_EX_RTLREADING          WINDOW_EX_STYLE = 0x00002000
	WS_EX_STATICEDGE          WINDOW_EX_STYLE = 0x00020000
	WS_EX_TOOLWINDOW          WINDOW_EX_STYLE = 0x00000080
	WS_EX_TOPMOST             WINDOW_EX_STYLE = 0x00000008
	WS_EX_TRANSPARENT         WINDOW_EX_STYLE = 0x00000020
	WS_EX_WINDOWEDGE          WINDOW_EX_STYLE = 0x00000100
)

type WINDOW_STYLE

type WINDOW_STYLE DWORD
const (
	WS_BORDER           WINDOW_STYLE = 0x00800000
	WS_CAPTION          WINDOW_STYLE = 0x00C00000
	WS_CHILD            WINDOW_STYLE = 0x40000000
	WS_CHILDWINDOW      WINDOW_STYLE = 0x40000000
	WS_CLIPCHILDREN     WINDOW_STYLE = 0x02000000
	WS_CLIPSIBLINGS     WINDOW_STYLE = 0x04000000
	WS_DISABLED         WINDOW_STYLE = 0x08000000
	WS_DLGFRAME         WINDOW_STYLE = 0x00400000
	WS_GROUP            WINDOW_STYLE = 0x00020000
	WS_HSCROLL          WINDOW_STYLE = 0x00100000
	WS_ICONIC           WINDOW_STYLE = 0x20000000
	WS_MAXIMIZE         WINDOW_STYLE = 0x01000000
	WS_MAXIMIZEBOX      WINDOW_STYLE = 0x00010000
	WS_MINIMIZE         WINDOW_STYLE = 0x20000000
	WS_MINIMIZEBOX      WINDOW_STYLE = 0x00020000
	WS_OVERLAPPED       WINDOW_STYLE = 0x00000000
	WS_OVERLAPPEDWINDOW WINDOW_STYLE = WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX
	WS_POPUP            WINDOW_STYLE = 0x80000000
	WS_POPUPWINDOW      WINDOW_STYLE = WS_POPUP | WS_BORDER | WS_SYSMENU
	WS_SIZEBOX          WINDOW_STYLE = 0x0004000
	WS_SYSMENU          WINDOW_STYLE = 0x00080000
	WS_TABSTOP          WINDOW_STYLE = 0x00010000
	WS_THICKFRAME       WINDOW_STYLE = 0x00040000
	WS_TILED            WINDOW_STYLE = 0x00000000
	WS_TILEDWINDOW      WINDOW_STYLE = WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX
	WS_VISIBLE          WINDOW_STYLE = 0x10000000
	WS_VSCROLL          WINDOW_STYLE = 0x00200000
)

type WNDCLASSEXW

type WNDCLASSEXW struct {
	Size       UINT
	Style      CLASS_STYLE
	WndProc    uintptr
	ClsExtra   INT
	WndExtra   INT
	Instance   HINSTANCE
	Icon       HICON
	Cursor     HCURSOR
	Background HBRUSH
	MenuName   *WCHAR
	ClassName  *WCHAR
	IconSm     HICON
}

type WORD

type WORD uint16 // A 16-bit unsigned integer.

func HIWORD

func HIWORD[T ~uintptr](l T) WORD

func LOWORD

func LOWORD[T ~uintptr](l T) WORD

type WPARAM

type WPARAM UINT_PTR

type WndProc

type WndProc = func(hwnd HWND, message UINT, wParam WPARAM, lParam LPARAM) LRESULT

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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