[SHELL32] -CShellDispatch: Properly register Shell.Application. Implement CShellDispa...
authorGiannis Adamopoulos <gadamopoulos@reactos.org>
Sun, 2 Apr 2017 14:45:10 +0000 (14:45 +0000)
committerGiannis Adamopoulos <gadamopoulos@reactos.org>
Sun, 2 Apr 2017 14:45:10 +0000 (14:45 +0000)
svn path=/trunk/; revision=74268

reactos/dll/win32/shell32/CShellDispatch.cpp
reactos/dll/win32/shell32/res/rgs/shell.rgs

index 92725c0..7c98b4a 100644 (file)
@@ -142,8 +142,8 @@ HRESULT STDMETHODCALLTYPE CShellDispatch::TileHorizontally()
 
 HRESULT STDMETHODCALLTYPE CShellDispatch::ShutdownWindows()
 {
-    TRACE("(%p)\n", this);
-    return E_NOTIMPL;
+    ExitWindowsDialog(NULL);
+    return S_OK;
 }
 
 HRESULT STDMETHODCALLTYPE CShellDispatch::Suspend()
index 6ee359c..52f981c 100644 (file)
@@ -8,6 +8,33 @@ HKCR
                        {\r
                                val ThreadingModel = s 'Apartment'\r
                        }\r
+                       ProgID = s 'Shell.Application.1'\r
+                       TypeLib = s '{50a7e9b0-70ef-11d1-b75a-00a0c90564fe}'\r
+                       Version = s '1.1'\r
+                       VersionIndependentProgID = s 'Shell.Application'\r
                }\r
        }\r
+\r
+       NoRemove TypeLib\r
+       {\r
+               ForceRemove {50A7E9B0-70EF-11D1-B75A-00A0C90564FE}\r
+               {\r
+                       '1.1' = s 'Shell Controls And Automation'\r
+                       {\r
+                               '0' { win32 = s '%MODULE%' }\r
+                               FLAGS = s '0'\r
+                       }\r
+               }\r
+       }\r
+\r
+       'Shell.Application' = s 'Shell Automation Service'\r
+       {\r
+               CLSID = s '{13709620-C279-11CE-A49E-444553540000}'\r
+               CurVer = s 'Shell.Application.1'\r
+       }\r
+\r
+       'Shell.Application.1' = s 'Shell Automation Service'\r
+       {\r
+               CLSID = s '{13709620-C279-11CE-A49E-444553540000}'\r
+       }\r
 }\r