Back to Top

Mark Jacobs' Free 32-bit Windows Software

Back to Main Page

Contact me on my email submission form for queries about any of the following software. None of these programs install anything to your PC - they do not write anything to your registry (with the obvious exception of MJ Registry Watcher) and they are all self-contained .EXE files - you simply make an installation directory for them, and unzip them into, and run them from there. They were all developed with Borland C++ Builder Professional, and they are free of charge. I am also listed on

If you feel generous, then you can donate something by clicking on this Paypal button :-

MJ Registry Watcher - Version - Last Update 14/8/2023
MJ Emails - Last Update 24/11/2023
MJ News Reader - Last Update 24/11/2023
Maths Penknife - Last Update 24/11/2023
Grapher - Last Update 24/11/2023
MJ Player - Last Update 4/12/2023
MJ Zoomer - Last Update 25/5/2024
MJ Browser - Last Update 24/11/2023

To get the best out of MJ Browser, MJ Player and MJ Emails, you should use admin rights to install the mjbrow_raisever.reg file into the registry. This registry file is in each of the zip files, and elevates the Internet Explorer DLLs used by these programs from version 7 to version 11.

MJ Registry Watcher (Version  

MJ Registry Watcher review

** Latest Features : Service Mode, Process Launch Monitoring, DLL Injection Detection, Emailing of Alerts, Quarantine, Registry Backup **
** Latest Fixes : Circular registry entries now handled without going into an infinite loop, Windows 11 support, Tray icon colour when loading **
MJ Registry Watcher is a simple registry, file and directory hooker/poller, that safeguards the most important startup files, registry keys and values, and other more exotic registry locations commonly attacked by trojans. It has very low resource usage, and is set to poll every 30 seconds by default, although you can adjust this to anywhere between 0 and 9999. A configuration file stores all your settings for future use. MJRW not only polls the system, but it also hooks it, so that most changes to keys, files and directories are reported instantaneously. Key deletions are still caught by the polling loop though, since they cannot be hooked. Exactly which keys and files are protected can be completely configured by the user, although the sets I supply with MJRW will cover most standard PCs.

There is an additional automatic registry backup system that takes a snapshot of the entire registry about every 28 days and stores it in the directory MJRegBackup. The filename is of the form MJRegBackup_yyyymmdd.reg where yyyy is the year, mm is the month and dd is the day. The last 15 snapshots are kept. They can be restored from a menu option : this can be used in Safe Mode as administrator to rescue a non-booting PC. It should only be used as a last resort : it saved my PC when I accidentally knocked out the video drivers during an over-zealous session in the registry, cleaning out "LogMeIn"!

To install it, extract the files with pathnames, and you'll have a self-contained .exe file with a small help text file, the keys and files lists, alert sounds, and a couple of exclusion files in the MJRegWatcher directory. Set the properties for RegWatcher.exe to run it as administrator, so that it can interface to the registry properly. It may run in Accept mode without this step. To do this, go to the RegWatcher.exe file in Explorer, right-click to Properties, and go to the Compatibility tab. Check the admin box. Whenever the PC is restarted, you may have to OK MJRW to start with admin rights. Unless you disable UAC, the only way round this is to use the task scheduler to launch MJRW with administrator rights and set it to run at log on.

Launch RegWatcher.exe and then, use the Options, Settings, Automatic Startup Options screen to install it either just for the current user, or, on Windows 11, for all users. From this screen, you can also choose which key set to start it up with, or you can remove the autostart key with the uninstall option.

There is also a service mode which is documented in the help file as follows :-


You will need administrator access rights to set up the MJ RegWatcher Service. You can use the item under the Options menu to "Install MJ RegWatcher Service". REMEMBER TO UNINSTALL THE INTERACTIVE MJ REGISTRY WATCHER (using Options, Settings, Automatic Startup Options or disabling the scheduled task or Startup menu item) before you start using the service since they cannot be run simultaneously. Once interactive MJRW is uninstalled, and the service has been installed, you can start the service by running services.msc (or Administrative Tools, Services from Windows) and going to the entry "MJ RegWatcher Service Stub" and starting it. Once running, it will continue to run until the PC is shutdown, surviving logins and logouts, and automatically starting up when the PC is started (and before anyone logs in). If someone tries to terminate it without stopping the service stub, it will be re-launched automatically.

To remove the service, you have to stop the service running using services.msc (or Windows service manager with Administrative Tools, Services). Navigate to "MJ RegWatcher Service Stub" and stop it. Then launch interactive MJ Registry Watcher (by running RegWatcher.exe from the installation directory) and choose "Uninstall MJ RegWatcher Service" from the Options menu. REMEMBER TO INSTALL THE INTERACTIVE MJ REGISTRY WATCHER (using Options, Settings, Automatic Startup Options or enabling/creating the scheduled task or Startup menu item) if you want MJ Registry Watcher interactive mode to start up automatically when someone logs in.

The service has some important differences from the interactive mode :-
  1. Only Accept and Reject modes are supported. Prompt mode defaults to and sets Accept mode.
  2. There is no tray icon or visible application interface. It runs invisibly.
  3. Keys and filespecs prefixed with $ to always prompt, will instead Accept or Reject depending on which mode is set.
  4. The configuration of the service is taken from that used by the normal interactive configuration.
  5. Only one instance of the service can be run at a time, and it cannot be run at the same time as an interactive session.
  6. To be informed about alerts while the service is running, you can :-
         a) Run the application mjrwmon.exe from the installation directory to watch the service
         b) Use the alert sound set in interactive mode
         c) Use the email settings set in interactive mode
         d) Keep a view open and refreshed on the log file mjregwatchkeys.log
If a trojan attempts to change your startup settings, you will be alerted, and you can prevent any changes being made. You can also configure MJRW to email the alert details to, for example, an administrator. It is fully configurable as to what keys and files are monitored, so, if you have a vested interest in protecting your file association for the mailto protocol (your default emailer), so that your preferred app loads them, and something else is trying very hard to undermine this association (Outlook for example), this will popup, offering to stop a new association attempt, after Outlook had loaded, say. The key that stores this association is hkey_lmus\software\classes\mailto\shell\open\command, and you will find that all such keys are covered by the wildcard key hkey_lmus\software\classes\???\shell\???\command. This means that all your file associations are protected. All the system files are also monitored, including system dlls, executables and driver files. If there is a change to any of these files, an alert is recorded as to what files have changed and you may be optionally informed with an on-screen alert. However, changes to the files cannot be undone.

It assumes write access and directory create rights for the path the .exe file sits in (ie. wherever you installed it). The default set of keys and files should ensure that nothing gets run at startup without you knowing about it, and important boot up files don't get changed behind your back. When monitoring, keys are opened in Read-Only mode, and the application only needs Write Registry access when it has detected a change. It keeps a log of any suspect activity, and displays any such information for the current session in the bottom panel. A log file has this appended to it and can be viewed by pressing the Log button. The file keeps a complete history of alerts.

You can also visit a Wilders Security forum thread dedicated to the formative years of this application. My moniker is Graphic Equaliser. The thread started November 13th 2004 and finished on June 29th 2010.

The default set of keys was chosen to balance security against intrusiveness. However, you can experiment by selecting different security levels on the Options menu, and see the impact on PC performance. The higher you set it, the better the coverage, and also, the more warnings you'll get (especially with the openwithlist keys monitored). This list is based on some invaluable work done by Hojtsy documented in Hojtsy's compiled list of the security hotspots in the registry. It also has stuff from the Gladiator AV Forum, Silent Runners' Launch Points List and Creer's List.

MJ News Reader  

is a simple news reader with the added advantage that you don't need to set up accounts, and it writes nothing to your hard disk except for a couple of small text configuration files, which simply list your preferred news servers and your identity when sending replies. This simple .exe file will allow browsing of, and, usually, postings to newsgroups. Searching and thread traversal are catered for with a unique interface design. Both headers and message bodies can be searched for wildcarded text or even regular expressions (prefix with mjre: to announce a regular expression match). The Message header "References" is maintained when replying to threads. It is an adaptation and enhancement of the Netmasters Fastnet news reader demo program.

MJ Calculator + Font Previewer + Regular Expression Tester + File Getter + IP Address Tracer and Raw Connect + VfW + Anagram/Crossword Solver  

is a utilities program-gone-mad. It can list all legal WAVEFORMATEX control blocks for the PC it is running on (right-click the little globe button on the right-hand side of the window to activate report procedure), and do TCP/IP connections to any port and ip address, if allowed. It can do DNS and Mailbox (MX) lookups on any host or IP address. You can "talk" to your POP3 server if you know the POP3 protocol, for example. Give it a URL and it will get whatever is there, into a file on your PC with the same name, but in the directory this program runs in. It factorises numbers, has a calculator, VU meters for the currently-selected input source, and a bonkers colour selector. Some of the functions are only knowable from reading the pop-up hints on certain controls. For example, there is an NIC information getter, but I'll leave that for you to find. The Middle Window is an anagram and crossword solver, and also does the "Numbers Game" in Channel 4's Countdown (you enter 6 numbers and a target, separated by spaces and press Enter). It is also useful in Scrabble games.* means any sequence of letters and ? means any single letter
Press Alt-D to lookup selected word in the dictionary, Ctrl+F to search the text, and F3 to find again.

Graph Plotter  

with screenshot and sample graphs on my maths page.

MJ Player  

is a lean and mean media player. Simply download the zip file, and "extract with paths" into a directory of your choice. Then simply launch the file "mjplayer.exe" from the directory you chose.

It can play CDs and look up the CD information from It has very low resource usage. When playing MP3 files, it will display the artist, title, album, year and track number in the centre of the player window, if these exist in the tag for the MP3 file. You can also easily launch the Windows properties information for any file it is playing.

Here is a Review from MadDownload

DJ Mode

It can optionally introduce each song using the speech engine in Windows XP and above, by checking the "DJ" checkbox. The introductions are already configured with the supplied text file, MJIntros.txt - it has thousands of DJ "announcements" in it, and the more lines it has, the more human the DJ will sound! You can edit this file if you like, to customise your own DJ. You can access this file by right-clicking on the DJ checkbox. A line from this file is picked at random to announce each track. Some examples of "announcements" that come pre-defined for MJ Player (the # sign at the start of each line means delay playing the track until the announcement is over, otherwise the announcement talks over the track start) :-
#Let's go back to %year% with %artist% playing %song%
#%artist% came round my house and played %song% in my %describe% %random%
#Coming up next is
#Party out with
#They looked up at the sky and saw a million stars. %segway%
#I came in my pants when I first heard
#%song% by %artist% was my gateway into drugs
#Hedonistic happiness from
#Tremendous work from
#Top notch %describe% %random% by
#Pink horses galloped across the sea. %segway%
#You're shitting me.
#Good god, it's
#Groove out with
#I saw %artist% live and they were incredible. Here they are with %song%
#Well, I never did. What a turn up for the books. Here's %artist% with %song%
#Quality %random% %random% from
#%artist% phoned me to tell me to play %song% from %year% or they'd cook my %random%!
If there is no mnemonic %artist%, %song%, %album% or %year% in the announcement, it puts "%artist% with %song%" on the end of the announcement for you.

The full list of mnemonics you can use in your announcements is here.
For example, it might say
"I saw Magazine live and they were incredible. Here they are with Parade".
or "They looked up at the sky and saw a million stars. Some spanking sounds now, from Led Zeppelin with When the Levee Breaks"

To change or edit the intros, simply right-click on the DJ checkbox. There is no limit to the number of different intros you can have in the intros file. You can also have a very long intro as long as it is all on one line. When a new song is about to start, an intro is taken at random from the current intros file and used to introduce the track. The voice is configured from the Speech applet in Control Panel. MJ Player tries to make the voice randomly intonated to "humanise" it a bit. Have fun inventing your own DJ! If you're using Windows XP, there are 2 extra voices for XP with the SAPI 5.1 redistributable   (10 MB). If you're using Windows 7 or higher, there are 3 voices by default on your system (2 ladies, 1 gent). If there is more than one voice installed on the PC, the DJ's voice is changed every hour.


By checking the "Jingles" checkbox, you can intersperse jingles between tracks. It selects 3 jingles at random from the 2,172 supplied to play when a track has finished. You can always add more jingles (short .mp3 files) to the subdirectory "jingles" off of the installation directory. For example, if you had installed mjplayer.exe into a directory c:\mjapps\mjplayer, then the jingles should go into c:\mjapps\mjplayer\jingles


You can add to the playlist when the player is stopped. Simply click the "Open Playlist Builder" button.

You can add directories and subdirectories of sounds, music or videos to the current playlist. You can clear the list to start a new one. You can also select multiple entries (Ctrl+Click to select multiple entries, Shift+Click to select a range) and remove them with the Del key.

Once you have a list you like loaded in the main player, you can store it by clicking the "Save the Playlist" button. The extension defaults to ".mjp". You can load it back in at any time by clicking the "Load a Playlist" button. ".m3u" format playlists are supported.

On the main player, if you click the "Of" label, the current playlist is immediately stored. If you right click this label, the stored playlist is immediately reloaded (ensure you have saved the current list if it's one you wanted to keep before right-clicking the "Of" label). To select a track from the playlist, click the track name label and choose from the list. You can edit any of the playlists : the files are plain text files. Special lists are named as follows :-


You can record from your soundcard - click the Record button when nothing is playing, and enter a filename, which is given a .wav extension, and choose a sound format from the list of supported audio compression codecs on your PC. After choosing one, it will then start recording from whatever the computer's input source is set to on your soundcard. You can press Stop to stop recording and choose whether to save it, or you can press record again to stop recording and automatically save it.

Other features

Videos will usually be loaded and played via sending an M3U playlist from MJ Player to Windows Media Player.

It also has an infinite loop mode, with a seamless loop point for WAV files.

The 2 black buttons on the end can step back and forth by a fixed amount of milliseconds, which you can set as low as 1ms, so you can frame-step through video sequences, for example. The slider control shows where you are in the current track, and you can slide it to where you want to hear from in the track, and play from there.

Here is a small help section (viewable by right-clicking the "Show Info" button) :-
Command Line
mjplayer [playlist] will load [playlist] and play it.
If it's an MJ playlist (.mjp file), it will play from where it last left off.

You can add to the playlist when the player is stopped, by clicking on the "Playlist Builder" button.
You can see what's on the playlist by clicking anywhere on the track information.
To save the current playlist, click the "Save the Playlist" button. The extension defaults to .mjp
To load a stored playlist, click the "Load a Playlist" button. M3U playlists are supported.
To quickly save the current playlist, click the "Of" label.
To restore the last quickly saved playlist, right-click the "Of" label.

The Record button can be used when nothing is playing. You enter a filename
which is given a .wav extension, and choose a sound format. It will then start
recording. You can press Stop to stop recording and choose whether to save it, or
you can press record again to stop recording and automatically save it.

DJ Mode Mnemonics for Announcements (Right-Click DJ Checkbox)
%artist% is substituted for the name of the artist
%song% is substituted for the name of the song
%album% is substituted for the name of the album
%year% is substituted for the year of release
%track% is substituted for the number of the track
%random% is substituted for a random word from the list of words in the file words.txt
%segway% is substituted for a random segway from a list I put together
%describe% is substituted for a random description like 'flaming brilliant'
%qualifier% is substituted for a random adverb like 'superlatively'
%adjective% is substituted for a random adjective like 'excellent'
Prefix announcement line with '#' sign to suspend playing until announcement is done
Right-Click on the seek bar to rewind the current track back to the beginning.


is a simple BMP, JPG, PNG, WMF, EMF and ICO image viewer, converter and printer. It can also copy any image to the Windows clipboard (right-click on the Print button). It has the facility to change a range of colours (using R G B ranges) to any particular colour (useful for changing the background colour on logos, for example). Right-click on the Load Image button to access this facility or right-click on the pixel containing the colour you want to change. If you have drawn a zoom box, you can copy the SVG path required to duplicate the box to the clipboard by right-clicking the Zoom In button. You can paste an image in from the clipboard by right-clicking the "Actual Size" checkbox. If you change the colours and want to keep those changes, remember to save your changes to a file with the "Convert" button before moving to another image or loading something else.

MJ Browser  

is a simple and fast, but fully-featured browser, based on IE's underlying built-in OS support routines. It has support for :-
Here is a Review from MadDownload

Recent Updates

MJ Emails  

is a simple and fast POP3/SMTP email client. It can use APOP for secure login and TLS for encrypted message retrieval and sending. You can even use it to handle your emails from a USB pen drive without affecting or leaving anything on the host computer. It also has a complete log of POP3 activity, accessible by right-clicking the "POP3" button, which is useful if comms do not work as they should. Unzip the contents of the zip into a directory of your choice. To set up your accounts, click the "POP3" button to configure your hosts and port numbers. You can set TLS by prefixing the port number with a '+' for explicit TLS and '-' for implicit TSL. I found that, on Office365 mail servers, POP3 host uses implicit TLS, and SMTP uses explicit.
For example, POP3 host "" and SMTP host ""
The send and receive screens both pick up details from the lines in this configuration screen.

New Stuff

It uses your own white and black lists to filter relevant email. It automatically decodes email text that is base64/mime encoded. You can also export the retrieved list of emails to a CSV file for further investigation and processing. MJEmails allows you to vet an email drop for spam and clear away any emails that you know you don't want. It has a 20 second keep-alive when connected.

You can send HTML email with inserted images and attachments. It has a built-in sent email log and address book. It has command line support for "mailto:" email addresses so it can be called up from, for example, Mozilla Firefox "mailto:" links.

The HTML email composer window has spell-checking with English UK and US dictionaries and thesauruses. Misspelt words are wiggly-underlined in red and you can right-click on misspellings to see corrections, suggestions and spelling options. There are even more options on the editor's context menu as shown in the screen snapshot. Many aids for composing HTML emails are built in, for example, inserting images automatically handles the <IMG...> tags for you, by placing them at the cursor position. Pressing "Enter" will automatically add a <BR> tag for you too (if you really just want a new line, use Ctrl+Enter instead). You can also click into the HTML preview window, and by placing focus there, you can edit the HTML directly, using drag and drop techniques, typing, and an enhanced right-click menu. You can select an image, move it around, and resize it, all with your mouse. Once you are happy with the way the email looks in the preview window, you can save your changes to the Email HTML Body window with the "Save to Email HTML Body" button. The editor is shown in the "Marie Claire" screen shot below.

The HTML email preview window can act as an WYSIWIG drag and drop editor. With this window open, you can select and copy parts of an open Word document, Powerpoint presentation, or anything else scrapable from the screen, paste it into the HTML preview window, and, if it looks like the original (or close enough), save it to an HTML file that needs no support files whatsoever (images are converted to base64 strings inside the HTML IMG tags). To get a blank HTML preview window, right-click the "New" button, ensure the "Email HTML Body" is clear of text, then click the "Preview" button. Simply Ctrl+V into this preview window. When you're happy with its contents, click the "Save" button (above the "Send" button) to send the HTML text to the "Email HTML Body" pane, then click the "Email HTML Body" label to save this to an HTML file.

There is also a simple CSS Style Designer and a message viewer. These both use internal browser components based on the in-built IE DLLs in the Windows OS. These default to using IE7 controls, unless you apply the included "mjbrow_raisever.reg" registry file so that they use the IE11 DLLs instead. Obviously, you will need IE11 installed on the PC before this will work. The IE11 controls are more up-to-date and perform faster and better than the IE7 ones.

One of its strongest features is the filtering of spam using regular expressions and wildcards ("*" to match any characters or none, "?" to match any single character, and "mjre:" to prefix a regular expression filter). The first 20 lines of the message, plus the "from", "to" and "subject" lines can be checked against your filters. I commonly use these filters to trap loads of spam :-
Regular Expression filters are introduced by prefixing the filter with "mjre:". On the third line, I check for the string "**spam**" and because "*" usually means match any character, I have used a regular expression to denote that I mean the asterisk character to be taken literally, and not as a wildcard character. My ISP puts "--spam--" into the subject line of any email it reckons is spam. And I always discard email addressed to "undisclosed recipients", "undisclosed-recipient", or any combination of those words.

Help Screen :-
Click Column Header to Sort that Column
Right-Click Column Header to Search that Column
Del to Mark Email as Deleted
Ctrl+Del to Recall Email
Alt+Up/Down Prev/Next Whitelist hit
Double Click or Enter to Get Message from Cache/Server
Ctrl+Enter Get Msg from Server (Bypass Cache)

Entries marked with * will be permanently deleted on manual disconnect or quit

Flag Map of Visitors

Back to Main Page