Coding Horror

programming and human factors

A Celebration of The Windows Key

I'm sure everyone knows that the Windows key brings up the Start Menu, but there are also a bunch of standard Windows key shortcuts built into Windows:

windows_key.gif + B

Set focus to first tray icon

windows_key.gif + D

Show Desktop

windows_key.gif + E

Windows Explorer

windows_key.gif + F

Find Files or Folders (aka Search)

windows_key.gif + M

Minimize All windows

windows_key.gif + ShiftM

Undo minimize all windows

windows_key.gif + R

Run...

windows_key.gif + Tab

Select Task

windows_key.gif + Pause/Break

System Properties

windows_key.gif + F1

Windows Help

windows_key.gif + L

Lock workstation

windows_key.gif + U

Utility manager (accessibility)

Where the default Windows key shortcuts end, WinKey* begins. Winkey lets you map additional Windows key shortcuts. It can't override the existing shortcuts, unfortunately, but you're free to map any key that isn't already mapped.

The advantage of the Windows key approach is that all of my most frequently used applications are exactly one key combination away; for example:

windows_key.gif + N

Launches Notepad

windows_key.gif + C

Launches command shell

Of course, you can go a lot further with hotkeys than just overloading the Windows key. That's where something like AutoHotKey comes in. However, I find that leveraging the built-in Windows key shortcuts, plus a handful of Windows key shortcuts I set up myself, covers 98% of my daily computer use.

But then there's that other 2%...

When I can't launch something with the Windows key, I fall back to the Start, Run (Windows+R) dialog. Run is passable, but not as helpful as it could be. Trying to perform a Start, Run, "word" won't launch Microsoft Word, for example. There are a number of third party replacements for Run that attempt to rectify that:

I've tried each and every one of these solutions, but nothing "stuck". I couldn't get myself out of the reflexive habit of Windows+R. Each of these apps has a nice set of additional features far beyond what the run dialog provides, but I never really used them.

In lieu of all these fancy solutions.. wouldn't it be nice if the Start, Run dialog was just a little bit smarter? That's when I stumbled across this blog post describing a very clever hack:

  1. Create a folder for your shortcuts under your user folder, eg, c:documents and settingsusernameshortcuts
  2. Right click My Computer, click properties.
  3. Click the advanced tab.
  4. Click the Environment Variables button at the bottom of the tab.
  5. Under user variables, add a new variable named "Path".
  6. Enter %homedrive%%homepath%shortcuts for the variable value.**
  7. Create shortcuts and plop them in the shortcuts folder you created.

Here's a quick snapshot that shows how to set up the per-user Path environment variable for the shortcuts folder:

How to set the user path variable to reference shortcuts from the Start, Run dialog

Now that I've set this up, I can type Windows+R, 2k3, Enter and Visual Studio 2003 launches! The only disadvantage-- and it's a minor one-- is that there's no autocomplete until you've typed the shortcut at least once. But for me, it's the best of both worlds: I can leverage the default Windows key accelerators and also have an unlimited number of "smart keywords" via my workhorse Run menu.

* Every time I see WinKey, I think of Winky Dinky dog. And I say it in that.. voice. I can't help myself.

** Here's a complete list of Windows XP/2000 environment variables the system can populate for you (eg, %date%). Gotta catch 'em all!

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Exchange and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: http://twitter.com/codinghorror