Stefan: Lokale Datei starten...

Hi...

Gibt es u.U. eine Möglichkeit ein Programm über einen HTML-Link zu starten, ohne dass die Aufforderung "Wollen Sie die Datei speichern oder ausführen?" erscheint?

Ich weiß, dass es nicht erwünscht ist, in HTML-Seiten ein Programm auszuführen - es geht dabei aber um folgendes:

Für eine einfache Programmierung eines ICs wird eine exe-Datei mit Parametern gestartet. Je nach gewünschter Programmierung habe ich bat-Dateien mit entsprechenden Aufrufen der exe inkl. Parametern angelegt. Diese würde ich nun gerne unter einer einfachen HTML-Oberfläche zusammenfassen, denn von dort sollen Sie mittels Touchdisplay gestartet werden.

Das ganze passiert lokal auf einem Notebook, es gibt also keinen Server o.ä..

Vielleicht hat jemand einen Tipp, wie man das ganze realisieren kann?!

Gruß
Stefan

  1. Hallo,

    Gibt es u.U. eine Möglichkeit ein Programm über einen HTML-Link zu starten, ohne dass die Aufforderung "Wollen Sie die Datei speichern oder ausführen?" erscheint?[…]
    Das ganze passiert lokal auf einem Notebook, es gibt also keinen Server o.ä..

    Dafür bräuchtest du wahrscheinlich ein Programm, dass die Befehle zum öffnen und so zum Dateimanager umleitet. Genau das machen so genannte HTML-Autostart-Menü-Programme.

    Mir persönlich gefällt Discstarter seht gut. Davon gibt es auch eine Testversion.

    Einziger Kritikpunkt, den ich noch habe: Das Ding benutzt die Rendering-Engine des IE, wodurch es manchmal schwierig wird, gute Layouts zu entwickeln, aber vielleicht bin ich auch nur verwöhnt ;-)

    mfg. Daniel

    1. Hallo Daniel,

      Dafür bräuchtest du wahrscheinlich ein Programm, dass die Befehle zum öffnen und so zum Dateimanager umleitet. Genau das machen so genannte HTML-Autostart-Menü-Programme.

      das ist völlig überflüssig. Mit vier, fünf Zeilen VB-Script geht das auch. Die Pfade zu den Programmen kann man zum Beispiel in Arrays hinterlegen.

      Einziger Kritikpunkt, den ich noch habe: Das Ding benutzt die Rendering-Engine des IE, wodurch es manchmal schwierig wird, gute Layouts zu entwickeln, aber vielleicht bin ich auch nur verwöhnt ;-)

      Einfache Layouts für einen Touchscreen sind auch im IE absolut kein Problem. Abgesehen davon hat man in diesem Fall den großen Vorteil, für genau eine bekannte Zielplattform zu entwickeln. Kein großes Testen mit anderen Browsern erforderlich. Wenn es im IE aussieht, ist es ok.

      Freundliche Grüße

      Vinzenz

      1. Hallo,

        das ist völlig überflüssig. Mit vier, fünf Zeilen VB-Script geht das auch. Die Pfade zu den Programmen kann man zum Beispiel in Arrays hinterlegen.

        Mit VB-Script kenne ich mich nicht so gut aus :-(

        Einfache Layouts für einen Touchscreen sind auch im IE absolut kein Problem.

        Das dachte ich auch mal, bin dann aber immer mal auf Bugs gestoßen, musste auf die neueren Selektoren (CSS) verzichten, kein outline, kein nativer SVG-Support und und und… einfach grauenhaft. Naja, mit sehr viel Anstrengung ging's dann irgendwann auch im IE 6. Die nächste Katastrophe erlebte ich dann im IE 5.5 unter winME…

        mfg. Daniel

        1. Hallo Daniel,

          Einfache Layouts für einen Touchscreen sind auch im IE absolut kein Problem.

          bitte lies meinen Satz nochmals:

          *Einfache* Layouts für einen *Touchscreen* ...

          Das dachte ich auch mal, bin dann aber immer mal auf Bugs gestoßen, musste auf die neueren Selektoren (CSS) verzichten, kein outline,

          Ich wüßte nicht, wozu man für 5 oder 6 "Schaltflächen" neuere Selektoren bräuchte, "outline" wäre in dem Umfeld einfach nur deplatziert, ...

          kein nativer SVG-Support

          ... erst recht überflüssig ...

          und und und… einfach grauenhaft.

          ... und und und einfach nur überflüssige Dinge für die geplante Anwendung.
          Diese ist recht genau umrissen und für diese Anwendung sind die Dinge, die Dir Probleme bereitet haben, schlicht und einfach unnötig. Soweit ich den OP verstehe, geht es ihm darum, ein paar Programme, eher vielleicht das gleiche Programm mit unterschiedlichen Parametern auf einem Touchscreen per Antippen zu starten.

          Freundliche Grüße

          Vinzenz

          1. Hallo,

            Einfache Layouts für einen Touchscreen sind auch im IE absolut kein Problem.

            bitte lies meinen Satz nochmals:

            *Einfache* Layouts für einen *Touchscreen* ...

            OK. Ich kann mir ein *einfaches* Layout eben schlecht auf einem Touchscreen vorstellen.

            Mit blankem HTML 4.01 kommt natürlich auch der IE schon fast klar…

            mfg. Daniel

          2. Hey...

            ein einfaches Layout reicht mir wirklich aus. Also nur eine Tabelle vor weißem Hintergrund mit acht oder 12 Feldern. Das sollte auch ein IE 4.0 hinbekommen ;)

            Ist nicht für den Verkauf bestimmt, sondern nur für eine interne Benutzung - kann also auch nach nichts aussehen, hauptsache es tut das, was es soll.

            Vielen Dank erstmal für die zahlreichen Hinweise, werde mich mal am Montag an die Umsetzung machen!

            Gruß
            Stefan

  2. Hallo Stefan,

    Gibt es u.U. eine Möglichkeit ein Programm über einen HTML-Link zu starten, ohne dass die Aufforderung "Wollen Sie die Datei speichern oder ausführen?" erscheint?

    das kannst Du mit dem Internet Explorer und VB-Script realisieren.
    Ansätze dafür kannst Du zum Beispiel dem Quellcode meiner Testseite entnehmen. Mit dem Windows Scripting Host und der Run-Methode kannst Du auch Anwendungen ausführen. Quellcode (für Jscript) für diese Methode findest Du in diesem Beitrag.

    Freundliche Grüße

    Vinzenz

  3. Hellihello Stefan,

    das Einfachste könnte hypertextapplication sein, läuft nur im IE und kann Javascript und JScript (die MS-Variante von Javascript) und VBScript. Der Rest ist html. Nur die Endung ändern in *.hta.

      
      
    <script language="VBScript">  
      
    Public Sub Kalkulator_via_batchDatei ()  
      
    ' Create the Scripting Object  
    Set WshShell = CreateObject("WScript.Shell")  
      
      
    ' Execute Application  
    WshShell.Exec("calc.exe")  
      
      
    End Sub  
      
    Public Sub Kalkulator_direkt ()  
      
    ' Create the Scripting Object  
    Set WshShell = CreateObject("WScript.Shell")  
      
      
    ' Execute Application  
    WshShell.Exec("calc.exe")  
      
      
    End Sub  
    </script>  
      
    <button onclick="Kalkulator_via_batchDatei()">Kalkulator_via_batchDatei()</button>  
    <button onclick="Kalkulator_direkt()">Kalkulator_direkt()</button>  
    
    

    als kalkulator.hta abspeichern. In der kalk.bat steht ledgich "calc.exe".

    Dank und Gruß,

    frankx

    1. Hey...

      Das ganze klappt vom Prinzip her, nur leider kann ich keine *.bat-Dateien aufrufen.
      Und die exe direkt einfügen geht auch nicht, da ich zahlreiche Paramter übergeben muß, die u.a. auch / und " enthalten.

      Gibt es da noch einen Trick, habe leider Null ahnung von VBScript.

      Gruß
      Stefan

      1. Hellihello Stefan,

        komisch, bei mir klappt das aufrufen der .bat, ich hatte das extra getestet.

        Hast du die *.bat im selben verzeichnis und hast du sie auch mal ohne das script getestet?

        Das ganze geht übrigens auch mit Javascript, das könnte ich dir nachher mal hochladen, muss jetzt los. Gruß,

        Gruß,

        frankx

      2. Hellihello Stefan,

        take that:

          
          
        <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
        <html xmlns="http://www.w3.org/1999/xhtml">  
         <head>  
          <title>Javascript Batchdatei</title>  
          <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">  
         <script type="text/javascript">  
         //<![CDATA[  
         function Kommandozeile() {  
          wshShell = new ActiveXObject("WScript.Shell");  
          Kommando = 'cmd.exe /c "firefox.exe http://www.google.de"';  
          alert(Kommando);  
          wshShell.Exec(Kommando);  
         }  
         function Programm_mit_Parameter() {  
          wshShell = new ActiveXObject("WScript.Shell");  
          wshShell.Run("firefox.exe http://www.google.de");  
         }  
         function execSkript() {  
          var WshShell = new ActiveXObject("WScript.Shell");  
          var oExec = WshShell.Exec("dir /p");  
         }  
        //]]>  
         </script>  
         <style type="text/css">  
          button {display:block};  
         </style>  
        </head>  
         <body>  
          <input size="5" id="bisWann" />  
          <button onclick="Kommandozeile()">Kommandozeile()</button>  
          <button onclick="Programm_mit_Parameter()">Programm_mit_Parameter()</button>  
          <div id="infozeile"></div>  
         </body>  
        </html>  
          
          
        
        

        ... in Javascript mit Parameterübergabe. Einmal direkt der Programmaufruf, einmal über die Kommandozeile.

        Abgesehen davon, wer Programme aufrufen kann, kann auch Batchdateien aufrufen, meine ich.

        Dank und Gruß,

        frankx