修改注册表关联文件后怎样显示出相关图标?

coolqiang 2000-01-14 08:16:00
修改注册表关联文件已经成功,但文件没有图标显示,应该怎么办?
...全文
303 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
coolqiang 2000-01-16
  • 打赏
  • 举报
回复
多谢诸位的热诚帮助!
olo 2000-01-14
  • 打赏
  • 举报
回复
设置DefaultIcon了吗?
limodou 2000-01-14
  • 打赏
  • 举报
回复
通过对注册表进行修改,可以实现一种文件名后缀与某个应用程序相关联
程序例如下:
procedure registerfiletype(ft,key,desc,icon,prg:string);
//ft:文件名后缀,如可以为'.tst'或'afile.tst'
//key:在注册表中的键值,要唯一
//desc:关联程序的描述
//icon:缺省的程序图标,如Application.ExeName+',1',可以缺省
//prg:对应的应用程序
var myreg : treginifile;
ct : integer;
begin

// 取文件的后缀
ct := pos('.',ft);
while ct > 0 do begin
delete(ft,ct,1);
ct := pos('.',ft);
end;
if (ft = '') or (prg = '') then exit; //判断后缀及应用程序是否有效
ft := '.'+ft;
myreg := treginifile.create('');
try
myreg.rootkey := hkey_classes_root; // 根应该为HKEY_CLASSES_ROOT
if key = '' then key := copy(ft,2,maxint)+'_auto_file';
// 如果没给出键值,则自动创建一个
myreg.writestring(ft,'',key); // 写入描述的键值
myreg.writestring(key,'',desc); // 写入描述
if icon <> '' then
myreg.writestring(key+'\DefaultIcon','',icon);
// 写入缺省图标
myreg.writestring(key+'\shell\open\command','',prg+' "%1"');
//写入相关联的应用程序
finally
myreg.free;
end;
end;
调用例子:
Example:
registerFileType('.tst',
'testfile',
'测试关联文件',
Application.ExeName+',1',
Application.ExeName);
原理说明:
程序关联的键值放在注册表根为HKEY_CLASSES_ROOT下面。实现文件关联要写入两
个键值:后缀键值和描述键值(可用术语用的不对)
如实现将.tst与程序tstfile.exe相关联
其中后缀键值形为: .tst myprogram
key值为文件后缀,取值为对于key的一个描述
描述键值形为: myprogram 文件描述
其中还有相应的子键,如缺省的程序图标,形为:
myprogram\DefaultIcon '', 'tstfile.exe,1'
打开命令,形为:
myprogram\shell\open\command '', 'tstfile.exe "%1"'
写入完这两个键值后就可以实现文件与应用程序相关联了。
kxy 2000-01-14
  • 打赏
  • 举报
回复
我给你发了一个程序,测试通过.
此程序是一个老外写的,用memproof测试有内存问题,
不要直接使用,看她的算法即可.
包括以下注册表优化内容 EXE关联文件修复.reg xp网速提升 ADSL.reg 不加载多余的DLL文件.reg 不在桌面上显示系统版本.reg 不显示Administrator超级用户.REG 不显示共享文档和用户文档.reg 使XP系统支持135G以上的硬盘(推荐).REG 修复AMD处理器的AGP内存分页问题.reg 修改FlashGet的30个线程和100下载任务.reg 修改Internet Explorer标题为Microsoft敬赠.reg 停止磁盘空间不足警告.reg 允许为回收站重命名.reg 允许改变背景.REG 关机时自动关闭停止响应的程序.reg 关机时自动清除开始菜单的文档记录.reg 关闭Dr_Warson.reg 关闭XP文件保护.reg 关闭Zip支持.cmd 关闭光盘自动运行.REG 关闭共享.reg 关闭智能菜单(比如说隐藏不常用的菜单选项).REG 关闭程序仅等待1秒_程序错时等待0.5秒.reg 关闭系统文件保护.REG 关闭自动重新启动功能.reg 关闭菜单显示延迟.REG 减少开机滚动条滚动次数.reg 删除Windows自带的墙纸.cmd 删除Windows自带的屏幕保护程序.cmd 删除图标快捷方式的字样.reg 删除在开始菜单中的(文档)选项.reg 加上复制和移动键.reg 加快XP开机及关机速度.reg 加快局域网访问速度.reg 加快开关机机速度,自动关闭停止响应.reg 加快开机速度副值.reg 加快搜索网上邻居的速度.reg 加快程序运行速度.reg 加快自动更新率.reg 加快菜单显示速度.reg 加快预读能力改善开机速度.reg 去掉右键“新建”菜单中的“BMP”.REG 去掉右键“新建”菜单中的“DOC”.REG 去掉右键“新建”菜单中的“RTF”.REG 去掉右键“新建”菜单中的“WAV”.REG 去掉右键“新建”菜单中的“公文包”.REG 取消 IE 自动缩图功能.reg 取消3721等ActiveX.REG 取消IE自动调整图片大小的功能.REG 取消Windows 图片及传真检视器的预设值.reg 取消快捷方式的箭头.reg 启动XP的路由功能和IP的过滤功能.reg 启动预读和程序预读可以减少启动时间.reg 在BSOD事件中禁用自动重启动.REG 在右键菜单中加入“记事本”打开项.REG 在启动电脑时执行 Defrag 程式.reg 在我的电脑上全部隐藏磁碟机.reg 在桌面上显示系统版本.reg 完全禁用系统还原.reg 屏蔽资源管理器中的(文件F)和(搜索)菜单.reg 开启 IE 自动缩图功能.reg 开启CPU(256k)二级缓存,加速系统核心处理进程.reg 开启CPU(512k)二级缓存,加速系统核心处理进程.reg 开启IE的下载功能.reg 开启硬件优化.REG 彻底隐藏文件.reg 打开IE安全设定的隐藏项目.reg 打开XP资源管理器的状态栏.reg 打开启动优化功能.reg 控制面板显示方式改为经典方式.REG 显示Administrator超级用户.REG 显示共享文档和用户文档.reg 显示所有文件.REG 显示所有文件扩展名.REG 显示被彻底隐藏的文件.reg 显示被隐藏的文件.reg 添加DOS快速通道.REG 添加复制和移动到右键.REG 清除共享文件夹.reg 清除共享文件夹(推荐).REG 点右键以编辑方式打开可以更改IE背景.reg 点右键以编辑方式打开可以更改登陆背景.reg 登记你的 Windows XP.reg 登陆选单不显示Administrator超级用户.reg 登陆选单显示Administrator超级用户.reg 禁止(IPC$)自动打开默认共享(推荐).REG 禁止IE自动安装组件.reg 禁止使用注册表.reg 禁止添加“快捷方式”字样(推荐).REG 禁止记录最近访问过的文档.REG 禁止访问任务栏属性.reg 禁止远程修改注册表.reg 禁用Messenger服务(推荐).REG 禁用Remote Registry服务(推荐).REG 禁用Smart Card Helper服务.REG 禁用Smart Card服务.REG 禁用Task Schedule服务.REG 禁用Windows Time服务.REG 禁用Windows内置防火墙服务.REG 禁用Wireless Zero Config服务.REG 禁用“Windows XP漫游”.REG 禁用内置刻录功能.REG 禁用文件夹选项菜单.reg 禁用系统还原.reg 禁用错误报告(推荐).REG 移去开始中的“帮助”菜单.REG 给我的电脑添加服务.reg 缩短XP的开关机的等待时间.reg 自动关闭停止响应的程序.reg 自动关闭错误程序.REG 自动清除内存中多余的dll资料.reg 解决不能重新安装 IE6的问题.reg 解除无法执行“Regedit”的限制.reg 解除被禁止访问的任务栏属性.reg 让IE6可以10线程下载.REG 让IE6可以8线程下载.reg 让欢迎窗口更清晰.reg 还原 Windows 图片及传真检视器的预设值.reg 锁定IE的下载功能.reg 隐藏系统菜单栏.reg (点右键)以编辑方式打开可以更改IE背景.reg (点右键)以编辑方式打开可以更改登陆背景.reg

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧