Skip to content

Instantly share code, notes, and snippets.

@deadjakk
Forked from NaniteFactory/messagebox.go
Created January 12, 2021 20:41
Show Gist options
  • Save deadjakk/d201f3a6415156860cdcdbf212eac89a to your computer and use it in GitHub Desktop.
Save deadjakk/d201f3a6415156860cdcdbf212eac89a to your computer and use it in GitHub Desktop.
Win32 API MessageBox() in Golang
import (
"syscall"
"unsafe"
)
// MessageBox of Win32 API.
func MessageBox(hwnd uintptr, caption, title string, flags uint) int {
ret, _, _ := syscall.NewLazyDLL("user32.dll").NewProc("MessageBoxW").Call(
uintptr(hwnd),
uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(caption))),
uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(title))),
uintptr(flags))
return int(ret)
}
// MessageBoxPlain of Win32 API.
func MessageBoxPlain(title, caption string) int {
const (
NULL = 0
MB_OK = 0
)
return MessageBox(NULL, caption, title, MB_OK)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment