Angelika: Offline Anwendung + notepad.exe aufrufen

Hi Gemeinde,

ich bastele gerade eine Offline-Website. Aus dieser Anwendung heraus muß ich die notepad.exe aufrufen.
Kann mir jemand sagen, wie ich das am geschicktesten anstelle? Die Festplattenbezeichnungen können ja von User zu User unterschiedlich heißen, wie finde ich die notepad.exe???

Vielen Dank schonmal
Angelika

  1. Hi,

    da wirst Du mit HTML, JavaScript und Co. kaum Chancen haben. Wenn Du z.B. auf eine .TXT-Datei linkst, dann wird notepad automatisch aufgerufen (sofern .txt mit notepad.exe verknüpft ist). Ansonsten gibt es, glaube ich, keine Möglichkeit ein Programm aus einer Webseite heraus zu starten.

    CU
    speedy

    1. Hi,

      da wirst Du mit HTML, JavaScript und Co. kaum Chancen haben. Wenn Du z.B. auf eine .TXT-Datei linkst, dann wird notepad automatisch aufgerufen (sofern .txt mit notepad.exe verknüpft ist). Ansonsten gibt es, glaube ich, keine Möglichkeit ein Programm aus einer Webseite heraus zu starten.

      CU
      speedy

      Danke Speedy für die prompte Antwort.
      Ich sehe das auch so, ein Kollege jedoch meinte es würde gehen, leider weiß er auch nicht so recht wie :-)

      CU
      Angelika

    2. Hi,

      da wirst Du mit HTML, JavaScript und Co. kaum Chancen haben. Wenn Du z.B. auf eine .TXT-Datei linkst, dann wird notepad automatisch aufgerufen (sofern .txt mit notepad.exe verknüpft ist). Ansonsten gibt es, glaube ich, keine Möglichkeit ein Programm aus einer Webseite heraus zu starten.

      CU
      speedy

      Hi Leuts

      Doch die gibt es.. Aber mir schmeckt sie nicht.. Es gibt ein Active X Applet wo ohne zu fragen (ausführen Downloaden etc.) Programme ausführt... (groll) Das würde für diesen Zweck sogar gehen.. Sie könnte den Notepad auf ein Netzlaufwerk stellen oder ihn auf die Maschine Downloaden und so immer den gleichen Notepad starten.. Das Problem ist das jeder der auch nur ein wenig Html versteht es abändern kann und damit zum Beispiel Trojaner unterjubeln  oder Daten klauen kann... Ich finde es für mich zwar nett das ich beim starten vom IE den Winamper autoamtisch laden kann. Aber ich hoffe dieses Applet NIEMALS in der freien Wildbahn zu sehen......

      Wünsche allen eine gute Zeit
      Solei

  2. Moin Angelika,

    ich bastele gerade eine Offline-Website. Aus dieser Anwendung heraus muß ich die notepad.exe aufrufen.
    Kann mir jemand sagen, wie ich das am geschicktesten anstelle? Die Festplattenbezeichnungen können ja von User zu User unterschiedlich heißen, wie finde ich die notepad.exe???

    Warum nicht den User fragen bzw. ihn mit einer Checkbox einbinden?
    Wie das mit einer Laufwerksangabe geht, ist in der Auslese beschrieben :  <../../sfausles/tsfa_tch.htm#a5>

    Vielleicht hilft dir dieser Tipp ja ein wenig weiter.

    Swen

  3. ich bastele gerade eine Offline-Website. Aus dieser Anwendung heraus muß ich die notepad.exe aufrufen.

    Hm, wieso nicht gleich format.com? ;-)

    Kann mir jemand sagen, wie ich das am geschicktesten anstelle?
    Die Festplattenbezeichnungen können ja von User zu User unterschiedlich
    heißen, wie finde ich die notepad.exe???

    Tja. Wenn Du über Problem Nr. 1 (überhaupt eine exe
    auszuführen) hinweg bist (ActiveX oder was auch immer),
    kannst Du Dir überlegen, ob Du

    a) per irgendeiner Anwendung das Windows-Environment
       lesen (tipp mal "set" in eine DOS-Box ein) und daraus
       die Struktur der Windows-Installation erraten oder

    b) doch lieber ein gemeinsames Netzlaufwerk überall
       mounten willst, auf dem - schreibgeschützt - Deine
       notepad.exe-Version verfügbar ist.
       (Das muß dann halt jeder gleich mounten - bei
       hinreichender Flottenpolitik innerhalb einer Firma
       sollte das durchsetzbar sein.)

    Möglichkeit 3: Wozu braucht der Anwender denn diesen
    Notepad-Editor? Kannst Du diese Funktionalität nicht
    durch eine kleine Web-Anwendung (CGI etc.) emulieren?

    1. ich bastele gerade eine Offline-Website. Aus dieser Anwendung heraus muß ich die notepad.exe aufrufen.

      Hm, wieso nicht gleich format.com? ;-)

      Kann mir jemand sagen, wie ich das am geschicktesten anstelle?
      Die Festplattenbezeichnungen können ja von User zu User unterschiedlich
      heißen, wie finde ich die notepad.exe???

      Tja. Wenn Du über Problem Nr. 1 (überhaupt eine exe
      auszuführen) hinweg bist (ActiveX oder was auch immer),
      kannst Du Dir überlegen, ob Du

      a) per irgendeiner Anwendung das Windows-Environment
         lesen (tipp mal "set" in eine DOS-Box ein) und daraus
         die Struktur der Windows-Installation erraten oder

      b) doch lieber ein gemeinsames Netzlaufwerk überall
         mounten willst, auf dem - schreibgeschützt - Deine
         notepad.exe-Version verfügbar ist.
         (Das muß dann halt jeder gleich mounten - bei
         hinreichender Flottenpolitik innerhalb einer Firma
         sollte das durchsetzbar sein.)

      Möglichkeit 3: Wozu braucht der Anwender denn diesen
      Notepad-Editor? Kannst Du diese Funktionalität nicht
      durch eine kleine Web-Anwendung (CGI etc.) emulieren?

      An Michael, Möglichkeit 3:
      Der User soll eine Art Notizblock zur Verfügung gestellt bekommen, also Eintragungen machen, speichern und ausdrucken können.

      Bye, Angelika

      1. An Michael, Möglichkeit 3:
        Der User soll eine Art Notizblock zur Verfügung gestellt bekommen, also Eintragungen machen, speichern und ausdrucken können.

        Okay. Ich gehe mal weiterhin von einer Intranet-Lösung
        aus. Dann kannst Du folgendes tun:

        Realisiere einen Editor über eine CGI-Anwendung.
        Ein HTML-Formular mit einem einfachen Texteingabefeld

        • so wie hier beim Posten eines Beitrags - sollte mit
          Notepad mithalten können, viel mehr kann der auch nicht.
          (Nix GUI programmieren, Browser reicht aus.)

        Auf dem Server muß die CGI-Anwendung
        a) den bisherigen Notizblock-Inhalt lesen/anzeigen und
        b) den neuen Inhalt abspeichern.
        Beides kein Problem: CGI-Parameter auswerten, Datei
        öffnen, Inhalt als HTML-Dokument/Formular ausgeben, ggf.
        speichern.
        Ein Perl-Skript von um die 50 Zeilen, grob geschätzt,
        wenn die passenden Module (CGI.pm) verwendet werden.
        (Fehlerbehandlung und HTML-Layout mal abstrahiert. ;-)

        Wie identifiziert der Server den Benutzer?

        • Entweder machst Du irgend ein Login-Verfahren
            (.htaccess - ich liebe es ...) und greifst auf die
            Benutzerkennung zu (dann wäre der Notizblock überall
            zugreifbar und doch geschützt), oder
        • (falls das inhaltlich ausreicht) das Skript fischt
            aus der CGI-Parameterliste die Variable REMOTE_ADDR
            mit der IP-Adresse den Anwenders. (In einem Intranet
            kann man damit nämlich wirklich mal etwas Sinnvolles
            anfangen!)
            Dann hat jede *IP-Adresse* ihren eigenen Notizblock,
            der durch eine Datei auf dem Webserver realisiert
            wird, die genau diese IP-Adresse als Name hat.
            (Das ist nicht ganz dasselbe wie ein Notizblock für
            jeden *Benutzer* - klar?)

        Dies alles wäre relativ leicht zu realisieren und viel
        plattformunabhängiger (und "webiger") als Notepad.
        Fragt sich nur, ob es Deine Aufgabenstellung löst -
        oder ob Deine Anwender auf Notepad bestehen ... ;-)

        Meine "Lösung" hätte nebenbei den Vorteil, daß die
        Notizblöcke auf dem Server liegen und dort einer zen-
        tralien, automatisierten Datensicherung unterzogen
        werden können.
        Das hilft sowohl gegen tote Client-Festplatten als auch
        gegen zitterige Hände der Anwender. ;-)

        Literatur zum Thema:
        http://www.teamone.de/selfaktuell/artikel/schroepl03.htm#a18
        http://www.teamone.de/selfaktuell/artikel/schroepl01.htm

        1. Hallo,

          eine Anmerkung sei erlaubt:

          • (falls das inhaltlich ausreicht) das Skript fischt
              aus der CGI-Parameterliste die Variable REMOTE_ADDR
              mit der IP-Adresse den Anwenders. (In einem Intranet
              kann man damit nämlich wirklich mal etwas Sinnvolles
              anfangen!)
              Dann hat jede *IP-Adresse* ihren eigenen Notizblock,
              der durch eine Datei auf dem Webserver realisiert
              wird, die genau diese IP-Adresse als Name hat.
              (Das ist nicht ganz dasselbe wie ein Notizblock für
              jeden *Benutzer* - klar?)

          Wenn DNS oder ähnliches verwendet wird, um die IP-Adressen zu verwalten, dann ist aber leider dieses Verfahren nicht eindeutig. Nicht mal bezogen auf die PCs in der Firma.

          mfg, Karin

          1. Hallo Karin!

            Wenn DNS oder ähnliches verwendet wird, um die IP-Adressen zu verwalten, dann ist aber leider dieses Verfahren nicht eindeutig. Nicht mal bezogen auf die PCs in der Firma.

            Meinst Du vielleicht Reverse DNS, also dass fuer eine IP-Adresse der Rechnername gesucht wird? Dann hast Du sicher recht, es gibt viele Gruende, einem Rechner mehrere Namen zu geben. Man denke nur an Webserver, die mehrere virtuelle Hosts beherbergen.
            Wenn Du aber wirklich die Aufloesung eines Namen zu einer IP-Adresse meinst, ist in Eurem Netz wohl irgendwas schiefgelaufen.

            So lange

  4. Hallo,
    Wenn du nur mit dem IE5 arbeiten koenntet, dann wuerde es mit dem HTA-Konzept funzen. Innerhalb einer HTA (bzw. in ihr eingebundenen htm-Seiten) hat man saemtliche Zugriffsrechte auf das lokale Dateisystem ohne das die Sicherheitsbarieren dazwischenfunken. So kannst du ganz einfach nach der notpad.exe suchen lassen und ueber AktiveX starten. Wie eine solche automatische Suche funzt, kannst du z.B. im Selfbrowser in den Optionseinstellungen sehen. Dort kann man nach einer lokalen Version von Selfhtml suchen lassen. Der Quelltext steht in der "eigenschaften.htm".

    Gruesse
    Thomas Mell

  5. Fallo Angelika

    ich bastele gerade eine Offline-Website. Aus dieser Anwendung heraus muß ich die notepad.exe aufrufen.
    Kann mir jemand sagen, wie ich das am geschicktesten anstelle? Die Festplattenbezeichnungen können ja von User zu User unterschiedlich heißen, wie finde ich die notepad.exe???

    Falls es Dir gelingt, eine Datei unter einem bekannten Pfad auf dem Dateisystem des Users abzulegen (z.B. in c:\startnotepad.cmd), Dann kannst Du über diese cmd-Datei (für WinNT, bzw .bat für Win 95/98) den Notepad aufrufen.

    Die Datei "startNotepad.cmd" könnte beispielsweise so aussehen:
    <---schnipp--->
      REM Schaltet die Ausgabe ins Dosfenster aus
      @echo off

    REM Gibt eine Information im Dosfenster aus (optional)
      echo Ihr Notitzblock wird geöffnet!

    REM Wechselt ins Verzeichnis, wo Notepad liegen wird (%systemroot% ist eine Umgebungsvariable, die den Pfad zum Verzeichnis des laufenden Windows-Betriebssystem enthält, z.B. "c:\WinNT")
      cd %systemroot%

    REM Startet den Notepad. Optional kann hier auch der Name einer Textdatei als Parameter übergeben werden.
      notepad.exe

    REM Bewirkt, dass das Dosfenster im Hintergrund offen bleibt (optional)
      pause
    <---schnapp--->

    Die Datei kann dann über
      <a href="file://c:/startnotepad.cmd">Notepad</a>
    aus dem HTML-Dokument aufgerufen werden. Nicht verhindern lässt sich die browserspezifische Sicherheitsabfrage, ob die Datei geöffnet werden soll.

    Mit diesem und den anderen Tips hier im Thread solltest Du das Problem leidlich lösen können. Das Problem dabei bleiben die lästigen Sicherheitsabfragen der Browser.
    Diese können wirklich nur mit den hta-Dateien im IE 5.x umgangen werden.

    Grüsse
    Tom