Java查找窗口



我的愿望是为游戏创建一个bot,在游戏规则的约束下,将信息发送到web服务器。我的第一个问题是找到游戏窗口,然后找到它的名字。我一直在尝试使用辅助技术,但并不完全适应。根据我有限的理解,我需要添加一个类路径,或者一些将两个项目设置在同一个虚拟机中的东西。

我现在正在使用netbeans,当我使用:(这是我的责任)

public void topLevelWindowCreated(Window w) {
    String name = w.getAccessibleContext().getAccessibleName();
    System.out.println("Names of toplevel windows "+name);
    if (!name.equals("Puzzle Pirates"))
        // Only if we're running alongside a Window named "Puzzle Pirates"
        return;
    window = w;
    createGUI();
    frame.setVisible(true);
}

我将得到我创建的窗口的名称,但不是游戏的名称。

资源:游戏-海盗拼图www.puzzlepirates.com(下载版)代码示例:http://java.sun.com/javase/technologies/accessibility/docs/jaccess - 1.1 -/- examples/explorer/explorer.java

希望你能指点我

不,这不是Netbeans的错。

类路径位意味着你需要在bot库可用的情况下发行《Puzzle Pirates》。这意味着你不能在单独的Java进程中启动PP和bot,如果你从Netbeans内部运行bot,这可能会发生。

如果我理解的样例代码注释正确,当你把你的机器人的类名到awt。属性,它应该在Puzzle Pirates(或任何其他Java应用程序)启动时自动加载。为了开发bot,你需要做的是将《Puzzle Pirates》包含在你的Netbeans项目中,并开始游戏,而不是一些测试窗口。

您总是可以使用反射实例化puzzle pirates来从您的程序中加载puzzle pirates,从而在相同的java进程中允许您挂接到puzzle pirates并获取任何必要的信息。

相关内容

  • 没有找到相关文章

最新更新