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 :

Exécuter un .exe à l'intérieur d'un thread


Sujet :

Java

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 87
    Points : 66
    Points
    66
    Par défaut Exécuter un .exe à l'intérieur d'un thread
    Bonjour,

    Je souhaite exécuter un exécutable (fichier .exe) à l'intérieur de la méthode run d'un thread.

    C'est à dire que j'ai une classe qui implémente runnable, cette classe à une méthode run, et dans la méthode run je veux exécuter un .exe.

    J'ai tester avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Runtime runtime = Runtime.getRuntime();
    		try {
    			Process p = runtime.exec("toto.exe");
    			}
    			catch (Exception e) {
    			e.printStackTrace();
    			}
    mais ça ne fonctionne pas. et aucune erreur ne sort comme si l’exécution s'est bien déroulée.

    parcontre j'ai tester dans une classe bidon qui ne contient qu'un main et ça marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    public class test {
     
    	public static void main(String[] args) {
    		Runtime runtime = Runtime.getRuntime();
    		try {
    			Process p = runtime.exec("toto.exe");
    			}
    			catch (Exception e) {
    			e.printStackTrace();
    			} 
    	}
    }

    Question 1 : est-ce normal que ça ne fonctionne pas ?
    Question 2 : si oui, comment devrais-je procéder ?

    Merci.
    Science sans conscience ..

  2. #2
    Membre averti
    Homme Profil pro
    Java
    Inscrit en
    Mai 2011
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 170
    Points : 444
    Points
    444
    Par défaut
    Tu démarres bien ton Thread ? Si oui, comment ?

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 87
    Points : 66
    Points
    66
    Par défaut
    Oui je démarre bien le thread par un start.

    Je vais clore le post car il s'agit en fait d'un problème autre que l’exécution d'un .exe dans un Thread. L’exécution d'un .exe dans un Thread fonctionne bien après mes récents tests

    Il s'agissait d'un problème de session utilisateur. Le .exe était bien lancé mais sous une autre session utilisateur.

    Avant de clore la discussion, y-a-t-il un moyen en java de lancer un exécutable avec un utilisateur particulier. C'est à dire est-ce qu'il y a un moyens de faire une sorte de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Process p = runtime.exec("toto.exe", user, password);
    ???

    Merci.
    Science sans conscience ..

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Je doute.
    L'utilisateur sera le même que celui qui a lancé ton programme.
    Donc a toi de prendre le bon utilisateur pour lancer ton programme.

    Cependant, en dehors du java pur, tu peux contourner le problème peut être avec soit :

    - PSExec
    - la commande runas
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Exécuter un .exe sans Delphi
    Par Tomimie dans le forum Delphi
    Réponses: 11
    Dernier message: 01/06/2007, 11h42
  2. Exécuter un .exe ?
    Par Colbix dans le forum IRC / mIRC
    Réponses: 5
    Dernier message: 26/01/2007, 12h33
  3. Réponses: 4
    Dernier message: 16/11/2006, 21h49
  4. Exécuter un .exe placé dans un jar
    Par Invité dans le forum Général Java
    Réponses: 5
    Dernier message: 28/09/2006, 12h36
  5. Réponses: 9
    Dernier message: 30/08/2006, 13h51

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