This is a plugin to KeePass to provide an enhanced entry view. It provides a new UI for viewing and editing both individual entries, and mass editing a multiple selection in KeePass, as a replacement for the standard textual entry view.
This is a plugin to KeePass to allow the AutoType functionality to work with browser URLs as well as window titles.
This is a plugin to KeePass to provide a quick searching capability as an enhancement to the global auto-type system.
This is a plugin to KeePass to easily create the two-factor authentication parameters used by the KeePass placeholders {HMACOTP} and {TIMEOTP} from QR codes shown on screen.
A %TEMP% folder designed for humans. Creates a new temporary folder, puts the path on the clipboard, then automatically deletes it when no longer in use
Watch an IMAP email account and show a taskbar system notification icon when there are new recent emails.
An automatic keyboard layout switcher for web browsers. This application aims to replace the old TabLang Add-on for Firefox. It can automatically switch the active input method (Keyboard layout and language) depending on which part of the browser has the focus. It can also switch depending on the url domain of the active tab.
This utility is convenient when working with multiple solutions in Visual Studio. When you open a file with vs-reveal.exe, instead of opening it in the most recent Visual Studio instance, or a new instance, it will be opened in the instance of Visual Studio which already has open the solution containing that file.
This is a plugin to KeePass to add support for AutoType displaying the matching entry that gets auto-typed. This can be done either with a separate hotkey, or by including a {SHOWENTRY} placeholder in the AutoType sequence
This is a plugin to KeePass to add protection against accidental auto-typing of passwords into the wrong places.
This is an experimental plugin to KeePass to force all fields, notes and file attachments to use in-memory protection.
This is a plugin to KeePass to allow import of XML files exported by Vault 3.
Firefox legacy add-on (requires modding of firefox to allow installation). When you open a link in a new tab (or optionally in a new window), this add-on copies the "back" entries in the session history from the parent. The Back button menu in the new tab will list all its own entries, and all of those from the parent.
The Album Art Downloader is a program designed to make life easier for anyone who wishes to find and update their album art for their music collection. The sources for the pictures can be defined by creating plugin scripts.
The rest of the software available here is now obsolete, and no longer maintained. I'll continue to make it available as there's no good reason not to, and it may still be of occasional usefulness or historical interest. I am no longer maintaining any Visual Basic software, and while it probably still runs on newer operating systems, that's down to Windows backwards compatibility rather than any special effort on my part.
This is a collection of programs I have written in Visual Basic. They were developed and tested under Windows 95, 98, 2000, and XP. They are mostly closed-source freeware, as their development generally pre-dates the rise in popularity of open source. My newer work is open source, but I don't intend to go back and prepare the source code of the older work for release.
Disclaimer: Use of any of this software is entirely at your own risk. If you do have any problems with them, email me and I will try and sort it out, but I make no guarantees.
This utility calls the DOS dir command to search for files and folders, then returns the results in a floating list box. It has the advantage over the windows find command in that it can be called from a command line; ideal for users who prefer to drop into typed commands now and again, either using the windows Run command, the Address Bar, or a 3rd party command line shell utility such TrayCl. It has the advantage over the dir command by itself in that the results are active, selecting one will run it.
This program can read and save to almost any list of files, usually a play list. It can be expanded to include more formats either by user entry, or downloading patches created by other people. These patches will be available from this site if I make any more, or if I get requests for any.
This program puts an icon in the system tray which allows cycling between different configurations for Windows 95 AutoRun feature. These are "Disabled", "Audio CD only", "Data CD only", and "Enabled".
Paint Shop Pro Browse File Manager
This program helps you to organise the browser files produced by Paint Shop Pro when it browses folders on CD-ROMs. Instead of the unhelpful names given to the .jbf files this program will display the folder name to which the files refer.
Conditional Colour is an Excel Add-In which allows the conditional formatting of the text colour of cells dependant on their contents. It allows for many ranges to be set up with different conditions each. Up to two conditions and a default are allowed for each range, although more conditions can be made by applying conditional colour twice to the same range, with different conditions. Note that this is designed for Excel 5, and is obsolete (although it will still work) for version 7.
Graph CoOrdinates is an Excel Add-In for Excel 7 (Office 97) which allows you to easily find co-ordinates anywhere on an XY (Scatter Graph) chart.
This program will play all the MIDI files in a playlist, whilst displaying their names, and optionally their paths in a scrolling window. It allows multiple playlists to be saved and later loaded and edited.
ScriptSmith (shareware - $25)
This is a customizable Script Editor. It includes support for JavaScript, and support for OPL for EPOC32 (Psion) is also available for download. In addition to an MDI interface with customizable toolbars and syntax highlighing, it features context pop-up tooltips showing syntax information and AutoComplete lists of properties, methods and events (as in Visual Basic 5 and above). This program is designed to expediate creation of scripts by authors who already have knowledge of the language they are working in, rather than provide a hand-holding environment for beginners.
Smart Open (shareware - $15)
This program allows multiple actions to be associated with a file extension, and can determine which to execute from not only the extension, but the full file name and path, with full * and ? wildcard matching. Any extension (including the special types "All unknown files" and "All files") can have multiple conditions associated with it which can have multiple actions performed sequentially, or a pop up menu of different actions can appear to allow a chosen action to occur. Actions can be ordinary application command lines, or a message box with custom message.
UAC adds a system-wide HotKey which, when pressed, will attempt to AutoComplete the path or filename currently being entered in any window (particularly the standard Open and Save windows, and the Explorer Address bar). UAC requires little to no screen space and will lurk quietly as a System Tray icon until used.
CopyPath adds an option to the right click menu of files and folders which, when selected, will copy the full path including filename of the item clicked on to the clipboard. This is a lot more useful than it sounds :) For example, if you have to specify the path to something for a program and you are looking at it in windows explorer, and just want to point to it and say 'That one!'. Well, you can't do that, but this does make it a lot easier to reference any file or folder you can see.
This is a program which allows you to create shaped forms (sometimes know as irregular windows) for Visual Basic, C# (.net), Delphi and C++. Like the round clock in Microsft Power Toys, for example. You just draw your shape, or edge trace it from a bitmap, then save it as a form. You can also modify an existing from without affecting the code already in it.
This is a collection of .bas files for Visual Basic 4 with some useful functions in them. User friendly(er) wrappers for nasty API functions. Not many yet, but I hope to expand the library. You are free to use these in your own programs on the single condition that if you decide to give them to someone else, then don't say that you did them yourself, let them know where you got them, so they can come back to check for updates, or email me with problems or requests. Of course if you use them in your program, and can't resist the urge to give me credit in the about box, I would not object!
There are probably more of these available than I could count without taking my socks off, but I like this one a) Because I wrote it, so if it goes wrong I can fix it, and b) Because it is free, and c) It has a better interface than the rest (in my slightly biased opinion of course!) Anyway, have a look, you might like it to. For Visual Basic 4, although it might work with 3 and 5 too.
This is, as it says, a colour picker. It is available as a stand-alone executable and as an Add-In for Visual C++. In addition to the standard colour picker it features an Eyedropper tool and a Send code directly to document (without passing through clipboard or collecting $200). The stand-alone version is customisable to produce any sort of RGB based colour code that could be required. There are other colour pickers available, but I believe this is the best. But then of course, I would, as it has exactly the features I want in a colour picker :) Try it out for yourself, and if you like it, great, if not tell me why not, and I will probably improve it.
Common File Dialog Flags Generator
This program generates the "Flags" property for the
Common Dialog control when used to display an Open or Save dialog
box. Saves looking it up in the help file every time, I suppose!
Source code available if you want it.
This program displays a rectangluar frame of specific size which can be moved around the screen to check what will fit inside it. The size can be set to any of the standard resolutions (800x600, 1024x768, etc.), so if you are desiging a UI on a high resolution system for a low resolution system you can ensure that what you are designing will fit without having to lower your own resolution.
Hmm... possible copyright infringement here? I don't know
about the technical legalities of this one because it is a fairly
obvious copy of the hand held puzzle game by Tiger (I think, or
some similar name, Tycho perhaps. Or something). So if anyone
from this company sees this and thinks I may be out of order in
writing a PC version of this should email me, and I will remove
it, or modify it, or something. I am sure we can come to some
sort of agreement.
This control lets you display ToolTips when, where, and how you want. A single control
will handle unlimited multiple tooltips, identified by a string tipID. ToolTips can be
customized for text, colour, font, size, position and behaviour. They can automatically
time out, or be unloaded manually. Events are fired for mouse actions and the unloading
of a tooltip. ToolTips for which size is not specified will autosize to the text content,
those for which position is not specified will appear next to the mouse pointer.
This is a label control designed to hold behave as a hyperlink.
It has separate Caption and URL properties, can receive the focus (with a focus
outline rectangle) to respond to keyboard selection (use Space or Enter to execute
the link) and will optionally display MouseOver behaviour. An Error event is raised
if the URL could not be executed, otherwise the user's default broswer (or mail client)
is launched to the URL specified.
This control is mostly a textbox, but it is designed for use with
numeric values. In addition to exposing all the standard textbox members it also provides
a Value property which can be used for the setting or reading of a numeric value. Display
and entry can be set to be in Hexadecimal or Decimal base. Validity can be constrained to
upper and lower limits. Visual indication of validity (different colour backgrounds) is
available, and a .Validate function (returning True or False) provided for convenience. An
optional spin button (made from standard buttons - does not require common controls OCX)
can be displayed which allows the user to easily increase or decrease the value in the NumberBox
by a specified step.
These are plugins I have written for for the Spamihilator anti-spam filter
These are things I have created for the Foobar2000 music player.
These are things I have created for the WinAmp music player by Nullsoft.
WinAmp TransTrace: This program will take a bitmap and edge trace it to produce an output text file in a format compatible with WinAmp Transparancy Region definition files (region.txt). It is very useful for creating skins with transparancy effects for WinAmp 1.81 and above.
WinAmp IRemote: This is a program I have made to control WinAmp using a TV, HiFi or pretty much any IR remote control using the built in IR Port in a Laptop (or desktop, if it has one). It will monitor a serial port (most usefully the Infra Red (IR) port on a laptop) for any input, and control WinAmp playback accordingly.
Skins: I have made two skins for WinAmp. If you do not know what WinAmp skins are, then you probably won't be interested in this page, but in case you want to have a look just to see what I've been wasting time on, then have a look anyway. WinAmp is a music player. Skins are collections of pictures that WinAmp uses to display its interfaces, so other than control placement, it is possible to design and create different interfaces for it. These are two I have made.
WinampControl.bas: This is a Visual Basic module wrapper for the Winamp API given in the file frontend.txt that used to be distributed with Winamp. It will allow you a large amount of control over Winamp from VB, from pressing buttons to manipulating the playlist.
WinampControl.vb: This is the same wrapper for the Winamp API, converted for use in VB.net by Anthony Day.
What's Next?
I am currently full time employed, so I have little time for personal programming. Bug fixes will usually be done very quickly, within 3 or 4 days, so if you have found a bug, let me know. New programs or updates might take quite a bit longer. However, if you have any (sensible) suggestions, then email me and I might have a go. If you want me to include your name in the credits as "Concept suggested by XXXXX XXXX" then let me know and it shall be done.
Visit some other VB programming related sites from this page of links. A title and short description for each is provided, but you may as well just look at them to get the idea of what they are about...
If you want to find out a bit more about me (including a photo), then follow the above link. Also includes website credits, if you want to know what I used to create this site.