Index: dll/win32/browseui/shellbrowser.cpp =================================================================== --- dll/win32/browseui/shellbrowser.cpp (revision 70692) +++ dll/win32/browseui/shellbrowser.cpp (working copy) @@ -1220,57 +1220,10 @@ HRESULT CShellBrowser::DoFolderOptions() { - CComPtr folderOptionsSheet; - PROPSHEETHEADER m_PropSheet; - HPROPSHEETPAGE m_psp[folderOptionsPageCountMax]; -// CComPtr globalSettings; -// SHELLSTATE2 shellState; - HRESULT hResult; - - memset(m_psp, 0, sizeof(m_psp)); - memset(&m_PropSheet, 0, sizeof(m_PropSheet)); - - // create sheet object - hResult = CoCreateInstance(CLSID_ShellFldSetExt, NULL, CLSCTX_INPROC_SERVER, - IID_PPV_ARG(IShellPropSheetExt, &folderOptionsSheet)); - if (FAILED_UNEXPECTEDLY(hResult)) - return E_FAIL; - - // must set site in order for Apply to all Folders on Advanced page to be enabled - hResult = IUnknown_SetSite(folderOptionsSheet, static_cast(this)); - m_PropSheet.phpage = m_psp; - -#if 0 - hResult = CoCreateInstance(CLSID_GlobalFolderSettings, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARG(IGlobalFolderSettings, &globalSettings)); - if (FAILED_UNEXPECTEDLY(hResult)) - return E_FAIL; - hResult = globalSettings->Get(&shellState, sizeof(shellState)); - if (FAILED_UNEXPECTEDLY(hResult)) - return E_FAIL; -#endif - - // add pages - hResult = folderOptionsSheet->AddPages(AddFolderOptionsPage, reinterpret_cast(&m_PropSheet)); - if (FAILED_UNEXPECTEDLY(hResult)) - return E_FAIL; - - if (fCurrentShellView != NULL) - { - hResult = fCurrentShellView->AddPropertySheetPages( - 0, AddFolderOptionsPage, reinterpret_cast(&m_PropSheet)); - if (FAILED_UNEXPECTEDLY(hResult)) - return E_FAIL; - } - - // show sheet - m_PropSheet.dwSize = sizeof(PROPSHEETHEADER); - m_PropSheet.dwFlags = 0; - m_PropSheet.hwndParent = m_hWnd; - m_PropSheet.hInstance = _AtlBaseModule.GetResourceInstance(); - m_PropSheet.pszCaption = _T("Folder Options"); - m_PropSheet.nStartPage = 0; - PropertySheet(&m_PropSheet); - return S_OK; + WCHAR szCommand[MAX_PATH] = L"shell32.dll, Options_RunDLL 0"; + + ShellExecuteW(m_hWnd, L"open", L"rundll32.exe", szCommand, NULL, SW_SHOWNORMAL); + return 0; } LRESULT CALLBACK CShellBrowser::WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) @@ -3203,7 +3156,6 @@ SHEnableMenuItem(theMenu, IDM_TOOLS_MAPNETWORKDRIVE, FALSE); SHEnableMenuItem(theMenu, IDM_TOOLS_DISCONNECTNETWORKDRIVE, FALSE); SHEnableMenuItem(theMenu, IDM_TOOLS_SYNCHRONIZE, FALSE); - SHEnableMenuItem(theMenu, IDM_TOOLS_FOLDEROPTIONS, FALSE); menuIndex = 4; } else if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_HELP))