如何為與應用程式不關聯的文件類型註冊新圖標

如何為與應用程式不關聯的文件類型註冊新圖標

對於我的檔案後綴“.special”,我建立了一個新圖示並將其儲存為名為 c:\special.ico 的檔案。

我還建立了一個新的註冊表值 HKEY_CLASSES_ROOT.special\ (Standard) REG_SZ c:\special.ico

重新啟動我的電腦後,我的文件 c:\special.ico 與它前面的新圖標一起列在文件管理器中,但我的所有文件 c:\somefolder\somefilename.special 繼續顯示舊的,預設圖標。

我需要做什麼才能讓它們以新圖標顯示?

答案1

看來您錯過了添加DefaultIcon子項。然後...

為 DefaultIcon 子項指派一個 REG_SZ 類型的預設值,該值指定包含圖示的檔案的完全限定路徑。

來自微軟開發者資源 -如何將自訂圖示指派給文件類型

然後您必須調用圖標快取更新。刷新是一種簡單的方法,可以透過從對話方塊中執行以下命令來完成此操作,而不是完全重建快取Run

對於 Windows 10;ie4uinit.exe -show

適用於 Windows 7 和 8;ie4uinit.exe -ClearIconCache

答案2

MS 文件是正確的,但缺少每個使用者(UserChoice key)部分。如果 Userchoice 鍵存在並指向 ProgID,則該 ProgID 將有效,而不是 HKCR\ProgID 中的 ProgID。

如果您可以發布擴展的文件類型轉儲.special,有人將能夠更好地幫助您。文件類型診斷是一個很好的工具,可以產生完整的報告。

答案3

CharlieRB 和 w32sh,謝謝!我特別欣賞 w32sh 到 FileTypeDiag 的鏈接,這似乎是一個我不知道的有用工具。

有效的是 MS 連結中的文本,但不夠精確;相應的例子完全放錯了地方,甚至是錯誤的。

當您只需要新檔案類型(即尚未與某些應用程式關聯的檔案類型)的新圖示時,如果後綴/檔案類型為 .x 並且 (.exe) 的完整路徑,則在登錄中執行下列操作、 .ico 或其他)包含圖示的檔案是c:\y.ico

在 HKEY_CLASSES_ROOT 中

.x(即您建立新金鑰,將其留空,不要省略點,它是金鑰名稱的一部分)

.x\DefaultIcon(您在新項目 .x 中建立一個新子項目 DefaultIcon)

具有以下值:

(標準)(類型:REG_SZ)c:\y.ico(不需要雙引號 (""))

關閉並重新啟動您的電腦或簡單地用戶登出然後用戶登入(僅用戶改變將像簡單的“刷新註冊表”一樣不夠),然後您將在文件管理器中看到您的 .x 文件及其新的y 檔案中的圖示。 (在不更改圖示檔案名稱/位置的情況下更改圖示後也是如此,即當您替換圖示檔案的內容時:那麼新圖示只有在重新啟動或使用者登出登入後才可見。)

乾杯!

相關內容