ShowSuperHidden
, como descobrimos , controla se arquivos super-ocultos (Hidden + System) são exibidos. Tanto quanto eu posso dizer, SuperHidden
não controla nada e sua existência é provavelmente um erro de programação.
Usando o Process Monitor , observei ler e gravar nesses valores do Registro. A única interação com SuperHidden
foi uma gravação quando o usuário abriu a guia Exibir da caixa de diálogo Opções de Pasta. Ele recebeu 1 se arquivos super-ocultos forem exibidos, 0 caso contrário. Nunca foi lido, mesmo quando terminei e reiniciei o Explorer.
Procmon fornece a pilha que levou a uma operação monitorada (clique duas vezes em um evento e consulte a guia Stack), então examinei os arquivos DLL envolvidos usando IDA v5.0 . O único relevante com uma menção de SuperHidden
foi shell32.dll
. A função CachedShellState::SaveAdvancedSettings
emite uma gravação do Registro para esse valor e outros nessa chave, confirmando as configurações atuais da visualização.
OExploreraparentementechamaessafunçãoantesdeexibiraguiaExibir.IssoprovavelmenteéfeitoparagarantirqueoRegistrosejaconsistentecomasconfiguraçõesatuaisnamemóriaantesdecarregaroestadoatualdasopçõesdeVisualização,emboraeuadmitoquenãoestou100%certonoraciocínio.Dequalquerforma,ashell32.dll
functionCachedShellState::_GetAdvancedSettings
correspondenteemiteumaleituradovalorcorreto,ShowSuperHidden
.
EssaslistagensdedesmontagemsãodaversãodoWindows7dessaDLL.NoWindows10,SuperHidden
nãoexistenoRegistroeCachedShellState::SaveAdvancedSettings
gravaemShowSuperHidden
.
Portanto, concluo que, ao programar a versão dessa função que vem com o Windows 7, um desenvolvedor omitiu por engano o Show
em ShowSuperHidden
, mas o erro foi corrigido no caminho para o Windows 10.
Para os curiosos, a caixa de diálogo Opções de pasta não está quebrada por este erro, pois consulta a entrada ValueName
em cada chave de configuração aqui:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder
Trabalhar o significado das outras partes desse ramo é deixado como um exercício (divertido!) para o leitor.