AntiShiftDelete【禁用Shift+Delete快捷鍵】,這個(gè)是由論壇用戶原創(chuàng)編寫的一個(gè)防手滑工具,開啟后可以禁用Shift+Delete這一永久刪除快捷鍵,對(duì)于用慣了這套快捷鍵的用戶們來(lái)說(shuō)很容易出現(xiàn)手滑將重要文件永久刪除的囧境。本次帶來(lái)AntiShiftDelete PC版下載,一鍵開啟/關(guān)閉,輕松便利。
AntiShiftDelete說(shuō)明
AntiShiftDelete是一個(gè)Shell Extension,它的功能是禁用 永久刪除(Shift+Delete) 快捷鍵。
有一些人(包括我自己)都慣用永久刪除快捷鍵,從來(lái)不把文件刪到回收站。然而,這并不是什么好習(xí)慣,如果我們刪錯(cuò)了文件,這會(huì)給我們帶來(lái)很多麻煩,反復(fù)做無(wú)用功……
AntiShiftDelete擴(kuò)展便是幫助我們擺脫這個(gè)壞習(xí)慣的有力助手!安裝這個(gè)擴(kuò)展之后,當(dāng)我們?cè)俅问褂肧hift+Delete快捷鍵刪除文件時(shí),資源管理器不會(huì)刪除文件,而是會(huì)發(fā)出一聲提示音,提醒你使用正常的刪除功能。
原理
AntiShiftDelete使用了微軟Detours庫(kù)來(lái)Hook資源管理其內(nèi)部的刪除方法。所以,AntiShiftDelete需要是一個(gè)Shell Extension,因?yàn)镾hell Extension會(huì)被資源管理器自動(dòng)加載。
Shell Extension
Shell Extension有很多種,不過為了讓explorer.exe盡快加載插件,我選擇使用 IconOverlayHandler (實(shí)現(xiàn) IShellIconOverlayIdentifier),因?yàn)檫@種擴(kuò)展可以在explorer.exe啟動(dòng)時(shí)直接加載。
Hook
Microsoft Detours 庫(kù)使用起來(lái)很方便,我也不打算多說(shuō)。在資源管理器Hook的方法倒是挺有趣的。
在 Windows Vista, 7, 8, 8.1, 10 和對(duì)應(yīng)的服務(wù)器版本中, explorer.exe不會(huì)直接調(diào)用WindowsAPI來(lái)操作文件而是使用FileOperation這個(gè)COM組件來(lái)操作文件。AntiShiftDelete便是Hook了FileOperation的虛函數(shù)達(dá)到阻止永久刪除的目的。
兼容性
理論上,Windows Vista及以上版本x86和x64還有對(duì)應(yīng)的服務(wù)器版本,都能使用這個(gè)擴(kuò)展。但是我不確定是否真的能兼容這么多……
桌面版本: Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10
服務(wù)器版本: Server 2008, Server 2008 R2, Server 2012, Server 2012 R2, Server 2016