2013-08-21 146 views
1

这是我的第一个问题,以stackoverflow。当我被卡住时,帮助我过去很多。无论如何,这里是问题:Java机器人班在笔记本电脑上工作,但不是电脑

我在我的电脑中使用Java机器人。一切都很好,就像我可以在游戏等其他应用程序中输入记事本移动鼠标一样。但是,只有这一款游戏是java Robot无法使用的。在这款游戏上甚至没有发现任何鼠标移动。我试图对此做一些研究,得出的结论是,也许这款游戏有某种反僵尸系统。请记住,这是在我的电脑是Windows 7 64位。然后我想在我的笔记本电脑上使用相同的代码(这也是Windows 7 64位)在同一个游戏,它工作!

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

这里是代码:

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){ 
     } 
    } 
} 

K掉!

+0

一个空的catch块是一个非常糟糕的主意。 – mabbas

+0

他们是否使用相同版本的Java? –

+0

@mabbas我只是做了这个测试,看看机器人的工作原理。 – Kamran

回答

1

当然,这个简单的答案不是在游戏中作弊吗?

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

+1

嗯,我不同意你的简单答案。我认为,如果你在游戏中编写了一些程序来帮助你学习编程的新东西,同时对你自己也很好,因为你可以使用鼠标来完成自动化任务。例如在EVE Online中,有一个内置的自动驾驶仪,这不太好。它更好,如果你飞自己。我编写了一个自动驾驶仪,模拟我用鼠标完成的飞行。每次跳跃我节省了1,2分钟。我学到了东西。 – Loki

+0

@Glen Lamb:我在我的电脑上试过e.printStackTrace(),但没有给出任何错误,也没有我在游戏中作弊。只是想通过摆弄它来正确理解它。 – Kamran

+0

@Loki:我同意你关于自动化。 我刚刚发现了关于Java Robot的内容,并且对它发疯了。我尽可能多地理解它。所以我遇到了这个问题。 – Kamran

相关问题