2013-08-21 143 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

相關問題