这些问题都不知道问过多少遍了 :-(<br>1,2.举例,关联 .abc 类型的文件,并关联当前文件的图标(可以是exe,dll,ico)<br>procedure TMainForm.AddABCReg;<br>var<br> reg: TRegistry;<br>begin<br> reg := TRegistry.Create;<br> reg.RootKey := HKEY_CLASSES_ROOT;<br> reg.OpenKey('.abc', true);<br> reg.WriteString('', 'abc_auto_file');<br> reg.CloseKey;<br> reg.OpenKey('abc_auto_file/shell/open/command', true);<br> reg.WriteString('', '"' + application.ExeName + '" "%1"');//用当前文件打开.abc文件<br> reg.CloseKey;<br> reg.OpenKey('abc_auto_file/defaulticon',true);<br> reg.WriteString('',application.ExeName+',0');//取当前文件的图标为.abc文件的图标<br> reg.Free;<br>end;<br><br>2.//如果关联后图标被删除了,被关联的文件类型将显示什么图标。<br>如果有相关联的文件,则是一个空图标加该关联文件图标的缩略图<br>如果没有关联文件,则是系统默认的图标,98的是一个windows标志<br>me的是类似文件夹的图标。<br><br>3.搜索HKEY_CLASSES_ROOT主键下所有的.xxx(xxx为要判断地的扩展<br>名)键的关联程序即可。