我想查看计算机上当前活动的所有DDE服务器(如果可能的话,还有主题)的列表。我怎样才能做到这一点?是否为每个DDE服务器启动了一些服务?
我搜索互联网和stackoverflow一段时间后没找到任何东西。
答案 0 :(得分:5)
在我经常使用的工具中,tcl可以做到:
dde services {} {}
返回所有活动的服务主题对。
您可以在TCL源代码树(win / tclWinDde.c)中看到实现。基本上,对于窗口和消息来说,这是很多无聊的工作。首先,创建DDE客户端窗口。然后将WM_DDE_INITIATE发送到每个窗口(使用EnumWindows),将客户端窗口句柄作为WPARAM传递。客户端窗口过程处理WM_DDE_ACK,从LOWORD(lParam)和HIWORD(lParam)中的原子添加服务和主题。