1

这是我对stackoverflow的第一个问题。过去,每当我遇到困难时,都会给我很多帮助。无论如何,这是问题所在:

我在我的 PC 中使用 Java Robot。一切都很好,就像我可以在其他应用程序(如游戏等)中输入记事本移动鼠标一样。但只有这一款游戏 Java 机器人无法运行。在这个游戏中没有检测到任何东西,甚至没有鼠标移动。我试图对此进行一些研究并得出结论,也许该游戏具有某种反机器人系统。请记住,这是在我的 Windows 7 64 位电脑中。然后我想在我的笔记本电脑(也是windows 7 64bit)上在同一个游戏上使用相同的代码,它成功了!

所以我的问题是为什么会发生这种情况?为什么它可以在我的笔记本电脑而不是我的 PC 上工作?

这是代码:

package test_bot1;

import java.awt.Robot;
import java.awt.event.KeyEvent;

public class test_BOT1 {
    public static void main(String[] args) {
        try{
            Robot bot = new Robot();
            bot.delay(3000);
            bot.mouseMove(500, 0);

            for(int i = 0; i < 10; i++){
                bot.keyPress(KeyEvent.VK_A);
            }
            bot.delay(100);
            bot.keyRelease(KeyEvent.VK_A);
            bot.delay(100);
            bot.keyPress(KeyEvent.VK_TAB);
            bot.delay(200);
            bot.keyRelease(KeyEvent.VK_TAB);
            bot.delay(159);
            bot.keyPress(KeyEvent.VK_1);
            bot.delay(179);
            bot.keyRelease(KeyEvent.VK_1);
        }catch(Exception e){
        }
    }
}

出来!

4

1 回答 1

1

当然,简单的答案就是不要在游戏中作弊?

尝试将 e.printStackTrace() 添加到您的 catch 块中,并查看 pc 版本上是否有错误,而不是笔记本电脑上。

于 2013-08-21T12:49:53.373 回答