2010-02-25 68 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)