When changing keyboard shortcuts in Visual Studio (2008) you can specify in which window types the shortcut is active, e.g. Global, Text Editor, ...
How can I retrieve that list programmatically?
EnvDTE.Window objects have a Type property but of course that Enum is static and does not include windows from third-party packages and add-ins. They also have an ObjectKind property with the GUID for the window kind. In several places I have read about using the registry path HKML\Microsoft\VisualStudio\9.0\Editors
to get a list of registered GUIDs but I am not only interested in editor windows. When searching for some GUIDs I got through debugging I found the path HKML\Microsoft\VisualStudio\9.0\CLSID
but there's a whole bunch of other things in there and, as it seems, no way to distinguish the ones I want from the rest.