Holy cow, I wrote a book!
A commenter asked,
"As an application programmer,
can I really ignore DDE if I need to interact with explorer/shell?"
The answer is, "Yes, please!"
While it was a reasonable solution
back in the cooperatively-multitasked world of 16-bit Windows
where it was invented,
the transition to 32-bit Windows was not a nice one for DDE.
the reliance on broadcasts
to establish the initial
DDE conversation means that unresponsive programs can jam up
the entire DDE initiation process.
The last shell interface to employ DDE was the communication
with Program Manager to create program groups and items inside
This was replaced with Explorer and the Start menu back in
DDE has been dead as a shell interface for over ten years.
Of course, for backwards compatibility,
the shell still supports DDE
for older programs that choose to use it.
You can still create icons on the Start menu via DDE and
you can still register your documents to launch via DDE
if you really want to,
but if you take a pass on DDE you won't be missing anything.
On the other hand, even though there is no technological reason
for you to use DDE, you still have to be mindful of whether your
actions will interfere with other people who choose to:
If you stop processing messages, you will clog up DDE initiation,
among other things.
It's like driving an automatic transmission instead of a manual
There is no requirement (in the United States, at least)
that you own a manual transmission or even know how to operate one.
But you still have to know to ensure that your actions do not interfere
with people who do have manual transmissions,
such as watching out for cars waiting for the traffic light to change
while pointed uphill.