本文实例讲述了Go语言MessageBox用法。分享给大家供大家参考。具体如下:
package main import ( "syscall" "unsafe" "fmt" ) func abort(funcname string, err int) { panic(funcname + " failed: " + syscall.Errno(err).Error()) } var ( kernel32, _ = syscall.LoadLibrary("kernel32.dll") getModuleHandle, _ = syscall.GetProcAddress(kernel32, "GetModuleHandleW") user32, _ = syscall.LoadLibrary("user32.dll") messageBox, _ = syscall.GetProcAddress(user32, "MessageBoxW") ) const ( MB_OK = 0x00000000 MB_OKCANCEL = 0x00000001 MB_ABORTRETRYIGNORE = 0x00000002 MB_YESNOCANCEL = 0x00000003 MB_YESNO = 0x00000004 MB_RETRYCANCEL = 0x00000005 MB_CANCELTRYCONTINUE = 0x00000006 MB_ICONHAND = 0x00000010 MB_ICONQUESTION = 0x00000020 MB_ICONEXCLAMATION = 0x00000030 MB_ICONASTERISK = 0x00000040 MB_USERICON = 0x00000080 MB_ICONWARNING = MB_ICONEXCLAMATION MB_ICONERROR = MB_ICONHAND MB_ICONINFORMATION = MB_ICONASTERISK MB_ICONSTOP = MB_ICONHAND MB_DEFBUTTON1 = 0x00000000 MB_DEFBUTTON2 = 0x00000100 MB_DEFBUTTON3 = 0x00000200 MB_DEFBUTTON4 = 0x00000300 ) func MessageBox(caption, text string, style uintptr) (result int) { // var hwnd HWND ret, _, callErr := syscall.Syscall6(uintptr(messageBox), 4, 0, // HWND uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(text))), // Text uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(caption))), // Caption style, // type 0, 0) if callErr != 0 { abort("Call MessageBox", int(callErr)) } result = int(ret) return } func main() { defer syscall.FreeLibrary(kernel32) defer syscall.FreeLibrary(user32) fmt.Printf("Retern: %d\n", MessageBox("Done Title", "This test is Done.", MB_YESNOCANCEL)) } func init() { fmt.Print("Starting Up\n") }
希望本文所述对大家的Go语言程序设计有所帮助。
本文向大家介绍go语言base64用法实例,包括了go语言base64用法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了go语言base64用法。分享给大家供大家参考。具体如下: 这里展示golang base64 的一个小例子,代码如下: 发现了一个更好的办法: 希望本文所述对大家的Go语言程序设计有所帮助。
本文向大家介绍Go语言接口用法实例,包括了Go语言接口用法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Go语言接口用法。分享给大家供大家参考。具体分析如下: 接口类型是由一组方法定义的集合。 接口类型的值可以存放实现这些方法的任何值。 希望本文所述对大家的Go语言程序设计有所帮助。
本文向大家介绍Go语言MD5加密用法实例,包括了Go语言MD5加密用法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Go语言MD5加密用法。分享给大家供大家参考。具体实现方法如下: PS:这里再为大家提供2款MD5加密工具,感兴趣的朋友可以参考一下: MD5在线加密工具: http://tools.jb51.net/password/CreateMD5Password 在线MD5/h
本文向大家介绍go语言里包的用法实例,包括了go语言里包的用法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了go语言里包的用法。分享给大家供大家参考。具体分析如下: 每个 Go 程序都是由包组成的。 程序运行的入口是包 main。 这个程序使用并导入了包 "fmt" 和 "math"。 按照惯例,包名与导入路径的最后一个目录一致。 希望本文所述对大家的Go语言程序设计有所帮助。
本文向大家介绍go语言中range用法,包括了go语言中range用法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了go语言中range用法。分享给大家供大家参考。具体分析如下: range是go语言系统定义的一个函数。 函数的含义是在一个数组中遍历每一个值,返回该值的下标值和此处的实际值。 假如说a[0]=10,则遍历到a[0]的时候返回值为0,10两个值。 下面是一个例子:这个例子是
本文向大家介绍Go语言map字典用法实例分析,包括了Go语言map字典用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Go语言map字典用法。分享给大家供大家参考。具体分析如下: 这段代码生成了青岛、济南、烟台三个城市拼音和汉字的对照字典,根据拼音可以输出汉字 希望本文所述对大家的Go语言程序设计有所帮助。