Bonjour,
Dans le cadre d'un projet Java, j'ai besoin de contrôler les services Windows à partir d'un code java c'est pourquoi j'utilise la classe ProcessBuilder puis écrire la requette : sc start service /y mais il me donne pas l'accès à executer ce code :

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
private void startServiceActionPerformed(java.awt.event.ActionEvent evt) {                                             
 
        String itemSvc = listService.getSelectedValue().toString();
        String[] arg = { "cmd.exe", "/c", "sc start "+itemSvc+" /y" };
        //String[] arg = { "cmd.exe", "/c", "sc start egGetSvc /y" };
   try {
      ProcessBuilder pb = new ProcessBuilder(arg);
      pb = pb.redirectErrorStream(true); // on mélange les sorties du processus
      Process p = pb.start();
      InputStream is = p.getInputStream(); 
      InputStreamReader isr = new InputStreamReader(is);
      BufferedReader br = new BufferedReader(isr);
      String ligne; 
 
      while (( ligne = br.readLine()) != null) { 
         // ligne contient une ligne de sortie normale ou d'erreur
          System.err.println("sara "+ligne);
      }
      } catch (IOException e) {
 
      } 
 
 
    }

Résultat:

[SC] StartService: OpenService échec(s) 5 :

Accés refusé.


Que dois je faire ??