가상 머신으로 키 스트로크를 보내야합니다. 작업은 반복적인데 (하루에 3-4 번해야 함) 키 스트로크를 보내서 쉽게 시뮬레이션 할 수 있습니다. 실제로 내 VM에는 SSH 세션을 실행하는 터미널 창 (Linux 기반) 만 있습니다.Java를 사용하여 하이퍼 -V에서 키 입력을 보낼 수 없습니다.
나는 키 스트로크를 보내기위한 작은 자바 테스트 프로그램을 작성했다.
public class TestRobot1 {
static int keyInput[] = {
KeyEvent.VK_H, KeyEvent.VK_E,
KeyEvent.VK_L, KeyEvent.VK_L,
KeyEvent.VK_O, KeyEvent.VK_ENTER,
};
public static void main(String[] args) throws InterruptedException, AWTException {
Thread.sleep(5000);
Robot robot = new Robot();
for(int i = 0; i < keyInput.length; i++){
robot.keyPress(keyInput[i]);
robot.delay(10);
robot.keyRelease(keyInput[i]);
robot.delay(10);
}
}
}
이 프로그램은 메모장에 성공적으로 실행, VM은 오라클 버추얼 박스, 년에 시작 SSH 세션를 통해 액세스. 그러나에서 VM을 시작하면 이 실행되지 않습니다. SSH를 사용할 수는 있지만 프로그램을 실행할 수는 있습니다.
내가 실행해야하는 창을 선택해야하는데, 그 이유는 5 초 대기 시간을 포함하고 있기 때문에 올바른 창을 선택할 수 있습니다. 매우 좋지는 않지만 테스트 프로그램입니다.
'keyPress() '이후에 지연 시간을 늘려 보라. – AlexR
이미 시도했다. 성공 없음. 게다가 그러한 경우라면 적어도 첫 번째 키 스트로크가 등록되었을 것입니다. –
원격 데스크톱 창에 초점을 맞출 때 클릭 위치는 어디에서 수행됩니까? 창 헤더 나 원격 컴퓨터에서 실행중인 메모장에 있습니까? 메모장을 클릭하고 수동으로 입력하여 실제로 초점이 맞는지 확인해보십시오. – AlexR