From fbfd0e502fc18f406a7d1e096d7d1ec43b8fc4ca Mon Sep 17 00:00:00 2001 From: Giannis Adamopoulos Date: Sun, 2 Apr 2017 14:45:10 +0000 Subject: [PATCH] [SHELL32] -CShellDispatch: Properly register Shell.Application. Implement CShellDispatch::ShutdownWindows. CORE-13010 svn path=/trunk/; revision=74268 --- reactos/dll/win32/shell32/CShellDispatch.cpp | 4 +-- reactos/dll/win32/shell32/res/rgs/shell.rgs | 27 ++++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/reactos/dll/win32/shell32/CShellDispatch.cpp b/reactos/dll/win32/shell32/CShellDispatch.cpp index 92725c0b643..7c98b4ae528 100644 --- a/reactos/dll/win32/shell32/CShellDispatch.cpp +++ b/reactos/dll/win32/shell32/CShellDispatch.cpp @@ -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() diff --git a/reactos/dll/win32/shell32/res/rgs/shell.rgs b/reactos/dll/win32/shell32/res/rgs/shell.rgs index 6ee359c1d1c..52f981c59ae 100644 --- a/reactos/dll/win32/shell32/res/rgs/shell.rgs +++ b/reactos/dll/win32/shell32/res/rgs/shell.rgs @@ -8,6 +8,33 @@ HKCR { val ThreadingModel = s 'Apartment' } + ProgID = s 'Shell.Application.1' + TypeLib = s '{50a7e9b0-70ef-11d1-b75a-00a0c90564fe}' + Version = s '1.1' + VersionIndependentProgID = s 'Shell.Application' } } + + NoRemove TypeLib + { + ForceRemove {50A7E9B0-70EF-11D1-B75A-00A0C90564FE} + { + '1.1' = s 'Shell Controls And Automation' + { + '0' { win32 = s '%MODULE%' } + FLAGS = s '0' + } + } + } + + 'Shell.Application' = s 'Shell Automation Service' + { + CLSID = s '{13709620-C279-11CE-A49E-444553540000}' + CurVer = s 'Shell.Application.1' + } + + 'Shell.Application.1' = s 'Shell Automation Service' + { + CLSID = s '{13709620-C279-11CE-A49E-444553540000}' + } }