Frage

Ich habe einen TCL-Skript auf Windows läuft. Ich muß ein altes vc ++ 6 app läuft in einem anderen Prozess kommunizieren. Ich brauche 2-Wege-Kommunikation haben. In Linux würde ich dbus, aber was für IPC-Strategie sollte ich für Windows?

War es hilfreich?

Lösung

Tcl auf Fenster hat dde Unterstützung eingebaut (siehe Dokumentation für den DDE-Befehl), die, wenn die andere Anwendung dies unterstützt helfen könnte. Eine weitere Option ist die TWAPI (Tcl Windows-API) Erweiterung, die Einrichtungen für das Senden von Tastatur- und Mauseingaben an einem anderen Anwendung hat, finden Sie unter

Andere Tipps

Boost.Interprocess hat verschiedene Möglichkeiten, wie zum als Shared-Speicher und die Nachricht für C ++ geben. Man könnte immer dort anfangen und sehen, was mit Ihrem Skript kompatibel ist.

Wie wäre es Named Pipes?

Plain alten Steckdosen arbeiten in großen TCL auf Windows (und Linux, und überall TCP / IP implementiert:)

Eine Liste von Optionen aus MSDN: http: / /msdn.microsoft.com/en-us/library/aa365574(VS.85).aspx

Wenn Sie etwas mehr 'enterprisy' wollen, gibt es auch Windows Message Queue .

Von der Tcl Sicht der einfachste Art und Weise, wenn Ihre VC6 App erlaubt es, wäre TCL zu bekommen die VC App zu starten und dann stdin und stdout verwenden, um zu kommunizieren. Wenn das nicht möglich ist, die der Tcl-Buchse Befehl kann Ihnen eine TCP-Socket-Verbindung mit einem anderen Prozess etablieren.

Siehe hier Details der ersten und < a href = "http://www.tcl.tk/man/tcl8.4/TclCmd/socket.htm" rel = "nofollow noreferrer"> hier für einige Informationen über Sockets.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top