explorer: Initialize the Progman DDE interface when starting explorer.

Dmitry Timoshkov dmitry at codeweavers.com
Wed Apr 29 01:17:35 CDT 2009


---
 programs/explorer/desktop.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/programs/explorer/desktop.c b/programs/explorer/desktop.c
index 480d245..67ade26 100644
--- a/programs/explorer/desktop.c
+++ b/programs/explorer/desktop.c
@@ -326,6 +326,9 @@ void manage_desktop( WCHAR *arg )
 
     if (hwnd == GetDesktopWindow())
     {
+        HMODULE shell32;
+        void (WINAPI *pShellDDEInit)( BOOL );
+
         SetWindowLongPtrW( hwnd, GWLP_WNDPROC, (LONG_PTR)desktop_wnd_proc );
         SendMessageW( hwnd, WM_SETICON, ICON_BIG, (LPARAM)LoadIconW( 0, MAKEINTRESOURCEW(OIC_WINLOGO)));
         if (name) set_desktop_window_title( hwnd, name );
@@ -334,6 +337,12 @@ void manage_desktop( WCHAR *arg )
         initialize_display_settings( hwnd );
         initialize_appbar();
         initialize_systray();
+
+        if ((shell32 = LoadLibraryA( "shell32.dll" )) &&
+            (pShellDDEInit = (void *)GetProcAddress( shell32, (LPCSTR)188)))
+        {
+            pShellDDEInit( TRUE );
+        }
     }
     else
     {
-- 
1.6.2.2




More information about the wine-patches mailing list