http://bugs.winehq.org/show_bug.cgi?id=13891
--- Comment #57 from Hans Leidekker hans@meelstraat.net 2010-05-14 03:24:26 --- I agree with Octavian, we don't want to rely on heuristics. Alexandre has rejected proposals based on IsTextUnicode before.
I found this bit on MSDN: (http://msdn.microsoft.com/en-us/library/ms997515.aspx)
Working with Unicode in Windows NT
Applications that register a DDE window class that is Unicode must use Unicode execute strings when communicating with other Unicode DDE windows. They must use ASCII (OEM codepage) execute strings when communicating with non-Unicode DDE windows. Any window's state can be determined by calling IsWindowUnicode. This convention places the burden of backward compatibility on Unicode DDE applications.
Unicode compatibility is only a problem for raw DDE applications because DDEML automatically translates execute strings. DDEML bases its translation decision on how DDEML was called—either by DdeInitiateA or DdeInitiateW—when the application first initialized the conversation.
I guess we should find out how Internet Explorer behaves when you use raw DDE.