notloesung101 Geschrieben 3. Juli 2007 Geschrieben 3. Juli 2007 Guten Morgen allerseits, habe folgendes Problem: Ich will aus VBScript heraus eine andere Anwendung aufrufen. Die „andere“ Anwendung führt eine Berechnung durch und gibt einen Wert zurück. Unter Umständen sollen schon Teilrückgabewerte zurück geliefert werden. Nachdem die Berechnung durchgelaufen ist, schließt sich die Anwendung und das VBScript läuft dann weiter. Die andere Anwendung ist eine .Exe. Der Aufruf via Dll fällt aus, da keine COM-Schnittstelle vorhanden. Bleiben, meiner Meinung nach, nur noch Named Pipes mit denen sich solch eine Kommunikation realisieren lässt. Vorgestellt habe ich mir folgendes Szenario: Das VBScript läuft und gelangt irgendwann an den Punkt an den die .Exe eine Berechnung durchführen muss. Bevor die Exe aufgerufen wird, erstellt das VBScript eine Named Pipe (als Server). Startet dann die Exe, die wiederum einen Named Pipe Client startet. Darüber unterhalten sich die Anwendungen miteinander. D.h. der Server hört die Named Pipe solange ab, bis vom Client ein „Ende“ kommt. Leider habe ich bisher nur beispiele für VB im Netz gefunden. Diese, mit wenig Wissen, versucht in VBScript zu implementieren – doch leider Fehlanzeige. F R A G E: Ist jem. von Euch schon mal auf solch ein Beispiel gestoßen oder hat bereits selbst damit Erfahrungen gesammelt? Ich suche also ein Beispiel wie ein Named Pipe in VBScript realisiert wird. Für Anregungen bin ich sehr dankbar. Gruß, Notloesung Zitieren
Amstelchen Geschrieben 4. Juli 2007 Geschrieben 4. Juli 2007 IMO nicht möglich, da in VBScript keine WinAPI-zugriffe implementiert sind; d.h. es dürfte auch nicht möglich sein, named pipe spezifische funktionen wie ReadFile oder CreateNamedPipe zu verwenden. und AFAIK sind named pipes auch über FSO, die bevorzugte dateizugriffsmethode bei VBS, nicht verwendbar. s'Amstel Zitieren
notloesung101 Geschrieben 5. Juli 2007 Autor Geschrieben 5. Juli 2007 und AFAIK sind named pipes auch über FSO, die bevorzugte dateizugriffsmethode bei VBS, nicht verwendbar. Guten Morgen s'Amstel und vielen Dank für deine Antwort! Das scheint nicht ganz richtig zu sein (?) denn ich habe bereits folgenden VBS Code gefunden: 'Define object for PIPES SET fso = CreateObject("Scripting.FileSystemObject") 'Setup access to named pipes SET out = fso.CreateTextFile("\\.\pipe\out", 0) WScript.Sleep 500 SET pin = fso.OpenTextFile("\\.\pipe\in", 1) Mal schauen was sich damit anstellen läßt? Gruß, Notloesung101 Zitieren
Amstelchen Geschrieben 5. Juli 2007 Geschrieben 5. Juli 2007 ok, drum schrieb ich auch - AFAIK - hab also wieder was gelernt. s'Amstel Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.