簡體   English   中英

無法使用JAVA在Hyper-V上向VM發送擊鍵

[英]Cannot send keystrokes to VM on hyper-V using JAVA

我必須將擊鍵發送到虛擬機。 任務是重復性的(我每天必須做3-4次),但是可以通過發送擊鍵輕松地進行模擬。 實際上,我的VM僅具有運行SSH會話的終端窗口(基於Linux)。

我編寫了一個小的Java測試程序來發送擊鍵。

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在Oracle Virtual Box中啟動並可通過SSH會話進行訪問 但是, 當從hyper-V啟動VM時,無法運行 ,盡管我可以SSH到該端口,然后可以運行該程序。

我必須選擇要在其上運行的窗口,這就是為什么我要等待5秒鍾,以便我可以及時選擇正確的窗口的原因。 我知道這不是很好,但這是一個測試程序。

我沒有使用hiper-v,但是我使用的是常規遠程桌面。 但是,我執行了單擊操作,使用機器人本身將焦點放在窗口上。 試試這種技術。 作為參考,請查看https://github.com/alexradzin/TypeToPaste

這是TypeToPaste網站: https : //sites.google.com/site/typetopaste/

我建議下載此應用程序並嘗試。 如果可行,請檢查其代碼。 不然對不起...

請讓我知道它進展如何。 我很好奇...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM