gpt4 book ai didi

java - 如何找到打开外部进程窗口的 GraphicsDevice

转载 作者:行者123 更新时间:2023-12-04 06:14:20 27 4
gpt4 key购买 nike

我需要找到 GraphicsDevice (例如物理监视器)外部进程打开其窗口的位置。抓取屏幕截图以捕捉 WRT 旧版本的更改。我们谈论的是在 localhost 上运行的应用程序,JS 被大量使用。

在我的情况下,我有一个 Java 进程(基于 Selenium),它打开一个浏览器窗口并需要抓取它的屏幕截图(使用 java.awt.Robot ),不幸的是,打开窗口的显示取决于浏览器记住它的位置是最后一次关闭。

那么,有什么方法可以让我的 Java 进程找出哪个 GraphicsDevice浏览器窗口是在什么时候打开的?

最佳答案

一种(非常粗略的)方法是在调用 Desktop.browse() 之前截屏。 ,以及另一个“片刻之后”。 ..然后比较它们的不同区域。

如果用户在桌面上有任何动画元素(例如时钟),这可能会被搞砸。

替代路线可能(未经测试)如下。由于您有效地控制了环境和内容,因此可以:

  • 将“屏幕截图”页面加载到带框文档的框架中。
  • 在另一个框架中加载一个小程序。
  • 让 JS 确定目标框架的内容区域,并将其报告给小程序。小程序根据自己的位置和内容区域的组合来确定屏幕截图区域。
  • 小程序将该区域报告给(沙盒)本地主机或(受信任的)它想要的任何套接字。
  • 截图应用。使用来自小程序的信息来控制 Robot .如果小程序是受信任的,它可能会抓取屏幕截图并将其写入磁盘(并完全跳过“报告”步骤)。
  • 关于java - 如何找到打开外部进程窗口的 GraphicsDevice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7444585/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com