2010-03-20 8 views
4

est-il de toute façon à taper dans un processus notepad.exe à partir d'un processus JAVA?Un programme java "type" dans un autre programme Windows comme le bloc-notes

+0

S'il vous plaît faire savoir pourquoi voulez-vous faire, de sorte que nous pouvons répondre à la question à la lumière de cette connaissance. –

+0

J'ai besoin de copier certaines données que j'ai dans une application java dans un formulaire qui réside dans une autre application (nom du client, adresse, numéro de téléphone, etc) – Pablo

+3

Il n'y a pas de moyen sûr de le faire car Java ne peut pas contrôler d'autres applications . Oui, vous pouvez utiliser un robot, mais ce n'est pas fiable car vous ne pouvez pas garantir que l'application Bloc-notes est active lorsque vous invoquez le robot depuis Java. – camickr

Répondre

14

Oui, à l'aide du robot est la solution:

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); 
     } 
    } 
} 

si vous voulez convertir une chaîne à KeyEvents vérifier cette question Convert String to KeyEvents

+0

Oh, j'ai plein d'idées pour l'utiliser;) – Jerfov2

Questions connexes