Chapter 1. Introduction

Before I start discussing the shell, it might be a good idea to define what, exactly, the shell is in terms of Windows. Simply put, the shell is a graphical user interface provided by Windows that allows you to access the various components of the operating system. Sounds good, huh? When you think about it, almost everything you do within Windows begins with the shell (unless you do everything from a DOS window or from console mode in Windows NT and Windows 2000). This includes running software, accessing files, configuring your system, and so on.

This shell provided by Windows is contained within the program Explorer.exe. For those of you who have been using Windows since the 16-bit days, you might think of Explorer as a glorified version of File Manager, Windows 3.1’s utility for accessing the filesystem. This could not be farther from the truth. Explorer is really much more than a file manager. It provides a view of your entire system and the means to interact with it. Not only can you access files and create directories, you can configure your printer, schedule tasks, and even surf the Internet. Throughout the course of this book, we will use the terms shell and Explorer interchangeably. They really are one and the same.

You should also know that Explorer is always running. What you think of as Explorer—the browser program that allows you to navigate directories and access your files—is actually a secondary thread in the Explorer process. The primary instance of Explorer is the Desktop. You really are using the shell more than you might think.

COM and the Shell

On the surface, Explorer seems to be the Swiss Army knife of applications—the one application that lets you do everything. But this is not really the case. In actuality, Explorer is comprised of many different components working together to create the illusion of uniformity.

These components are built using the Component Object Model, or COM. And using this same technology, you can use Visual Basic to write components that fit seamlessly into the heart of Windows using documented interfaces. You actually have the power to extend the functionality of Windows itself.

Get VB Shell Programming now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.