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