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