List Price: $60.00
Read the date above. 1999! There aren't a lot of technical books with this kind of staying power. The classics by Don Knuth and Fred Brooks come to mind. I've rescued this review from the bone pile of outdated articles and reposted it. I've also added a few words from Bruce McKinney, author of "Hardcore Visual Basic" (ISBN: 978-1572314221). While not the classic that Appleman's book has become, it's still the best all around book for the dear departed VB6. Enjoy!
Most programmers are well aware that there is a huge treasure house of software just waiting to be used in your programs in big systems like Windows, Excel, Access, and non-Microsoft sources like Adobe Acrobat. But finding your way to this treasure is like battling the monsters in the latest video game.
By far, the best book on this subject is Dan Appleman's classic Visual Basic Programmer's Guide to the Win32 API. Originally published for the Win16 API back in VB 1.0 days, this book has been updated and revised continually since then and has helped Dan Appleman launch both his career and software company, Desaware. One thousand, five hundred pages thick, it doesn't get much more comprehensive than this. If you're still doing Win16 programming, you can still get it on CD ROM. [Note: Dan Appleman has moved to different pursuits these days. Apress, the publishing company he co-founded with Gary Cornell, is under new management too. So you may not be able to get your hands on these treasures from the past anymore.]
Hardcore Visual Basic - Bruce McKinney
Another classic ... but unfortunately one that has not been updated and is currently out of print ... is Bruce McKinney's Hardcore Visual Basic. Published for VB 5.0, this book is still the best source for information about type libraries and how to build them. Since the only copies you can get now are used (and therefore cheaper), and because the fundamental concepts are still the same, it's probably still worth picking up.
Or maybe not. Bruce himself has decided to abandon his "favorite language" Visual Basic in a tell-all article you can find here. [Unfortunately, you can't find it there anymore so the link has not been included.] One thing the article does tell is that much of his sophisticated code in the VB 5.0 version of his book was broken pretty severely by VB 6.0. Bruce does right by us because he also lets us download a whole library of fixes for VB 6.0 ... almost as good as a new edition of the book (but not quite - as Bruce tells us in painful detail). [One of the downloads - ComponentD - even appears to have a virus in it!] The text is still a great read, even if the code doesn't always work. And be sure to read the rebuttal to Bruce's lament, too. [This link is gone too!]
Finally, Microsoft also supplies support for accessing API's, primarily their own. Most of the official Microsoft information is found in application specific Software Development Kits (SDK). Visual Studio does include a lot of support. The good news here is that most of these SDK's can be downloaded for free! [The SDK's are still mostly free, but the ones described here are long gone.]
RIP VB6 - A Lament From Bruce McKinney
[As of this writing, Bruce still provides a page about his book and VB6. Since I can't be sure how long that will last - and it's just too good to lose - I've included the text from the first page of Bruce's page below:]
The End of Hardcore Visual Basic
It's over. There's nothing left for you here. Wake up. Go home. Your children are waiting.
This is a web site about a book about a language that is gradually disappearing. Visual Basic, hardcore or otherwise, will come to an end when Microsoft Visual Basic.NET replaces Visual Basic 6.0. Although this new language has many attractive features, it bears little relationship to the remarkable language we love/hate. Critics call it VB.NOT or Visual Fred to emphasize that it is a completely new language rather than a continuation of Visual Basic.
The term Hardcore Visual Basic takes on a completely different meaning under VB.NET. Basically none of the words in my book (or in any other book about VB5 and VB6) are true. A hardcore programmer in the new language is one who understands the intricacies and interactions of the .NET Framework and the Common Language Runtime -- the massive class library that replaces VB's weak and inconsistent run-time library. It is no longer necessary to use API calls to do tasks that ought to be simple. Many of the grossest pointer hacks demonstrated in my book are completely impossible, as well as unnecessary, under VB.NET.
This is exactly what I have been begging for. So why am I not celebrating?
Well, language design always involves tradeoffs, and the new Visual Basic trades off its essential advantage in order to play with the big boys. You might think that Microsoft would push its big lead over the competition and grind its hapless competitors even further into the dust. You'd be wrong. Instead they have copied the copiers. Visual Basic.NET looks and works a lot more like Delphi or Java than like the real VB.
Why copy your competitors when you're so far ahead? They did it for two reasons -- one good, one bad. If you're sticking with Microsoft's vision to the bitter end, go to the VB.NET or the VB.NET Again page to hear my completely unbiased expose of the new language. If you're sticking with VB6, go to the Hardcore VB page to get the outdated story of my out-of-print book.
But before you take one of those paths, let's take a moment to celebrate one of the most remarkable and influential languages in programming history. It was the best. It was the worst. It gave us instant gratification. It drove us crazy. Against all odds, we pushed it far beyond its logical limits.
Visual Basic. 1991-2002.
It's time to pay our respects, throw some dirt on the coffin, and move on.