李海彬
go 对windows api的调用
关注作者
前往小程序,Get
更优
阅读体验!
立即前往
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
李海彬
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
社区首页
>
专栏
>
go 对windows api的调用
go 对windows api的调用
李海彬
关注
发布于 2018-03-27 15:34:19
2.5K
0
发布于 2018-03-27 15:34:19
举报
文章被收录于专栏:
Golang语言社区
package main import ( "syscall" ) func abort(funcname string, err string) { panic(funcname + " failed: "+err) } func print_version(v uint32) { major := byte(v) minor := uint8(v >> 8) build := uint16(v >> 16) print("windows version ", major, ".", minor, " (Build ", build, ")\n") } func main() { h, err := syscall.LoadLibrary("kernel32.dll") if err!=nil { abort("LoadLibrary", err.Error()) } defer syscall.FreeLibrary(h) proc, err := syscall.GetProcAddress(h, "GetVersion") if err!=nil { abort("GetProcAddress", err.Error()) } r, _, _ := syscall.Syscall(uintptr(proc), 0, 0, 0,0) print_version(uint32(r)) } //windows 7下调试通过 // 附 一个go站 http://golangwiki.org //附 error 定义 type error interface { Error() string } 注: 函数原型 DWORD WINAPI GetVersion(void); 函数说明: 返回当前操作系统的版本号(在64位系统上是32位字节长度)。 返回值 如果函数执行成功,返回值的低字部分(低16位)是操作系统的主次版本号,高字部分(高16位)保存着操作系统平台的信息。 头文件:WinBase.h(包含在Windows.h头文件中) 库:Kernel32.lib 支持的最低版本的桌面客户端: Windows 2000 Professional [desktop apps only]
本文参与
腾讯云自媒体同步曝光计划
,分享自微信公众号。
原始发表:2017-08-30,如有侵权请联系
cloudcommunity@tencent.com
删除
windows
api
go
本文分享自
Golang语言社区
微信公众号,
前往查看
如有侵权,请联系
cloudcommunity@tencent.com
删除。
本文参与
腾讯云自媒体同步曝光计划
,欢迎热爱写作的你一起参与!
windows
api
go
评论
登录
后参与评论
0 条评论
热度
最新
推荐阅读
LV.
文章
0
获赞
0
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档
0
0
0
推荐