Problème applet lancant un exe

Phisso
Problème applet lancant un exe

Bonjour !

Voilà je vous explique mon petit problème : j’ai un applet Java qui doit faire s’afficher un programme dans ma page web. Je l’ai signé pour pouvoir lancer mon exécutable mais ça ne marche pas bien quand même. Mon applet lance bien mon programme mais pas « dans » ma page web. Le programme se lance en dehors et à la place où j’aurais du avoir mon programme j’ai simplement un cadre blanc. Je vous aie fait une petite capture d’écran pour vous faire comprendre car c’est assez dur à expliquer avec des mots. http://buddy6.free.fr/ExempleForum.jpg

Le code de l’applet :

import java.applet.* ;
import java.awt.* ;
import java.io.*;

public class Exec extends Applet 
{
  public void init ()
  {
    String cmd = "c:/Program Files/AnmSMP/AnmanieSMP.exe";
        
    try
    {
      Runtime r = Runtime.getRuntime();
      Process p = r.exec(cmd);
      p.waitFor();
    }
    catch(Exception e)
    {
      System.out.println("erreur d'execution " + cmd + e.toString());
    }
   }
}

Et celui de la page html :

<html>
<head>
<title>Applet</title>
</head>
<body>
<APPLET code= "Exec.class" archive="SExec.jar" width=600 height=600 ></APPLET>
</body>
</html>

Bref si quelqu’un a une petite idée de ou ça vient, cela m’aiderait beaucoup. Merci.

fredericmazue

Quote:
Bref si quelqu’un a une petite idée de ou ça vient

ca vient que: Runtime r = Runtime.getRuntime(); Process p = r.exec(cmd); etc, etc c'est fait pour lancer un processus dans le système, ici Windows donc, et pas pour lancer un processus sous la houlette d'un autre (ici Internet Explorer) comme tu le voudrais. Ou du moins en redirigeant la sortie du processus (les fenêtres) dans le navigateur.
Bref ce que tu veux faire tu peux pas (AMHA), et heureusement pour d'évidentes raisons de sécurité. Le seul moyen auquel je pense est de laisser tomber ¤¤¤¤ Java et de faire ce que tu veux avec des contrôles ActiveX.
Phisso

Déjà merci beaucoup pour ta réponse (très rapide !) mais je me demandais ce que tu voulais dire par "Ou du moins en redirigeant la sortie du processus (les fenêtres) dans le navigateur". Ce n'est pas possible de "remettre" mon programme dans l'applet après avoir été lancé?

fredericmazue

Quote:
Ce n'est pas possible de "remettre" mon programme dans l'applet après avoir été lancé?

non...
Phisso

Ok. Je vais aller fouiner du côté des contrôles ActiveX alors ! :D

fredericmazue

Quote:
Ok. Je vais aller fouiner du côté des contrôles ActiveX alors !

Oui mais attention :!:
ActiveX (et ses complications) ça ira sans doute avec Internet Explorer, en admettant que les utilisateurs acceptent de charger les contrôles, mais si les utilisateurs en question utilisent un autre navigateur :?:
AMHA tu devrais repenser ce que tu veux faire.
Phisso

Ca ce n'est pas un problème car tous les ordinateurs sur lequels je veux faire marcher ce prgramme ont la meme configuration et internet explorer comme navigateur.

fredericmazue

En informatique dire "ça n'est pas un problème" est en général générateur de problèmes :lol: