2010-02-25 71 views
1

我正在創建一個tar文件(來自多個文件),現在保存此tar文件時,我將該文件保存爲特定擴展名(.xyz),所以我希望每當我保存這個類型的文件(.xyz擴展名)從我的工具這個文件應該保存一個特定的ico文件格式。這與我們從mspaint保存bmp或jpeg文件類似,它們以其圖標文件格式保存。如何在創建文件時設置圖標文件

感謝

+0

如果您在Windows的工作,我想你可以告訴Windows的文件類型(名爲.xyz)與特定的圖標(可以定義)相關聯。這樣,操作系統就像處理大多數其他文件類型一樣處理圖標。 (Linux也可以做到這一點,但與Windows中的做法不同)。如果我更瞭解這一點,我會發佈一個真實的答案。 – FrustratedWithFormsDesigner 2010-02-25 04:48:08

+0

是啊截至目前我主要只在Windows操作系統上工作。 謝謝 – 2010-02-25 05:04:32

+0

是我的答案的任何用途? – 2010-02-28 12:29:43

回答

1

要關聯您的擴展名的圖標,你將有除非你關聯的一些程序與您打開它創建一個註冊表項和一個擴展名關聯的圖標並不意味着什麼,那您也可以在註冊表中執行例如:

  1. 爲程序的圖標名稱創建一個條目,例如 HKCU \ Software \ Classes下\ myprog.file.xyz

  2. 下HKCU \ Software \ Classes下\ myprog.file.xyz創建默認圖標enteries HKCU \ Software \ Classes下\ myprog.file.xyz \的DefaultIcon

    在這裏,你可以給路徑圖標或您的應用程序和圖標將從資源

  3. 採取建立開放和其他命令的入口,如果你希望你的擴展正確打開 如HKCU \ Software \ Classes下\ myprog.file.xyz \殼牌\打開\命令 並輸入到你的程序或任何其他程序

    同樣可以用於查看/打印等add命令現在你有

  4. 路徑告訴的註冊表,擴展名爲.xyz應該使用信息從HKCU \ Software \ Classes下\ myprog.file.xyz 所以創建一個條目 HKCU \ SOFTWARE \ Classes.xyz = myprog.file.xyz

其實如果你希望你可以直接在HKCU \ Software \ Classes.xyz中放置1-3,但是這個重定向是ab etter的做事方式。 ,因爲現在你可以簡單地將myprog.file.xyz分配給許多extrnsions,例如.xxx,.yyy或.zzz等

現在使用python模塊_winreg(http://docs.python.org/library/_winreg.html),您可以編程創建所有這些輸入。 例如該腳本將設置XYZ到蟒蛇圖標

from _winreg import * 

xyzKey = CreateKey(HKEY_CLASSES_ROOT, ".xyz") 
SetValue(xyzKey, None, REG_SZ, "MyTest.xyz") 
CloseKey(xyzKey) 

myTestKey = CreateKey(HKEY_CLASSES_ROOT, "MyTest.xyz") 
iconKey= CreateKey(myTestKey, "DefaultIcon") 
CloseKey(myTestKey) 

SetValue(iconKey, None, REG_SZ, "D:\\Python25\\python.exe") 
CloseKey(iconKey)