Index: boot/bootdata/hivesft.inf =================================================================== --- boot/bootdata/hivesft.inf (revision 66329) +++ boot/bootdata/hivesft.inf (working copy) @@ -123,6 +123,25 @@ HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Bitbucket",,0x00000012 HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Bitbucket\Volume",,0x00000012 +; Advanced Explorer Settings +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced","Hidden",0x00010003,1 +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced","HideFileExt",0x00010003,0 +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced","Start_ShowControlPanel",0x00010003,2 +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced","Start_ShowHelp",0x00010003,1 +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced","Start_ShowMyComputer",0x00010003,1 +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced","Start_ShowMyDocs",0x00010003,1 +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced","Start_ShowMyMusic",0x00010003,1 +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced","Start_ShowMyPics",0x00010003,1 +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced","Start_ShowNetConn",0x00010003,1 +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced","Start_ShowPrinters",0x00010003,1 +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced","Start_ShowRecentDocs",0x00010003,2 +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced","Start_ShowRun",0x00010003,1 +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced","Start_ShowSearch",0x00010003,1 +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced","Start_ShowSetProgramAccessAndDefaults",0x00010003,1 +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced","StartMenuAdminTools",0x00010003,1 +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced","StartMenuLogoff",0x00010003,1 +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced","StartMenuRun",0x00010003,1 + ; CMD Settings HKLM,"SOFTWARE\Microsoft\Command Processor","AutoRun",0x00020000,"" Index: dll/win32/shell32/CDefView.cpp =================================================================== --- dll/win32/shell32/CDefView.cpp (revision 66329) +++ dll/win32/shell32/CDefView.cpp (working copy) @@ -860,16 +860,34 @@ HRESULT CDefView::FillList() { CComPtr pEnumIDList; - PITEMID_CHILD pidl; - DWORD dwFetched; - HRESULT hRes; - HDPA hdpa; + PITEMID_CHILD pidl; + DWORD dwFetched; + HRESULT hRes; + HDPA hdpa; + HKEY hKey; + DWORD dFlags = SHCONTF_NONFOLDERS | SHCONTF_FOLDERS; TRACE("%p\n", this); - /* get the itemlist from the shfolder*/ - /* FIXME: make showing hidden files a setting. */ - hRes = m_pSFParent->EnumObjects(m_hWnd, SHCONTF_NONFOLDERS | SHCONTF_FOLDERS | SHCONTF_INCLUDEHIDDEN, &pEnumIDList); + /* determine if there is a setting to show all the hidden files/folders */ + if (RegOpenKeyExW(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", 0, KEY_QUERY_VALUE, &hKey) == ERROR_SUCCESS) + { + DWORD tmp, flagVal; + + tmp = sizeof(flagVal); + if (RegQueryValueExW(hKey, L"Hidden", NULL, NULL, (LPBYTE)&flagVal, &tmp) == ERROR_SUCCESS) + { + /* if the value is 1, then show all hidden files/folders */ + if (flagVal == 1) + dFlags |= SHCONTF_INCLUDEHIDDEN; + + /* close the key */ + RegCloseKey(hKey); + } + } + + /* get the itemlist from the shfolder */ + hRes = m_pSFParent->EnumObjects(m_hWnd, dFlags, &pEnumIDList); if (hRes != S_OK) { if (hRes == S_FALSE)