Is there any reason to use Dynamic Data Exchange (DDE) in a modern Windows application?
If not, what alternative technology would you use instead?
Modern code uses COM for this. There is a tall stack of defined COM interfaces that you implement to receive the sort of stuff that DDE can deliver.