On Thu, 2009-02-05 at 18:58 +0100, Rolf Kalbermatter wrote:
"Jeremiah Flerchinger" jeremiah.flerchinger@gmail.com wrote:
The shell32.dll DDE callback isn't always initialized & handling Progman calls for all apps. I've seen Progman calls pass through the DDE_client and DDE_server of user32.dll instead and never go through shell32.dll.
That would IMHO only be possible if the shell executable, which normally is just explorer creating the actual desktop view had been replaced by a different executable that does not initialize the shell DDE interface properly.
Rolf Kalbermatter
DdeConnect, DDeInitialize, and DDeDisconnect can be called directly by including Windows.h and importing the calls from user32 (http://msdn.microsoft.com/en-us/library/ms648745(VS.85).aspx). DDE calls can then be made with SendMessage or PostMessage.
I found a couple apps that appear to do this. Wine does not automatically start explorer.exe or initialize the shell DDE interface, nor does it route the DdeConnect routine in user32.dll to the DdeConnect routine in the shell32.dll. The DDE interface in shell32 and user32 will need to call the same set of routines from either method for full functionality of DDE calls, including those to Progman.