Converting (Remapping) Caps Lock to CTRL

ThinkpadKeyboardI’ve always been a fan of the Lenovo Thinkpad keyboards. The have a good feel, and I especially love the Trackpoint. The Trackpoint is that little red nub between G and H, and acts as a mouse. With it I can do many mouse activities without removing my hands from the keyboard. With most it is a love / hate thing, either they love it or the are mentally deficient and hate it.

I actually have two, one is the USB version which I have plugged into my KVM (Keyboard Video Monitor) switch. The other is a Bluetooth model I use with my Surface Pro 3 when I’m away from home. They are quiet, easy to hold in your lap, and take up very little desk space.

The only complaint I have is with the CTRL key, something we all hit many times a day. Its position makes it difficult to reach with my huge hands. Fortunately there is an easy fix: remapping the seldom used Caps Lock key to turn it into another CTRL key.

While there are many ways and apps to do this, by far the one I trust the most comes from Microsoft in the form of its SysInternals utility Ctrl2Cap v2.0. It’s dirt simple, just follow the instructions and after the next reboot your Caps Lock will function as a CTRL key.

While my Thinkpad keyboards were the reason I needed to do this, Ctrl2Cap will work with any keyboard. If you could use an extra CTRL key, give the utility a try.

Note, it doesn’t swap CTRL and Caps Lock, it just converts Caps Lock to CTRL. All of your existing CTRL keys will continue to work normally. Thus, if you do this, you’ll lose the ability to do Caps Lock. (Don’t say I didn’t warn you.) Not a big deal for me, I rarely “unleash the fury” as they say, needing to type in all caps. It’s not permanent either, if you want to reverse it, Ctrl2Cap has an easy to use uninstall option.

Hope this tip helps, if nothing else this post will help me in the future when I need to setup a new PC.

Arcane Searches

One of the things I really like about WordPress is that you can see the search engine terms that lead people to your site. In the lists I see some search terms that occur frequently. I thought it might be fun to take a guess at what the googlers were looking for, and take a stab at answering them.

exit full screen remote desktop

Move your mouse to the top, center of the display. A little yellow bar will scroll down, with the machine name. On the left is a push pin you can use to make it stick. On the right is the traditional Min / Max buttons you see on a window.

virtual pc exit full screen

Alt + Enter will exit full screen, but it has to be the Alt key on the right side of the keyboard. (This assumes you haven’t changed you hot key mappings).

command to close virtual pc

There’s several ways to close a virtual pc. The simplest, and best is to do a shutdown of what ever OS you are running. When the guest OS shuts down, the Virtual PC exits.

You can also select Action, Close on the menu, VPC will prompt you to see if you want to close and save state (sort of like Hibernate on a laptop) or exit and discard changes. If you are running a Windows OS, VPC will also give you the option to shut down. You can get the same prompt by clicking the X (cancel) button on the window your guest OS is running in.


This is one that shows up a lot in my searches. Event toaster is part of the Visual Studio Enhancements Add-In from Microsoft. See my entry on November 15th ( or ) for more info.

virtual computer usb

Virtual PC does not support USB in either version 2004 or Server 2005. And, despite being the most asked for item in Virtual PC 2007, Microsoft still does not have any plans to include it in the next version.

VMWare, on the other hand does support USB. In the VMWare Server product, USB is not entered by default. You can add it, however by Editing the Virtual Machine Settings. In the dialog under Hardware click Add, and pick USB.

zone alarm remote desktop client

Another one that appears frequently, I’m guessing there’s a need to know how to get remote desktop to cooperate with Zone Alarm. Open the Zone Alarm settings panel, and click on Firewall. By default the Internet Zone Security is set to High. Drop this to Medium to get it to work with remote desktop. You will also need to go into Program Control and put checks for Remote Desktop Connection for all four columns.

defrag a single file

Use the SysInternals Contig tool. See for more info.

There’s a few of the top searches from my history, hopefully I’ve answered questions for a few of you out there!

SysInternals – The New Process Monitor

Just when I thought I was done talking about the SysInternals tools, Microsoft finally integrates them into their TechNet site and makes some changes. I’ve already mentioned a few in my last post, in this one I wanted to take a quick look at the new ProcMon.

Available at, the new Process Monitor (ProcMon) replaces two older tools, FileMon and RegMon. It will keep an eye on all disk activity, whether it be on the drive or the registry. In the example below you can see what’s going on in my system as I write this. For example, I have WinAmp playing a recent DotNetRocks episode.

[Picture of Process Montiors main UI.]

One feature I rather like is the Process Tree, under the Tools menu.

[Process Monitors Process Tree]

Here you can see some of the many programs I have running. All I have to do is click on one of them then click the Go To Event button and it will take me right to the event. Three buttons on the main toolbar make it very easy to filter down to the events you want to see.

[Handy tools in the ProcMon Toolbar.]

The leftmost button turns registry events on or off. The middle button shows or hides file system activity. The right most button toggles the display of process / thread activity. Other filters allow you to narrow down to specific files or events you want to monitor.

I like the new version of this tool, lots of new features that make me prefer this to the older FileMon/RegMon tools, which are still available if you want to do your own comparisons.

SysInternals – Update – Microsoft Merger Complete

Since I began my posts on SysInternals, I’ve found they have now gone completely Microsoft. The SysInternals URL now redirects you to a Microsoft TechNet page, All of the tools seem to be there, with a few minor changes.

The Process Monitor (ProcMon) tool has been renamed to Process Explorer. Other than that, it still seems to have the same capabilities, and they’ve made sure it works on Vista and the 64 bit Windows platforms.

Update: Seems I got confused over tool names, Process Explorer was always Process Explorer and not ProcMon. That’s what I get for writing blog posts at 2 am. Except for getting names confused, all the other details I point out are still accurate, good tools well worth the look.  Oh, and ProcExp does work on the Vista (32 and 64 bit versions).

There’s a new tool called Process Monitor that replaces the older FileMon and RegMon tools (although both of them are still available). The new ProcMon seems to give much the same info in a unified user interface. I admit it is nice to have all the info in one screen.

Take a look over the tools and feel free to post comments below on how you feel about the new features and the Microsoft revamp of the tools.

SysInternals – ZoomIt

The last tool I am going to present in this series (although certainly not the last tool available from SysInternals) is called ZoomIt. Zoom it allows you to zoom in on certain areas of the screen with one quick hit of a hotkey. The hotkeys are configurable, as you can see in the options dialog below.

[Picture of ZoomIt Option Dialog]

Once you activate the zoom, you can use the up and down arrows to change the level of magnification. The ESC key will exit the zoom functionality. You can also use the Draw feature to Draw on the screen, great if you are doing a net meeting or demonstration and want to highlight something.

Primarily this utility comes in handy during demos and meetings, but I’ve also found it useful when working on images for my app and need to look at a detail or two. Also handy for documentation, I have used the Draw feature to draw on the screen, then used Print Screen to snag the image and send to someone, as in the example below.

[Demonstration of ZoomIt's Draw feature.]

So give it a try, drop me a comment and let me know what creative uses you come up with for this handy tool!

SysInternals – ProcExp

If there was one of these tools that would make you drool, then this would be it. ProcExp is a process explorer that gives you all sorts of details about the jobs running on your system. After running it the first time, right click on the column bars and pick “Select Columns”, then add a few more useful columns. The most useful of these would be Path, which shows the disk location the exe or dll launched from. Version is also useful, you may find more that have meaning for you.[Picture of ProcMon basic view.]

Next, select View, Show Lower Pane. Then select View, Lower Pane View, and pick DLLs. OK, now here’s something really cool, especially for you .Net developers. See the image above, there are two processes that are highlighted in yellow. The yellow (and these colors are customizeable) indicates this is a .Net application. You can see I have two .Net apps, RSSBandit and PaintDotNet. Click on one of the yellow bars (in this case I picked PaintDotNet). You’ll see the lower pane populate, as in the picture below.

[Pic of ProcMon with it's lower panel showing some useful information.]

What you are seeing is a long list of all the DLLs loaded by your app. Way cool huh? You can see all the dependencies needed by your (or someone elses) program. Cool, but there’s more! Double click on the app line (again, the yellow line with PaintDotNet).

[Pic of dialog showing more information about the application you clicked on.]

You can see a new dialog with detailed info about the program. You can kill off the program, or bring it to the foreground. There’s lots of tabs you can click on, I’ll highlight a couple of the most useful ones. Click on the Performance Graph tab.

[Picture: Try not to drool as you look at this useful graph.]

This produces graphs similar to the ones Task Manager gives you, only this is targeted at just this particular app. Great tool for monitoring your program, looking at memory usage, CPU usage, etc. The Performance tab gives you similar information, only in a textual view.

Now go click on the .Net tab. You can see a list of the AppDomains. Click on the drop down (shown below) and you can see a list of the various performance counters you can view.

[Picture: Your like a kid at Christmas as you look over all the stats you can dig out of your .Net app.]

Lots of great info in this area, below I’ve pasted the Memory stats, just to give you an idea.

[Picture: Shows you just how much memory your app really needs.]

There’s more info to be found here than I can describe in this brief blog post. Take some time, dive in and look around. This tool can really assist you in determining the impact your application will have on the target system.

SysInternals – Two Monitor Programs

Nov. 9th Update:Microsoft has completed the merger of SysInternals into it’s internal TechNet area. Along with that they’ve renamed the old Process Monitor to Process Explorer. They have a new Process Monitor tool that combines the functionality of the two tools I mention below. Both tools below are still available, but you should also take a look at the new Process Monitor to see if it will better suit your needs.

How many times have you watched your hard drive light flicker and wondered “What the heck is banging my hard disk?” Well FileMon will help you figure this out. FileMon simply displays all the applications that are accessing your drives.

[Picture of FileMon.]

As you can see in the sample above, you can monitor all the items that are reading and writing to your disks. You can use filters in case there’s a particular program or programs you are interested in. The filters are nice in that you can use either includes (I only want to see…) or excludes (I want to see everything but…). Additionally you can save the output to a log so you can analyze it later.

Along the same lines is RegMon. RegMon is a Registry Monitor that will give you info on what is accessing your registry. Like FileMon there are filters and logging capability.

[Picture of RegMon.]

Two great monitoring tools to help you with debugging, and like all the SysInternals tools, free for the taking.