Génération d'évènement claviers

Génération d'évènement claviers - Java - Programmation

Marsh Posté le 01-11-2003 à 16:32:34    

J'aimerais savoir si il est possible de générer un évènement clavier pour un autre programme (càd simuler l'appui sur une touche) grâce à un programme Java tournant en tâche de fond.
 
Thanks for your help.

Reply

Marsh Posté le 01-11-2003 à 16:32:34   

Reply

Marsh Posté le 01-11-2003 à 17:54:09    

non


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 18:01:24    

Tu es sur de toi ?

Reply

Marsh Posté le 01-11-2003 à 18:02:29    

en java standard, je suis sûr que ca peut pas se faire ...
maitenant, peut être que quelqu'un a développé une librairie native qui permet de faire ca ... c'est pas impossible ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-11-2003 à 18:05:32    

benou a écrit :

en java standard, je suis sûr que ca peut pas se faire ...
maitenant, peut être que quelqu'un a développé une librairie native qui permet de faire ca ... c'est pas impossible ...


 
et quand bien meme faut récupérer le handle sur l'application en question. C'est si facile à faire que ça?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 01-11-2003 à 18:07:38    

Le problème ne vient pas de la récupération du handle, mais sur l'execution d'un click de souris ou d'une touche clavier.
Par exemple les macros sur win 3.11 ça fonctionnait comment ?

Reply

Marsh Posté le 01-11-2003 à 18:27:02    

et avec java.awt.Robot, peut-être non ?

Reply

Marsh Posté le 01-11-2003 à 18:28:38    

Arf ... j'suis plus ou moins novice ... j'sonnais pas j'vais regarder ce que je peux en faire merci !

Reply

Marsh Posté le 01-11-2003 à 18:31:23    

Ok ! C bon ! Merci ! A plus les gars !
Encore merci

Reply

Marsh Posté le 01-11-2003 à 18:38:24    

noldor a écrit :

et avec java.awt.Robot, peut-être non ?


 
c pour générer un évenement clavier dans le soft li meme, pas dans un autre soft


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 01-11-2003 à 18:38:24   

Reply

Marsh Posté le 01-11-2003 à 18:38:57    

rmickey a écrit :

Ok ! C bon ! Merci ! A plus les gars !
Encore merci


 
t'as mal posé ta question si Robot correspond à tes besoins alors :o


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 01-11-2003 à 19:01:34    

Je pense que oui ... mais j'ai eu la bonne réponse à la mauvaise question ! :-)

Reply

Marsh Posté le 01-11-2003 à 19:18:56    

DarkLord a écrit :


 
c pour générer un évenement clavier dans le soft li meme, pas dans un autre soft


si tu cliques avec la classe robot dans une fenetre notepad, puis ton génères des évts clavier, ben ça écrira dans notepad quand même

Reply

Marsh Posté le 01-11-2003 à 22:13:30    

noldor a écrit :


si tu cliques avec la classe robot dans une fenetre notepad, puis ton génères des évts clavier, ben ça écrira dans notepad quand même


 
 :heink:  
 
oui oui c'est ça :o


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 02-11-2003 à 03:32:03    

noldor a écrit :


si tu cliques avec la classe robot dans une fenetre notepad

[:core 666]  :pt1cable:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 02-11-2003 à 13:26:05    

DarkLord a écrit :


 
 :heink:  
 
oui oui c'est ça :o

je vois pas ce qui me vaut ce smiley !
tu doutes de ce que je dis ?

Reply

Marsh Posté le 02-11-2003 à 18:54:12    

noldor a écrit :

je vois pas ce qui me vaut ce smiley !
tu doutes de ce que je dis ?  


 
 
bin oui [:mlc]


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 02-11-2003 à 19:50:40    

DarkLord a écrit :


 
 
bin oui [:mlc]

Code :
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import java.io.IOException;
  4. public class Test{
  5.   //Create an array of keycode data
  6.   static int keyInput[] = {
  7.       KeyEvent.VK_D,
  8.       KeyEvent.VK_A,
  9.       KeyEvent.VK_R,
  10.       KeyEvent.VK_K,
  11.       KeyEvent.VK_L,
  12.       KeyEvent.VK_O,
  13.       KeyEvent.VK_R,
  14.       KeyEvent.VK_D
  15.   };//end keyInput array
  16.   public static void main(String[] args)
  17.                  throws AWTException,IOException{
  18.     //Start the Windows Notepad program running
  19.     // in a separate process.  It should become
  20.     // the active window, capable of accepting
  21.     // input from the keyboard.
  22.     Runtime.getRuntime().exec("notepad" );
  23.     //Get a Robot object that will be used to
  24.     // enter characters into the Notepad document
  25.     Robot robot = new Robot();
  26.     //Enter the keycodes contained in the
  27.     // keyInput array into the Notepad document.
  28.     // Make the first character upper case and
  29.     // the remaining characters lower case.
  30.     robot.keyPress(KeyEvent.VK_SHIFT);
  31.     for (int cnt2 = 0;
  32.                  cnt2 < keyInput.length; cnt2++){
  33.       if(cnt2 > 0){
  34.              robot.keyRelease(KeyEvent.VK_SHIFT);
  35.       }//end if
  36.       robot.keyPress(keyInput[cnt2]);
  37.       //Insert a one-half second delay between
  38.       // characters.
  39.       robot.delay(500);
  40.     }//end for loop
  41.   }//main
  42. }

Reply

Marsh Posté le 02-11-2003 à 20:26:56    


 [:netbios]  
 
Je me demande quand même comment c'est possible ce truc :/
Comment un process java, au sein de la jvm, peut générer des évenements sur d'autres process  [:mlc2]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 02-11-2003 à 20:33:09    

benou a écrit :


 [:netbios]  
 
Je me demande quand même comment c'est possible ce truc :/
Comment un process java, au sein de la jvm, peut générer des évenements sur d'autres process  [:mlc2]  

copier/coller de la javadoc :

Citation :

Using the class to generate input events differs from posting events to the AWT event queue or AWT components in that the events are generated in the platform's native input queue. For example, Robot.mouseMove will actually move the mouse cursor instead of just generating mouse move events.

Reply

Marsh Posté le 02-11-2003 à 20:36:11    

noldor a écrit :

copier/coller de la javadoc


 
merci :jap:


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 02-11-2003 à 21:34:36    

ben merde alors [:wam]
 
 
(je testerai quand meme :o )


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 02-11-2003 à 22:02:17    

qu il est con celui la :D
 
 

Reply

Marsh Posté le 02-11-2003 à 22:57:28    


 
:eek:


Message édité par Tetedeiench le 02-11-2003 à 22:57:55
Reply

Marsh Posté le 03-11-2003 à 08:55:33    


 
Toi tête de noeuf ne la ramène pas trop hein.  
 
Noldor > :jap:  
 
Je suis vraiment étonné que Java est capable de générer des évenements sur des softs annexes. Et en fait c'est super cool ;) (greg > on pourrait utiliser ca pour notre client non?)
 
Cela dit, lorsque j'ai répondu à la question, j'avais dans l'esprit "récupérer un handle sur un soft qui tourne et générer des events dessus" (voir mes autres posts)
 
Là tu démarres notepad depuis ton soft ce qui est un poil différent (et non je ne chippote pas c'est un détail qui a son importance).
 
Cela dit :jap: quand même et pour les autres hypocrites qui pensaient la même chose que moi mais qui n'osait pas le poster :kaola:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 03-11-2003 à 09:08:49    

y a penser, le dire, et la façon de le dire ...
 
(et puis ma aussi j'avais dit que je pensais que c'était pas possible ...)


Message édité par benou le 03-11-2003 à 09:11:29

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 03-11-2003 à 09:14:23    

benou a écrit :

y a penser, le dire, et la façon de le dire ...
 
(et puis ma aussi j'avais dit que je pensais que c'était pas possible ...)


 
bin il m'a demandé si je doutais de sa parole et j'ai répondu oui :o


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 03-11-2003 à 09:16:33    

DarkLord a écrit :


 
Toi tête de noeuf ne la ramène pas trop hein.  
 
Noldor > :jap:  
 
Je suis vraiment étonné que Java est capable de générer des évenements sur des softs annexes. Et en fait c'est super cool ;) (greg > on pourrait utiliser ca pour notre client non?)
 
Cela dit, lorsque j'ai répondu à la question, j'avais dans l'esprit "récupérer un handle sur un soft qui tourne et générer des events dessus" (voir mes autres posts)
 
Là tu démarres notepad depuis ton soft ce qui est un poil différent (et non je ne chippote pas c'est un détail qui a son importance).
 
Cela dit :jap: quand même et pour les autres hypocrites qui pensaient la même chose que moi mais qui n'osait pas le poster :kaola:

en effet, récupérer un handle sur un soft extérieur, c'est une autre affaire !
Je débute un petit projet visant à développer une démo scriptable d'une appli (Java) en utilisant entre autre la classe Robot.


---------------
http://runnerstats.net
Reply

Marsh Posté le 03-11-2003 à 09:17:28    

DarkLord a écrit :


 
bin il m'a demandé si je doutais de sa parole et j'ai répondu oui :o  

allez, pas de problème, si on m'avait dit ça y a 2 mois, j'aurais aussi eu du mal à y croire. :hello:


---------------
http://runnerstats.net
Reply

Marsh Posté le 03-11-2003 à 09:21:45    

noldor a écrit :

allez, pas de problème, si on m'avait dit ça y a 2 mois, j'aurais aussi eu du mal à y croire. :hello:


 
bon je me répète hein, mais :jap: (très impressioné)


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 03-11-2003 à 09:23:15    

DarkLord a écrit :


bin il m'a demandé si je doutais de sa parole et j'ai répondu oui :o  


 :o  
 
t'as utilisé un ton dédeugneux darklodien habituel :o


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 03-11-2003 à 09:37:56    

benou a écrit :


 :o  
 
t'as utilisé un ton dédeugneux darklodien habituel :o


 
intransigeant [:aloy] c'est différent


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 03-11-2003 à 09:54:34    

je suis pas sûr que le mec qui se prend la remarque va remarquer la subtilitée ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 03-11-2003 à 09:54:50    

benou a écrit :

je suis pas sûr que le mec qui se prend la remarque va remarquer la subtilitée ...


 
bref, ta gueule :o


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 03-11-2003 à 09:55:04    

DarkLord a écrit :


bref, ta gueule :o


j'avais compris ;)


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 03-11-2003 à 14:29:25    

ça s'écrit dédaigneux, et oui, c'est du dédain, l'intransigeance à rien à voir :o
 
 
dark >> si tu parles du client palm, euh si ça t'amuse, mais moi je vais pas m'amuser à simuler du clic a 3px près hein :o
 
et puis j'attends tjs de voire que ça marche ce truc :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 03-11-2003 à 14:32:07    

putain je viens de lancer le bidule avec kate au lieu de notepad et ça marche [:wam]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 03-11-2003 à 14:39:19    

the real moins moins a écrit :

putain je viens de lancer le bidule avec kate au lieu de notepad et ça marche [:wam]


c'est qui kate ?  [:kurrupt]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 03-11-2003 à 14:39:47    

un editeur texte à la con de kde


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 03-11-2003 à 14:43:49    

je comprends pas pkoi ca vous fout autant sur le cul [:wam]
si vous avez acces au API alors ce genre de blague est un jeu d'enfant, et j'imagine que la classe Robot & cie font grande utilisation des API, donc bon...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed