我從來不用CorelDraw,但是出於愛好,早就想提取cdr縮略圖查看功能了,但是我一直有個誤會,朋友告訴我coreldraw12才有縮略圖查看功能,所以我也一直以為只有coreldraw12才能查看縮略圖。我一直找不到coreldraw12的下載地址,所以一直沒動它。沒想到今晚我安裝的coreldraw11也能查看cdr文件的縮略圖,早知道我就早提它了。
要提取某種文件縮略圖查看功能,一般時候第一步要從文件類型入手。
首先正常安裝coreldraw ,接下來打開注冊表的第一根鍵,有一個和本類型同名的鍵,比如cdr文件對應“.cdr”、psd文件對應“.psd”。現在想查找cdr文件的縮略圖功能,就先找到
[HKEY_CLASSES_ROOT.cdr]
這個鍵,然後觀察一下,這個鍵的內容比較少,只有一個默認值的名是“CorelDRAW.Graphic.12”:(我查找的時候是在coreldraw 11和coreldraw 12中混著進行的所以文件類型編號是coreldraw 12的,但是查看縮略圖的文件卻是coreldraw 11的,懶得整理了)
[HKEY_CLASSES_ROOT.cdr]
@="CorelDRAW.Graphic.12"
[HKEY_CLASSES_ROOT.cdrShellNew]
@="CorelDRAW.Graphic.12"
"NullFile"=""
裡面除了這些沒別的啦,下一步就根據這個鍵值"CorelDRAW.Graphic.12" 在注冊表中搜索,可以找到一個和它同名的鍵:
[HKEY_CLASSES_ROOTCorelDRAW.Graphic.12] 仔細觀察它下面的子鍵名,其中有一個是ShellExIconHandler我的英文懂的不多,只認識幾個簡單的,看這兩個字母好像是“外殼”和“ico文件”有關的,它的值是:
[HKEY_CLASSES_ROOTCorelDRAW.Graphic.12ShellExIconHandler]
@="{BF735767-E6DA-11cf-AB9B-00C0F00683EB}"
然後再根據它的值{BF735767-E6DA-11cf-AB9B-00C0F00683EB}在注冊表中搜索,可以找到下面這個鍵
[HKEY_CLASSES_ROOTCLSID{BF735767-E6DA-11cf-AB9B-00C0F00683EB}]
@="Corel CDR Icon Handler"
[HKEY_CLASSES_ROOTCLSID{BF735767-E6DA-11cf-AB9B-00C0F00683EB}InProcServer32]
@="C:Program FilesCorelCorel GraphicsProgramsCdrIco110.DLL"
"ThreadingModel"="Apartment"
在這裡可以看到一個文件所在的路徑,根據經驗判斷,一般找到准確路徑以後就算找完了,把找到的三個鍵值導出來,再把路徑中指定的文件復制出來就算提取完了。
以上部分說的是我“總結”出來的經驗,但是我在查找之前是不知道要如何查找的,所以是胡亂的找啊找的,等找到最後才發現原來這樣簡單。