[英]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.