文件扩展名和图标关联问题(15分)

B

biggo

Unregistered / Unconfirmed
GUEST, unregistred user!
我想通过文件的扩展名,来获取该扩展名在系统图标列表的索引号,
现在使用ShGetFileInfo函数只能通过磁盘上实际存在的文件才能返回图标列表的索引号。
还没有找到只给定扩展名就能返回该扩展名在系统图标列表上的索引号。
哪位大虾能帮帮忙,帮我解决这个问题。
[:(][red]注意,我要取得的是扩展名在系统图标列表上的索引号,而不是具体的图标文件,或图标句柄什么的。[/red]
 
注册表里面找,举个例子 你要找 *.txt
先用regedit看,发现了规律之后再写成程序
在 HKEY_CLASSES_ROOT 下面找到 .txt
他的(默认)是 'txtfile' (注意并不是全部文件都是xxxfile,要以查到的为准)
在 HKEY_CLASSES_ROOT 下面的 txtfile 下面的 DefaultIcon 的(默认)看到: icon所在的文件的资源的id号
 
[red]to:pipi.[/red]
你跑题了,你所得到的是所在文件的资源ID号
我要的是:[red]系统图标列表的索引号[/red]

大家继续努力!
 
一定要是实际的文件吗?
我没仔细看过,先去研究研究:)
 
“系统图标列表的索引号”:有这样一个东西存在吗?
 
[red]to Pipi.[/red]
好东西,当然有啊,只是看你怎么把它弄到手,
我的方法只能通过一个实际的文件,才能获取,
有什么好的方法来获得,大家想想办法。
 
你要的是不是这个:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=806651
 
关注!!
 
fileinfo:TShfileinfo;
imagelisthandle:Thandle;
imagelisthandle:=shgetfileinfo('c:',0,fileinfo,sizeof(fileinfo),SHGFI_SYSICONINDEX OR SHGFI_SMALLICON);
很简单吧
 
顶部