Go 检查进程是否有窗口
在我的Go代码中,我启动了一个外部GUI应用程序(Firefox),并试图将其设置为最前面的窗口(最上面的窗口)。在尝试Go 检查进程是否有窗口,go,window,exec,topmost,Go,Window,Exec,Topmost,在我的Go代码中,我启动了一个外部GUI应用程序(Firefox),并试图将其设置为最前面的窗口(最上面的窗口)。在尝试robotgo之后,我发现它不起作用,因为当我调用ActivePID时,窗口仍然没有加载,所以没有一个窗口可以让robotgo设置为最上面 我如何检测Firefox何时加载了它的GUI?(以跨平台方式) cmd:=exec.Command(“firefox”) cmd.Start() ActivePID(int32(cmd.Process.Pid)) cmd.Wait() 如果
robotgo
之后,我发现它不起作用,因为当我调用ActivePID
时,窗口仍然没有加载,所以没有一个窗口可以让robotgo设置为最上面
我如何检测Firefox何时加载了它的GUI?(以跨平台方式)
cmd:=exec.Command(“firefox”)
cmd.Start()
ActivePID(int32(cmd.Process.Pid))
cmd.Wait()
如果有人也遇到这个问题,我发现robotgo
有一个名为robotgo.GetPID
的API,它获取当前活动窗口的进程id
这意味着我们可以反复检查robotgo.GetPID
是否返回目标进程id:
for int32(processID) != robotgo.GetPID() {
robotgo.ActivePID(int32(processID))
}