2013-08-21 2 views
1

이것은 첫 번째 질문입니다. 내가 붙어있을 때마다 과거에 많이 도와 줬어. 어쨌든 여기에 문제가 있습니다 :Java Robot 클래스는 랩톱 컴퓨터에서 작동하지만

내 PC에 Java Robot를 사용하고있었습니다. 게임과 같은 다른 응용 프로그램에서 마우스를 메모장에서 움직일 수있는 것처럼 좋았습니다.하지만 Java 로봇이 작동하지 않는이 게임이 하나있었습니다. 이 게임에서 마우스 움직임조차도 감지되지 않았습니다. 나는 이것에 대한 연구를 해보고 게임에 일종의 반 봇 시스템이 있다고 결론을 내렸다. Windows 7 64 비트 인 내 PC에 있다는 사실을 명심하십시오. 그런 다음 동일한 게임에서 동일한 코드를 내 랩톱 (Windows 7 64 비트)에 사용하려고 생각했습니다.

내 질문에 왜 이런 일이 발생 했나요? 내 노트북이 아닌 내 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){ 
     } 
    } 
} 

K 아웃 : 여기

코드입니다!

+0

빈 캐치 블록은 매우 나쁜 생각입니다. – mabbas

+0

그들은 같은 Java 버전을 사용하고 있습니까? –

+0

@ mabbas 방금 로봇이 어떻게 작동하는지 테스트하기 위해이 작업을 수행했습니다. – Kamran

답변

1

확실히이 간단한 대답은 게임에서 속이는 것이 아닙니다.

catch 블록에 e.printStackTrace()를 추가하고 랩탑이 아닌 PC 버전에 오류가 있는지 확인하십시오.

+1

글쎄, 나는 당신의 간단한 대답에 동의하지 않습니다. 게임에서 당신을 도우려는 뭔가를 프로그래밍하고 프로그래밍에 대한 새로운 지식을 배우고 처음에는 마우스로 할 수있는 일을 자동화했기 때문에 자신도 좋다고 생각합니다. 예를 들어 EVE Online에는 자동 조종 장치가 내장되어 있습니다. 네가 날아간다면 더 좋다. 마우스로 할 비행을 시뮬레이트하는 자동 조종 장치를 프로그래밍했습니다. 나는 점프 당 1,2 분을 구했다. 그리고 나는 물건을 배웠다. – Loki

+0

@Glen Lamb : 내 PC에서 e.printStackTrace()를 시도했지만 오류가 발생하지 않았으며 게임에서 부정 행위를하지 않았습니다. 그냥 주변을 어지럽히고 제대로 이해하고 싶습니다. – Kamran

+0

@Loki : 나는 자동화에 대해 당신과 동의합니다. 방금 ​​Java 로봇에 대해 알아 냈고 그걸로 미쳤습니다. 나는 그것을 제대로 이해할 수있을만큼 많이 혼란 스럽다. 그래서이 문제를 보았습니다. – Kamran

관련 문제