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

Java Discussion :

Est ce possible et comment?


Sujet :

Java

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut Est ce possible et comment?
    Bonjour à tous ,

    J'ai cherché à lancer l'execution d'une application (.exe) et j'ai trouvé comment faire. Pour ceux que ça intéresse voilà le code (exemple on lance l'application notepad de windows):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    import java.io.IOException;
     
     
     
    public class TestExecute {
     
    public static void main(String[] args) {
     
    try {
     
    // Lance l’éxécution de notepad.exe pour l’environnement windows
     
    Runtime.getRuntime().exec("notepad.exe");
     
    } catch (IOException e) {
     
    e.printStackTrace();
     
    }
     
    }
     
    }
    Ma question c'est :"est ce qu'il est possible d'effectuer des manipulations sur cette application ouverte?et Comment?" Pour être plus précise, par exemple est-ce que à partir de Java, on peut demander d'aller dans le menu fichier, selectionner la commande mise en page par exemple, etc. Comme si on gérer l'application avec la souris.
    J'espère être assez claire.
    Merci d'avance pour vos réponses.
    :Merci:

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Points : 675
    Points
    675
    Par défaut
    C'est gentil de partager tes découvertes, mais celle ci est déjà dans le FAQ, ici. D'ailleurs, on y voit quels sont les moyens de communication avec le process créé, et qu'a priori, il n'y a pas moyen de faire ce que tu voudrais.

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut
    Merci pour ta réponse, je suis novice en la matière et je me dis que partager ça ne fait pas de mal au contraire, ça peut aider d'autre dans la même situation que moi. c'est vrai que c'est déjà dans la FAQ. (dire que je l'ai lue, mais que je n'ai pas fais attention).
    à priori, comme tu l'as dis, ce n'est pas possible.
    Mais j'ai une autre demande : "est ce qu'on peut connaitre la syntaxe de la commande (via la fenêtre windows) en Dos?". C'est à dire lorsque j'ouvre l'application et que je clique sur menu X commande Y, y a t-il un moyen de connaitre la syntaxe dos qui permettrais de faire la même chose; comme ça je pourrais l'executer comme dans le code suivant :

    (utilisation des processus) qui permet de lancer une application
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    import java.io.*;
    public class Exec {
     public static void main(String[] args) {
     String cmd;
     // Win 95/98/ : pour lancer un .bat
     // cmd = "command.com /c c:\\fichier.bat";
     
     // Win NT(XP...) : pour lancer un .bat
     // cmd = "cmd /c c:\\fichier.bat";
     
     // Win 95/98/NT : pour lancer un .exe
     // cmd = "command.com /c c:\\windows\\notepad.exe";
     
     // Win 95/98/NT : pour lancer une commande dos
     // cmd = "cmd /c copy src.txt dest.txt";
     
     
     // UNIX : pour lancer un script en precisant le shell (sh,bash)
     // cmd = "/usr/bin/sh script.sh";
     
     // UNIX : pour lancer script
     // cmd = "/path_complet/tonscript";
     
     // EXEMPLES .EXE : NetMeeting
     cmd = "C:\\Program Files\\NetMeeting\\conf.exe";
     // ainsi on peut lancer des programme tout a fait autonome
     // on peut soit faire p.waitfor() ou pas les deux cas fonctionnent correctement
     
     try {
     Runtime r = Runtime.getRuntime();
     Process p = r.exec(cmd);
     p.waitFor();//si l'application doit attendre a ce que ce process fini
     }catch(Exception e) {
     System.out.println("erreur d'execution " + cmd + e.toString());
     }
     }
     }
    Encore merci pour vos réponse

  4. #4
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Pour faire ça il n'y a rien de pratique en java.

    Si tu veux commander une application externe comme si tu utilisais le clavier ou la souris, tu peux utiliser la classe Robot. Mais cette façon de faire comporte bien des pièges.

    Après, selon les systèmes d'exploitations, selon les frameworks applicatifs, il y a des moyens d'influer sur une appli. Mais là, on quitte le domaine de java.
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  5. #5
    Membre habitué Avatar de fomazou
    Inscrit en
    Mars 2004
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 220
    Points : 151
    Points
    151
    Par défaut
    Mais j'ai une autre demande : "est ce qu'on peut connaitre la syntaxe de la commande (via la fenêtre windows) en Dos?". C'est à dire lorsque j'ouvre l'application et que je clique sur menu X commande Y, y a t-il un moyen de connaitre la syntaxe dos qui permettrais de faire la même chose;
    je comprend (je crois ) ce que tu veux mais je pense pas que cela soit possible. La class Robot:

    Cette classe est employée pour produire des événements indigènes d'entrée de système pour les buts de l'automation d'essai, des démos de art de l'auto-portrait-running, et d'autres applications où la commande de la souris et du clavier est nécessaire. Le but primaire du robot est de faciliter l'essai automatisé des réalisations de plateforme de Java.

    L'utilisation de la classe pour produire des événements d'entrée diffère des événements de signalisation à la file d'attente d'événement d'AWT ou aux composants d'AWT parce que les événements sont produits dans la file d'attente d'entrée indigène de la plateforme. Par exemple, Robot.mouseMove déplacera réellement le curseur de souris au lieu des événements se produisants justes de mouvement de souris.

    je crois ça c'est ce compliquer la vie. car tu cherche a jouer le role utilisateur dans le code-> c'est fastidieux
    du courrage si c'est une simulation
    "le temps c'est le meilleur des médécins, peut être aussi le meilleur des assassins" Bernis-Francine

  6. #6
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut
    merci pour vos réponses.
    Oui, c'est une simulation.
    Bref, j'ai eu les réponses à mes questions et même si ma demande n'est finalement pas vraiment possible je considère cette discussion comme résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/04/2014, 17h23
  2. [Débutant] lamegrid pour créer un agenda, est-il possible?et comment?
    Par wikiele dans le forum VB.NET
    Réponses: 3
    Dernier message: 19/08/2011, 16h28
  3. [Projet] est ce possible et comment?
    Par eclesia dans le forum Maven
    Réponses: 1
    Dernier message: 10/05/2007, 10h44
  4. Réponses: 5
    Dernier message: 06/04/2007, 11h28
  5. Réponses: 5
    Dernier message: 28/04/2006, 09h20

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