//go:build windows package main import ( "syscall" "unsafe" ) var ( user32 = syscall.NewLazyDLL("user32.dll") messageBoxW = user32.NewProc("MessageBoxW") ) func showMessage(title, text string, isError bool) { flags := uint32(0x00000040) // MB_ICONINFORMATION if isError { flags = 0x00000010 // MB_ICONERROR } titlePtr, _ := syscall.UTF16PtrFromString(title) textPtr, _ := syscall.UTF16PtrFromString(text) messageBoxW.Call(0, uintptr(unsafe.Pointer(textPtr)), uintptr(unsafe.Pointer(titlePtr)), uintptr(flags), ) }