What is the difference between the Folder and Directory (and other special) progids?

Raymond Chen

When you’re installing your shell extension, you need to know which progid to hang it off of inside HKEY_CLASSES_ROOT. We’ll start with the title question and then move on to other predefined (but perhaps not well-known) progids.

  • “Folder” is the progid for any shell folder. It could be a virtual folder (like Control Panel) or a file system folder (like C:\WINDOWS).
  • “Directory” is the progid for file system folders. This is a subset of “Folder”.
  • “*” is the progid for all files. Doesn’t matter what the extension is.
  • “.” (that’s a single period) is the progid for files without any extension.
  • “AllFileSystemObjects” is the union of “*” and “Directory”. It is the progid for all files and for file system directories.


Discussion is closed.

Feedback usabilla icon