Registry Settings
The registry plays a critical role in defining the shell extensions available for particular filesystem objects. In this section, we’ll look at how the registry is used to define the shell extensions for particular file types, as well as how it determines the scope of a particular shell extension.
File Associations
There are two entries in the registry that
are associated with files of a specific type: the file association
key and the application identifier key. For example, in Figure 3.6, HKEY_CLASSES_ROOT\.rad is
a file association key. The file association key merely points to the
application identifier key; that is, its default value contains the
name of the application identifier key, which in the case of Figure 3.6 is
HKEY_CLASSES_ROOT\radfile. The application
identifier key contains the shellex subkey
(shellex stands for “shell
extension”), which defines the specific handler types and the
CLSIDs of the objects designated to handle them. Some handlers, like
context menu handlers and property page handlers, require a named
value that points to the proper CLSID. This can be any name, but it
must be unique at the level in which it
resides
.

Figure 3-6. Registry settings for shell extensions of a specific file type
Once Explorer has the CLSID for the component that is implementing a particular shell extension, it can find the physical location of the component ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access