[英]'keyPress()' method for Robot object isn't typing anything
我正在嘗試在 Java 中編寫一個程序,該程序使用機器人 class 自動鍵入字符串中的每個字符。 不久前,我用它制作了一個類似的自動化程序(我將其稱為“以前的項目”),它使用了“keyPress()”。 我需要使用的機器人 class 的其他方法以及大多數(如果不是全部)方法都非常有效。
現在我已經開始了,'keyPress()' 沒有輸入任何內容,不管我作為參數傳遞的 KeyEvent 是什么。 我以為我寫錯了代碼,所以我運行了我以前的項目只是為了確保它有效,但它沒有。
這是我用於上一個項目和我當前項目的代碼片段(您也可以使用它來測試它)。
編輯:嘗試使用文本編輯器或任何類似於文本字段的功能。 我現在展示了整個演示 class。
// demo procedure
public class DemoClass() {
public static void main(String[] args) {
new DemoClass().run()
}
public void run() {
try {
Robot robot = new Robot();
for (int i = 1; i <= 30; i++) {
robot.keyPress(KeyEvent.VK_A);
robot.delay(100);
System.out.println("Typed key");
}
} catch (AWTException e) {
e.printStackTrace();
}
}
}
“鍵入的密鑰”打印了 30 次,output 中也沒有出現錯誤。
我試過了;
這些都沒有產生結果。 我檢查了來自多個來源(文章和視頻)的代碼,所有這些都具有相同的代碼存根。 我讀過一些軟件會阻止機器人對象在其中輸入/單擊,但在我開發以前的項目時,輸入和單擊都有效。
所以我今天醒來,然后……程序運行了。
我仍然不知道為什么它一開始就不起作用,或者問題是如何解決的(魔術?)。 運行 sudo 命令似乎沒有什么不同,而且我正在處理的軟件都沒有阻止機器人 object 自動鍵入/單擊。
這很可能只是我的問題,因為其他人設法讓它工作。 既然已經發生過一次,那它很可能會再次發生。
無論如何,感謝所有幫助過的人。 如果未來的讀者對它為什么不起作用有任何想法,請隨時分享。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.