
如果右鍵單擊或Alt+Enter按快捷方式,Windows 通常會顯示上下文功能表或特性立即對話框,即使快捷方式已損壞並指向不再存在的檔案或目錄。
我發現.exe
檔案快捷方式損壞需要一些時間,Windows 會花費幾秒鐘(在本例中為 15 秒),大概是在嘗試解析快捷方式,然後才最終顯示上下文選單或特性對話。即使刪除檔案也要等待15秒才會顯示刪除提示。複製或移動它們似乎不會觸發延遲。
我認為這可能是與網路相關的設置,但它似乎適用於每個(損壞的)快捷方式,無論它們指向何處。我瀏覽了 TweakUI,但什麼也沒發現。我查看了註冊表中的 15,000(和 0x3A98),發現沒有一個比 15(和 0x0f)更適用,15(和 0x0f)有很多命中,但沒有一個是造成這種情況的原因。
是否有一個設定可以確定解析快捷方式的超時時間?
答案1
事實證明,在本例中,它是一個 shell 擴展。
首先,我觀察到,當右鍵單擊損壞的快捷方式時,資源管理器會每秒嘗試打開它指向的可執行檔一次,持續 15 秒,然後放棄。
然後,我觀察了在右鍵單擊快捷方式時訪問的所有註冊表項,並瀏覽了HKCR\.lnk
、HKCR\lnkfile
、HKCR\.exe
和中的每一項HKCR\exefile
,檢查每一項是否有任何異常情況。
- 我打開註冊表編輯器並禁用所有
exefile
擴展(透過在每個 CLSID 的開頭附加“#”) - 我發現右鍵單擊是立即的。精彩的!
- 然後,我透過刪除“#”重新啟用每個擴展,每次都右鍵單擊損壞的快捷方式
瞧!有問題的擴充{F0407C3D-349C-42B9-B83E-821E31623DF9}
與 CmdLineExt 相對應,聽起來很無辜(已經有一個擴充功能可以在任何資料夾中開啟命令列提示符),但事實並非如此。這個陰險且明顯有缺陷的擴展實際上是Explorer 的 SecuROM 上下文選單經過索尼 DADC 奧地利公司,而且似乎這個擴展是除了麻煩什麼都沒有。
我不確定它是如何或何時安裝的(可能是某些軟體的一部分),但索尼以其“rootkit”。
無論如何,據我所知,Windows 在解析快捷方式方面沒有延遲;它會立即檢測到損壞的快捷方式並消除錯誤(使用預設值)。