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