gpt4 book ai didi

java - 从 GUI 读取数据

转载 作者:行者123 更新时间:2023-12-01 13:27:58 24 4
gpt4 key购买 nike

我有一个一般性问题:

如果我有一个 GUI(例如,metaTrader => 在线经纪商),是否可以使用 java 从此 GUI 读取数据?

我的想法:

使用 java.awt.robot 并执行以下操作:

package java_robot;

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import java.awt.event.InputEvent;
import java.awt.event.MouseEvent;

public class java_robot {

public static void main(String[] args) {

try {
// create class
Robot robot = new Robot();

// wait 1 sec
robot.delay(1000);

// move mouse to wanted area
robot.mouseMove(x, y);
}

// mark an area, copy it and save in file..

} catch (AWTException e) {
e.printStackTrace();
}
}
}

这个想法好吗,或者您知道其他从 GUI 读取数据的解决方案吗?(在 Mac 上工作)

最佳答案

您可以使用Robot#createScreenCapture()方法在这里。

Robot r = new Robot();

// Capture area
int width = ...
int height = ...
Rectangle area = new Rectangle(width, height);
BufferedImage image = r.createScreenCapture(area);

// Save to file
ImageIO.write(image, "png", new File("/screenshot.png"));

或者,如果 MetaTrader 从互联网加载数据,您可以嗅探其流量并确定其数据的来源方式和来源。然后你可以尝试模仿它的网络通话并自己获取数据,只要它没有加密。

您还可以在 Java 中构建一个代理并要求 MetaTrader 使用该代理。 MetaTrader 请求的所有数据都将通过您的代理。这可以让您有机会再次读取数据……只要数据未加密。

下图说明了事情是如何运作的。 Alice 扮演 meaTrader 的角色。 Bob是metaTrader的数据来源。 Proxy 是您的 Java 应用程序。

enter image description here

您可以在这里找到此类代理的简单实现:http://www.java2s.com/Code/Java/Network-Protocol/Asimpleproxyserver.htm .

引用文献:

关于java - 从 GUI 读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21707481/

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