# Anwendung öffnen



## Deunan (28. Oktober 2002)

Hi Ihr!

Habe wiedermal eine Frage:

(Habe in HTML eine Button erstellt)

Wenn ich auf den Button klicke, dann möchte ich, dass sich Excel oder eine ähnliche Anwendung öffnet, wo ich dann weiter arbeiten kann.

Wie kann ich das am besten realisieren?

Danke schon mal!

Bis bald!

Deunan


----------



## Dario Linsky (28. Oktober 2002)

ich würde mal sagen, wenn überhaupt geht das mit vbscript. aber alles in allem wird das aus html-code heraus wohl nicht möglich sein. wäre ja auch noch schöner, wenn man so zugriff auf fremde rechner kriegt.


----------



## Andreas Gaisbauer (28. Oktober 2002)

Oder man versucht es mit HTML Applications - ist eigentlich reguläres (sagen wir fast reguläres) HTML mit erweiterten Zugriffsrechten...

mehr infos
http://www.webreference.com 

bzw.

Selfhtml Forum 

is aber eigentlich doch eher vbs...




CU  Andreas
-------------------------------------------------------------
"There are only 10 types of people in the world, those that understand binary, and those that don't."


----------



## Thomas Lindner (28. Oktober 2002)

Es gebe ein Möglichkeit über emnbeding Object...

z.B.: Eine Powerpointdatei in eine Webseite einbetten und dort den Button drin, der die Exe startet...


----------



## Andreas Gaisbauer (28. Oktober 2002)

> Es gebe ein Möglichkeit über emnbeding Object...
> 
> z.B.: Eine Powerpointdatei in eine Webseite einbetten und dort den Button drin, der die Exe startet...



Stimmt, aber dann muss klar sein, dass diese Anwendung installiert ist -> das is aber nur Lokal sichergestellt und dann finde ich den Weg über vbs eleganter


----------



## MissNiedersachsen (18. Juni 2003)

Auf der Suche nach einer Antwort auf meine Frage, wie eine externe Anwendung von einer HTML-Datei aus ausgeführt werden kann, bin ich auf diesen Beitrag gestoßen.

Ihr schreibt, mit VBA oder auch durch Einbindung einer Powerpoint-Datei wäre das machbar; leider habe ich keinen Schimmer, über welchen VBA-Befehl ein Programm (lokal, nur auf dem eigenen Rechner) ohne vorherige Meldung ("Sind Sie sicher, dass Sie die Anwendung ausführen möchten usw.") gestartet werden kann. Auch mit einem Powerpoint-Objekt hat's nicht geklappt, es erschien zwar im Browser, doch konnte ich einen Button, den ich mit dem entsprechenden Befehl belegt hatte, nicht, wie sonst bei einer Präsentation, anklicken.

Wäre toll, wenn Ihr mir erklären könntet, wie das Problem zu lösen ist. Vielen Dank für Eure Hilfe.


----------



## Fabian H (19. Juni 2003)

Auf das sebe Problem bin ich auch schon gestossen.
Die Sicherheitsabfrage dürftest du, selbst lokal, nicht wegbekommt. Höchsten (was ich allerdings noch nicht ausprobiert hab) im IE unter Sicherheit im Intranet, dann aber auch nur wenn du einen lokalen Webserever laufen hast.

Wie ich es gelöst hab: Mit PHP!
Ich hab nen Webserver lokal mit installiertem PHP, hab den den Desktophintergrund als Active Desktop mit der Datei verlinkt.
Programme aufgerufen hab ich dann mit dem PHP-Befehl exec.

Einziger Nachteil: Die Scripts müssen Zugriff auf die Programme haben, was heisst, dass der Webserver dementsprechend konfiguriert werden muss. Und nochwas: Wenn die EXE-Dateien, oder was auch immer auf einer anderen Festplatte liegen kommst du nur noch mit nem RAID-Verbund Level 0 weiter.


----------



## MissNiedersachsen (19. Juni 2003)

Vielen Dank für Deine Antwort. Ich hab Dich so verstanden, dass man in jedem Fall einen lokalen Webserver benötigt. Leider weiß ich nicht genau, wie sich sowas realisieren lässt. Wär toll, wenn Du mir kurz erklären könntest, ob das mit viel Aufwand (und Kosten ?) verbunden ist.


----------



## Andreas Gaisbauer (20. Juni 2003)

Naja... die Kosten gehen gegen Null, da die Software Opensource ist - jedoch ist die Konfiguration nicht wirklich einfach  - wir haben haben aber ein Webserverforum mit kompetenten Usern . 

Den Server bekommst du unter http://httpd.apache.org/, PHP gibts aus http://www.php.net.  Ein vorkonfigurietes komplett Paket mit PHP und Mysql gibt´s auf http://www.apachefriends.org/wampp.html. Ich empfehle dir das Paket von Apachefriends für den Anfang, da der Einstieg dann wirklich Problemlos ist. Die konfiguration musst du zwar noch anpassen, aber Nuinmundo kann dir dabei sicher helfen...

bye


----------



## Fabian H (20. Juni 2003)

Es gibt auch ein Komplettpaket, dass praktisch fast gar nicht konfiguriert werden muss:
OmniHTTPd

Das würd ich mir mal runterladen, wenn du mit Apache und Co. nicht mehr weiter kommst.

Wenn du Windows 200 oder XP hast, kann ich dir für den lokalen Betrieb am besten den IIS empfehlen, der mit Windows mit geliefert wird.


----------



## Andreas Gaisbauer (20. Juni 2003)

> _Original geschrieben von Nuinmundo _
> *(...) oder XP hast, kann ich dir für den lokalen Betrieb am besten den IIS empfehlen, der mit Windows mit geliefert wird. *



Allerdings nur bei der XP Professional - die Home Edition hat keinen 
mehr im Lieferumfang... Desweiteren ist der ISS DAS Sicherheitsrisiko unter Windows (weil in der Default Konfiguration ALLES erlaubt ist). Wenn man ihn aber von Hand dicht macht, ist es sicher der "bequemste" Webserver unter Windows...


----------



## Fabian H (20. Juni 2003)

Naja, hab jetzt für den lokalen Betrieb gemeint, was aber keinen Unterschied macht, wenn jemand deine IP Adresse hat 

*gegenkopfklopf*


----------



## MissNiedersachsen (21. Juni 2003)

Ich hab mir jetzt OmniHTTPd runtergeladen und es scheint soweit zu funktionieren. Nur werd ich aus dem exec-Befehl noch nicht ganz schlau. Über verschiedene Buttons auf der PHP-Seite sollten die Programme eigentlich ausgeführt werden; ich hab jedoch keine Ahnung, wie ichdas dann mit dem php-Skript verbinden soll ...


----------



## MissNiedersachsen (21. Juni 2003)

Ich hab mir jetzt OmniHTTPd runtergeladen und es scheint soweit zu funktionieren. Nur werd ich aus dem exec-Befehl noch nicht ganz schlau. Über verschiedene Buttons auf der PHP-Seite sollten die Programme eigentlich ausgeführt werden; ich hab jedoch keine Ahnung, wie ich das mit dem php-Skript verbinden soll ...


----------



## Fabian H (21. Juni 2003)

Erstmal musst du OmniHTTPd so konfigurieren, dass das Document-root Verzeichnis die Festplate oder Partition ist, auf der die Anwendungen liegen. Wie man das in OmniHTTPd macht, weiss ich nicht, müsste aber in der Hilfe oder so stehen.

Dann machs du bei jedem Button für ein Programm ein onClick="open.php?prog=Programme/Firma/Produkt.exe"-Handler dazu.

Nun musst du noch die PHP-Datei machen:

```
<?php
$prog = $_GET["prog"];
exec($prog);

header("Location: ".getenv(HTTP_REFERER));
?>
```

Nur ein Problem gibt es: Ich weiss nicht, ob es auch beim exec-Befelh auftritt, bei system jedenfalls: Die Ausführung des Scriptes wird so lange unterbrochen, bis das geöffnete Program geschlossen wir, bzw das max_execution Limit (Standart: 30Sekunden) vorbei ist.

Mögliche Lösungen: Du änderst die PHP-Konfiguration so, dass das Script nach 2-3 Sekunden abgebrochen wird (siehe: %windir%/php.ini und dor die Zeile: max_execution_time entsprechend abändern).

Oder du löst das ganze mit JavaScript:

```
#open.php:
<html>
<head>

<script type="text/javascript">
function navigateback() {
  setTimeout("window.location=".window.document.referrer, 1500);
}
</script>

</head>
<body onLoad="navigateback;">
Programm wird ausgeführt...
</body>
</html>

<?php
$prog = $_GET["prog"];
exec($prog);
?>
```


----------



## MissNiedersachsen (21. Juni 2003)

Ich blick einfach nicht durch !

Also, ich hab als Root-Verzeichnis "C:" angegeben, dann einen Button auf meiner HTML-Seite mit dem "onClick"-Ereignis belegt und außerhalb der HTML-Tags den PHP-Code eingefügt. Nachdem das nicht funktioniert hat, hab ich die Datei als .php abgespeichert, aber auch so hats nicht geklappt. 

Kannst Du mir als blutigem Anfänger nochmal erklären, wo's hapert ?


----------



## Fabian H (23. Juni 2003)

1. Der Webserver muss natürlich gestartet werden.

2. Du greifst dann nicht mer wie gewohnt auf deine HTML/PHP-Dateien zu, sondern per localhost.
Du musst also, angenommen die HTML Datei mit dem Button heist index.html und liegt auf C:, den Browser starten und da die Addresse _http://localhost/index.html_ eingeben. Möglicherweise musst du noch einstellen, dass er keine DFÜ-Verbindung aus dem Browser heraus wählt.

3. Die PHP-Datei mit folgendem Inhalt:

```
<html>
<head>

<script type="text/javascript">
function navigateback() {
  setTimeout("window.location=".window.document.referrer, 1500);
}
</script>

</head>
<body onLoad="navigateback;">
Programm wird ausgeführt...
</body>
</html>

<?php
$prog = $_GET["prog"];
exec($prog);
?>
```
liegt ebenfalls auf C: und heißt z.B. open.php. Dementsprechend musst du natürlich auch das onClick-Ereignis des Buttons anpassen.

Nun müsste das PHP-Skript ausgeführt werden, wenn du es per localhost aufrufst.


----------



## MissNiedersachsen (24. Juni 2003)

Tut mir leid, dass ich Dich mit meinem Problem nochmal nerven muss. Ich glaube, jetzt alles so eingestellt zu haben wie Du es erklärt hast. Wenn ich jedoch auf den Button in der HTML-Datei klicke, tut sich gar nichts. Öffne ich die PHP-Datei (über localhost) alleine, wird php.exe (der PHP-Interpreter, glaub ich) "aufgrund eins ungültigen Vorgangs" geschlossen. Ich hab dann probiert, statt der Variablen "prog" direkt den Pfad in das PHP-Skript einzugeben. Es erschien zwar nun der Text "Programm wird ausgeführt", aber passiert ist leider wieder nichts.

Ich frag mich, ob irgendwas mit der PHP-Konfiguration meines Webservers nicht stimmt. Am Code selbst und auch am Root-Verzeichnis kanns eigentlich nicht liegen.


----------



## MissNiedersachsen (5. Juli 2003)

In meiner Verzweiflung versuch ich es jetzt doch nochmal: Kann es sein, dass am Aufruf onclick="open.php?prog=Programme/Firma/Produkt.exe" irgendwas nicht stimmt ? Ich erhalte nämlich neuerdings beim Öffnen der HTML-Datei einen Laufzeitfehler, es würde ein Doppelpunkt erwartet.

Ich hab - obwohl ich selbst nicht genau weiß, wieso - folgendes probiert: onclick="self.location.href='open.php?prog=Programme/Firma/Produkt.exe'" Nun wird zwar die PHP-Datei geöffnet, das Programm aber dennoch nicht gestartet.

Vielen Dank für Eure Hilfe.


----------

