[英]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.