Visual Basic Shell Programming is a guide to integrating application with the Windows shell. The back cover says, "Windows Explorer, the shell in all versions of Microsoft's 32-bit family of operating systems, offers an interface with which millions of users are familiar. Visual Basic, although it excels at creating standalone applications and components, appears to offer absolutely no support for integrating them with the Windows shell". This book is about developing shell extensions that enable the integration of user-developed applications with the Windows operating system. The author demonstrates that, without resorting to programming contortions, VB can be used to write shell extensions, something that according to conventional wisdom has had to be done using C or C++. A particular obstacle has been the state of documentation; the book "provides the basic documentation both about the Component Object Model (COM) and about particular shell extensions ... ". What kind of shell extensions can be written using VB? Context menu handlers; drag-and-drop handlers; icon handlers; property page extension; drop handler; data handler; copy book handler; infotip handler; browser helper objects; browser extensions; band objects; and docking windows. Implementation of each of those is explained with the support of illustrative code. Until the appearance of this text such programming was something of a black art confined to a priestly class of C programmers. It is not, by any stretch of the imagination, a simple task; anything to do with the Windows registry is daunting for most of us. However, the author demonstrates, in very clear language, that shell programming with VB is an option, and one that any reasonably experienced VB programmers can achieve. Even if integrating an application with the Windows shell is not your burning ambition, the book provides a unique insight into the workings of the registry and how interfaces fit into the shell scheme of things.
Reprinted from the March 2001 issue of PC Update, the magazine of Melbourne PC User Group, Australia |