我正在创建一个tar文件(来自几个文件),现在在保存这个tar文件的时候我将这个文件保存为我的特定扩展名(.xyz),所以我希望每当我保存这个类型文件(.xyz扩展名)时我的工具此文件应使用特定的ico文件格式保存。这类似于我们从mspaint保存bmp或jpeg文件时,它们以图标文件格式保存。
由于
答案 0 :(得分:1)
要将图标与您的扩展程序相关联,您必须为其创建一个注册表项,并且与扩展程序相关联的图标并不意味着什么,除非您将某个程序与您打开它关联,您也可以在注册表中执行此操作例如
为您的计划的图标名称创建一个条目,例如 HKCU \ Software \ Classes下\ myprog.file.xyz
为默认图标创建enteries HKCU \ Software \ Classes下\ myprog.file.xyz \的DefaultIcon
在这里,您可以提供图标或应用程序的路径,图标将从资源中获取
如果您希望扩展程序正确打开,请为Open和其他命令创建一个条目 例如HKCU \ Software \ Classes下\ myprog.file.xyz \壳牌\打开\命令 并输入您的程序或任何其他程序的路径
同样可以添加查看/打印等命令
现在你必须告诉注册表扩展名.xyz应该使用来自HKCU \ Software \ Classes \ myprog.file.xyz的信息 所以创建一个条目 HKCU \ Software \ Classes.xyz = myprog.file.xyz
实际上如果你希望你可以直接在HKCU \ Software \ Classes.xyz中输入1-3,但这种重定向是更好的做事方式。 因为现在你可以简单地将myprog.file.xyz分配给许多extrnsions,例如.xxx,.yyy或.zzz等
现在使用python模块_winreg(http://docs.python.org/library/_winreg.html)你可以编程地创建所有这些enteries。 例如此脚本将xyz设置为python图标
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)