WM_DDE_EXECUTE Message Must Be Posted to a Window

ID: Q77842


The information in this article applies to:

Chapter 15 of the "Microsoft Windows Software Development Kit Reference, Volume 2" documents the dynamic data exchange (DDE) protocol. The following statement is found on page 15-2:
An application calls the SendMessage() function to issue the WM_DDE_INITIATE message or a WM_DDE_ACK message sent in response to WM_DDE_INITIATE. All other messages are sent using the PostMessage() function.

In the book "Windows 3: A Developer's Guide" by Jeffrey M. Richter (M & T Computer Books), the sample setup program uses the SendMessage() function to send itself a WM_DDE_EXECUTE message that violates the DDE protocol and may not work in future versions of Windows.

In Richter's sample, no real DDE conversation exists. The correct method to achieve the desired result is to use the SendMessage() function to send a user-defined message to the window procedure. When this message is processed, proceed accordingly.

For more information on user-defined messages, see chapter 6 of the "Microsoft Windows Software Development Kit Reference, Volume 1" for the Windows SDK version 3.0 and chapter 2 of the "Programmer's Reference, Volume 3: Messages, Structures, and Macros" from the Windows SDK version 3.1.


Keywords          : kbDDE kbGrpUser kbUser 
Version           : WIN: 3.0, 3.1, 4.0; NT: 3.50, 3.51
Platform          : NT WINDOWS 
Issue type        : kbhowto 

Last Reviewed: March 6, 1999