表原理到一鍵工具)
右鍵菜單這東西平時(shí)不怎么注意但等它長(zhǎng)到十幾二十項(xiàng)的時(shí)候每次右鍵都在一堆列表里找目標(biāo)那體驗(yàn)真的挺折磨人。尤其是新裝了一堆軟件之后壓縮包、網(wǎng)盤(pán)同步、截圖工具、Git客戶端、顯卡驅(qū)動(dòng)控制面板、校驗(yàn)工具全想著往右鍵菜單里擠。這篇內(nèi)容就是寫(xiě)給被右鍵菜單困擾的人包括普通辦公用戶和開(kāi)發(fā)者我會(huì)把右鍵菜單變長(zhǎng)的原因、手動(dòng)清理的注冊(cè)表原理、一鍵工具的使用方法以及 Win11 恢復(fù)經(jīng)典菜單、CRC/SHA 菜單關(guān)閉、開(kāi)發(fā)環(huán)境右鍵菜單等特殊場(chǎng)景一次講清楚照著操作就能還你一個(gè)清爽的右鍵菜單。1. 右鍵菜單為什么會(huì)越用越長(zhǎng)1.1 右鍵菜單的三個(gè)來(lái)源很多人一看到“右鍵菜單管理”就頭大總覺(jué)得這是注冊(cè)表的高級(jí)操作普通人搞不定。其實(shí)先搞清楚菜單是怎么來(lái)的后面的清理就簡(jiǎn)單了?,F(xiàn)在的右鍵菜單項(xiàng)目基本來(lái)自三個(gè)地方系統(tǒng)內(nèi)置項(xiàng)、應(yīng)用程序注冊(cè)項(xiàng)、Shell 擴(kuò)展。系統(tǒng)內(nèi)置項(xiàng)就是 Windows 自己帶的比如“查看”“排序方式”“刷新”“屬性”這類(lèi)。這部分項(xiàng)目一般不會(huì)太多而且操作系統(tǒng)會(huì)嚴(yán)格控制不太容易失控。真正讓菜單膨脹的是后兩類(lèi)。應(yīng)用程序注冊(cè)項(xiàng)是軟件安裝時(shí)往注冊(cè)表里寫(xiě)入的命令比如壓縮軟件裝完以后會(huì)在文件的右鍵菜單里加一個(gè)“解壓到當(dāng)前文件夾”網(wǎng)盤(pán)客戶端裝完以后會(huì)在任意文件上顯示“上傳到網(wǎng)盤(pán)”。Shell 擴(kuò)展更隱蔽一點(diǎn)它不是簡(jiǎn)單的一條命令而是一個(gè) DLL 組件右鍵菜單只是它功能的入口比如 7-Zip 的“CRC SHA”校驗(yàn)菜單、顯卡驅(qū)動(dòng)的“顯示更多選項(xiàng)”、殺毒軟件的“掃描病毒”等。這三類(lèi)項(xiàng)目的注冊(cè)位置不同處理方式也不同后面我會(huì)分別講。你現(xiàn)在只需要記住一個(gè)結(jié)論凡是系統(tǒng)內(nèi)置項(xiàng)盡量別碰凡是你裝完軟件才出現(xiàn)的項(xiàng)都可以考慮清理。1.2 常見(jiàn)的菜單“元兇”有哪些以我這些年的經(jīng)驗(yàn)右鍵菜單里出現(xiàn)頻率最高、最容易堆積的軟件類(lèi)型是這幾類(lèi)壓縮工具、網(wǎng)盤(pán)同步工具、截圖工具、代碼版本管理工具、云服務(wù)客戶端和各類(lèi)“管家”。壓縮工具是最典型的WinRAR、7-Zip、Bandizip 這類(lèi)軟件安裝時(shí)默認(rèn)就會(huì)在右鍵菜單里塞四五個(gè)項(xiàng)目包括“打開(kāi)壓縮包”“解壓到當(dāng)前文件夾”“解壓到指定目錄”“添加到壓縮包”等單項(xiàng)看起來(lái)都挺有用但裝兩三個(gè)壓縮軟件之后文件右鍵菜單底部直接多出十來(lái)個(gè)條目。網(wǎng)盤(pán)和云服務(wù)客戶端同樣是重災(zāi)區(qū)比如 OneDrive、堅(jiān)果云、Dropbox、百度網(wǎng)盤(pán)每個(gè)都會(huì)在文件上添加“分享”“上傳”“獲取鏈接”之類(lèi)的選項(xiàng)而且這些菜單項(xiàng)往往還帶圖標(biāo)占了很大一塊高度。截圖工具和錄屏軟件也喜歡往這里面擠。部分軟件安裝后會(huì)在“屏幕捕獲”相關(guān)位置注冊(cè)菜單或者干脆直接加一個(gè)“用某軟件截圖”的入口。代碼開(kāi)發(fā)者這邊就更不用說(shuō)了Git GUI、TortoiseGit、VS Code 的 Open With Code、IntelliJ IDEA 的 Open Folder as Project這些菜單對(duì)開(kāi)發(fā)者來(lái)說(shuō)每個(gè)都有用但疊加起來(lái)文件夾右鍵菜單很容易超過(guò)屏幕一半。還有一類(lèi)是驅(qū)動(dòng)和控制面板程序比如英特爾顯卡控制中心、NVIDIA 控制面板經(jīng)常在桌面右鍵菜單里加一個(gè)“顯示更多選項(xiàng)”或者“顯卡屬性”說(shuō)實(shí)話大部分普通用戶根本不會(huì)去用它。1.3 為什么不能直接對(duì)著注冊(cè)表亂刪既然右鍵菜單項(xiàng)目存在注冊(cè)表里那直接用注冊(cè)表編輯器刪掉不就行了理論上確實(shí)可以但實(shí)操中踩坑的概率非常高。注冊(cè)表里一個(gè)菜單項(xiàng)往往涉及多處鍵值比如一個(gè)“用 XXX 打開(kāi)”的項(xiàng)目可能在HKEY_CLASSES_ROOT\*\shell下有一個(gè)主鍵同時(shí)還有一項(xiàng)command鍵用來(lái)指定程序路徑如果你只刪了顯示名而沒(méi)有刪 command或者漏掉了另一個(gè)關(guān)聯(lián)位置菜單就會(huì)變成一個(gè)點(diǎn)擊沒(méi)反應(yīng)的“僵尸項(xiàng)”比刪除前還要讓人難受。另外有些 Shell 擴(kuò)展是通過(guò) COM 組件注冊(cè)的光看注冊(cè)表項(xiàng)名字根本猜不到是干嘛的。一個(gè)名為{57D6C248-A406-4E32-9D4B-9C9B7F4C2B6A}的 CLSID在注冊(cè)表里不顯示任何軟件名而是指向某個(gè) DLL 文件。貿(mào)然刪除這種項(xiàng)目可能把系統(tǒng)資源管理器的某些功能直接弄崩比如右鍵菜單整體打不開(kāi)或者文件夾右鍵加載特別慢。所以清理右鍵菜單的正確思路不是“看到什么刪什么”而是先理解每個(gè)項(xiàng)目的來(lái)源和功能再判斷它能不能刪、怎么刪。這也是為什么我現(xiàn)在更推薦先用工具做“禁用”而不是直接“刪除”——禁用是可逆的刪除是永久性的。2. 動(dòng)手清理前先做三件事2.1 備份永遠(yuǎn)比清理重要在動(dòng)手之前我建議你先花三分鐘做一個(gè)備份這能讓你在誤操作之后不慌不忙地恢復(fù)。第一件事是創(chuàng)建系統(tǒng)還原點(diǎn)。按Win鍵輸入“創(chuàng)建還原點(diǎn)”并回車(chē)在“系統(tǒng)保護(hù)”選項(xiàng)卡里選擇系統(tǒng)盤(pán)點(diǎn)擊“創(chuàng)建”填一個(gè)描述比如“右鍵菜單清理前”等一兩分鐘就完成了。注意如果系統(tǒng)盤(pán)還沒(méi)有開(kāi)啟系統(tǒng)保護(hù)需要先點(diǎn)擊“配置”開(kāi)啟否則創(chuàng)建按鈕是灰的。有人覺(jué)得裝個(gè)軟件就創(chuàng)建還原點(diǎn)太興師動(dòng)眾其實(shí)右鍵菜單的注冊(cè)表修改出問(wèn)題最典型的表現(xiàn)是 explorer.exe 不斷崩潰重啟這時(shí)候如果沒(méi)有還原點(diǎn)就得手動(dòng)進(jìn)注冊(cè)表把刪掉的項(xiàng)補(bǔ)回來(lái)非常麻煩。第二件事是導(dǎo)出注冊(cè)表項(xiàng)。按Win R輸入regedit打開(kāi)注冊(cè)表編輯器在地址欄粘貼計(jì)算機(jī)\HKEY_CLASSES_ROOT\*\shell右鍵左側(cè)目錄樹(shù)選擇“導(dǎo)出”保存為.reg文件。同理把HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers也導(dǎo)出一份。這兩個(gè)路徑覆蓋了絕大多數(shù)文件右鍵菜單的第三方項(xiàng)目。導(dǎo)出之后把這個(gè)文件放到桌面或網(wǎng)盤(pán)里清理出問(wèn)題的時(shí)候雙擊導(dǎo)入即可還原。我個(gè)人的習(xí)慣是每次清理前都導(dǎo)出一次花的時(shí)間不超過(guò)半分鐘但安全感完全不同。2.2 分清右鍵菜單的不同位置這一步非常關(guān)鍵因?yàn)椴煌恢玫挠益I菜單注冊(cè)表路徑完全不一樣。很多人清理文件右鍵菜單時(shí)去查了文件夾右鍵的注冊(cè)表路徑結(jié)果找不到項(xiàng)目誤以為是軟件沒(méi)注冊(cè)成功其實(shí)只是找錯(cuò)了位置。右鍵菜單最基本的三個(gè)位置是文件上右鍵、文件夾上右鍵、桌面空白處右鍵。文件右鍵的注冊(cè)表項(xiàng)目主要掛在HKEY_CLASSES_ROOT\*\shell和HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers下面文件夾右鍵要同時(shí)看HKEY_CLASSES_ROOT\Directory\shell和HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers桌面空白處右鍵則對(duì)應(yīng)HKEY_CLASSES_ROOT\Directory\Background\shell和HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers。另外不同文件類(lèi)型還有獨(dú)立的右鍵菜單比如.exe文件的右鍵菜單路徑是HKEY_CLASSES_ROOT\exefile\shell圖片文件可能是HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell。如果你用一款右鍵菜單管理工具它會(huì)自動(dòng)幫你歸類(lèi)這些位置但如果你要手動(dòng)操作注冊(cè)表就必須先弄清楚你要清理的菜單是在哪個(gè)位置出現(xiàn)的。這不難只要記住一個(gè)原則注冊(cè)表里*代表所有文件Directory代表文件夾Directory\Background代表文件夾空白處桌面也是一種文件夾背景。2.3 用“狀態(tài)判斷法”識(shí)別哪些項(xiàng)能刪工具再好也得靠人來(lái)判斷哪些項(xiàng)該清理。我整理了一套簡(jiǎn)單的判斷方法叫“狀態(tài)判斷法”從三個(gè)維度給每個(gè)右鍵菜單項(xiàng)打分是否常用、是系統(tǒng)還是第三方、刪除后會(huì)不會(huì)影響核心功能。如果一個(gè)項(xiàng)目是第三方軟件加的而且你過(guò)去一個(gè)月根本沒(méi)用過(guò)它的右鍵功能那基本可以禁用或刪除。比如校驗(yàn)工具加的“CRC SHA”菜單很多人裝上之后其實(shí)從來(lái)沒(méi)點(diǎn)過(guò)這類(lèi)就屬于可刪項(xiàng)。如果一個(gè)項(xiàng)目是 Windows 系統(tǒng)自帶的比如“固定到快速訪問(wèn)”或者“共享”哪怕你用的頻率不高也建議保留因?yàn)橄到y(tǒng)更新或者某些應(yīng)用聯(lián)動(dòng)會(huì)依賴這些服務(wù)。還有一個(gè)維度是恢復(fù)難度如果右鍵菜單項(xiàng)對(duì)應(yīng)的軟件設(shè)置里有重新開(kāi)啟的開(kāi)關(guān)那隨便刪如果刪了只能靠重裝軟件才能恢復(fù)那就要謹(jǐn)慎點(diǎn)至少先禁用而不是刪除。舉個(gè)例子TortoiseGit的右鍵菜單在設(shè)置里可以自由勾選顯示哪些項(xiàng)目刪錯(cuò)了隨時(shí)能加回來(lái)這種就可以隨便清理而某個(gè)冷門(mén)網(wǎng)盤(pán)客戶端的右鍵菜單沒(méi)有設(shè)置開(kāi)關(guān)刪了注冊(cè)表項(xiàng)也不會(huì)自動(dòng)回來(lái)這種建議在工具里選“禁用”而不是“刪除”確保反悔時(shí)有退路。3. Windows 右鍵菜單清理實(shí)操?gòu)氖謩?dòng)到一鍵3.1 系統(tǒng)自帶設(shè)置能清理的部分很多人不知道一部分右鍵菜單項(xiàng)其實(shí)不用碰注冊(cè)表軟件自己的設(shè)置里就能關(guān)掉。這應(yīng)該作為清理的第一步因?yàn)樽畎踩?。?7-Zip 為例打開(kāi) 7-Zip 的主界面進(jìn)入“工具”菜單下的“選項(xiàng)”切換到“7-Zip”標(biāo)簽頁(yè)里面有一個(gè)“關(guān)聯(lián)菜單”的復(fù)選框列表把“CRC SHA”和“添加到壓縮包”等不需要的項(xiàng)目取消勾選點(diǎn)擊確定。WinRAR 也一樣在“選項(xiàng) - 設(shè)置 - 集成”里取消右鍵菜單關(guān)聯(lián)。網(wǎng)盤(pán)客戶端的右鍵菜單集成選項(xiàng)一般都在客戶端的設(shè)置里比如 OneDrive 在“設(shè)置 - 常規(guī)”里可以關(guān)閉“文件資源管理器中的文件按需加載的右鍵選項(xiàng)”堅(jiān)果云在“控制面板 - 常規(guī)”里可以關(guān)閉“資源管理器右鍵菜單集成”。這類(lèi)設(shè)置入口通常藏在“集成”“右鍵菜單”“資源管理器”“Shell 集成”這幾個(gè)關(guān)鍵詞相關(guān)的選項(xiàng)下。你只需要在軟件設(shè)置里搜一下這些單詞基本都能找到。我實(shí)測(cè)下來(lái)的體感是軟件自帶的開(kāi)關(guān)算是“軟件自己管自己的菜單”清理效果好、更新后不會(huì)被重新注冊(cè)優(yōu)先級(jí)最高。只有軟件的設(shè)置里找不到相關(guān)選項(xiàng)時(shí)才考慮用后面的注冊(cè)表或工具方案。3.2 注冊(cè)表手動(dòng)清理方法與原理如果某個(gè)軟件死活不給右鍵菜單關(guān)閉選項(xiàng)那就只能手動(dòng)清理了。手動(dòng)清理的原理不復(fù)雜右鍵菜單的本質(zhì)是注冊(cè)表里的一個(gè)鍵把那個(gè)鍵刪掉或者重命名Windows 就不會(huì)在資源管理器里加載它。我通常用“重命名”而不是“刪除”來(lái)做第一步驗(yàn)證把鍵名后面加上.bak刷新一下如果菜單項(xiàng)消失了說(shuō)明位置找對(duì)了如果還出現(xiàn)在右鍵菜單里說(shuō)明它的注冊(cè)位置不止一處再繼續(xù)排查。確認(rèn)沒(méi)問(wèn)題后再?gòu)氐讋h除。以清理文件右鍵菜單中的某項(xiàng)為例。按Win R輸入regedit打開(kāi)注冊(cè)表編輯器先定位到HKEY_CLASSES_ROOT\*\shell逐個(gè)展開(kāi)下面的子鍵查看鍵值里的默認(rèn)字符串找到目標(biāo)軟件名稱(chēng)后右鍵點(diǎn)擊這個(gè)子鍵選擇“重命名”在名稱(chēng)后加.bak然后回到桌面按F5刷新或者重啟資源管理器再隨便右鍵一個(gè)文件。如果菜單項(xiàng)消失了就說(shuō)明是這里控制的。然后關(guān)掉注冊(cè)表編輯器重新打開(kāi)找到那個(gè).bak鍵確認(rèn)目標(biāo)正確后直接刪除。注意刪除前先導(dǎo)出這個(gè)子鍵為.reg文件以防后悔。如果右鍵菜單項(xiàng)不是普通的命令而是帶圖標(biāo)的擴(kuò)展項(xiàng)通常子鍵下會(huì)有一個(gè)CLSID值那就需要去HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers下面找。這里面的子鍵名往往是{一串?dāng)?shù)字字母}格式的 GUID光看名字很難判斷是哪個(gè)軟件。技巧是點(diǎn)擊這個(gè) GUID 子鍵查看右側(cè)的默認(rèn)值大多數(shù)擴(kuò)展會(huì)在這個(gè)默認(rèn)值里寫(xiě)軟件名。如果默認(rèn)值為空就只能用工具來(lái)判斷了手動(dòng)翻注冊(cè)表很難。另外請(qǐng)注意很多 64 位軟件的右鍵擴(kuò)展會(huì)注冊(cè)在HKEY_CLASSES_ROOT\Wow6432Node\*\shellex\ContextMenuHandlers下找不到項(xiàng)目時(shí)去這里翻一下。如果需要通過(guò)命令行來(lái)操作可以先用reg export備份再用reg delete刪除。比如備份某個(gè)子鍵reg export HKEY_CLASSES_ROOT\*\shell\某個(gè)菜單項(xiàng) D:\backup_menuitem.reg確認(rèn)無(wú)誤后刪除reg delete HKEY_CLASSES_ROOT\*\shell\某個(gè)菜單項(xiàng) /f3.3 第三方工具一鍵清理推薦與操作流程手動(dòng)操作注冊(cè)表終歸是效率低、風(fēng)險(xiǎn)高我實(shí)際給朋友清理右鍵菜單時(shí)用的基本都是圖形化工具。這里推薦兩款一是微軟官方 Sysinternals 套件里的 ShellExView老牌工具專(zhuān)門(mén)看 Shell 擴(kuò)展二是開(kāi)源免費(fèi)的 ContextMenuManager上下文菜單管理器國(guó)內(nèi)開(kāi)發(fā)者寫(xiě)的界面中文便攜免安裝對(duì)普通用戶更友好。ContextMenuManager 的操作邏輯很簡(jiǎn)單下載解壓后以管理員身份運(yùn)行這里特別提醒必須以管理員運(yùn)行否則只能看不能改主界面左側(cè)會(huì)列出所有右鍵菜單項(xiàng)并且自動(dòng)標(biāo)注了“文件”“目錄”“桌面背景”等類(lèi)型還區(qū)分了“系統(tǒng)項(xiàng)”和“第三方項(xiàng)”。你只需要在列表里選中不需要的項(xiàng)目點(diǎn)擊菜單欄的“禁用所選項(xiàng)目”按鈕它就會(huì)在注冊(cè)表里把這個(gè)項(xiàng)標(biāo)記為禁用而不是物理刪除。刷新資源管理器后右鍵菜單立刻干凈很多。它的好處是“禁用”可逆任何時(shí)候點(diǎn)“啟用所選項(xiàng)目”就能恢復(fù)。原理上它還是操作注冊(cè)表只是把過(guò)程封裝成圖形界面并且會(huì)自動(dòng)識(shí)別菜的來(lái)源降低誤刪概率。另一個(gè)我偶爾會(huì)用到的工具是 ShellExView它的定位是專(zhuān)門(mén)管理 Shell 擴(kuò)展項(xiàng)也就是那些帶 CLSID、右鍵菜單只是入口的 DLL 組件。它的界面是全英文的但使用很簡(jiǎn)單用菜單欄的“Options - Filter By Type”勾選 Context Menu 擴(kuò)展然后看“Company”列鎖定第三方公司后選擇“Disable Selected Items”即可。這個(gè)工具的優(yōu)點(diǎn)是底層、精準(zhǔn)、官方出品缺點(diǎn)是對(duì)新手不夠友好需要知道哪個(gè)公司對(duì)應(yīng)哪個(gè)軟件。我的建議是普通用戶用 ContextMenuManager 就夠了開(kāi)發(fā)者或者折騰性能的用戶可以配合 ShellExView 使用。這里我要專(zhuān)門(mén)說(shuō)一句市面上那些所謂的“一鍵清理右鍵菜單”的優(yōu)化軟件動(dòng)不動(dòng)就整機(jī)“掃描清理垃圾”會(huì)把很多不該動(dòng)的東西也清理掉。右鍵菜單清理的正確做法是“選擇性禁用”而不是“全盤(pán)清除”那些上來(lái)就讓你點(diǎn)“一鍵清理”的工具我是真不推薦。3.4 Win11 經(jīng)典右鍵菜單恢復(fù)與清理Windows 11 的右鍵菜單是個(gè)單獨(dú)的討論話題因?yàn)橄到y(tǒng)默認(rèn)把菜單折疊了。Win11 剛發(fā)布那陣大批用戶都在吐槽右鍵菜單第一層默認(rèn)只顯示“打開(kāi)”“剪切”“復(fù)制”“重命名”等幾項(xiàng)想要完整菜單還得再點(diǎn)一次底部的“顯示更多選項(xiàng)”操作路徑多了一步而且啟動(dòng) Win10 經(jīng)典菜單之后原有菜單高度被壓縮找項(xiàng)目比 Win10 還慢。熱詞里提到的“win11右鍵菜單改回win10”和“win11經(jīng)典右鍵菜單恢復(fù)工具”說(shuō)的就是這件事。目前恢復(fù) Win11 經(jīng)典右鍵菜單最常用的方法是通過(guò)注冊(cè)表添加一個(gè)項(xiàng)。在 Win11 較早期版本上這個(gè)操作很穩(wěn)定方法如下按Win R輸入regedit定位到HKEY_CURRENT_USER\Software\Classes\CLSID右鍵新建一個(gè)名為{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}的項(xiàng)在這個(gè)項(xiàng)下再新建一個(gè)InprocServer32子項(xiàng)把子項(xiàng)的默認(rèn)值設(shè)置為空雙擊默認(rèn)值不填任何內(nèi)容確定。重啟資源管理器后右鍵菜單就會(huì)變回 Win10 的經(jīng)典完整菜單。不過(guò)我實(shí)測(cè)下來(lái)后來(lái)幾個(gè) Win11 版本對(duì)這個(gè)注冊(cè)表路徑的響應(yīng)有所變化有些版本比如較新的 Insider 預(yù)覽版已經(jīng)不再通過(guò)這種方式切換而是直接把“右鍵菜單增強(qiáng)功能”做成了系統(tǒng)選項(xiàng)。在較新的 Win11 中可以打開(kāi)“設(shè)置 - 個(gè)性化 - 任務(wù)欄”找到“右鍵菜單”相關(guān)的開(kāi)關(guān)或者在資源管理器的“查看 - 選項(xiàng)”里看看有沒(méi)有“傳統(tǒng)菜單”的切換。如果你的系統(tǒng)版本不支持注冊(cè)表方法就用之前提到的 ContextMenuManager 工具它的“高級(jí)功能”菜單里有“恢復(fù) Win10 右鍵菜單樣式”的快捷按鈕操作起來(lái)比手動(dòng)改注冊(cè)表穩(wěn)得多。另外提醒一句很多用戶裝了“一鍵恢復(fù)經(jīng)典右鍵菜單”的小工具但這些工具修改的注冊(cè)表路徑往往是相同的如果你之前已經(jīng)手動(dòng)改過(guò)InprocServer32的默認(rèn)值再運(yùn)行工具可能會(huì)沖突。穩(wěn)妥做法是先手動(dòng)改注冊(cè)表如果失敗或者版本不支持再考慮用工具不要同時(shí)混用多個(gè)工具改同一個(gè)鍵。4. 特殊場(chǎng)景專(zhuān)項(xiàng)清理4.1 關(guān)閉文件校驗(yàn)的 CRC/SHA 右鍵菜單熱詞里的“crc sha右鍵菜單顯示關(guān)閉”不是指 Windows 系統(tǒng)自帶功能而是指安裝 7-Zip 之后出現(xiàn)在文件右鍵菜單里的“CRC SHA”子菜單。這個(gè)子菜單是 7-Zip 提供的哈希校驗(yàn)工具可以計(jì)算文件的 CRC32、SHA-1、SHA-256 等校驗(yàn)值。對(duì)普通用戶來(lái)說(shuō)這功能可能一年也用不到幾次但每次右鍵文件都要看到它確實(shí)占地方。關(guān)閉方法其實(shí)在上面提過(guò)打開(kāi) 7-Zip進(jìn)入“工具 - 選項(xiàng) - 7-Zip”在“關(guān)聯(lián)菜單”區(qū)域取消勾選“CRC SHA”選項(xiàng)。如果你用的壓縮軟件不是 7-Zip 而是其他支持校驗(yàn)菜單的軟件比如部分漢化版 WinRAR 或者第三方 Hash 工具設(shè)置入口類(lèi)似一般在軟件的“設(shè)置 - 右鍵菜單”或“設(shè)置 - 外殼集成”里。關(guān)掉之后文件右鍵菜單里的“CRC SHA”一項(xiàng)會(huì)整體消失文件校驗(yàn)的功能不會(huì)受影響你還是可以通過(guò)打開(kāi) 7-Zip 主界面手動(dòng)選擇文件計(jì)算哈希值。唯一要留意的是如果你在某個(gè)教程網(wǎng)站下載過(guò)綠色版的校驗(yàn)工具比如 HashTab這類(lèi)工具可能需要到“控制面板 - 程序卸載”里卸載或者在工具自身設(shè)置中關(guān)閉 Shell 擴(kuò)展跟我前面說(shuō)的注冊(cè)表清理邏輯是一樣的。4.2 開(kāi)發(fā)者遇到的右鍵菜單清理以 GridControl 為例開(kāi)發(fā)者群體的右鍵菜單問(wèn)題往往和普通用戶不太一樣最典型的就是開(kāi)發(fā)工具自己帶的右鍵菜單項(xiàng)而不是 Windows 系統(tǒng)層面的。比如熱詞里的“gridcontrol 右鍵菜單”指的是 DevExpress 的 GridControl 控件在使用 Visual Studio 設(shè)計(jì)界面時(shí)GridControl 上右鍵會(huì)彈出一大堆操作菜單包括“Run Designer”“Run Designer (MVP)”“About”等。這類(lèi)菜單不是注冊(cè)表控制的而是控件提供給設(shè)計(jì)器的擴(kuò)展菜單數(shù)量多、層級(jí)深確實(shí)影響開(kāi)發(fā)效率。針對(duì) GridControl 的菜單簡(jiǎn)單辦法是在設(shè)計(jì)器里通過(guò)屬性來(lái)控制選中 GridControl右下角“Properties”面板里找到“Design”相關(guān)的屬性或者直接在控件上方右鍵選擇“Customize”去調(diào)整菜單項(xiàng)顯示。如果你只是想減少右鍵菜單的視覺(jué)干擾還可以通過(guò)ContextMenuStrip綁定一個(gè)空菜單來(lái)覆蓋默認(rèn)右鍵菜單簡(jiǎn)單說(shuō)就是在窗體上拖一個(gè)ContextMenuStrip把它的“ShowImageMargin”屬性設(shè)為 false然后給 GridControl 的ContextMenuStrip屬性指定這個(gè)空菜單這樣右鍵點(diǎn)擊 GridControl 時(shí)就不會(huì)彈出那一大串默認(rèn)的 Designer 菜單了。開(kāi)發(fā)環(huán)境里另一個(gè)右鍵菜單大戶是 Git 工具。裝完 TortoiseGit 后文件夾右鍵菜單里會(huì)多出很多項(xiàng)目比如“Git Commit”“Git Show log”“TortoiseGit”子菜單等。TortoiseGit 的特點(diǎn)是安裝的時(shí)候可以選“啟用哪些右鍵菜單”后續(xù)也可以進(jìn)入“Settings - Icon Overlays”和“Settings - Context Menu”來(lái)勾選需要的項(xiàng)目。我一般在“Context Menu”里把“Diff”“Blame”“Show log”按需保留其他不常用的統(tǒng)統(tǒng)取消勾選這樣既能保留版本管理的核心操作又不會(huì)讓右鍵菜單變得臃腫。VS Code 的“Open with Code”菜單如果你平時(shí)習(xí)慣從 VS Code 內(nèi)部打開(kāi)文件夾也可以在文件關(guān)聯(lián)設(shè)置里關(guān)閉或者考慮在注冊(cè)表里刪除對(duì)應(yīng)的項(xiàng)。這類(lèi)開(kāi)發(fā)工具菜單的清理思路和前面一樣優(yōu)先看軟件自身設(shè)置其次再用工具禁用。4.3 macOS 右鍵菜單如何處理雖然這篇文章主要講 Windows但熱詞里既然提到“mac右鍵菜單”我順便講一下 macOS 的情況畢竟很多 macOS 用戶的右鍵菜單實(shí)際上應(yīng)該叫“輔助點(diǎn)按菜單”也會(huì)被各種 App 塞滿。macOS Finder 的右鍵菜單不像 Windows 注冊(cè)表那樣開(kāi)放第三方擴(kuò)展主要是通過(guò)系統(tǒng)的“擴(kuò)展”機(jī)制注冊(cè)的。要清理打開(kāi)“系統(tǒng)設(shè)置 - 隱私與安全性 - 擴(kuò)展”里面會(huì)列出“訪達(dá)”擴(kuò)展、“抓取”擴(kuò)展等內(nèi)容。比如你安裝了某個(gè)解壓工具、云盤(pán)客戶端或者剪貼板管理工具它的 Finder 右鍵菜單項(xiàng)一般會(huì)出現(xiàn)在“訪達(dá)”擴(kuò)展列表里直接把這個(gè)擴(kuò)展取消勾選右鍵菜單就會(huì)立刻干凈很多。這里要專(zhuān)門(mén)提醒一下macOS 的擴(kuò)展機(jī)制是系統(tǒng)強(qiáng)制的取消勾選只是讓 App 不在 Finder 右鍵里展示并不會(huì)卸載 App 本身所以不用擔(dān)心理順功能消失。如果你安裝的是 CleanMyMac 這類(lèi)系統(tǒng)清理工具它的右鍵菜單項(xiàng)也是在“訪達(dá)”擴(kuò)展里管理直接取消勾選即可。macOS 和 Windows 在右鍵菜單的架構(gòu)上有本質(zhì)區(qū)別macOS 采用沙盒化擴(kuò)展機(jī)制App 只能向系統(tǒng)申請(qǐng)?zhí)囟ㄎ恢玫牟藛雾?xiàng)用戶可以在系統(tǒng)設(shè)置里統(tǒng)一管理安全性和可逆性都好很多Windows 則是開(kāi)放注冊(cè)表協(xié)議任何軟件都能往HKEY_CLASSES_ROOT里寫(xiě)自己的菜單項(xiàng)所以 Windows 的右鍵菜單清理需求比 macOS 嚴(yán)重得多。這也解釋了為什么市面上右鍵菜單清理工具基本都是 Windows 系的而 macOS 用戶一般只需要在系統(tǒng)設(shè)置里動(dòng)動(dòng)開(kāi)關(guān)就好。5. 清理原則與避坑清單5.1 清理右鍵菜單的五個(gè)原則關(guān)于右鍵菜單清理我在這個(gè)領(lǐng)域折騰了很多年也幫不少同事和朋友清過(guò)總結(jié)下來(lái)有五個(gè)原則照著做基本不會(huì)翻車(chē)。第一只刪第三方項(xiàng)目不碰微軟系統(tǒng)項(xiàng)目。判斷方法很簡(jiǎn)單在 ContextMenuManager 或者 ShellExView 里看“公司”列標(biāo)著 Microsoft Corporation 的項(xiàng)一律留著別手癢。系統(tǒng)項(xiàng)目之間往往有隱藏依賴你以為刪掉的是“可選的系統(tǒng)菜單”結(jié)果可能要連帶著失去某個(gè)窗口的右鍵功能比如系統(tǒng)自帶的“固定到快速訪問(wèn)”刪掉后很多第三方應(yīng)用的文件對(duì)話框里“最近使用的文件”跳轉(zhuǎn)會(huì)失效。第二刪除之前必須先導(dǎo)出或創(chuàng)建還原點(diǎn)。這已經(jīng)是老生常談了但真的有人不照做出問(wèn)題之后在評(píng)論區(qū)里喊“救命”。導(dǎo)出.reg文件只需要半分鐘還原也只需要雙擊一下付出的成本極低收益極高。第三按使用頻率來(lái)判斷而不是按“出現(xiàn)位置”來(lái)判斷。有些菜單項(xiàng)雖然出現(xiàn)在右鍵菜單頂部看起來(lái)“礙眼”但如果你每天都用比如“用某某編輯器打開(kāi)”那就不應(yīng)該刪。清理的目的是降低檢索成本把高頻操作干掉結(jié)果每次都要繞一大圈屬于本末倒置。第四能禁用就不刪除能折疊就不隱藏。禁用通過(guò)工具標(biāo)記是可逆的刪除是不可逆的而像 Win11 的“顯示更多選項(xiàng)”機(jī)制相當(dāng)于系統(tǒng)幫你把低頻菜單折疊到二級(jí)菜單里這本身就是一種最好的“清理”——不刪任何功能只是降低視覺(jué)干擾。第五一次只改一項(xiàng)改完立刻測(cè)試。這是程序員改代碼的習(xí)慣放在注冊(cè)表操作上同樣適用。一次改多項(xiàng)如果出現(xiàn)問(wèn)題你不知道是哪個(gè)操作導(dǎo)致的排查成本會(huì)成倍上升。每改完一個(gè)項(xiàng)目就回到桌面按F5刷新右鍵一個(gè)文件看看效果再繼續(xù)下一個(gè)。5.2 常見(jiàn)問(wèn)題快速排查右鍵菜單清理過(guò)程中遇到的問(wèn)題是五花八門(mén)的這里把最常碰到的幾種整理成一張速查表問(wèn)題可能原因解決辦法清理后某個(gè)右鍵菜單找不到誤禁用了對(duì)應(yīng)項(xiàng)打開(kāi)工具查看“已禁用”一欄啟用該項(xiàng)目右鍵菜單清理后功能不可用刪除了軟件的功能入口而非菜單項(xiàng)重裝對(duì)應(yīng)軟件或者手動(dòng)寫(xiě)回注冊(cè)表項(xiàng)右鍵菜單整體加載變慢Shell 擴(kuò)展項(xiàng)過(guò)多或某個(gè)第三方擴(kuò)展損壞用 ShellExView 逐個(gè)禁用第三方擴(kuò)展找到卡頓根源清理后又自動(dòng)出現(xiàn)軟件啟動(dòng)時(shí)自動(dòng)重新注冊(cè)到軟件設(shè)置里關(guān)閉“右鍵菜單集成”選項(xiàng)而不是刪注冊(cè)表右鍵菜單打不開(kāi)誤刪了系統(tǒng)關(guān)鍵擴(kuò)展項(xiàng)重啟 explorer.exe不行就導(dǎo)入之前備份的.reg文件右鍵菜單里出現(xiàn)空項(xiàng)刪了主鍵漏了 CLSID 關(guān)聯(lián)去*\shellex\ContextMenuHandlers和Wow6432Node下補(bǔ)充刪除Win11 恢復(fù)經(jīng)典菜單失敗系統(tǒng)版本不支持舊注冊(cè)表方法改用工具或檢查系統(tǒng)設(shè)置里的“右鍵菜單”開(kāi)關(guān)找不到某個(gè)軟件注冊(cè)的菜單項(xiàng)注冊(cè)位置特殊或軟件以管理員權(quán)限注冊(cè)嘗試在HKEY_LOCAL_MACHINE下搜索軟件名或在工具里按關(guān)鍵詞搜索排查的時(shí)候有個(gè)通用技巧遇到“清理后不正?!钡那闆r不要慌先回想自己最后操作了哪一項(xiàng)把它重新啟用或恢復(fù)百分之八十的問(wèn)題都能當(dāng)場(chǎng)解決。如果恢復(fù)不了就從備份的.reg文件里找到對(duì)應(yīng)鍵手動(dòng)導(dǎo)入。5.3 實(shí)操心得與最終建議最后分享一個(gè)我處理過(guò)的真實(shí)案例。辦公室有臺(tái)電腦裝了五六個(gè)辦公軟件和兩個(gè)壓縮工具之后文件右鍵菜單足足有二十多項(xiàng)從“解壓到當(dāng)前文件夾”到“上傳到某網(wǎng)盤(pán)”從“用某截圖工具編輯”到“掃描病毒”中間還隔著兩個(gè)顯卡相關(guān)的菜單項(xiàng)。我拿 ContextMenuManager 看了一下把里面第三方軟件的菜單項(xiàng)按使用頻率分了類(lèi)常用的壓縮、編輯器打開(kāi)保留截圖工具和網(wǎng)盤(pán)選項(xiàng)中不常用的全部禁用再用 ShellExView 把兩個(gè)顯卡控制面板的擴(kuò)展項(xiàng)關(guān)掉整個(gè)過(guò)程十分鐘不到右鍵菜單最終只剩八項(xiàng)每一項(xiàng)都是這臺(tái)電腦使用者實(shí)際會(huì)點(diǎn)的功能。從那以后我形成了一個(gè)習(xí)慣新裝任何軟件時(shí)在安裝向?qū)Ю锪粢庖幌掠袥](méi)有“右鍵菜單集成”或“Shell 擴(kuò)展”的勾選項(xiàng)有就取消勾選裝完軟件之后順手打開(kāi)軟件設(shè)置把“右鍵菜單”相關(guān)選項(xiàng)過(guò)一遍。這樣就能在源頭阻止菜單膨脹而不是等它長(zhǎng)到失控再去清理。清理工具再好也只是事后補(bǔ)救從源頭控制才是上策。右鍵菜單這個(gè)事說(shuō)到底就是系統(tǒng)和第三方軟件之間“功能入口”博弈的縮影。軟件廠商希望自己的功能盡可能容易被用戶點(diǎn)到所以拼命往右鍵菜單里塞入口而用戶真正需要的恰恰是快速找到自己最常用的那兩三個(gè)操作。清理的意義不是刪功能而是恢復(fù)你對(duì)右鍵菜單的控制權(quán)。每次打開(kāi)工具禁用那些“半年不點(diǎn)一次”的菜單項(xiàng)時(shí)我都會(huì)有同一個(gè)感覺(jué)這比優(yōu)化開(kāi)機(jī)速度還要解壓。