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 .

Registry settings for shell extensions of a specific file type

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 ...

Get VB Shell Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.