我在Windows上运行了一个TCL脚本。我需要与在不同进程中运行的旧vc ++ 6应用程序进行通信。我需要进行双向沟通。在Linux中我会使用dbus,但是我应该使用哪种IPC策略用于Windows?

有帮助吗?

解决方案

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

其他提示

Boost.interprocess 有多种方式可供选择作为C ++的共享内存和消息传递。你总是可以从那里开始看看与你的脚本兼容的内容。

普通旧套接字在Windows上的TCL(以及Linux,以及实现TCP / IP的所有地方)都很有效:

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

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

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

有关第一个和<的详情,请参见此处。 a href =“http://www.tcl.tk/man/tcl8.4/TclCmd/socket.htm”rel =“nofollow noreferrer”>这里有关套接字的一些信息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top