一个关于图标的简单问题(100分)

  • 主题发起人 主题发起人 硕鼠
  • 开始时间 开始时间

硕鼠

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序使用FindExecutable可以找到一个文件的相关执行程序,用ExtractIcon可以从中<br>取得图标,但我不知道我应该取第几个图标,比如在我的电脑中指向JPG的执行文件和指向<br>GIF的执行文件都是 IE ,但IE中有很多图像,有的是标计JPG的有的是标计GIF的,请问<br>那个函数可以得到准确的图标位置?
 
这在注册表里,在HKEY_CLASSES_ROOT里找到.xxx的主键,其默认键值为文件类型键,<br>再在这里找到文件类型键,其DefaultIcon键的默认键值为图标所在的文件名,及其编号。
 
用<br>&nbsp;var imglist: Timagelist;<br>begin<br>&nbsp; &nbsp; ImgList:= TImageList.Create(Self);<br>&nbsp; &nbsp; ImgList.ShareImages:= True;<br>&nbsp; &nbsp; ImgList.Handle:= ShGetFileInfo(nil, 0, ShFileInfo, SizeOf(SHFileInfo),<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SHGFI_SMALLICON or SHGFI_SYSICONINDEX);<br>end;<br>所有的图标都在其中<br>若想要特定图标,只要改变第一个参数为文件名就行了,图标的index为 ShFileInfo.iHicon<br>(好像是的,你在看看帮助)
 
接受答案了.
 
后退
顶部