簡體   English   中英

如何判斷文件是否沒有關聯的圖標

[英]How to tell if a file has no associated icon

我正在使用SHGetFileInfo api來獲取句柄並顯示與特定文件關聯的圖標。

如果該文件沒有與之關聯的圖標,Windows將為您返回在資源管理器中用於未知文件類型的默認文件。 在這種情況下,我希望顯示的圖標。

如何判斷該文件是否沒有關聯的圖標,Windows是否將默認圖標還給我?

在我的系統上,在這種情況下, SHFILEINFO.iIcon始終等於3,但是我不確定那是否可靠,我希望有一種更好的方法來檢查這一點。

編輯:我的目標是Windows XP及更高版本

謝謝

您定位到哪些操作系統版本? 如果您可以假定使用Vista和更高版本,則可以使用API SHGetStockIconInfo

SHGetStockIconInfo(SIID_DOCNOASSOC, SHGSI_SYSICONINDEX, &sii) 

將返回您在sii.iSysImageIndex中尋找的圖標索引。

您可以嘗試將帶有未知擴展名的虛擬文件名傳遞給SHGetFileInfo(),跟蹤其報告的圖標索引,然后將該索引與實際文件進行比較。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM