본문 바로가기
[IT] JAVA

[JAVA] Robot 클래스 마우스 랜덤 이동을 통한 화면보호기/절전모드 방지

by 오리엔탈킴 2022. 6. 23.

Java의 Robot 클래스를 이용하여, 마우스를 주기적으로 랜덤 하게 이동시켜 화면보호기 또는 절전모드를 방지하는 아주 간단한 코드를 작성하도록 하겠습니다.

Robot 클래스란

PC의 인풋 이벤트를 생성하기 위한 클래스로 키보드나 마우스 입력을 JAVA의 코드를 통해 받을 수 있습니다. 애플리케이션 자동 테스트나 데모를 자동으로 보여줄 목적으로 생성이 된 클래스입니다.

이 Robot 클래스를 이용하여 아주 간단하게 마우스를 일정 시간 간격으로 랜덤하게 이동을 시키는 코드를 구현하도록 하겠습니다. 먼저 Robot 객체를 생성하고, mouseMove라는 매서드를 통해 마우스를 이동을 하게 됩니다. 이 매서드는 매개변수로 화면 해상도의 좌표 값인 x와 y를 받아서, 그 좌표 위치로 마우스를 이동하는 매서드입니다.

이 x,y 값은 Math.random() 매소드로 랜덤 하게 생성해줍니다. 만약 1920 x 1080 해상도를 사용하는 경우, 아래와 같이 x값에 1920 / y값에 1080을 곱하여 화면 범위 내에서 마우스를 랜덤 하게 이동하게 합니다. 그리고 중간에 Thread.sleep(10000)을 추가하여 10초마다 한 번씩 랜덤 한 위치에 마우스를 이동시키도록 합니다.

아래 코드를 Run 하게 되면 종료 전까지 계속 마우스가 랜덤 하게 이동을 하게 됩니다. 

import java.awt.Robot;

public class RobotTest {
    
    public static void main(String[] args) throws Exception {
        
        Robot robot = new Robot();

        int x,y;

        while(true){ // 종료할 때 까지 무한 반복
            x = (int) (Math.random() * 1920); // 1920*1080 해상도 내의 x,y 값을 랜덤하게 생성
            y = (int) (Math.random() * 1080);
            
            robot.mouseMove(x, y); // x,y 좌표로 이동

            Thread.sleep(10000); // 10초 대기 후 다음 좌표로 이동
        }
    }
}

 

반응형

댓글