diff --git a/reactos/base/shell/explorer-new/explorer.c b/reactos/base/shell/explorer-new/explorer.c index 5c9ab725a15..e0a31fc561d 100644 --- a/reactos/base/shell/explorer-new/explorer.c +++ b/reactos/base/shell/explorer-new/explorer.c @@ -410,6 +410,15 @@ _tWinMain(IN HINSTANCE hInstance, if (CreateShellDesktop) { + /* Initialize shell dde support */ + ShellDDEInit(TRUE); + + /* Initialize shell icons */ + FileIconInit(TRUE); + + /* Initialize CLSID_ShellWindows class */ + WinList_Init(); + if (RegisterTrayWindowClass() && RegisterTaskSwitchWndClass()) { Tray = CreateTrayWindow(); diff --git a/reactos/include/psdk/shlobj_undoc.h b/reactos/include/psdk/shlobj_undoc.h index ba882ae8e16..00bc21b43e8 100644 --- a/reactos/include/psdk/shlobj_undoc.h +++ b/reactos/include/psdk/shlobj_undoc.h @@ -755,6 +755,10 @@ BOOL WINAPI ILGetDisplayNameEx(IShellFolder *psf, LPCITEMIDLIST pidl, LPVOID pat #define ILGDN_NORMAL 1 #define ILGDN_INFOLDER 2 +BOOL WINAPI FileIconInit(BOOL bFullInit); +void WINAPI ShellDDEInit(BOOL bInit); +DWORD WINAPI WinList_Init(void); + HANDLE WINAPI SHCreateDesktop(IShellDesktopTray*); BOOL WINAPI SHDesktopMessageLoop(HANDLE);