• User

    JAVA applet e il comando exec

    Ciao a tutti, ho un problema con una applet in java chen non riesco a risolvere. ho bisogno di inserire in alcune pagine (nella sezione amministrativa di un mio sito) un piccolo applet che permetta di lanciare eseguibili sulla macchina client leggendo i parametri passati da un javascript.

    Ho trovato su internet un discreto numero di esempi che stando a quanto affermato dagli autori mi avrebbero permesso di ottenere quanto da me voluto. Portroppo non riesco a farne funzionare nessuno. Ho provato anche a firmare le applet, ma senza risultato.

    
    
    
    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    
    
    public class execc extends Applet 
      implements ActionListener {
      Button lauchButton;
      TextField filename;
      String browserName;
      boolean securitySupported = false;
         
      public void init() {
        setLayout(new FlowLayout());
        Label label = 
          new Label("Lauch notepad with the specified file");
        add(label);
        lauchButton = new Button("call NOTEPAD");
        add(lauchButton);
        lauchButton.addActionListener(this);
        filename = new TextField(20);
        add(filename);
        browserName = System.getProperty("java.vendor");
    
        }
    
      public void actionPerformed(ActionEvent evt)  {
        if (evt.getSource() == lauchButton) {   
    
              try {
                Runtime.getRuntime().exec("notepad.exe " + filename.getText());
                }
              catch(Exception e) {
                e.printStackTrace();        
                }
              }
           
             }
           
    }
    
    
    
    ``` ```
    
    
    import java.awt.*; 
    import java.io.*; 
    import java.net.*;
    import java.applet.Applet;
    
    public class execc extends Applet  {
          public void init() {
              exec();
          }
          
          private void exec(){
              try{
                  Runtime.getRuntime().exec("C:\WINDOWS\notepad.exe");
              }
              catch(Exception e){
                  System.out.println("ExecApplet Error.");
                  e.printStackTrace();
              }
          }
    } 
    
    
    
    
    
    

    import java.applet.;
    import java.awt.
    ;
    import java.io.IOException;

    public class execc extends Applet {

    public void init() {
        setBackground(Color.WHITE);
    }
    
    public void start()  {
        try {
            openCMD();
        } catch (IOException e) {}
    }
    
    public void stop() {
    }
    
    public void paint(Graphics g) {
        g.drawString("Applet Started", 10, 10);
    }
    
    public void openCMD() throws IOException {
        System.out.println("opening cmd..");    
        Runtime r = Runtime.getRuntime();
        Process p = r.exec('c:\windows\notepad.exe');        
    }
    

    }

    
    qualcuno di voi ha per caso idea del perche' non riesco a farli funzionare?
    Anche se firmati, continuo a ricevere messagi di violazione...come mai?
    Io non conosco quasi nulla di java, e' la seconda volta che mi diletto con questo linguaggio e le mie esperienze si limitano a poche marginali modifiche ad applet realizzati da altri. Non ho proprio idea di come modificare questi esempi per farli funzionare....
    
    Ogni aiuto e' ben accetto, grazie

  • ModSenior

    Ciao pippopippo,

    dando per scontato che il codice dell'applet java sia corretto verifica che la Virtual Machine che stai usando sul tuo pc sia quella Sun Java (e non la VM Microsoft)