See the question and my original answer on StackOverflow

The Windows Shell has hundreds of interfaces to work with, and you don't need a progid to work with a COM interface.

However, for Automation clients (scripting, VB, etc.), it has also specially crafted ones: Scriptable Shell Objects that are easier to use for those languages. I suppose they also work quite well in MatLab.

For these interfaces, the mother of all progids is "shell.application".