On Friday 05 December 2008 16:33:04 Hans Leidekker wrote: > On Friday 05 December 2008 15:17:47 Paul Chitescu wrote: > > The problem is not about the service name or other identifiers but rather > > the obscure data pushed by the DdeClientTransaction. DDE knows nothing > > about the format of this data as this is rather a convention between the > > client (shell32) and the server (winebrowser). > > But is it safe to assume that shell32 is the only client of winebrowser? > > -Hans
The few examples I've found for direct IE invocation pass a HDDEDATA handle created by DdeCreateStringHandle (a HSZ). Wine's implementation seems to simply get the data and length from the data and send it over DDE (in WDML_ClientQueueExecute). No idea if string type is preserved in Windows. The fact winebrowser doesn't crash suggest no program is doing DdeClientTransaction directly ;-) although it may be possible that winebrowser just prints this warning message which my patch fixes: Unabled to retrieve URL from string L"\"" LOL! We could easily guess if the data received by winebrowser has the wrong character size since normally the 1st character is a quote. However this doesn't look clean to me. Paul