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

avec Java Discussion :

lancement d'un service windows a partir un code JAVA


Sujet :

avec Java

  1. #1
    Membre expérimenté
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Points : 1 454
    Points
    1 454
    Billets dans le blog
    9
    Par défaut lancement d'un service windows a partir un code JAVA
    Bonjour,
    j'ai deux questions

    1- Comment je peux faire un lancement d'un service Windows avec un code java?
    2- Comment je peux lancer un .exe a partir un code java?

  2. #2
    Membre actif Avatar de jiddou
    Inscrit en
    Août 2007
    Messages
    247
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 247
    Points : 251
    Points
    251
    Par défaut
    Il s'agit de la même question car un service est juste un fichier .exe. Il suffit d'identifier quel exe il faut lancer pour lancer un service et quels sont les paramètres à donner

    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
     
    public void StartCommand(String command) {
       try {
           Process p = Runtime.getRuntime().exec(command);
           InputStream in = p.getInputStream();
     
           StringBuilder build = new StringBuilder();
           char c = (char) in.read();
     
            while (c != (char) -1) {
                  build.append(c);
                  c = (char) in.read();
            }
            String response = build.toString();
            System.out.println(response);
       }
       catch (Exception e) {
            System.out.println("\n" + command + ": commande inconnu ");
       }
    }

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut
    Salut,

    Supposons que tu veuilles ouvrir Internet Explorer dont le chemin du .exec est:
    C:\\Archivos de programa\\Internet Explorer\\IExplore
    pour afficher une page Web (URL), par exemple la doc java (Sun) de java SE6 dont voici le lien:
    http://java.sun.com/javase/6/docs/api/

    La méthode affichePage(String urlName, String execDir) te permettra de le faire:

    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
    private void affichePage(String urlName, String execDir)
          {
             try
             {
                Runtime r = Runtime.getRuntime(); // java.lang.Runtime donc pas d'import nécessaire.
     
                r.exec(execDir + " " + urlName);  // le lien est dans urlName
             }
                 catch(FileNotFoundException fnfe) // si nom de l'appli non trouvé
                {
                   String info = execDir + "(fnfe)  non trouvé !!!";
                   javax.swing.JOptionPane.showMessageDialog(null,info);
                }
                 catch(IOException ioe)
                {
                   String info = execDir + "\n" + ioe;
                   javax.swing.JOptionPane.showMessageDialog(null,info);
                }
          }


    Appel de la méthode:

    Si méthode et attributs statiques :
    NomClasse.méthode(....)

    Si méthodes et attributs d'objet :
    NomClasse objet = new NomClasse();
    objet.méthode(....);

    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
     
             String urlName = "http://java.sun.com/javase/6/docs/api/";
             String appli = "C:\\Archivos de programa\\Internet Explorer\\IExplore";
          /*
           * appli = Répertoire de l'application.exec, modifier si ce n'est pas le 
           * chemin de l'appli que vous voulez utiliser.
           */
     
             // appel de la méthode:
          	// LaClasse.affichePage(urlname, appli); // si la méthode est static
                 // et si on l'appèle depuis la méthode main(---) par exemple
                 // ou une autre méthode static
     
          	// si la méthode n'est pas static (c'est le cas ici)
                 // et si on l'appèle depuis la méthode main(---) par exemple
                 // ou une autre méthode static
             LaClasse obj = new LaClasse();
             obj.affichePage(urlName, appli);


    Cordialement,

    Dan

Discussions similaires

  1. Erreur 1053 au lancement d'un service Windows
    Par Shqke- dans le forum Windows 7
    Réponses: 3
    Dernier message: 25/01/2013, 15h53
  2. [WCF] Appel d'un service windows WCF à partir de Php
    Par Interdit dans le forum Windows Communication Foundation
    Réponses: 10
    Dernier message: 21/04/2008, 10h18
  3. Réponses: 3
    Dernier message: 30/07/2007, 11h55
  4. Pb lors du lancement d'un service windows
    Par Med80 dans le forum Général Dotnet
    Réponses: 7
    Dernier message: 24/07/2007, 13h40

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