Posts Tagged ‘utility’




After FlagIT, RebootIT, PostIT and SpotIT, ZoomIT sounds like part of the theme. Unfortunately it isn’t, but it is a great free tool from SysInternals.

ZoomIT is a tool that lends itself to assisting presenters by allowing them to not only zoom in on an area of the screen but also to temporarily add annotations on the screen.  The latest version (v3.03) also includes a break timer.  One thing I did find was that the instructions were hidden away and not laid out as I would have liked, so I’ve decided to put my slant on things and talk about how to use it here.

Running ZoomIT

ZoomIT is what I would describe as ‘ultra-portable’.  This is probably overstating things, but as well as being able to download it and put it on your hard drive or flash drive, SysInternals also offer an option to download and run  it directly (should your web browser allow).  It’s only really a difference between downloading a ZIP file and the EXE file, but it is a nice touch when you’re in a rush on someone else’s PC and want to grab a copy temporarily.

When you run it, ZoomIT sits in the system tray, and you can access the functionality through the system tray menu by (right or left) clicking on the icon or through hot key combinations.


The main feature is zooming.  This is full screen mouse pointer based zooming which means that the entire screen will be used to project the zoomed area and it will be centred about the position of the mouse pointer.  To enter zoom mode you can either select it from the system tray menu or by using the hot key combination which by default is CTRL+1.

  • The scroll option on a mouse or touch pad will zoom in and out as will using the up and down arrow keys.
  • Pressing ESC or right clicking will exit zoom mode.
  • Left clicking or pressing a key that can be used in draw mode will switch to draw mode.

There’s also a live zoom feature in ZoomIT that allows the screen to be updated/ interacted with whilst zoomed.  Unfortunately this is only available on Windows Vista and later versions of Windows.  There are also a number of limitations around using other features and from the description it also sounds prone to maybe using a little bit too much memory and producing a little too much flicker.  If you want this sort of option then there are alternative pieces of software which I’ll come back to in another blog post quite soon.


ZoomIT allows you to effectively take a snapshot of the screen and then to draw on it by using the draw mode option which is again available from the system tray icon’s menu.  As mentioned above it can also be entered by using left clicking or pressing one of the keys that is used to draw something in draw mode (more details on these below).

When in draw mode you can left click and move the pointer to draw shapes just like you might in a paint program You stay in draw mode between clicks so you can draw multiple shapes – thank fully it isn’t an Etcha Sketch.  There are a variety of standard shapes that can be drawn including straight lines, straight lines with arrow heads (the head is drawn at the starting point of the line), rectangles and ellipses.  You can also add text to the screen.

To make things even clearer draw mode provides you with some colour choices for drawing and typing and a selection of eighteen line widths for drawing.  Unfortunately the text size and font is standard, but you can set this in the ZoomIT options (again available from the system tray icon’s menu).

TIP: Before you enter text mode set the colour of your text as you can’t change it once you’re typing as you’ll just end up typing the key you pressed.  Also be careful you don’t type off the screen.

As well as drawing onto the screen you can also clear the screen and set it to a black background or a white background.  Unfortunately it really does clear the screen wiping any drawing that you have already done.  If you just want to wipe the screen clean then there’s a key for that and the standard undo option of CTRL+Z which works against an eight step history of actions.

TIP: If you’re presenting and need a bouncing red ball is to enter draw mode, set the colour to red and whack the line size up to maximum.  The resulting cursor is a perfect red ball for you to use.

Finally there’s an option to centre your cursor to the middle of the screen area being displayed.  I’m not really sure what the purpose of this is, but if you want to draw a graph I guess this is a good way to get back to an origin.

You can exit the draw mode by right clicking on the screen.  ESC is also an option but will exit zoom mode and drawing mode, so if you’re zoomed in and want to remain in zoom mode use a right click not ESC.  Should you happen to have entered text entry mode (within draw mode) pressing ESC or right clicking will only bring you out of text entry (as will left clicking) and into the standard draw mode.  A little inconsistent but easy to get used to.

A nice touch is the addition of a shortcut key to take you straight into draw mode without having to enter zoom mode (and potentially zoom out) first.  The default hot key combination for this is CTRL+2.

Screen Capture

In either the zoom or draw modes you also have the option at any point to capture the screen.  As well as offering a copy to the clipboard option there is also a save option.  The save option will save the screen as a portable network graphics (PNG) image and offers you a choice of the screen at actual size or zoomed in … even if you aren’t zoomed in but are in draw mode.  That aside this save option is much more valuable than the copy as unless I was going to crop a particular area I’d only be saving the screen shot in any case.

Break Timer

The third mode is as ever accessible from the system tray icon menu.  This is a simple count down display but with a number of options that again lend them to use in a presentation or workshop environment.

The count down timer is set from the options dialog (available from the system tray icon menu).  The countdown is specified in minutes and can range from 1 to 99 minutes (though you can enter zero manually … though I’ve no idea why you would want to).  When it runs the countdown is displayed on screen an accuracy of a second  – i.e. “mm:ss” format.

Under the advanced options you can specify a number of features such as an audio file to play when the time is up, the transparency of the timer and the background image (if any you would like it to use).  There’s also an option to choose where to display the timer on the screen based upon a 3×3 grid layout of the screen.  This means that you can choose to show the background image of the screen or use an image with some instructions on and have the timer display in a clear area of the screen.

Another option for the timer is to display the time elapsed after it has reached zero.  You should be aware that it displays this in brackets beneath the “0:00” display and it will cause the area the timer is being displayed in to expand up and down.  So if you have a carefully crafted background image be aware that it might not fit after it reaches zero if you have this option enabled.

It is also worth noting that there is not option to change the font (size, typeface, embellishments) or the colour (you can have any colour you like as long as it’s red), so you may need to account for this if you were planning on a background colour for your countdown.

It would be nice to see a few options to choose a range of preset timers (each with it’s own settings) in the future as if you are presenting and need different lengths you have to interrupt the presentation to set them, but with each revision I’m sure we’ll see the feature set around break timers improve.

Keys – Hot Keys / Short Cut Keys
So now you’ve read through the features and have some idea of how to use the application it’s time to give a bit of a summary on how to access all the functions.

  • Access Modes (Default Keys)
    • Zoom Mode = CTRL+1
    • Drawing Mode
      • Zoom = Left Click in zoom mode
      • No zoom = CTRL+2
      • Text Mode = T (when in drawing mode)
    • Break Timer = CTRL+3
  • Zoom Mode
    • Zoom In = Mouse scroll up / Up Arrow Key
    • Zoom Out = Mouse scroll down / Down Arrow Key
    • Move around = Use mouse movement to scroll screen in a direction
    • Exit Mode = Right click / ESC
    • Enter Draw Mode = Left click or press a draw mode key
  • Draw Mode
    • Centre cursor on screen = space
    • Undo = CTR+Z
    • Screenshot
      • Copy to clipboard = CTRL+C
      • Save to PNG = CTRL+S
    • Change colour
      • Red = R
      • Green = G
      • Blue = B
      • Yellow = Y
      • Pink = P
      • Orange = O
    • Clear Screen
      • Erase drawings = E
      • Erase to black screen = K
      • Erase to white screen = W
    • Draw shape
      • Line = Left click and move mouse
      • Straight Line = Hold Shift, left click and move mouse
      • Straight Arrow = Hold Shift and CTRL, left click and move mouse
      • Rectangle = Hold CTRL, left click and move mouse
      • Ellipse = Hold Tab, left click and move mouse
    • Change Line Width
      • Increase = (Left) CTRL+Up arrow / scroll-wheel up
      • Decrease = (Left) CTRL+Down arrow / scroll-wheel down
    • Enter text entry mode = T
    • Exit
      • Exit Draw Mode = Right click
      • Exit Draw (and Zoom) Mode = ESC
  • Text Mode
    • Exit Mode = Right Click / ESC
  • Break Mode
    • Exit Mode = Right click / ESC


As you’ve seen this utility has a rich feature set.  Hopefully the next version will address some of the little niggles I’ve highlighted here, but even without them being updated this is a really useful bit of freeware that I’d recommend to anyone running Windows.


Command Line Utility to Create Test Files

Using the utility on the command line

Using the utility on the command line

In the past I’ve used FSUTIL to create large test files of data to process.  Unfortunately you need administrator permissions to use this utility.  I decided to write a command line utility (called “Make Test File” but abbreviated to MTF.EXE) to allow non-administrators to do the same.  It’s written in VB.NET so it isn’t as quick as FSUTIL, but as they say “it does the job”, and it fulfilled my immediate needs.

It takes two parameters – the size of the file (in bytes) and the file path to write the file to.  To see an example of how to use it and the output click on the thumbnail image on the right.  The resulting file just contains zeros.

If there’s any demand I may look into additional features such as being able to specify what the file is filled with or creation of multiple files using some sort of incremental naming convention.


Presentations – Keeping your screen active


Power saving options on computers are something that I personally think are great.  They not only help reduce carbon footprints, but they also help draw out even more life from your laptop battery.   One of the main ways in which this is done (others being things such as disabling hardware) is by having an inactivity option that turns off the screen and the hard disk after a period of inactivity.  Unfortunately there are times when this isn’t something you want.  The primary example of this is when you are giving a presentation.

The typical way of overriding this in Windows is to change what power saving scheme is being used through the Windows control panel or a third party application that links directly to these options.  However sometimes end users don’t have access to this.

This typically occurs where a group policy has been applied to stop users ‘tinkering’ with the power saving schemes.  Users with access can amend or delete power saving schemes which can lead to complications with machines and so it is not that uncommon to restrict access.

Whilst applications such as Microsoft PowerPoint can lead the OS into knowing that it should keep things like monitors on if a presentation is in a browser or some other “power unaware” application, then power saving actions can kick in.

I decided to apply a brute force solution to this by creating an AutoHotKey script to send a key press to the OS at regular intervals.  By default it sends a Shift key press as this is least likely to have any impact on any application, but this can be modified along with the frequency with which it is sent by the use of a settings file.  The settings file also includes an option to choose whether to start sending key presses as soon as it is run.

The code for the script is given at the end of this post, but I have also compiled this into a stand alone executable that you could even pop onto your flash drive if you’re going to be presenting on someone else’s PC.  Similarly you could add it into your start-up group (with it set not to auto start sending key presses) so it is always there when you need it.

The script places a monitor icon in the system tray.  When it is black power saving actions through inactivity will take place.  When it is blue, key presses will be sent.  Right clicking on the icon will display a menu with an override option.  Selecting this option will place a check mark next to it which will set the icon blue and initiate the override mode.  Selecting the option again will uncheck it, set the icon black and turn off the override mode.

Only one setting is available on the settings menu.  This is another check item and determines whether override mode should be enabled immediately when the utility is first started.

The utility looks for a settings file called ActiveDisplay.ini in the folder from which the utility is being run.  If it does not exist, the utility will use its default settings which match the settings given in this example file:

;Set to 1 to enable override mode at start-up and 0 to disable.
;Specify what characters should be sent.  Use {} for special key strokes
;Number of milliseconds between sending the key strokes (120,000 milliseconds : 2 minutes)

If you want to tweak the script to meet your own needs you can get the details below and use your own icons.  If you want to get the compiled version you can download it for free.


;Read in settings
iniread, EnableAtStartup, %A_ScriptDir%\ActiveDisplay.ini, Settings, EnableOnRun, 0
iniread, KeyStroke, %A_ScriptDir%\ActiveDisplay.ini, Settings, KeyStroke, {Shift}
iniread, Period, %A_ScriptDir%\ActiveDisplay.ini, Settings, Period, 120000

;Create the tray menu
menu, tray, add, Override, Override
Menu, SettingsMenu, add, EnabledAtStartup
Menu, tray, add, Settings, :SettingsMenu
menu, tray, add, About
menu, tray, add, Exit
menu, tray, nostandard

;Time to do something that seems crazy - we'll flip these and then call the menu selection routines where it will get flipped back
EnableTimer := EnableAtStartup
EnableAtStartup := Not(EnableAtStartup)
GoSub, EnabledAtStartup
EnableTimer := Not(EnableTimer)
GoSub, Override


Send %KeyStroke%

EnableTimer := Not(EnableTimer)
If EnableTimer
 menu, tray, Check, Override
 menu, tray, icon, C:\Icons\Monitor On.ico
 menu, tray, tip, Default Power Saving Mode Overridden
 SetTimer, SendKeyStroke, %Period%
 menu, tray, UnCheck, Override
 menu, tray, icon, C:\Icons\Monitor Off.ico
 menu, tray, tip, Default Power Saving Mode
 SetTimer, SendKeyStroke, Off

EnableAtStartup := Not(EnableAtStartup)
If EnableAtStartup
 menu, SettingsMenu, Check, EnabledAtStartup
 iniwrite, 1, %A_ScriptDir%\ActiveDisplay.ini, Settings, EnableOnRun
 menu, SettingsMenu, UnCheck, EnabledAtStartup
 iniwrite, 0, %A_ScriptDir%\ActiveDisplay.ini, Settings, EnableOnRun

MsgBox, 0, About Active Display, Version 1.0`nCopyright 2009 RebootIT`n`n