Make Backspace in Windows 7 or Vista Explorer Go Up like XP Did

One of the biggest annoyances for those going straight from XP to Windows 7 is that the backspace key no longer moves you Up a folder like it used to—now it moves you Back in the folder browsing history.

If you’ve used the key a couple of times, you might think I’m wrong—but you can easily test it out by going into one subfolder, then hitting Back, then going into another subfolder and hitting Back, then going into a third subfolder and hitting Back twice. You’ll end up in the previous subfolder.

image

If you want to go Up a folder in either Windows 7 or Vista, you can use the Alt+Up shortcut key, which will always go to the parent folder.

The Awesome AutoHotkey Fix

Now that we know the shortcut key that actually works in Windows 7, we can use a small script to make it work the way we really want it to. With AutoHotkey installed, create a new script with New –> AutoHotkey Script, and then paste in the following:

#IfWinActive, ahk_class CabinetWClass
Backspace::
   ControlGet renamestatus,Visible,,Edit1,A
   ControlGetFocus focussed, A
   if(renamestatus!=1&&(focussed=”DirectUIHWND3″||focussed=SysTreeView321))
   {
    SendInput {Alt Down}{Up}{Alt Up}
  }else{
      Send {Backspace}
  }
#IfWinActive

Thanks for finding this method goes to joeshmoo from the Productive Geek Forums, who tracked it down buried in an AutoHotkey forum thread. We modified the script slightly to make it work for Windows 7.

How Does This Work?

Ordinarily you can simply re-map the key with a Backspace::!{Up} type of deal, but since the backspace key is useful in the search box, location bar, and when you’re renaming files, you can’t just do a simple mapping—instead you have to check to see which control is active before sending the alternate Alt+Up key combination.

The first line with the #IfWinActive tells AHK to only activate this shortcut key override if Windows Explorer is the active window, which helps fix any possible conflicts in other applications.

The ControlGet and ControlGetFocus lines do the actual work of checking the status of the controls, and then depending on whether they are focused or you are in the process of renaming a file, it either sends the alternate Alt+Up or just sends the regular Backspace key.

Download a Pre-Made Application to Make Backspace Work like XP

Since the majority of you probably aren’t familiar with AutoHotkey, and don’t have any interest in how the scripts work, I’ve put together a customized version of the script as a tiny little executable that will run in the background.

It doesn’t take a ton of memory, as you can see in the screenshot.

image

To install HTGBack, just download, extract, and then create a shortcut in the shell:startup folder:

image

Double-click on the executable, and your Backspace key should start working like it used to in XP. Note that we only tested this on Windows 7, but assume it will work for Vista as well.

Download HTGBack XP-Style Backspace Key

This utility is licensed under the don’t-be-stupid license, which says that you can use it, distribute it, and pretty much do whatever you feel like with it—just give us credit by linking back to this post.

This article was originally written on 01/11/10 Tagged with: Shortcuts and Hotkeys, Windows 7

Comments (21)

  1. Aashish

    Thanks, I was looking for it

  2. jj128

    That’s awesome! I’m glad you put together the application, should help a lot of people that don’t know how to use AHK. I guess my question turned into something useful.

  3. The Geek

    @jj128

    Yeah, I was glad when you posted that topic on the PG forum, definitely something I’ve wanted to figure out for a while.

  4. Adrian

    DON’T DO IT!
    Just learn the new hot key.

    Just about every version of windows has new keys/menus. I know of people that still don’t know the difference between XP’s start menu and 2000s because they took the option to go back…..

  5. rsvr85

    Great tip, thanks! :)

  6. rsvr85

    If you opt for the executable in the startup folder it might be worth right clicking the .exe > Properties > Unblock;
    This will prevent the .exe asking for permission to run on each startup.

  7. simon

    Backspace was back on XP Pro too… Having it go up a directory is just bonkers. :P

  8. Realitizer

    @Geek – Is it possible to use the Windows key in a key combo? I’ve tried a couple of times in AutoIt with no success. Just that WIN C would be a really good combo for launching the calculator.

  9. Dan F

    What’s bonkers is how Win7 behaves differently if you’ve got the tree or the file list focused. It might have always been like this, but something from the dim dark memory tells me it wasn’t.

    With the tree selected, backspace goes up a level (but doesn’t change the contents of the list anymore, yay!).
    With the file list selected, it goes back in history, boo hiss.

    Oddness.

  10. Paul

    Might want to replace the curly quotation marks in the code snippet with standard double quotes so it actually works :)

    ”DirectUIHWND3″ ==> “DirectUIHWND3″

    #IfWinActive, ahk_class CabinetWClass
    Backspace::
    ControlGet renamestatus,Visible,,Edit1,A
    ControlGetFocus focussed, A
    if(renamestatus!=1&&(focussed=”DirectUIHWND3″||focussed=SysTreeView321))
    {
    SendInput {Alt Down}{Up}{Alt Up}
    }else{
    Send {Backspace}
    }
    #IfWinActive

  11. Tom

    Sadly does not work in vista.

  12. Stefan

    Thanks!!!
    I started hating Microsoft even more when they changed this behavior. Really stupid!

  13. Mark

    @Paul

    Thanks for the tip. That fixed it for me.

  14. bearlog

    I find it annoying that in XP the backspace key doesn’t go back in history.

  15. krhainos

    I found the script above doesn’t work in Windows Vista because the folderpane is called “SysListView321″ (versus “DirectUIHDWND3″ in Windows 7). The treeview however is called SysTreeView321 in both Vista and 7.

    So the if statement should look like the following:

    if(renamestatus!=1 && (focussed=”DirectUIHWND3″ || focussed=”SysListView321″ || focussed=”SysTreeView321″ ))

    Stay awesome,

    -K

  16. JY

    Thanks!! It was what I needed to really start and forget about XP :-)

  17. Hiro

    Thanks so much, I was looking for it.

  18. marcel_miller

    Autohotkeys Rocks!

  19. Blaster

    AWESOME!! Just AWESOME!!
    It was very annoying for me and now it’s fixed! Thank You so much!

  20. Toban

    I added this script to my ahk file, but the problem is that it would also run the next hotkey after it. To fix this, I added another line at the end: Return

  21. Tsukasa

    Thanks a lot! Very useful, since my hand is a bit too small to hit L-alt and Up simultaneously.
    At first it didn’t work for me (win7 pro x64), so I removed the “view” conditions from the if argument:

    if(renamestatus!=1)

    Works perfectly for me, in any view mode.

Leave a Reply