IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

Rediriger le flux d'entrée généré par la classe Robot


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5
    Par défaut Rediriger le flux d'entrée généré par la classe Robot
    Bonjour,
    voilà alors j'ai un petit souci, j'aimerais savoir comment faire pour que le flux d'entrée clavier généré par la classe Robot, peut-être redirigé vers une application précise.
    En effet par défaut la saisie clavier va être dirigé vers l'application active. Donc j'aimerais savoir si il y a une solution pour diriger ce flux vers une application précise, comme par exemple une application lancé avec le Runtime.
    Merci

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Si tu veux manipuler le flux d'entrée d'une application lancée avec runtime, suffit d'utiliser la méthode getOutputStream() du Process renvoyée par Runtime, et d'y bourrer tout ce que tu veux y bourrer. Robots sert à manipuler l'environnement graphique, pas à viser une application.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5
    Par défaut
    Je suis d'accord avec toi, mais est-ce qu'il y a moyen de convertir le flux généré par Robot en flux de type OutputStream?

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Je vois pas trop l'intérêt. Les I/O d'un programme (y compris stdin et stdout) ne sont pas liés à l'environnement graphique. Exemple:


    Si je fait cat monfichier.txt | monApplication, même si l'application est graphique, le contenu de monfichier est envoyé sur le stdin et l'interface graphique a son comportement séparé (via l'api événementielle de ton OS). Donc c'est pas parce que t'envoie un truc magique dans stdin que tu fera croire à ton appli qu'on a cliqué sur un bouton déterminé ou entré du texte dans un textarea déterminé.

    Donc en fait, je vois pas pourquoi tu veuxconvertir clic est auters joyeuseté en stdin, çà a aucun sens.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5
    Par défaut
    Je ne vois pas trop pourquoi tu me parle de GUI,... parceque je me sert seulement de la partie input keypress, keyrelease,...
    Et si j'ai bien compris son fonctionnement ça simule des entrées claviers. Et c'est donc ensuite l'OS qui s'occupe d'attribuer ces entrées à l'application active. Néanmoins ce que je voudrais faire c'est forcer l'OS à rediriger ces entrées précises vers une autre application.
    Néanmoins je ne sais pas si c'est possible, c'est pourquoi je poste ici.

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Parce que les simulation keypress sont purement liées à la GUI. Si t'as un terminal ouvert et que c'est lui qui recois les évènements, c'est lui qui va prendre ces évènement et le envoyer vers le stdin de l'applicaiton en cours dans le terminal. Si tu veux envoyer tes touches vers le stdin d'une applicaiton précise, il suffit que tu démarre l'application toi même. Ensuite tu fait un getOutputStream() sur l'objet Process que tu a créé et tu balance dedans le texte que tu veux (le "code ascii" des touches, en gros).

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/05/2011, 19h20
  2. Flux d'entrée/sortie par référence.
    Par max_batteur_fou dans le forum C++
    Réponses: 3
    Dernier message: 13/01/2011, 23h54
  3. Flux RSS généré par PHP
    Par skit dans le forum Langage
    Réponses: 4
    Dernier message: 18/01/2009, 17h07
  4. [SimpleXML] Parser un flux généré par PHP
    Par pas30 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 04/07/2008, 11h55
  5. Flux XML généré par le script PHP incomplet
    Par L.nico dans le forum Langage
    Réponses: 1
    Dernier message: 29/06/2008, 15h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo