Dmitrii I.
Dmitrii I.

Reputation: 726

How to get running DDE servers on the computer

I want to see a list of all DDE servers (and topics if possible) currently active on my computer. How can I do that? Is there some service started for each DDE server?

I search the Internet and stackoverflow for some time and did not find anything.

Upvotes: 5

Views: 5165

Answers (1)

Anton Kovalenko
Anton Kovalenko

Reputation: 21517

Among the tools I use frequently, tcl can do it:

dde services {} {}

returns all active service-topic pairs.

You can see the implementation in TCL source tree (win/tclWinDde.c). Basically, it's a lot of boring work with windows and messages. First, DDE client window is created. Then WM_DDE_INITIATE is sent to each window (using EnumWindows), passing the client window handle as WPARAM. The client window procedure handles WM_DDE_ACK, adding services and topics from atoms in LOWORD(lParam) and HIWORD(lParam).

Upvotes: 7

Related Questions