Since Last Major Reconstruction
Here's what's changed since this site has moved to our new server.
- November 3, 2009
- Added the Streams
code sample. Here's a drop-in ready class module that will enumerate
Alternate Data Streams within any NTFS file or folder. It also offers a
Kill method, since VB's native one croaks on ADS.
- September 24, 2009
- Added the Assoc
code sample. Shows how to use AssocQueryString to return all sorts of
useful information about any given file type. This API is far and above
more useful than FindExectuable..
- Updated the Which
code sample. Added a "backup" method for finding the application
associated with any given document filetype, due to a bug with the
FindExecutable API and certain 5-letter file extensions.
- August 26, 2009
- Added the Which
code sample. This is a simple console utility that finds any or all
matching executable files on the search path, so you can sort out what's
running if you have multiple copies installed. Will also find the
executable associated with any existing document file.
- August 7, 2009
- Updated the Monitors
code sample. Added numerous routines that will help restoring a window
to a persisted position, including checks on whether that position is
still onscreen (visible) and so on.
- July 24, 2009
- Updated the HookXP
code sample. Added two new class modules that provide MouseWheel events
and MouseEnter-MouseHover-MouseLeave events.
- Updated the SendInput
code sample. Added a few conditional constants that were undefined in
VBA.
- July 15, 2009
- Updated the HookXP
code sample. Changed the auto-unhook trigger from WM_DESTROY to
WM_NCDESTROY. Stupid typo oversight.
- 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.
- November 27, 2007
- Updated the SendInput
code sample. Original version used the wrong constant for PrintScreen
emulation. Also added a VB5 implementation of Split, so module will work
in VB6, VBA, and VB5.
- November 15, 2007
- Added the SendInput
code sample. This one provides a drop-in ready module that is a total
functional replacement for the standard ClassicVB SendKeys statement,
which was rather severely broken by Vista.
- September 4, 2007
- Visual Studio Magazine
resumed publication of my old Classic VB
column. The first few will focus on getting VB to cooperate with Vista,
but ultimately I intend to refocus fully on the sort of
down to Earth stuff I did previously.
- June 18, 2007
- Updated the DirDrill
sample to add an AttributeMask property so that you can limit recursive
file searches to only files with specific attributes.
- April 26, 2007
- Added the vbMarkUp
online code colorization utility. This tool can be used to create code
suitable for pasting into Microsoft Word, so that you can make a color
printout. (I use an offline version of this tool to create the listings
on my Samples pages.)
- April 10, 2007
- Added the NetCam
code sample. Here's a full-blown UserControl, ready to drop into your
projects. This demonstrates how to retrieve and display webcam (or any
graphic!) from the internet, including how to transform a raw bitstream
into an OLE StdPicture object.
- March 22, 2007
- Added the Locale
code sample. This provides a drop-in ready class module that offers
full read/write access to the system and user regional settings.
- Posted a raw CShellLink.cls
module that can be used together with the ShellLnk typelib provided on
the VB5 disk to create new shortcut (LNK) files.
- August 31, 2006
- Updated the ConClip
utility. An /append switch was added to the SetClip command line tool,
that allows you to add text to an existing text entry on the Windows
clipboard. The documentation for both this and the /add switch has
been clarified a bit.
- July 11, 2006
- Updated the FileControls
code sample. The FRM file used to demonstrate this UserControl was
found to be corrupt (a PictureBox had replaced the NativeFileControl).
Sorry about that.
- June 8, 2006
- Updated the Console
code sample. Added three new methods (FlashWindow, ReadChar,
ReadPassword) to the main console support module.
- June 2, 2006
- Added the FileControls
code sample. This is a simple little usercontrol that combines the
VB's native DriveListBox and DirListBox with a standard ListBox (masquerading
as a FileListBox) to provide a drop-in ready file-picker for those
quick-and-dirty applets that need to display a constant file choice
ability. Rigged these three up together too many times to not finally
take the plunge and make it ready to go.
- Posted raw RFC 2822-compliant
code module used to parse the date and time stamps from Internet
headers, such as those used in email and newsgroup postings. Also
provides a function to translate standard Date variable to
Internet-ready string. Feedback desired on this one!
- April 13, 2006
- Added the UpDown
code sample. This download provides a drop-in ready class module that
can be a total replacement for the common control, potentially
eliminating one dependency from your project. It was written during
the downfall of VSM, with the intent that it would be published in my
old Q&A column. For some reason, it's just been gathering dust in
a corner of my hard disk.
- February 21, 2006
- Updated the PrevInst
code sample. This classic sample used to be fully reliant on
subclassing and use of WM_COPYDATA to send multiple file names to the
original instance of an application. It is now updated to include a
far simpler method which supports Windows native desire to initiate a
DDE conversation with the application.
- December 8, 2005
- The End of
Hardcore
Visual Basic, Bruce McKinney's farewell to the community, is now hosted
here. If you haven't already, be sure to peruse his thoughts on events of
the past few years.
- July 13, 2005
- Updated the MovedMsg
code sample. Reworked significant sections of this code, so that it
could just as easily be used in VBA as it was in VB5/6. This mainly
required removal of dependence on the Screen and App objects. Drop-in
ready, now, for VBA too!
- June 17, 2005
- Updated the TimerObj
code sample. Added an OCX to the bundle, to provide an additional edge
of security within the VBA IDE. ClassicVB users shouldn't consider
this a VBA-only solution, by any means, though. It far surpasses the
native Timer control in many ways, including durations greater than
one minute (of course).
- June 7, 2005
- Added the TimerObj
code sample. This project offers two drop-in ready modules, which
together combine to provide a totally code-based timer object for use
in VBA or other non-windowed situations.
- Started tagging code samples
that are deemed VBA-Ready! with a special logo (
).
While VBA UserForms are quite different from those in ClassicVB, the
CLS and BAS modules are quite often indistinguishable and can be used
in either. This logo will help you immediately find samples found to
be useful in both arenas.
- May 20, 2005
- Added the Console Clipboard Utilities
to the tools section. A pair of console utilities that read and write
the Windows clipboard. They accept standard input, and write standard
output, so they're fully functional with pipes and redirection. My
scripter friends have enjoyed these for years; it was time to share
with all.
- May 12, 2005
- Updated the HookMe code sample.
I've really reworked this one, so that any class (form, usercontrol,
or class module) can sink messages for any window, by implementing an
IHookSink interface. Far cleaner than it used to be! I hope to get it
included in the other samples here that include subclassing as part of
their technique.
- Updated the FormPair code sample.
Now uses the newer IHookSink native subclassing interface to watch for
window messages within the project's main form. Also includes
identical functionality using the MsgHook control.
- Updated the FullDrop code sample.
Now uses the newer IHookSink native subclassing interface to watch for
window messages within a helper class module.
- Updated the kpIni code sample.
Fixed a silly little oversight in the StripComments method of the
CIniFile class, so that this functionality actually works now. D'oh.
- Updated the StopWatch code sample.
Added a new method that formats the elapsed time in HH:MM:SS, for
longer periods.
- Been very busy with "the petition" the last month or two,
so haven't had a lot of time here - sorry. (You have signed
the petition, right???)
- March 8, 2005
- Updated the LongScroll code sample.
A friend wrote to ask why this sample didn't support a Scroll event. I
replied, but it does! Does not, he says. Does too, retort I!
Much to my embarrassment, I updated this sample in December 2003, but
never actually uploaded it. Well, here it is.
- February 7, 2005
- Updated the kpIni code sample.
Finally, ten years later, this sample has been updated as a
drop-in ready, 32-bit, event-raising, INI-file enumerating class
module. This was pretty much the first sample of mine that became
wildly popular. Supposedly, INI files would be dead by now. I suspect
you'll still find many, many uses for this one. Let me know if it's
missing anything!
- February 3, 2005
- Added the DirDrill code sample.
Encapsulates recursive use of the Dir function within an event-raising
class. Includes a bonus module that recreates several new-to-VB6
string functions for VB5.
- Added the MultiOE code sample.
Shows how to call DLL functions in files you won't know the location
of until runtime. Practical application that can be used to launch
multiple instances of Outlook Express. Requires VB5
runtime.
- January 14, 2005
- The Feedback form was broken
when the new site rolled out, but I believe it's now fixed. If you
notice anything else that's amiss, I'd sure appreciate hearing about
it.
- January 13, 2005
- I pulled the switch! We're live, on the new server, with a permanent redirect
in place from the old one. I wonder if the complaints will start flowing in? Or does
anyone still care? Questions, questions...
- January 12, 2005
- I believe I've finally nailed the design for the code sample
pages. Everything's ASP driven now, and there's a single page that
offers details on any available project, as you'll see if you jump to
anything from the previous link. My goal is to provide a stable set of
links, while maintaining the ability to easily update the site.
- I think this means we're really ready to flip the switch, and
redirect from the old server. What a long, strange trip it's been!
- December 2, 2004
- Updated the TimeZone code sample.
The Offset property was returning a bizarre result in the eastern
hemisphere. Flipping the sign cured that..
- September 24, 2004
- Updated the NetUser code sample.
Fixed an issue when that occurred when the user wasn't a member of any
local groups, and (finally) updated the code to be more VB5 optimized.
This was one of the first Unicode samples worked out for VB4 (and it
showed!).
- September 8, 2004
- Have, more or less, gotten the code sample
pages all converted over to ASP, including one that cross-references APIs
used in each sample project. In theory, this should make updates
much more consistent as time goes on.
- August 20, 2004
- In the process of moving servers and rolling out an entirely new site design.
Not quite ready to put redirection in place, as some of the old pages
aren't transferred yet.
- Moved the contents of Hardcore Visual
Basic, by Bruce McKinney, over to the new server.
- Moved what there was of Visual Basic 4
How-To over to the new server.
- August 13, 2004
- I now have 77 of 79 articles posted, and am ready to link them into the project
descriptions.
- Starting to rollout new code sample pages! Full descriptions yet to come.
Updates made to the Old Site
The following changes all occurred back when this site resided solely as a
subweb on the MVPs.org domain.
- August 3, 2004
- Updated the HyperJmp code sample.
Added an option to force the default browser to open a new window with each passed URL.
Also provided an InstrRev function to use in pre-VB6 projects.
- May 5, 2004
- Updated the CmdLine code sample. Patched a lot of "interpretation"
inconsistencies, in how this drop-in class separates command line arguments, and fixed a problem with embedded spaces in paths. Also
updated to insure full VBA compatibility.
- May 4, 2004
- Updated the TimeZone code sample. Encapsulated all data returned by, and derived from, a call
to GetTimeZoneInformation into an easy-to-use class module.
- April 29, 2004
- Updated MapFilecode sample. Finally(!) came up with an interesting demo, which maps
an entire file into a byte array, then XOr's the file's contents by
an arbitrary password to provide rudimentary encryption/decryption
capabilities.
- April 23, 2004
- Updated StrBldr code sample. Added a new Adaptive Sizing technique that dramatically
improves performance when resizing the buffer repeatedly.
- March 18, 2004
- Added the Console code sample. This download includes a support module that does just
about anything imaginable related to developing console applications
in VB5 and VB6.
- December 18, 2003
- Updated WndPick code sample. Added a module that supports outlining a window (ala Spy++)
given its hWnd.
- July 1, 2002
- Updated ClipEx code sample. Patched a resource leak in the terminate event of the
CMemoryDC class.
- Updated MemoryDC code sample. Patched a resource leak in the terminate event of the
CMemoryDC class.
- March 12, 2002
- Updated Tray code sample. Added support to restore tray icon after an Explorer
crash.
- March 7, 2002
- Updated the DrvInfo code sample. The FormatSize$ function now returns proper strings for
volume sizes ranging over 10Gb (up to 999Tb).
- February 13, 2002
- Updated the StopWatch code sample. This class-based drop-in timer now reprograms the
system's clock chip to operate at 1ms resolution for the duration of
its existence. A long-overdue update.
- November 25, 2001
- Added Language Stability: Code Assets to the TipSheets section.
A whitepaper defining what the term "Language Stability"
really means, and the tragic loss faced in this area by those falling
for the dotnet marketing platitudes.
- November 20, 2001
- Added the PrnInfo code sample. Does pretty much everything the Printers collection and
Printer objects don't, with regard to spooler and printer queues, and
much more.
- November 2, 2001
- Added the Lasso code sample. Provides two native ways, simple and simpler, to let the
user draw a selection rectangle on a Picture control.
- Added the MdiBack code sample. Drop-in, set it and forget it, class for VB6 that
handles all the tedium of MDI background graphics.
- October 26, 2001
- Added the CmdLine code sample. Shows basic command line processing stuff, including
parsing the arguments.
- Updated the TaskList code sample. CTaskList.cls was display the main window's Caption,
rather than App.Title, when querying VB-authored applications.
- August 15, 2001
- Updated the OpSys code sample. Now recognizes Windows XP and also supports the full
OSVERSIONINFOEX structure (where available).
- July 3, 2001
- Added the DualList code sample. This is a very simple custom control that allows a user to move items between
two listboxes.
- Added the Flood code sample. Recreates QuickBasic's Paint command to provide
floodfills.
- Updated the FormBdr code sample. Added an example that uses DrawEdge for a 3D border on
"borderless" form.
- Added the Rgb code sample. Demonstrates breaking apart RGB colors into constituent
Red, Green, and Blue values.
- Updated the TaskList code sample. Now includes full End Task capabilities.
- April 17, 2001
- Added the ClipEx code sample. Classic VB rendition of the native Clipboard object;
written to give VBA these capabilities.
- Added the FontPre code sample. Preview a TrueType font file without permanently
installing it to the system.
- Added the StrBldr code sample. Increases string concatenation performance by orders of
magnitude.
- March 19, 2001
-
- February 23, 2001
- Updated the MemDC code sample. Tracking variables weren't being updated in CMemoryDC's
private UserBitmap method.
- February 8, 2001
-
- January 16, 2001
- Updated the CustomBlt code sample. On systems where it's available, the TransBlt routine now
calls the TransparentBlt API as an optimization.
- January 9, 2001
- Added the MemoryDC code sample. Provides lots of in-memory device context capabilities.
- Updated the FileInfo code sample. Added workaround to retrieve version info from Microsoft
Office 95/97 binaries.
- December 15, 2000
- Updated the FormBdr code sample. Added support for MDI forms, and sync'd sysmenu with
control buttons.
- December 6, 2000
- Updated the Hello code sample. Patched a really stupid oversight (with GetStartupInfo)
that causes a GPF on Win2000.
- Updated the HexDump code sample. Added PointerToString and PointerToDWord functions.
- November 30, 2000
- Added the CloneObjs code sample. Traditional (VB4/5/6) method of cloning class objects.
- Added the FormBdr code sample. Say good-bye to read-only at runtime form properties!
- Added the Hello code sample. HELLOWIN meets VB. An API-only VB skeletal start to
window creation and management.
- Added the HexDump code sample. Method to dump, in hexadecimal/ascii notation any
accessible region of memory.
- Added the MovedMsg code sample. Position MsgBox dialogs anywhere you'd like.
- Added the NetDomain code sample. Determine information about domain (Windows 2000).
- July 10, 2000
-
- June 23, 2000
-
- June 13, 2000
- Added the Twiddle code sample. All the code you'll ever likely need for bit-twiddling and
byte-busting, all in pure VB.
- Added the ObjArrays code sample. Shows how to sink events from an array of your own
objects.
- Updated CTaskList.cls (yes, again), which is used in both
AltTab and
TaskList. It now
correctly replicates the Alt+Tab dialog's icon selection with
multi-form VB apps.
- June 9, 2000
- Completely rewrote TaskList
code sample.
Recreates in nearly every detail the Applications tab of NT's Task Manager.
- Updated the AltTab code sample.
The CTaskList class was again completely rewritten to support new chores demanded by the
TaskList demo.
- May 25, 2000
- Received permission from Microsoft to republish Hardcore Visual Basic, Version 5.0,
2nd Edition, here on MVPS.ORG, as it's now out of print
and was dropped in the April 2000 MSDN Library.
- May 19, 2000
- Added the EnumMsgs code sample.
Reveals the undocumented method used to obtain the name of registered window
messages.
- May 18, 2000
- Updated the AltTab code sample.
Completely reworked the algorithm that determines which windows end up in the Alt+Tab
order. No more special cases or crazy exceptions!
- May 10, 2000
- Added the EnumRes code sample.
Demos resource enumeration and system callbacks into a class or form
through Implements.
- Added the MapFile code sample.
Provides a drop-in class for memory-mapped file i/o.
- Added the MouseEvent code sample.
Demos CBT techniques for controlling mouse movement, button clicks,
and wheel spins.
- April 12, 2000
-
- February 8, 2000
-
- December 16, 1999
- Added the NCMetrics code sample.
Class provides many non-client metrics, including system fonts (as StdFont objects).
- Added the Wmf2Emf code sample. Module
loads any metafile, in particular those that use the Adobe Placeable Header format which
aren't directly API-accessible.
- December 7, 1999
- Added the AltTab code sample. Shows
how to determine and display Windows' Alt+Tab order.
- Added the AppIcon code sample. Shows
how to change an application's icon so it shows up correctly in Alt+Tab dialog.
- Added the LongScroll code sample.
Provides a class that maps Long values into intrinsic scrollbar's Integer properties.
- October 20, 1999
- Updated the RegSettings
code sample (again <sigh>). The GetAllSettings methods had, ahem, a few "issues"
that weren't yet resolved. Seems to be fully functional now.
- October 14, 1999
- Updated the WinRgn code sample. Added
the ability to bring up the standard system menu when right-clicking anywhere on the
irregular form.
- October 7, 1999
- Added the FormPair code sample.
Addresses toolwindow issues, such as moving in sync and maintaining the active appearance
of the main form when toolwindow has focus.
- Updated the RegSettings
code sample. Patched a nasty bug that caused some weird mirroring problems when saving
an empty string. Also added a GetAllSettings emulation to the class.
- September 5, 1999
- Added the Splash code sample. A simple
little demo that belongs in everyone's toolchest. Gives your About/Splash form a more
professional touch.
- August 23, 1999
- Added the PassSniff code sample.
Enumerates all windows on system, sniffing for ones attempting to hide a password.
- July 28, 1999
- Updated the UncName code sample.
Added a workaround to avoid Win95's refusal to return success from WNetGetUniversalName.
See Q131416
for details.
- Updated the FileInfo (again)
code sample. Streamlined attribute setting a bit, and fixed a bug in the UI that prevented smooth
tab switching. This bug only affected the demo UI.
- July 5, 1999
- Updated the FileInfo code sample.
The CFileInfo class was enhanced to allow setting new timestamps (Created, Modified,
Accessed) and setting specific file attributes. Previously, these properties were
read-only.
- Updated the ApiErrMsg on the
Tools Page. Added the capability to extract error message resources from DLLs
(including Internet and NT networking) and now include the full source with the download.
- June 22, 1999
- Added the DrvInfo code sample.
Obtains most useful information from any drive on your system.
- Updated the AniCtrl, ClipView, FullDrop,
Grabber, and HookMe
code sample. All five projects use the HookMe module which was the focus of the
update. Previously, user resources could leak if a window wasn't properly unhooked,
because RemoveProp wasn't being called. This is now addressed, as well as a watch on
WM_DESTROY to unhook explicitly as the window is being torn down.
- May 28, 1999
- Added the HyperLabel code sample.
A fully-functional, windowless, transparent background usercontrol authored in VB6. Offers
hyperlink behavior to text or images.
- Added the UncName code sample. Shows
how to translate drive-based filespec to UNC format.
- March 31, 1999
-
- March 27, 1999
-
- March 11, 1999
- Added HookMe, which includes an updated
MHookMe.bas module that can be used for native subclassing in VB5 and higher.
- February 27, 1999
- Added an API cross-reference, which points to which
VB samples on this site use which API calls. I hope this helps you track down a sample
that solves the problem you're working on.
- Updated the Grabber, adding two new examples
which use the Marlett font to display grab handles. One example is a simple (uncompiled)
UserControl that can be dropped into any project.
- Modified the main "home page" so that
you can now store a "non-active" version (no music or quotes) of this web site
in your Favorites.
- February 20, 1999
- Added the Slurp code sample. This demo
uses the vbInet server (below) to slurp a list of URLs from the internet to local storage.
- Added vbInet.zip to the Controls/Tools page.
This tool wraps a lot of the WinInet library into an ActiveX EXE server for use by VB programs.
Download also contains the Slurp demo mentioned above.
- February 15, 1999
- Added the Grabber code sample. This
demo shows how to add a size grip to the lower-right corner of any form. Includes native
subclassing demo.
- Updated the LVStyles, adding the ability to
set the header style to either Flat or 3D. Flat headers don't react to user clicks, thus
avoiding the appearance of being able to sort. Also added an Important Note
on the consequences of sorting a ListView via the API.
- January 28, 1999
- Updated RegSettings, correcting an embarrassing
oversight! Calls to RegCloseKey were not always being made when they should have.
Just another good reason to run NT, eh? ;-)
- January 20, 1999
- Added the TimeZone code sample. This
demo shows how call the GetTimeZoneInformation API, and interpret the returned results.
- Added the DrvMap code sample. This
demo shows how to convert a mapped drive letter to it's UNC sharename.
- Updated StatProg, adding a TextOnly
property to the CProgressBarEx class. Setting this property to True will cause the
designated status bar panel to behave as it normally would, rather than display a progress
bar within it.
- January 11, 1999
- Updated Spool, patching a truly awful use
of vbNullString so that it correctly passes a NULL pointer. Solves problems with
OpenPrinter call sometimes failing under NT.
- January 1, 1999
- Updated ListSearch, adding a new
CComboSearch class which enhances standard ComboBox controls to offer
"type-o-matic" support.
- December 11, 1998
- Added the NetConnect code sample,
which shows how to determine whether your application has access to the internet.
- December 4, 1998
- Added RunOnce code sample,
which shows how to have your app start at login.
- Added a link to Win32api.zip on the Tools page. This
is a copy of the Declares that I use myself.
- Added a link to a new Hot Downloads page from the main
Contents frame. Here you can see what folks have been downloading in the last week.
- November 12, 1998
- Updated PrevInst to use VB6-specific
classnames in calls to FindWindow, so the sample will work in either VB5 or VB6 dependent
on a conditional constant.
- Added a new page ranking the most popular downloads from this
site.
- October 29, 1998
-
- October 27, 1998
- Added the ForceFore code sample.
This demo shows how to code a ForceForegroundWindow routine that gets around the lame
limitations Microsoft introduced to SetForegroundWindow under Win98 and Windows 2000.
- Added the TaskList code sample. Uses
EnumWindows to build a replica of the Task List.
- October 21, 1998
- Updated FileInfo and reposted
code sample. Patched a slow resource leak that was caused by not calling DestroyIcon on
the handles returned from SHGetFileInfo.
- October 19, 1998
-
- October 9, 1998
-
- October 2, 1998
- Added the TimedMsg code sample. An
example of how to add a time-out to a standard MsgBox.
- Added the Tipsheet, "Add a Time-out to Standard MsgBox",
which shows the simplest possible way to do just that.
- Added the OpSys code sample. This demo
uses the COpSysInfo class to obtain all the information made available by GetVersionEx.
Updated for Win98.
- September 10, 1998
- Added a Feedback page. Not to be confused with a
tech support avenue, this is merely a way for you to tell me what about this site has you
honked off, or (if you're really bored) what you liked about it.
- Added an Awards page. A few folks have decided to
honor me for this site, so here's my thanks to them!
- August 20, 1998
- Added the StatProg code sample. A
class-based example of how to embed a progress bar within a standard StatusBar control.
- Added the TreeRecurse
code sample. A simple little demo showing how to recursively walk all nodes at and below any
given node in a TreeView. Useful for mass expansion or collapsing, and so on.
- Updated FileInfo and reposted
code sample. This project demonstrates how to retrieve various pieces of information from
any file, including version data. Fixed one bug in determining LangaugeID and added
support for UNC filespecs to the ProperCasePath function.
- August 14, 1998
- Added the PolyBtn code sample. This
project demonstrates how to create an irregularly shaped UserControl in either VB5 or VB6.
- Added the SyncEvts code sample. This
project demonstrates how to share events amongst multiple object instances.
- Added this page! Before now, pretty much the whole web site was new or updated.
- Early August 1998
-
|