Disable Ctrl+Z shortcut or clear undo history in Windows Explorer?
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
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.
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
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 :|.