Pregunta

Tengo un script TCL ejecutándose en Windows. Necesito comunicarme a una vieja aplicación vc ++ 6 que se ejecuta en un proceso diferente. Necesito tener comunicación de 2 vías. En Linux usaría dbus, pero ¿qué estrategia de IPC debería usar para Windows?

¿Fue útil?

Solución

Tcl en Windows tiene soporte dde incorporado (ver documentos para el comando dde) que podría ayudar si la otra aplicación lo admite. Otra opción es la extensión TWAPI (Tcl Windows API), que tiene facilidades para enviar entradas de teclado y mouse a otra aplicación, consulte http://twapi.magicsplat.com/input.html .

Otros consejos

Boost.interprocess tiene varias formas tales como memoria compartida y paso de mensajes para C ++. Siempre puede comenzar allí y ver qué es compatible con su script.

Los sockets antiguos simples funcionan muy bien en TCL en Windows (y Linux, y en todas partes se implementa TCP / IP :)

Una lista de opciones de MSDN: http: / /msdn.microsoft.com/en-us/library/aa365574(VS.85).aspx

Si desea algo más 'enterprisy', también hay Cola de mensajes de Windows .

Desde la perspectiva de Tcl, la forma más simple, si su aplicación VC6 lo permite, sería obtener TCL para iniciar la aplicación VC y luego usar stdin y stdout para comunicarse. Si eso no es posible, el comando de socket Tcl le permite establecer una conexión de socket TCP con otro proceso.

Vea aquí para obtener detalles de la primera y < a href = "http://www.tcl.tk/man/tcl8.4/TclCmd/socket.htm" rel = "nofollow noreferrer"> aquí para obtener información sobre los sockets.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top