使用 Go 访问 Windows 空闲时间
本指南提供了使用 Golang 检索 Windows 系统空闲时间的解决方案。
在 Go 中访问 Windows API
获取 Windows 特定的系统信息需要使用 syscall 包。要访问 API,您需要获取 godoc 并在本地运行它:
go get golang.org/x/tools/cmd/godoc godoc --http=:6060
然后,在网络浏览器中打开 http://127.0.0.1:6060/。
获取最后的输入信息
Go 没有 GetLastInputInfo() 的直接 API。但是,您可以直接从 DLL 调用它:
<code class="go">user32 := syscall.MustLoadDLL("user32.dll") getLastInputInfo := user32.MustFindProc("GetLastInputInfo")</code>
设置结构
定义一个结构来保存返回值:
<code class="go">type LastInputInfo struct { cbSize uint32 dwTime uint32 }</code>
使用结构体的大小初始化 cbSize 字段:
<code class="go">var lastInputInfo LastInputInfo lastInputInfo.cbSize = uint32(unsafe.Sizeof(lastInputInfo))</code>
调用 GetLastInputInfo
将指向结构体的指针传递给函数:
<code class="go">_, _, err := getLastInputInfo.Call( uintptr(unsafe.Pointer(&lastInputInfo)))) if err != nil { panic("error getting last input info: " + err.Error()) }</code>
记住导入 syscall 和 unsafe。
其他提示
以上是如何使用 Go 检索 Windows 空闲时间?的详细内容。更多信息请关注PHP中文网其他相关文章!