Karl E. Peterson - vb.mvps.org

Welcome!

Hard to believe it's been over three years since I put up this new design. I'm afraid the proverbial "dust" still hasn't fully settled. Wish I had more time to put into this. Hard to get as enthusiastic as once was possible, I'm afraid, given the horrible  destruction done. Seems that the general consensus is starting to swing, though, back towards "maybe Classic VB wasn't so bad after all." VSM has decided there's enough interest still that, for the time being at any rate, they're going to revive my old column! There are links to all of them over on the Articles page, but here's the jumping off point to them on the VSM site:

Classic VB Corner  <<== new Classic VB column!

The code sample offerings have gone under the most redesign of all. Whereas they used to be listed on a single page for all, you will now find a descriptive page for each! Unfortunately, it's going to take a bit more time to get the descriptions updated for all those projects, so I've copied the old page over for your reference.

This site is totally devoted to Classic Visual Basic, as millions once knew and loved it. This is a certifiably .NET-Free zone..NET: It's About Trust!

What's New

July 2, 2009
  • Added the HookXP code sample. This shows how to subclass any window in your process, using a method built into Windows! Very slick, safe, and incredibly flexible. Will be featured in upcoming VSM Online column, and will definitely be enhanced as time goes on. One you'll want to be familiar with.
June 24, 2009
  • Updated the Console code sample, adding another demonstration program which modifies system environment variables. Also, generally re-organized the entire download, renaming the included projects and modules to make it easier to identify which was which, and recompiled all samples using VB6.
June 23, 2009
  • Updated the Uptime code sample, patching a critical error in the MRegCalls.bas file. If you downloaded this file before this date, please discard and redownload. The RegDeleteValue function calls the wrong API, as a result of a hasty cut/paste error, and instead recursively deletes an entire key. I cannot urge caution here strongly enough, which may be best illustrated by the fact that this is the first time in the nearly 12 years this site has existed that I've published such a routine. <sigh>
June 22, 2009
  • Updated the DualList code sample, adding another custom control to the project. The new ReorderList control contains a standard ListBox and two Command buttons, offering your user the opportunity to reorder the elements within the list by moving them up and down.
May 19, 2009
  • Added the StockFont code sample. Demonstrates a very simple way to use the old-fashioned block drawing characters by selecting a stock font (one that ships as part of Windows) into any control.
May 5, 2009
April 9, 2009
  • Added the Uptime code sample. This shows how to determine when the computer its running on was last rebooted. Actually two methods. One retrieves the last proper shutdown time, and the other retrieves the startup time.
March 31, 2009
  • Peter Young has granted permission for me to host vbAdvance, which is now freeware. Folks, this is the only add-in that I always have loaded in my IDE. You really shouldn't be with out it. It's officially "unsupported," but if you can read the help file and follow along with the packaged examples, you should get along just fine.
February 25, 2009
  • Decided that all samples that include executables will be compiled using VB6 from this point onward, as I feel that is the most ubiquitous ClassicVB runtime out there at this point in time.
  • Added the Monitors code sample. A drop-in ready class and standard module that together offer access to information about all monitors and display devices connected to a system.
  • Updated the SendInput code sample. Added support for Unicode characters being embedded within the sent string, and a trapdoor call to VB's native SendKeys if the application is running on Windows 95.
December 21, 2008
  • Added the SysFolders code sample. A drop-in ready class that offers instant discovery of where all the special system folders are located on the user's machine. Need to know where the My Music folder is? Here ya go. Need to know where to stick an INI file? Couldn't be simpler!
March 28, 2008
  • Added the SnapDialog code sample. A drop-in ready class that uses subclassing to detect when the user is dragging your form around, and snaps the form to the screen edges when it's within a preset number of pixels. Supports multiple monitors and taskbar position.
February 13, 2008
  • Updated the Grabber code sample. Major clean-up! Removed two of the methods that relied on subclassing and another that used window styles, as none of these really worked in XP or Vista. Added a new method that fully supports themed grab handles in XP and Vista, but also offers the standard grip all the way back to Windows 95.
February 7, 2008
  • Added the NetGrab code sample. Drop-in ready UserControl demonstrates how to download files asynchronously using nothing but native VB5/VB6 code.
Comprehensive Updates List

Odds and Ends

Here are a few offerings you won't find linked to in the main menus on this site, but that I'd like to make sure you were aware of regardless. 

Hardcore Visual Basic, by Bruce McKinney
When Microsoft decided to drop Bruce's classic tome from MSDN, I quickly offered to host it here at MVPs.org and, against what I considered all odds, they agreed. I'm glad we could save this one, and make it available to everyone from here onward. More recently, this site assumed the honor of hosting The End of Hardcore Visual Basic, a fond farewell to what was.
 
Visual Basic 4 How-To
Several of us put  together this little tome in 1994-95, during the world's longest beta. I don't believe there ever was a fully electronic copy suitable for online publishing, at least I never encountered one. While much of the text is now somewhat obsolete, the code may still contain a few tricks.
 
Site Statistics
Call it vain, or whatever. In case you care, here are a few stats taken over the years. I hope to provide a more up-to-date selection of frequent downloads once this new site stabilizes.
 
Those Awful Midis
Okay, it took three (or more?) years, but I finally rolled out a new site that isn't a throwback to the 90s. If you actually miss those old Pink Floyd midi tunes, don't fret! They're still here.
 

Donations

After great agonizing, I have decided to plop a PayPal Donations button down on the bottom of every page here. The simple truth is, Visual Basic Programmer's Journal used to (unwittingly?) finance this site by commissioning my articles on Classic VB. Sadly, that publication is no longer with us, and the one that's taken its place isn't much interested in the programming language you and I still use. So, long story-short, if I've saved you (or your boss!) a bundle of money with the code you've downloaded from here, and you're feeling generous (or you have access to the company credit card!), well, I'm not too proud to let you help me defray the time I spend building the samples offered here. Thanks!