mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-02 22:49:31 +08:00

* Add Check for WindowState IsMaximised, IsMinimized, IsNormal and IsFullscreen Solve conflicts # Conflicts: # v2/internal/frontend/desktop/darwin/WailsContext.m # v2/internal/frontend/desktop/darwin/frontend.go # v2/internal/frontend/desktop/linux/window.go # v2/internal/frontend/desktop/windows/window.go * Add Check for WindowState IsMaximised, IsMinimized, IsNormal and IsFullscreen Solve conflict # Conflicts: # v2/pkg/runtime/window.go * Forgot some function to use it # Conflicts: # v2/internal/frontend/desktop/darwin/WailsContext.h # v2/internal/frontend/desktop/windows/win32/consts.go # v2/internal/frontend/desktop/windows/win32/window.go * Modify the instructions # Conflicts: # v2/internal/frontend/devserver/devserver.go * Add Functions to DevServer # Conflicts: # v2/internal/frontend/dispatcher/systemcalls.go # v2/internal/frontend/runtime/desktop/window.js # v2/internal/frontend/runtime/package-lock.json # v2/internal/frontend/runtime/runtime_prod_desktop.js # v2/internal/frontend/runtime/wrapper/runtime.d.ts # v2/internal/frontend/runtime/wrapper/runtime.js * Add Callback and JavaScript Functions # Conflicts: # v2/cmd/wails/internal/commands/initialise/templates/generate/assets/common/frontend/wailsjs/runtime/runtime.js # v2/internal/frontend/runtime/package-lock.json # v2/internal/frontend/runtime/runtime_dev_desktop.js * Remove Merge lines * Fix IsMaximised * Add WindowState Docs * Update docs Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
44 lines
1.4 KiB
Go
44 lines
1.4 KiB
Go
//go:build windows
|
|
|
|
package win32
|
|
|
|
import (
|
|
"syscall"
|
|
|
|
"github.com/wailsapp/wails/v2/internal/system/operatingsystem"
|
|
)
|
|
|
|
type HRESULT int32
|
|
type HANDLE uintptr
|
|
type HMONITOR HANDLE
|
|
|
|
var (
|
|
moduser32 = syscall.NewLazyDLL("user32.dll")
|
|
procSystemParametersInfo = moduser32.NewProc("SystemParametersInfoW")
|
|
procGetWindowLong = moduser32.NewProc("GetWindowLongW")
|
|
procSetClassLong = moduser32.NewProc("SetClassLongW")
|
|
procSetClassLongPtr = moduser32.NewProc("SetClassLongPtrW")
|
|
procShowWindow = moduser32.NewProc("ShowWindow")
|
|
procIsWindowVisible = moduser32.NewProc("IsWindowVisible")
|
|
procGetWindowRect = moduser32.NewProc("GetWindowRect")
|
|
procGetMonitorInfo = moduser32.NewProc("GetMonitorInfoW")
|
|
procMonitorFromWindow = moduser32.NewProc("MonitorFromWindow")
|
|
)
|
|
var (
|
|
moddwmapi = syscall.NewLazyDLL("dwmapi.dll")
|
|
procDwmSetWindowAttribute = moddwmapi.NewProc("DwmSetWindowAttribute")
|
|
procDwmExtendFrameIntoClientArea = moddwmapi.NewProc("DwmExtendFrameIntoClientArea")
|
|
)
|
|
var (
|
|
modwingdi = syscall.NewLazyDLL("gdi32.dll")
|
|
procCreateSolidBrush = modwingdi.NewProc("CreateSolidBrush")
|
|
)
|
|
|
|
var windowsVersion, _ = operatingsystem.GetWindowsVersionInfo()
|
|
|
|
func IsWindowsVersionAtLeast(major, minor, buildNumber int) bool {
|
|
return windowsVersion.Major >= major &&
|
|
windowsVersion.Minor >= minor &&
|
|
windowsVersion.Build >= buildNumber
|
|
}
|