Announcement

Collapse
No announcement yet.

Externe Windows-Programme starten

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Externe Windows-Programme starten

    Moin, Moin,

    Ist es möglich externe Windows-Programme im eigenen Intranet (W98 bzw. WinNT / Apache 1.3 / PHP 4.2) mittels PHP o.ä zu starten?

    Da die entsprechenden PHP-Funktionen die Ausgabe des Programmes im Browser zu erwarten scheinen - ich aber ein vom Browser unabhängiges Programm starten möchte, habe ich versucht andere (Um)wege zu gehen. Doch sowohl der Weg über selbst geschriebenen DLLs als auch über das Apache-Modul -php_w32api.dll- funktionierten prima bis zu dem Punkt, an dem ein externes Programm oder auch nur eine Messagebox angezeigt werden sollte.

    Wer weiß Rat? Vielen Dank im voraus!

  • #2
    schon einmal die COM oder die .NET funktionen angeschaut

    Comment


    • #3
      Ja, aber egal ob ich die DLL per dl(..)lade oder als COM-Objekt erzeuge (wie Word) nichts will die Messagebox anzeigen. (mit .NET habe ich mich eigentlich noch nicht befaßt).

      Wahrscheinlich fehlt in irgendeiner Ini-Datei eine bestimme Einstellung. Denn es gibt unter php.com diverse Beispiele die eigentlich funktionierern sollten?

      Comment


      • #4
        wo willst du die messageboxen denn zeigen? ich dachte du willst die objekte auf dem server nutzen und deren stdout als rückgabe haben

        Comment


        • #5
          Ich möchte Messageboxen / bzw. Programme starten, die unabhängig vom Server und Browser laufen. D.H das Intranet soll nur dazu dienen die entsprechenden Programme, die sich physikalisch auf dem Server befinden, zu starten. Alles andere soll lokal auf dem Client passieren - wenn das denn möglich ist

          Comment


          • #6
            nein, ist definitiv mit php nicht möglich, wenn auf den clients keine lokalen webserver mit php installiert sind. das ist ein fall für activeX auf den clients

            Comment


            • #7
              PHP kann eine HTML-Seite wie folgt generieren:
              <PRE>
              &lt;html>
              &lt;head>
              &lt;script>
              function start(){
              document.location.replace("file://emil/temp/1.bat");
              }
              &lt;/script>
              &lt;/head>
              &lt;body onload="start();">
              &lt;/body>
              &lt;/html>
              </PRE>
              Diese Seite startet, nach einer Bestätigung durch Benutzer, automatisch ein beliebiges Programm (hier: //emil/temp/1.bat). Die Frage nach der Bestätigung kann - gottseidank - nicht deaktiviert werden

              Comment


              • #8
                Schade,

                ActiveX wollte ich vermeiden, da der Browser "nebenbei" auch für das Internet gebraucht wird (Sicherheit?!) und außerdem ist das Zertifizieren so kompliziert..

                document.location.replace("file://emil/temp/1.bat"); startet einen normalen Download incl. Sicherheitsabfrage - wollte ich auch vermeiden ..

                Aber was hat es denn mit dem Apache-Modul "php_w32api.dll" auf sich?
                Laut Hilfe soll man doch auf die WinAPI zugreifen können, und damit müßte mach doch mittels ShellExecute o.ä. auch Messageboxen (wie unter php.net beschrieben)oder externe Programme außerhalb des Browsers starten können

                Comment


                • #9
                  ja, man kann schon auf die winAPI, COM, DDE und so weiter zugreifen, das problem ist aber ein grundsätzlich anderes, du arbeites damit nämlich auf dem server und nicht auf dem client. was nutzt es dir also auf dem server eine instanz eines com-objektes zu erzeugen, wenn du sie auf dem client willst? es wäre zwar grundsätzlich möglich, die applikation komplett via web auf den client abzubilden, aber kontraproduktiv, da du ja dann im endeffekt einen applikationsserver hättest, den du mit dem terminalserver oder citrix wesentlich besser und einfacher haben könntest.
                  willst du auf dem client arbeiten, dann bleiben dir nur clienttechniken, ergo VB/activX. sicherheitstechnisch sollte dies durchaus unproblematisch sein, da du ja in verschiedenen zonen scriptest. wenn es sich um ein intranet handelt, so bist du mit deinen seiten in der lokalen zone, deren sicherheitseinstellungen du getrennt anpassen kannt, die internetzone kann weiterhin reglementiert werden. eine zertifizierung brauchst du nicht zwingend (wozu auch)

                  Comment


                  • #10
                    Das Objekt document.location existiert nicht.
                    Es heisst window.location
                    Bei SQL-Code bitte beachten: Formatierung von SQL in Beiträgen

                    Comment

                    Working...
                    X