最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Go語言MessageBox用法實例

 更新時間:2015年02月28日 10:14:05   作者:小蘿莉  
這篇文章主要介紹了Go語言MessageBox用法,實例分析了MessageBox提示框的實現(xiàn)與使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了Go語言MessageBox用法。分享給大家供大家參考。具體如下:

復(fù)制代碼 代碼如下:
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語言程序設(shè)計有所幫助。

相關(guān)文章

  • Golang中sync.Mutex的源碼分析

    Golang中sync.Mutex的源碼分析

    這篇文章將帶大家從源碼分析一下Golang中sync.Mutex的使用,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Golang有一定的幫助,需要的可以參考一下
    2023-03-03
  • go語言vscode集成開發(fā)環(huán)境搭建

    go語言vscode集成開發(fā)環(huán)境搭建

    本文將介紹如何使用VSCode搭建Go語言開發(fā)環(huán)境,Go語言是一種簡潔高效的編程語言,而VSCode是一款輕量級的集成開發(fā)環(huán)境,二者的結(jié)合可以提供良好的開發(fā)體驗,
    2023-08-08
  • 一文帶你了解Go語言中的單元測試

    一文帶你了解Go語言中的單元測試

    寫過單元測試的開發(fā)人員應(yīng)該理解,單元測試最核心的價值是為了證明:為什么我寫的代碼是正確的?也就是從邏輯角度幫你檢查你的代碼。本文就來和大家詳細(xì)聊聊Go語言中的單元測試,需要的可以參考一下
    2022-07-07
  • Go?Redis客戶端使用的兩種對比

    Go?Redis客戶端使用的兩種對比

    這篇文章主要為大家介紹了Go?Redis客戶端使用對比詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • 一文詳解Go中方法接收器的選擇

    一文詳解Go中方法接收器的選擇

    許多 Go 初學(xué)者在方法接收器的選擇上可能會感到困惑,不知道該選擇值接收器還是指針接收器。本文將會對方法接收器進(jìn)行介紹,并給出如何選擇正確方法接收器的指導(dǎo)建議,希望對大家有所幫助
    2023-04-04
  • Go語言基礎(chǔ)switch條件語句基本用法及示例詳解

    Go語言基礎(chǔ)switch條件語句基本用法及示例詳解

    這篇文章主要為大家介紹了Go語言基礎(chǔ)switch條件語句基本用法及示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • go語言實現(xiàn)屏幕截圖的示例代碼

    go語言實現(xiàn)屏幕截圖的示例代碼

    屏幕截圖在很多地方都可以 用到,本文主要介紹了go語言實現(xiàn)屏幕截圖的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Golang Map value不可尋址使用指針類型代替示例詳解

    Golang Map value不可尋址使用指針類型代替示例詳解

    這篇文章主要為大家介紹了Golang Map value不可尋址使用指針類型代替示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • MacOS中 VSCode 安裝 GO 插件失敗問題的快速解決方法

    MacOS中 VSCode 安裝 GO 插件失敗問題的快速解決方法

    這篇文章主要介紹了MacOS中 VSCode 安裝 GO 插件失敗問題的快速解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • VSCode Golang dlv調(diào)試數(shù)據(jù)截斷問題及處理方法

    VSCode Golang dlv調(diào)試數(shù)據(jù)截斷問題及處理方法

    這篇文章主要介紹了VSCode Golang dlv調(diào)試數(shù)據(jù)截斷問題,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06

最新評論

荣昌县| 小金县| 泽库县| 阿拉尔市| 龙州县| 双柏县| 克拉玛依市| 保定市| 民权县| 周口市| 会同县| 米易县| 登封市| 黑山县| 平凉市| 台东县| 陇西县| 姚安县| 湖州市| 视频| 托里县| 衡山县| 鄂尔多斯市| 乌恰县| 锦屏县| 韶山市| 海晏县| 无为县| 枣强县| 乳山市| 图片| 广饶县| 正镶白旗| 平定县| 德州市| 金川县| 景宁| 诸城市| 阿合奇县| 荆州市| 循化|