//go:build windows package main import ( "syscall" "unsafe" ) const ( MB_ICONERROR = 0x10 MB_ICONINFORMATION = 0x40 ) var ( user32 = syscall.NewLazyDLL("user32.dll") procMessageBoxW = user32.NewProc("MessageBoxW") ) func showError(title, message string) { messageBox(title, message, MB_ICONERROR) } func showAbout() { message := "Nex Gateway\n\nAI Gateway - 统一的大模型 API 网关\n\nhttps://github.com/nex/gateway" messageBox("关于 Nex Gateway", message, MB_ICONINFORMATION) } func messageBox(title, message string, flags uint) { titlePtr, _ := syscall.UTF16PtrFromString(title) messagePtr, _ := syscall.UTF16PtrFromString(message) procMessageBoxW.Call( 0, uintptr(unsafe.Pointer(messagePtr)), uintptr(unsafe.Pointer(titlePtr)), uintptr(flags), ) }