Good news, all three of you that follow this blog and are interested in my ShutOff application: it’s almost done! Luckily it hasn’t taken me over twelve years to get to this point!

Last week I realised that twelve years brings with it a new era: the death of anything before Windows XP, and the rise of Windows Vista 7, with 8 on the horizon.

So I of course threw out a whole lot of compatibility code. A whole lot of Windows 2000 compatibility code. And that breathed some fresh air into my code. Why? Because obviously every single version of Windows out there (assuming it is reasonably up to date), comes with a command-line tool called:


And it’s built right into the operating system!

Ah, competition, I hear you cry. But no. I am of the firm belief that I can use this to my advantage. Instead of writing an entire command-line tool that does everything Windows does already (relying on the existence of shutdown.exe), I can leverage it (don’t you hate that word?) and simply tell my ShutOff 2000 graphical user interface to use that one instead of mine.

ShutOff 2000, I hear you cry? Isn’t that the venerable Visual Basic 6 application?

Why, yes, you hear me cry. Twelve years on, it makes sense to keep the name, instead of trying to chase the calendar. I’ve gone through a wide number of names for this tool: ShutOff MX, ShutOff NX, ShutOff 2004, ShutOff 2006, ShutOff 2007, ShutOff 2008, ShutOff 2010, and most recently, ShutOff 2011. As December drew nearer, I realised I was being foolish by chasing ShutOff 2012. It would be old in a year.

With ShutOff 2000, the brand is there, and comes with twelve years of history and nostalgia! It’s in search engines. Just bump up to a major version number and be done with it.

Users of the older software will have to manually uninstall it, but because of the magic of the compatibility code I left in the new one, it picks up the old one’s settings right out of the Windows registry. Oh, and because you need Administrative privileges to shut down a computer, this tool won’t run at a lower level.

The biggest failing of ShutOff 2000 as it exists today, is that it needs to be running for it to work. It can only run when you’re logged in. So no unattended shutdowns. That sucks.

But ShutOff 2000 version 3, in all its C# and .NET glory, is just a nice front-end for the Windows Task Scheduler, with a few neat features that you’ll miss if you don’t have them. The Task Scheduler just runs a series of switches behind the built-in shutdown.exe (or shutoff.exe if you choose my command-line tool for whatever reason). And that’s as simple as that. Instead of reinventing the wheel, I’m just reusing bits of Windows that are already there, to make your life a little easier.

Sure, you could write the same thing in your sleep, and it’s really easy to do, and that’s no lie, but the difference is that I’ve already done the work. All you need to do is download it.

Here’s some more news: as promised, as soon as ShutOff 2000 version 3 is released, the source code for ShutOff 2000 version 2 (written in Visual Basic 6) will become open source, under the MIT License, just like my other projects, NCANE.COM and SimplePHP ToWordPressConverter. There’s a special bonus in there too: I was working on ShutOff 2000 v2.8.7, which had an improved update feature, allowing you to choose where to save your files. Pretty darn cool, if I say so myself. Fresh code that I compiled this very evening.

I learnt long ago never to announce release dates unless I wanted embarrassment. So it’ll be ready when it’s ready. That said, however, I’ll be updating the page on with the latest beta.