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

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

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

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

Если ярлык можно отключить, он по крайней мере заставит вас использовать 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

6 ответов

Решение

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

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

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

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

^z::
return

Заставит Ctrl + z ничего не делать

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

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

Прошло 11 лет, и, хотя в проводнике было добавлено повторение, подсказок по-прежнему нет, и ошибки все еще случаются время от времени :(
Но только сейчас я нашел недавнюю статью на https://www.winhelponline.com/blog/disable-undo-redo-feature-in-windows/ , которая оказалась идеальным решением (кажется, это новая функция; не тестировалась на старых системах). Приятно то, что вам не нужно устанавливать или запускать что-то новое, просто добавить нольDWORDзначение с именемMaxUndoItemsв реестреHKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advancedи наслаждаться. Просто обратите внимание , что он полностью отключает отмену и повтор действий в проводнике , поэтому вы не сможете сделать это впоследствии и в контекстном меню. Спустя годы я наконец-то могу избавиться от этого так называемого «ярлыка» !
(Ну, будет еще лучше, если отмена и повтор действия по-прежнему будут храниться в контекстном меню или их можно будет назначить на другие клавиши. Но не стоит слишком сильно давить на Microsoft XD)

Представленные сценарии работают правильно, за исключением объектов (файлов, папок и т. Д.), Размещенных на рабочем столе.
Предположим, что у вас есть папка с именем 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:|.

Этот скрипт 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 (см. Его ответ).

2023 — Windows 11 22H2

Я видел что-то вроде этого:

Чтобы отключить его ( reg-add ):

      reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v MaxUndoItems /d 0 /t REG_DWORD

а затем перезапустите «Проводник Windows» с помощью диспетчера задач.

источник

Другие вопросы по тегам