Отключить сочетание клавиш Ctrl + Z или очистить историю отмен в Проводнике Windows?


13

Есть ли способ отключить ярлык CTRL+ Z(Отменить) в проводнике Windows? В качестве альтернативы, есть ли способ заставить Windows Explorer "забыть" свою историю отмен?

Причина, по которой я спрашиваю, состоит в том, что вы, возможно, выполняли некоторые файловые операции в Проводнике (копирование, переименование и т. Д.), И, возможно, вы не перезагружаетесь в течение нескольких дней или дольше (вместо этого выбрав режим гибернации). Проблема в том, что если вы случайно нажали CTRL+ Zодин или несколько раз (часто ошибочно выбирая, какое приложение у вас на переднем плане; использование настройки с двумя мониторами увеличит эту вероятность), вы можете отменить что-то, что было сделано давным-давно, не осознавая, что произошло ,

Даже если вы понимаете, что произошло, вы, возможно, не помните, какими были последние несколько операций, которые вы сделали потенциально несколько дней назад. Насколько я могу судить, в проводнике Windows нет функции «Повторить», которая вас спасла бы. Я могу представить себе сценарии, в которых эта ошибка может вызвать много проблем.

Если ярлык можно отключить, он по крайней мере заставит вас использовать Edit > Undoпункт меню, прежде чем делать что-то глупое. В противном случае, если историю отмен можно периодически очищать, это предотвратит отмену некоторых очень старых операций.

Приложение: Для тех, кто заинтересован в реализации этого, я создал файл AHK, который запускается без вывода сообщений ( #NoTrayIconопция) из моей папки автозагрузки Windows. Помимо некоторых других полезных ярлыков, которые я добавил, вот как это выглядит:

#NoTrayIcon
SetTitleMatchMode RegEx
return

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

Если вы предпочитаете обратную связь вместо CTRL+ Zпросто ничего не делать, включите звук по умолчанию или используйте, MsgBoxчтобы появилось диалоговое окно.

#IfWinActive ahk_class ExploreWClass|CabinetWClass
^z::
    ;Uncomment the feedback option you prefer below
    ;SoundPlay *-1
    ;MsgBox Ctrl+Z has been disabled.
return
#IfWinActive

Там есть повтор и его ярлык Ctrl + Y, кстати.
Тайлан

1
@Taylan Повтор не восстанавливает файлы, которые были в новых папках, которые вы "отменили" создание. Они также не находятся в мусорной корзине. Чрезвычайно опасно
Патрик Паркер

Ответы:


6

Я написал программу на C для отключения ярлыков Undo и Redo, так как оба могут привести к несчастным случаям.

Программу можно найти по адресу http://purl.org/net/dweundo .

У него есть установщик, который, если хотите, добавляет ярлык в папку «Пуск» в меню «Пуск», поэтому программа запускается при входе в систему.


Только что попробовал, отлично работает до сих пор! Мне нравится это решение намного лучше.
JustinStolle

Спасибо! Работает во всех случаях, которые я пробовал, и очень мало памяти.
Gras Double

5

Я думаю, что вы можете иметь AutoHockkey переопределить существующий ярлык.

^z::
return

Сделаю Ctrl+ zничего не делать

Изменить: это будет применяться везде. Чтобы применить только в проводнике, попробуйте это:

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

Спасибо, это отличная маленькая утилита! Я отредактировал ваш ответ, включив в него также ExploreWClassas as Explorer, который может работать в зависимости от того, как он запущен. Трейлинг #IfWinActiveдолжен быть использован, чтобы горячая клавиша не проваливалась ни под какие команды в скрипте под ним.
JustinStolle

1

Представленные сценарии работают правильно, за исключением объектов (файлов, папок и т. Д.), Размещенных на рабочем столе.
Предположим, что на самом деле у вас есть папка с именем MyFolderна рабочем столе, и вы переименовываете ее в NewName. Случайное нажатие CTRL+ Zприведет к потере возврата к изменению MyFolder.

Я вставляю новую версию скрипта, ловя также Desktop:

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

Спасибо за то, что поделились этим полезным автоключем, к сожалению, я потерял весь документ из-за глупой функции / ошибки Windows в связи со случайным CTRL+ Zярлыком: |.


Сценарий, кажется, не работает правильно на Windows 8.1. Я выложу обновление кода.
Эдди С.

0

Этот скрипт AutoHotKey перехватывает окна проводника, как и в других ответах, но также и рабочий стол:

#IfWinActive ahk_class CabinetWClass ; Explorer
^z::
#IfWinActive ahk_class ExploreWClass ; Explorer (legacy)
^z::
#IfWinActive ahk_class Progman ; Desktop
^z::
#IfWinActive ahk_class WorkerW ; Desktop shown by Win+D
^z::
    MsgBox Ctrl+Z has been disabled.
return
#IfWinActive


Тем не менее, я думаю, что лучшим решением является использование программы, написанной Jelle Geerts (см. Его ответ ).


Я согласен, что dweundoэто лучшее. Я тоже использую это с тех пор, как обнаружил.
Эдди С.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.