ActiveX-Anwendung aus einer exe-Anwendung?

Hallo,

ich habe eine exe-Anwendung unter VB erstellt. Nun diese Anwendung soll mittels php-Code auf dem Server gestartet werden. Das Starten der Exe-Datei auf dem Server funktioniert aber nicht richtig. Die Anwendung wird zwar gestartet, läuft aber im Hintergrund und macht gar nichts. Um meine Anwendung richtig auf dem Server auszuführen, möchte ich jetzt aus meiner exe-Anwendung eine ActiveX-Anwendung erstellen. Leider hatte nie mit ActiveX gearbeitet und weiß überhaupt nicht, wie soll ich dies machen. Kann ich meine VB-Code aus meiner Exe-Anwendung dann für die Erstellung der ActiveX Anwendung verwenden oder nicht?

Beste Grüße
Denis

Hallo Denis
Im Prinzip geht es, aber…
Erstmal brauch ich bei VB5 eine Enterprise-Version für vollständige Dokumentation, und die hab ich nicht.
Unter Windows NT-Server gibt es standardmäßig Server-Filter und Server-Erweiterungen in Form von dll’s.
Die funktionieren auch schon unter NT4 und sind die schnellste und praktikabelste Lösung. Hier weiß ich nur nicht, wie man Funktionsadressen exportieren kann. Man braucht nämlich Adressen wie dll-main mit Message-Loop und eventuell noch anderes, der Rest geht mit API-Aufrufen. Die dll wird dabei wie ein exe als Shell aufgerufen und erhält alle wichtigen Informationen, wie auch Session-Id usw., Daten wie sie für Funktionen wie WriteClient oder ähnlich benötigt werden.
Ich könnte mal nachschauen, wo entsprechende Dokumentationen zu finden sind, für Windows Nt im MSDN.

Ein Aufruf von *.bat und *.exe files und anderen ist aus Sicherheitsgründen in der Registry gesperrt. Im Prinzip geht es aber, und dann gibt es auch den Command-String.

Bei den active-x dll’s weiß ich nur, man muß da Ereignisse und Methoden definieren, steht auch in der Anleitung, und wie es ohne Programm wie Internetexplorer auf dem Server laufen kann, weiß ich leider auch nicht.
MfG
Matthias

Hallo Matthias,

die MSDN Doku habe ich bereits und versuche mich dort durchzuboxen. Allerdings gibt es unter VB verschiedene Arten von ActiveX-Anwendungen wie z.B. ActiveX-exe, ActiveX-dll oder ActiveX-Dokument. Ich habe mich erstmal für ActiveX-exe entschieden. Nehmen wir an, ich habe meine exe-Anwendung irgendwie durch ein Wunder in eine ActiveX-Anwenung umgewandelt. Was ich immer noch nicht verstehe, wie ich dann mittels php meine ActiveX-Anwendung starte. Geht es per Mausklik auf ein Link?

Die Anwendung soll unter Apache-Server laufen und nicht unter Windows-Server. Ich teste das ganze unter XAMPP.

Beste Grüße
Denis

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Denis,

betrachte Dein Vorhaben mal unter dem Sicherheitsaspekt.

Der Anwender soll auf der Website etwas anklicken und daraufhin soll ein Programm auf seinem Rechner ausgeführt werden … der Traum eines jeden Virenprogrammierers! :smile: Wenn Du das schaffst, informiere bitte sofort Microsoft, damit die diese Sicherheitslücke schließen.

Gruß, Rainer

entschieden. Nehmen wir an, ich habe meine exe-Anwendung
irgendwie durch ein Wunder in eine ActiveX-Anwenung
umgewandelt. Was ich immer noch nicht verstehe, wie ich dann
mittels php meine ActiveX-Anwendung starte. Geht es per
Mausklik auf ein Link?

Die Anwendung soll unter Apache-Server laufen und nicht unter
Windows-Server. Ich teste das ganze unter XAMPP.

Beste Grüße
Denis

Hallo Denis.
Ich habe mal aus Neugier mal nachgeschaut, was eigentlich ein Apache Server ist usw.
Erfreut hat mich, das er umsonst ist. Bei Windows IIS fand ich Preise über 1000€.
Die Unterstützung von Scripten und anderem wird dort(Apache) anscheinend mit Modulen realisiert. Zum Beispiel ein Modul für PHP.
Die für Windows erstellten Komponenten kannst Du nicht unter Apache verwenden, es sei denn, Du bekommst es hin, das Dein Apache Server die Parameter genauso übernimmt und übergibt wie ein Windows Server.
Die Kommunikation mit den Scripten und dll’s geschieht bei Windows über Server-Api. Das müßte der Apache schon nachbilden, damit Deine active-x klarkommen.

Was Xampp ist, weiß ich nicht.
Du schreibst auch nicht, welches Betriebssystem benutzt wird, aber ich vermute Windows.
Ich las irgendwo, das es Unterstützung für .asp gibt. Damit kommst Du den VB-Programmen schon am ehesten nahe, auch was die Portierung betrifft. Auch für .jsp und ähnliche gibt es was. Aber ich fand auf die Schnelle nichts kostenloses.
Soll Dein PHP unbedingt eine active.x Anwendung in die Lage versetzen, mit einem Clienten zu kommunizieren, muß er alle Verbindungsdaten sammeln und übergeben. Frag doch auch mal bei „PHP“. Das active-x oder was auch immer könnte dann per winsock-api oder control anfangen zu arbeiten.
Aber diese Auskunft ist rein hypothetisch, ich hab sowas noch nie gemacht oder gesehen.
MfG
Matthias

Hallo Mathias,

Ich habe mal aus Neugier mal nachgeschaut, was eigentlich ein
Apache Server ist usw.
Erfreut hat mich, das er umsonst ist. Bei Windows IIS fand ich
Preise über 1000€.

einer von uns hat sich verlesen. Da war von ‚Windows-Server‘ die Rede, (ein Betriebssystem) und Apache. (kein Betriebssystem)

Du schreibst auch nicht, welches Betriebssystem benutzt wird,
aber ich vermute Windows.

Der Server muß Linux sein, sonst läuft Apache nicht.
Der soll das aber auch gar nicht ausführen, ausführen soll der Client die Anwendung, sobald die Website geladen ist.
Wenn das geht, baut das jeder Virenprogrammierer nach und wir können keine Seite mehr von Windows aus mehr aufrufen, weil sonst anschließend die Platte leer ist. Wenn das funktioniert, hat Microsoft alles falsch gemacht, was man falsch machen kann. Das kann, soll und darf nicht funktionieren.

Gruß, Rainer

Hallo auch

Hallo Mathias,

Ich habe mal aus Neugier mal nachgeschaut, was eigentlich ein
Apache Server ist usw.
Erfreut hat mich, das er umsonst ist. Bei Windows IIS fand ich
Preise über 1000€.

einer von uns hat sich verlesen. Da war von ‚Windows-Server‘
die Rede, (ein Betriebssystem) und Apache. (kein
Betriebssystem)

War es nicht. Ich wollte hier nur den Apache-Server mit dem Windows Server preislich vergleichen.

Du schreibst auch nicht, welches Betriebssystem benutzt wird,
aber ich vermute Windows.

Der Server muß Linux sein, sonst läuft Apache nicht.

Das stimmt nicht. Apache läuft auch unter normalem Windows.

Der soll das aber auch gar nicht ausführen, ausführen soll der
Client die Anwendung, sobald die Website geladen ist.

Nein, es ging eindeutig um Serverseitige Programme. Mit VB erstellte Active-x Programme als Servererweiterung benutzen.

Wenn das geht, baut das jeder Virenprogrammierer nach und wir
können keine Seite mehr von Windows aus mehr aufrufen, weil
sonst anschließend die Platte leer ist. Wenn das funktioniert,
hat Microsoft alles falsch gemacht, was man falsch machen
kann. Das kann, soll und darf nicht funktionieren.

Naja, das ist da ja so ähnlich wie mit normalen Programmen. Es wird dann nach einer Freigabe gefragt, wenn es kein allgemein gültiges Zertifikat gibt.
MfG

Gruß, Rainer