为了账号安全,请及时绑定邮箱和手机立即绑定

获取窗口进程开始时间

获取窗口进程开始时间

Go
开心每一天1111 2022-08-09 20:17:50
我知道有像go-ps这样的包在Windows中给我们提供活动运行进程,但是这个包没有进程开始时间和其他进程信息。而且我知道在Windows电源外壳中使用此命令,我可以获得进程开始时间。Get-Process | select name, starttime我不想执行命令并获得结果解析它,实际上主要思想是如何使用像os这样的主Go包获得处理时间。
查看完整描述

1 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

您可以使用 w32 包来实现此目的。我维护此存储库,您可以通过创建问题来请求包含新的 WinAPI 函数,或者自己动手并打开拉取请求。


下面是如何获取当前进程的运行时的示例。我们等待一秒钟,询问时间,输出略高于一秒钟。


package main


import (

    "fmt"

    "time"


    "github.com/gonutz/w32/v2"

)


func main() {

    time.Sleep(time.Second)

    creation, _, _, _, ok := w32.GetProcessTimes(w32.GetCurrentProcess())

    if !ok {

        panic("GetProcessTimes failed")

    }

    fmt.Println("creation", creation.Time())

    fmt.Println("run time", time.Now().Sub(creation.Time()))

}


查看完整回答
反对 回复 2022-08-09
  • 1 回答
  • 0 关注
  • 162 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号