4

我有一个在 Windows 上运行的 TCL 脚本。我需要与在不同进程中运行的旧 vc++ 6 应用程序通信。我需要有2路沟通。在 Linux 中我会使用 dbus,但我应该为 windows 使用什么 IPC 策略?

4

6 回答 6

4

Boost.interprocess有多种方式,例如 C++ 的共享内存和消息传递。您总是可以从那里开始,看看什么与您的脚本兼容。

于 2009-06-17T19:03:16.953 回答
4

命名管道怎么样?

于 2009-06-17T19:06:11.270 回答
2

普通的旧套接字在 Windows(和 Linux,以及所有实现 TCP/IP 的地方)的 TCL 中工作得很好:)

于 2009-06-17T19:10:41.107 回答
2

Windows 上的 Tcl 具有内置的 dde ​​支持(请参阅 dde ​​命令的文档),如果其他应用程序支持它,这可能会有所帮助。另一种选择是 TWAPI (Tcl Windows API) 扩展,它具有将键盘和鼠标输入发送到另一个应用程序的功能,请参见http://twapi.magicsplat.com/input.html

于 2009-06-18T09:54:05.430 回答
1

来自 MSDN 的选项列表:http: //msdn.microsoft.com/en-us/library/aa365574 (VS.85).aspx

如果你想要更“进取”的东西,还有Windows Message Queue

于 2009-06-17T19:07:53.560 回答
0

从 Tcl 的角度来看,如果您的 VC6 应用程序允许,最简单的方法是让 TCL 启动 VC 应用程序,然后使用标准输入和标准输出进行通信。如果这不可能,Tcl socket 命令允许您与另一个进程建立 TCP 套接字连接。

有关第一个的详细信息,请参见此处,有关套接字的一些信息,请参见此处。

于 2009-06-17T20:21:29.543 回答