我安裝了InDesign CS2和CS3。兩者都使用.indd擴展名的文件。 Windows如何知道使用哪個圖標?它使用正確的圖標,即CS2文件有CS2圖標和CS3文件有CS3圖標。Windows如何將圖標關聯到資源管理器shell中的文件?
怎樣的Windows知道如何做到這一點?
我怎樣才能提取或以我的程序使用此版本檢測系統?
編輯:
謝謝您的外殼擴展圖標處理程序的答案。對我來說是新的東西。但是,有什麼方法可以連接到InDesign提供的IconHandler並使用它來檢測InDesign文件的版本?
您不可能從InDesign的處理程序獲取該信息。但是,值得一提的是,是否有任何其他shell擴展註冊爲該文件類型,例如它可能會實現可以爲您提供該值的屬性界面。嘗試右鍵單擊以獲取文件屬性並檢查「詳細信息」選項卡。 我會嘗試加載cs2和cs3文件到十六進制編輯器,並看看前20個字節左右。在許多文件格式中,標題是通用的,並且包含版本號(不一定是2或3),因此您可以從中識別出來。 – 2010-02-25 22:38:34
@the_mandrill這就是我正在讀第一個字節。但版本信息不固定,有時會浮動。這就是爲什麼我正在尋找更可靠的方法,如果有的話。 – Kugel 2010-02-26 07:32:02
在這種情況下,除非文件格式已發佈或反向工程,否則您可能無法執行此操作。一種可能是調用Adobe的圖標處理程序,然後檢測哪個圖標已被使用,但這可能是不可靠的,並且當然要求處理程序已安裝在系統上(您可能無法保證,而且您不會能夠重新分配它)。 – 2010-02-27 22:20:51