2010-03-20 18 views
4

另一個Windows程序反正是有鍵入從JAVA過程中的notepad.exe進程?Java程序「型」到像記事本

+0

請讓知道爲什麼你要做到這一點,使我們可以根據這些知識來回答這個問題。 – 2010-03-20 05:28:58

+0

我需要將我在java應用程序中的一些數據複製到駐留在另一個應用程序(客戶名稱,地址,電話號碼等)中的表單中 – Pablo 2010-03-20 05:46:57

+3

沒有安全的方法來執行此操作,因爲Java無法控制其他應用程序。是的,您可能可以使用Robot,但它不可靠,因爲當您從Java調用Robot時,無法保證記事本應用程序具有焦點。 – camickr 2010-03-20 06:03:42

回答

14

是,使用機器人是解決方案:

import java.awt.Robot; 
import java.awt.event.KeyEvent; 

public class Notepad { 

    static int keyInput[] = { KeyEvent.VK_J, KeyEvent.VK_A, KeyEvent.VK_V, 
      KeyEvent.VK_A, KeyEvent.VK_SPACE }; 

    public static void main(String[] args) throws Exception { 

     Runtime.getRuntime().exec("notepad"); 

     Robot robot = new Robot(); 
     for (int i = 0; i < keyInput.length; i++) { 
      robot.keyPress(keyInput[i]); 
      robot.delay(100); 
     } 
    } 
} 
如果你想將一個字符串轉換的KeyEvents檢查這個問題

Convert String to KeyEvents

+0

哦,我對這個用法有很多想法;) – Jerfov2 2015-09-02 15:44:52