github.com/secoba/wails/v2@v2.6.4/internal/frontend/desktop/windows/win32/consts.go (about)

     1  //go:build windows
     2  
     3  package win32
     4  
     5  import (
     6  	"syscall"
     7  
     8  	"github.com/secoba/wails/v2/internal/system/operatingsystem"
     9  )
    10  
    11  type HRESULT int32
    12  type HANDLE uintptr
    13  type HMONITOR HANDLE
    14  
    15  var (
    16  	moduser32                      = syscall.NewLazyDLL("user32.dll")
    17  	procSystemParametersInfo       = moduser32.NewProc("SystemParametersInfoW")
    18  	procGetWindowLong              = moduser32.NewProc("GetWindowLongW")
    19  	procSetClassLong               = moduser32.NewProc("SetClassLongW")
    20  	procSetClassLongPtr            = moduser32.NewProc("SetClassLongPtrW")
    21  	procShowWindow                 = moduser32.NewProc("ShowWindow")
    22  	procIsWindowVisible            = moduser32.NewProc("IsWindowVisible")
    23  	procGetWindowRect              = moduser32.NewProc("GetWindowRect")
    24  	procGetMonitorInfo             = moduser32.NewProc("GetMonitorInfoW")
    25  	procMonitorFromWindow          = moduser32.NewProc("MonitorFromWindow")
    26  	procIsClipboardFormatAvailable = moduser32.NewProc("IsClipboardFormatAvailable")
    27  	procOpenClipboard              = moduser32.NewProc("OpenClipboard")
    28  	procCloseClipboard             = moduser32.NewProc("CloseClipboard")
    29  	procEmptyClipboard             = moduser32.NewProc("EmptyClipboard")
    30  	procGetClipboardData           = moduser32.NewProc("GetClipboardData")
    31  	procSetClipboardData           = moduser32.NewProc("SetClipboardData")
    32  )
    33  var (
    34  	moddwmapi                        = syscall.NewLazyDLL("dwmapi.dll")
    35  	procDwmSetWindowAttribute        = moddwmapi.NewProc("DwmSetWindowAttribute")
    36  	procDwmExtendFrameIntoClientArea = moddwmapi.NewProc("DwmExtendFrameIntoClientArea")
    37  )
    38  var (
    39  	modwingdi            = syscall.NewLazyDLL("gdi32.dll")
    40  	procCreateSolidBrush = modwingdi.NewProc("CreateSolidBrush")
    41  )
    42  var (
    43  	kernel32           = syscall.NewLazyDLL("kernel32")
    44  	kernelGlobalAlloc  = kernel32.NewProc("GlobalAlloc")
    45  	kernelGlobalFree   = kernel32.NewProc("GlobalFree")
    46  	kernelGlobalLock   = kernel32.NewProc("GlobalLock")
    47  	kernelGlobalUnlock = kernel32.NewProc("GlobalUnlock")
    48  	kernelLstrcpy      = kernel32.NewProc("lstrcpyW")
    49  )
    50  
    51  var windowsVersion, _ = operatingsystem.GetWindowsVersionInfo()
    52  
    53  func IsWindowsVersionAtLeast(major, minor, buildNumber int) bool {
    54  	return windowsVersion.Major >= major &&
    55  		windowsVersion.Minor >= minor &&
    56  		windowsVersion.Build >= buildNumber
    57  }