Frank: Programme starten aus Homepage

Guten Abend,

ich hoffe, meine Anfängerfrage ist nicht vollkommen daneben...

Ich möchte gerne für meinen lokalen PC HTML-Seiten erstellen, in denen ich meine Links, Aufgaben, Notizen unter verschiedenen Gesichtspunkten sortiert anordne. Nun möchte ich aus der Seite auch diverse Programme starten, meinen Palm-Desktop, Office-Anwendungen usw.

Wie kann ich das anstellen? Geht das überhaupt mit HTML? Oder muss ich da was anderes benutzen, was dennoch im Browser lauffähig ist?

Danke für Tipps!

Gruß, Frank.

  1. Hi!

    Normalerweise reicht ein Link auf die Datei. Das ist so ziemlich das gleiche wie ein Doppelklick. Der Browser schaut dann schon im System welches Programm gestartet werden muss. Ich nutze das beruflich fuer Outlooktemplates. Muss nicht klappen, aber fuer Standardgeschichten sollte es keine Probleme geben.

    Was hast Du denn schon versucht?

  2. Hallo Frank,

    wer ein externes Programm starten will, braucht zuerst Befehlszeilen:
    z.B.:
    C:\Window\Notepad.exe D:\Rezepte\Oma\Kekse\vanillekipfel.txt
    oder:
    C:\Programme\Adobe\AcroRd32.exe C:\Notizen\Energy-Vertrag.pdf

    Damit diese exakt sind, kann man sie unter [Start][Ausfuehren] testen.

    Nun braucht man ein CGI-Programm/Script, dem man diese Komandozeile
    via Link schickt und welches diese dann auch ausfuehren kann(darf).
    Die ueblichen Verdaechtigen waeren da:

    • ein ASP-Script
    • ein PHP-Script
    • ein Perl-Script
    • ein C-Programm
    • ein VB4-Programm

    Letzteres habe ich genommen, weil ich damals noch nix von Perl,
    ASP und PHP verstand und mir C einfach zu kompliziert war.

    Gruss Norbert

    1. Hellihello

      wer ein externes Programm starten will, braucht zuerst Befehlszeilen:
      z.B.:
      C:\Window\Notepad.exe D:\Rezepte\Oma\Kekse\vanillekipfel.txt
      oder:
      C:\Programme\Adobe\AcroRd32.exe C:\Notizen\Energy-Vertrag.pdf

      Damit diese exakt sind, kann man sie unter [Start][Ausfuehren] testen.

      Nun braucht man ein CGI-Programm/Script, dem man diese Komandozeile
      via Link schickt und welches diese dann auch ausfuehren kann(darf).
      Die ueblichen Verdaechtigen waeren da:

      • ein ASP-Script
      • ein PHP-Script
      • ein Perl-Script
      • ein C-Programm
      • ein VB4-Programm

      *.hta erlaubt auch JScript und VBscript. Damit lassen sich auch Shell-Objekte oder ActiveX oder wie das heißt erstellen.

      Dank und Gruß,

      frankx

    2. Moin Moin!

      Nun braucht man ein CGI-Programm/Script, dem man diese Komandozeile
      via Link schickt und welches diese dann auch ausfuehren kann(darf).

      Damit läuft das Programm mit den Rechten und unter dem Account des Webservers. Das kann der Account des aktuellen Users sein, aber oftmals/im Normalfall (in einer sicheren Installation) ist das ein anderer Account. Das ist nicht unbedingt das, was der User haben möchte.

      Unter Windows 1.x/2.x/3.x/9x/ME ist das alles egal, denn es gibt nur einen Account. Unter NT-basierten Systemen und allen Unixen sind interaktive Benutzer und der Benutzer-Account des Webservers definitiv getrennt.

      Alexander

      --
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
    3. Hi

      • ein PHP-Script

      da ich kürzlich selber sowas gebraucht und schon etwas in PHP gebastelt hab, will ich Dich einfach mal daran teil haben lassen ...

      Das PHP-Skript, nennen wir es mal start.php:

        
      $path = ""; // Pfad Deiner exe  
      $file = "programm.exe"; // die exe selber  
        
      chdir($path); $call = $path.$file;  
      pclose(popen('start /b '.$call.'', 'r'));  
      
      

      Der Aufruf auf Deiner Seite kann dann so aussehen ...

        
      <html>  
      <form target="_blank" action="start.php" method="GET">  
        
      <input type="submit" value="Startknopf" class="button">  
        
      </form>  
      </html>  
      
      

      Grüße

      tobeit

      1. Moin Moin!

        Hatten wir neulich schonmal: Das Programm läuft im Context des Webservers, nicht im Context des Users. Das funktioniert nur unter DOS-basierten Windows-Versionen (1.x-3.x, 9x, ME) oder wenn der User explizit den Webserver selbst startet.

        Alexander

        --
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
        1. Hey, ho,

          Hatten wir neulich schonmal: Das Programm läuft im Context des Webservers, nicht im Context des Users. Das funktioniert nur unter DOS-basierten Windows-Versionen (1.x-3.x, 9x, ME) oder wenn der User explizit den Webserver selbst startet.

          naja, das is ja dann im Prinzip nich das Problem, denn so wie es klang, möchte er es sowieso nur für sich nutzen!!

          Grüße

          1. Moin Moin!

            Hey, ho,

            Hatten wir neulich schonmal: Das Programm läuft im Context des Webservers, nicht im Context des Users. Das funktioniert nur unter DOS-basierten Windows-Versionen (1.x-3.x, 9x, ME) oder wenn der User explizit den Webserver selbst startet.

            naja, das is ja dann im Prinzip nich das Problem, denn so wie es klang, möchte er es sowieso nur für sich nutzen!!

            Das ist durchaus ein Problem. Der Webserver wird auf NT-artigen Systemen als unpriviligierter Service laufen, und darf in aller Regel nicht mit dem Desktop interagieren. Das bedeutet: Das gestartete Programm läuft nicht nur unter einem anderen Account (was alle Laufwerksmappings des aktuellen Users "verschwinden" läßt), sondern es hängt beim ersten Versuch, ein Fenster oder einen Dialog zu öffnen.

            Bei Unixen und bei NT wird ein vom Webserver-User gestarteter Prozess ein deutlich anderes Environment haben als ein von der User-Shell gestarteter Prozess. Home-Verzeichnisse, "Eigene Dateien", Desktop-Verzeichnis, usw. werden über das Environment bestimmt, ebenso der zu benutzende X11-Server unter Unixen. Auch stimmt der Eigentümer der Dateien und Verzeichnisse nicht überein. Das ist bei Windows wegen der eher laxer vergebenen Dateisystemrechte weniger problematisch als bei Unixen. Mit chroot() will ich jetzt gar nicht anfangen.

            Alexander

            --
            Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".