Disable Ctrl+Z shortcut or clear undo history in Windows Explorer?

10,451

Solution 1

I wrote a program in C to disable both the Undo and Redo shortcuts, since both can lead to accidents.

The program can be found at http://purl.org/net/dweundo .

It has an installer which, if you want, adds a shortcut in the Start Menu 'Startup' folder, so the program starts when you log on.

Solution 2

I think you can have Autohotkey override an existing shortcut.

^z::
return

Will make Ctrl + z do nothing

Edit: This will apply everywhere. To apply in explorer only, try this:

#IfWinActive ahk_class ExploreWClass
^z::
#IfWinActive ahk_class CabinetWClass
^z::
return
#IfWinActive

Solution 3

The given scripts seems works correctly except for objects (files, folders, etc) placed on the Desktop.
Suppose, in fact, you have a folder named MyFolder on your Desktop and you rename it to NewName. Accidentally pressing CTRL+Z will cause you to lose the change reverting to MyFolder.

I paste a new script release catching also Desktop:

#IfWinActive ahk_class ExploreWClass
^z::
#IfWinActive ahk_class CabinetWClass
^z::
return
#IfWinActive ahk_class Progman
^z::
return
#IfWinActive

Thank you for sharing this usefull autokey, unfortunately I lost a whole document due a stupid Windows feature/bug in correlation with accidental CTRL+Z shortcut :|.

Share:
10,451

Related videos on Youtube

JustinStolle
Author by

JustinStolle

I've been a web designer, database developer, and programmer in varying capacities since the mid '90s. I like to help others and appreciate the knowledge that others here have to share. My bio and work history are on Careers 2.0.

Updated on September 18, 2022

Comments

  • JustinStolle
    JustinStolle over 1 year

    Is there any way to disable the CTRL+Z (Undo) shortcut in Windows Explorer? Alternatively, is there a way to have Windows Explorer "forget" its undo history?

    The reason I ask is that you may have done some file operations in Explorer (copying, renaming, etc.), and perhaps you don't reboot for days or longer (choosing to hibernate instead). The problem is that if you accidentally hit CTRL+Z one or more times (often mistaking which application you have in the foreground; using a dual-monitor setup will increase that likelihood), you may be undoing something that was done ages ago without realizing what happened.

    Even if you do realize what has happened, you may not remember what the last several operations were that you did potentially days ago. As far as I can tell, there is no "Redo" function in Windows Explorer to save you. I can imagine scenarios in which this mistake could cause lots of problems.

    If the shortcut can be disabled, it would at least force you to use the Edit > Undo menu item before doing something stupid. Otherwise if the undo history could be periodically cleared, that would prevent some very old operations from being undone.

    Addendum: For those interested in implementing this, I created an AHK file that runs silently (the #NoTrayIcon option) from my Windows Startup folder. Besides some other useful shortcuts I incorporated, this is what it looks like:

    #NoTrayIcon
    SetTitleMatchMode RegEx
    return
    
    ; Disable Ctrl+Z shortcut in Windows Explorer
    ;
    #IfWinActive ahk_class ExploreWClass|CabinetWClass
    ^z::return
    #IfWinActive
    

    If you prefer feedback instead of CTRL+Z simply doing nothing, play a default sound or use MsgBox to cause a dialog to appear.

    #IfWinActive ahk_class ExploreWClass|CabinetWClass
    ^z::
        ;Uncomment the feedback option you prefer below
        ;SoundPlay *-1
        ;MsgBox Ctrl+Z has been disabled.
    return
    #IfWinActive
    
  • JustinStolle
    JustinStolle about 13 years
    Thanks, this is a great little utility! I've edited your answer to include also the ExploreWClass as Explorer can run as either depending on how it is launched. The trailing #IfWinActive should be used so the hotkey doesn't fall through to any commands in the script beneath it.
  • JustinStolle
    JustinStolle over 10 years
    Just tried it out, works great so far! I like this solution much better.
  • Eddie C.
    Eddie C. over 10 years
    The script seems not working correctly on Windows 8.1. I'll post a code upgrade.
  • Gras Double
    Gras Double over 7 years
    Thank you! Works in all cases I've tried, and very low memory footprint.
  • Eddie C.
    Eddie C. over 7 years
    I agree that dweundo is the best. Me too I'm using that since discovered.