Chapter 3. Shell Extensions

Everything that can be viewed within the tree view of Windows Explorer represents what is called a namespace. This namespace not only represents files and directories, but also entities such as drives, printers, and network resources. The shell presents these items in a singular hierarchy with the desktop at the root. Objects in the namespace fall into two categories: folders and file objects.

Folders and File Objects

Folders represent collections within the namespace. Many folders represent actual directories in the filesystem, but some folders are virtual. These virtual folders include Desktop, My Computer, Recycle Bin, Control Panel, Dial-up Networking, and Fonts. Virtual folders are not part of the native filesystem and often are referred to as system folders. Many of these virtual folders can only contain a specific type of file or object. For instance, the Control Panel can only contain Control Panel applications, and the Printer folder can only contain printers.

All folders, whether virtual or not, share the same fundamental properties. Folders are file objects that can contain other file objects. What are file objects? For the most part, file objects represent actual files, but they can include other resources like printers and drives, as well as other folders. The use of the word “file” is somewhat of a misnomer here, because a file object is really any object that is part of the shell namespace. And if an item is part of the shell namespace, ...

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.