在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
package main import ( "syscall" "unsafe" ) func main(){ h, err := syscall.LoadLibrary("DllTest.dll") if err != nil { abort("LoadLibrary", err) } defer syscall.FreeLibrary(h) proc, err := syscall.GetProcAddress(h, "SomeFunction") if err != nil { abort("GetProcAddress", err) } var str = "31231" r, _, _ := syscall.Syscall(uintptr(proc), 1, uintptr(unsafe.Pointer(&str)), 0, 0) print_version(uint32(r)) } func abort(funcname string, err error) { panic(funcname + " failed: " + err.Error()) } func print_version(v uint32) { major := byte(v) minor := uint8(v >> 8) build := uint16(v >> 16) print("windows version ", major, ".", minor, " (Build ", build, ")\n") }
|
请发表评论