Preventing multiple instances of an application from running at the same time is a common requirement, especially for business software. By limiting to a single instance of an application per machine, the task of managing network connections, local and remote resources, client sessions and licensing requirements is greatly simplified. An additional advantage is that it… Continue reading

This article is also available as a video, courtesy of Webucator. Click here to jump to the video section below.   For many data types, sorting is a logical, deterministic operation that works by comparing elements and determining whether they are less-than, greater-than or equal-to each other. For example, with a list of integers, we can… Continue reading

You may remember quite an old post of mine about the shortcomings of ExtractAssociatedIcon() which, surprisingly, still gets a fair number of hits. In light of some of the feedback i’ve received since the original post, i’ve decided to update the code to include the following fixes and improvements: Both methods in IconTools now use SHGetFileInfo As… Continue reading

“Reader Mode” – we’ve all used it, and whether we recognise it by name (or one of its many others, such as autoscroll, middle-click scroll, etc), we’ve come to expect it from the software we use the most – web browsers, text editors, e-mail clients and more. However, if you’ve been living under a rock… Continue reading

When it comes to displaying the progress of a long-running operation to the user, there are many options available to a GUI designer: Change the cursor to an hourglass Change the caption on the status bar Show an animated glyph on the window Show a dialog box A number of factors could affect which method… Continue reading