جزییات کتاب
While Visual Basic provides an outstanding set of resources for rapidly developing standalone applications, it lacks the resources that allow you to integrate that application or its data files with the Windows shell by adding such features as customized context menu handlers, per instance icons (such as a data file icon that's based on the contents of the file), or customized property sheets. Typically, these shell extensions that closely integrate an application with the Windows shell are written in C++, and all of the available documentation focuses on using C++ to create shell extensions. Even C++ programmers, however, have difficulty doing so, in view of the woefully inadequate state of the documentation. Very few programmers know that writing shell extensions is not tied to a single language or development environment, and that Visual Basic is an excellent tool for creating shell extensions that more closely tie an application to the Windows shell. That, however, is precisely the focus of Visual Basic Shell Programming: to show you how to take advantage of shell services to develop the shell extensions that allow you to closely integrate your application with the Windows shell, and to provide the basic documentation that you need to accomplish this. Each major type of shell extension is covered, including: * Context menu handlers that can add items to the popup menu that appears when the user right clicks a file. * Icon handlers for displaying per instance icons that, like the standard Recycle Bin icon, vary depending on some condition * Property sheet pages, which appear when the user selects the Properties option from a file's contextmenu. InfoTip handlers, which display tooltips, or "info" tips for a file object on a per instance basis. In showing how to integrate your applications with the Windows shell by building shell extensions, author J.P. Hamilton also provides a concrete tutorial on COM programming with Visual Basic. While developing your own shell extensions, you'll encounter a number of advanced VB concepts and techniques: * Pointers. Since VB tends to hides pointers from the programmer, Hamilton shows how to take advantage of the undocumented VarPtr, StrPtr, and ObjPtr functions, as well as the Win32 RtlMoveMemory function. * Using class identifiers (CLSIDs) from Visual Basic. * VTable modification, which allows you to override the fact that Visual Basic prevents you from controlling the HRESULT (or status code) returned by a call to a COM method. Visual Basic Shell Programming ventures where none have gone before by showing you how to develop shell extensions while providing an advanced treatment of COM programming with Visual Basic.