golang 定時彈出對話框


參考:https://studygolang.com/articles/2712

package main

import (
    "syscall"
    "time"
    "unsafe"
)

func IntPtr(n int) uintptr {
    return uintptr(n)
}

func StrPtr(s string) uintptr {
    return uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(s)))
}

// windows下的另一種DLL方法調用
func ShowMessage2(title, text string) {
    user32dll, _ := syscall.LoadLibrary("user32.dll")
    user32 := syscall.NewLazyDLL("user32.dll")
    MessageBoxW := user32.NewProc("MessageBoxW")
    MessageBoxW.Call(IntPtr(0), StrPtr(text), StrPtr(title), IntPtr(0))
    defer syscall.FreeLibrary(user32dll)
}

func main() {
    go func() {
        for {
            ShowMessage2("windows下的另一種DLL方法調用", "HELLO !")
            time.Sleep(3 * time.Second)
        }
    }()
    select {}
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM