PRB: DDE with Internet Explorer Doesn't Work As Expected (167826)



The information in this article applies to:

  • Microsoft Internet Explorer (Programming) 3.0
  • Microsoft Internet Explorer (Programming) 3.01
  • Microsoft Internet Explorer (Programming) 3.02
  • Microsoft Internet Explorer (Programming) 4.0

This article was previously published under Q167826

SYMPTOMS

When executing a DDE transaction with Internet Explorer (16-bit or 32- bit), Internet Explorer does not seem to communicate to the application as expected.

CAUSE

Internet Explorer's DDE implementation is based upon the Spyglass SDI spec, which mandates that all specified quoted strings use the \" character combination. Not correctly prefixing a string with the \" character combination when IE expects a quoted string, could cause this problem.

RESOLUTION

When specifying a quoted string, whether as an application, topic, item name, or as an argument, always use the \" character combination.

STATUS

This behavior is by design.

MORE INFORMATION

The Spyglass SDI specification defines a standard notation to indicate argument types. Specifically, all names prefixed with qs, indicating a quoted string, should use the \" character combination to embed a quote character within a quoted string.

To obtain more information on the standard notation for various other argument types, please refer to the "Notation" section of the Spyglass SDI specification.

Steps to Reproduce Behavior

  1. Establish a DDE communication with Internet Explorer, specifying the following:
    application Name: iexplore
    topicName:        WWW_RegisterURLEcho
    						
  2. Note how the Spyglass SDI specification specifies the arguments for this particular topic:
    RegisterURLEcho ( TO Web browser )
    Topic: WWW_RegisterURLEcho
    Item: qsApplication
    Transaction: XTYP_REQUEST
    Data: bSuccess
    						
    Note how the ItemName specified is prefixed with qs, indicating a quoted string, as described above.
  3. Set up an XTYP_REQUEST transaction with DdeClientTransaction, specifying:
    itemName: \"DDESERVER\"
    						
    This should cause the DDESERVER application to be notified of URLEcho events, as specified in the Spyglass SDI specification. Note That incorrectly specifying "DDESERVER" without the \" character combination required of quoted strings causes no such notifications to be sent to the DDESERVER application.
For the WWW_OpenUrl topic, where specifying a URL string should cause IE to navigate to the specified URL, incorrectly specifying the string (that is, without the expected \" character combination) causes IE to not interpret the parameters correctly, thereby not causing it to navigate to the URL.

For additional information, please see the following article in the Microsoft Knowledge Base:

160957 DDE with Internet Explorer


Modification Type:MajorLast Reviewed:5/1/1999
Keywords:kbprb KB167826