如何根据扩展名得到windows图标 (100分)

  • 主题发起人 主题发起人 完颜康
  • 开始时间 开始时间

完颜康

Unregistered / Unconfirmed
GUEST, unregistred user!
如果是根据全文件名来做的请不要说了
 
全路经名你是知道怎么做的,那么简单啊,
比如你查 .txt
那么在临时目录下生成一个 txt 后缀的临时文件
那么就得到了一个txt的全路径名
那么你用完了再把这个文件一删,ok
 
这个不算办法!:(
说真格的:)
 
》》说真格的
注册表,还用继续说吗?
 
我告诉你方法
比如说,你想得到rm的
那么你运行regedit
在注册表,查 HKEY_CLASSES_ROOT/.rm 的“(默认)”看到“RealPlayer.RM.6”
那么再查 HKEY_CLASSES_ROOT/RealPlayer.RM.6,看看底下还有没有 DefaultIcon
就是看有没有 HKEY_CLASSES_ROOT/RealPlayer.RM.6/DefaultIcon
有的话,看看他的“(默认)”,是 C:/Program Files/Real/RealPlayer/RealPlay.exe,0
那个0大概是资源id,可能不是 icon index
 
1.取得文件管理
2.取得EXE图标
 
然后写成程序
 
SHGetFileInfo,最后一个参数加上SHGFI_USEFILEATTRIBUTES即可。MSDN里面说的很明白。
 
用大皮的方法简单,你如果查注册表,那要是它没有 DefaultIcon 呢(经常的事)
 
to YuHao_77: 不是吧?应该是 SHGFI_ICON 吧。
不过要是用大皮的方法的话,直接 ExtractIcon 就可以了啊。
 
beta:
这里也可以嘛:
HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/FileExts
 
错了,错了。
在我的机子上用/DefaultIcon找不到txt的图标,用/FileExts却找到了,所以昨天才说/FileExts这里也行,
今天一看,除了txt其它的在/FileExts都无法找到图标。还是/DefaultIcon这里找到的多一些。
 
我的机器上,txt也能在DefaultIcon找到图标
savenight,你的windows坏了
 
呵呵~~,我估计也是。
大家看看这个地方应该怎样利用? HKEY_CLASSES_ROOT/××/ShellEx/IconHandler
 
不愧是PiPi.阿 (此P拍的极响)
~~~打点了

方法不错,就是.txt 枚成功~~win me
 
以前讨论过的:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=806651
呵呵,给分吧
 
我翻了n贴,怎么没找到阿~~~~亏大了100分哪~~~5555555555555555
 
》》方法不错,就是.txt 枚成功~~win me
你的也没成功?
 
小完啊,你真不像话,人家一句话,就克扣了我50分
而且人家那方法,是必须存在文件的,也就是需要用我第一贴的方法的
哼哼哼
 
后退
顶部