Search code examples
c#.netpinvokewindows-explorer

Windows Explorer settings: What's the point of SSF_SHOWSYSFILES?


I'm trying to detect the show system and hidden files settings from Windows Explorer in an application I'm writing. I'm using SHGetSetSettings and in calling it I have to specify one or more of the SSF Constants to specify what settings to retrieve.

Finding out the hidden files settings was easy enough, I just had to specify SSF_SHOWALLOBJECTS to retrieve that setting. As for the system files setting, I'm a bit confused between SSF_SHOWSYSFILES and SSF_SHOWSUPERHIDDEN. It appears that "Hide protected operating system files" in Explorer's "Folder Options" maps to SSF_SHOWSUPERHIDDEN, but I can't find any setting that appears to map to SSF_SHOWSYSFILES.

Does anyone know what SSF_SHOWSYSFILES is used for or why it's there? Is it just a legacy setting that is no longer used in Windows?


Solution

  • It's documented in this MSDN page:

    (SSF_SHOWALLOBJECTS)
    The state of the Show hidden files and folders option.

    (SSF_SHOWSYSFILES)
    The state of the Do not show hidden files and folders option.

    (SSF_SHOWSUPERHIDDEN)
    The state of the Hide protected operating system files option.