登录
首页 >  Golang >  Go问答

检查进程是否有窗口

来源:stackoverflow

时间:2024-04-26 20:48:33 196浏览 收藏

学习Golang要努力,但是不要急!今天的这篇文章《检查进程是否有窗口》将会介绍到等等知识点,如果你想深入学习Golang,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!

问题内容

在我的 go 代码中,我正在启动一个外部 gui 应用程序 (firefox),并尝试将其设为前窗口(最上面的窗口)。尝试了robotgo后,我发现它不起作用,因为当我调用activepid时,窗口仍然没有加载,所以没有一个窗口可以让robotgo设置到最上面。

如何检测 firefox 何时加载其 gui? (以跨平台方式)

cmd := exec.Command("firefox")
cmd.Start()
robotgo.ActivePID(int32(cmd.Process.Pid))
cmd.Wait()

解决方案


如果有人也遇到这个问题,我发现robotgo有一个名为robotgo.getpid的api,它可以获取当前活动窗口的进程id!

这意味着我们可以重复检查 robotgo.getpid 是否返回我们的目标进程 id:

for int32(processID) != robotgo.GetPID() {
    robotgo.ActivePID(int32(processID))
}

以上就是《检查进程是否有窗口》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>