merge from trunk: launch shell DDE server
Modified: branches/lean-explorer/reactos/subsys/system/explorer/explorer.cpp

Modified: branches/lean-explorer/reactos/subsys/system/explorer/explorer.cpp
--- branches/lean-explorer/reactos/subsys/system/explorer/explorer.cpp	2005-04-02 10:59:49 UTC (rev 14435)
+++ branches/lean-explorer/reactos/subsys/system/explorer/explorer.cpp	2005-04-02 11:00:58 UTC (rev 14436)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2003, 2004 Martin Fuchs
+ * Copyright 2003, 2004, 2005 Martin Fuchs
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -35,6 +35,9 @@
 #include <locale.h>	// for setlocale()
 
 
+DynamicLoadLibFct<void(__stdcall*)(BOOL)> g_SHDOCVW_ShellDDEInit(TEXT("SHDOCVW"), 118);
+
+
 ExplorerGlobals g_Globals;
 
 
@@ -696,6 +699,10 @@
 		 // another undocumented event: "Global\\msgina: ReturnToWelcome"
 		if (!SetShellReadyEvent(TEXT("msgina: ShellReadyEvent")))
 			SetShellReadyEvent(TEXT("Global\\msgina: ShellReadyEvent"));
+
+		 // launch the shell DDE server
+		if (g_SHDOCVW_ShellDDEInit)
+			(*g_SHDOCVW_ShellDDEInit)(TRUE);
 	}
 
 
@@ -727,5 +734,9 @@
 
 	int ret = explorer_main(hInstance, lpCmdLine, nShowCmd);
 
+	 // shutdown the shell DDE server
+	if (g_SHDOCVW_ShellDDEInit)
+		(*g_SHDOCVW_ShellDDEInit)(FALSE);
+
 	return ret;
 }