找到一个文件后,如何得到这个文件的文件图标(50分)

  • 主题发起人 主题发起人 wcywang
  • 开始时间 开始时间
W

wcywang

Unregistered / Unconfirmed
GUEST, unregistred user!
找到一个文件后,如何得到这个文件的文件图标
 
图标位于文件头固定位置处,
你可直接读取,也可利用现成的工具,如EXESCOPE等
 
如果你是说找到 dll 或者 exe 等文件,要它的图标,那么
先用LoadLibraryEx (PChar (OpenDialog.FileName), 0,Load_Library_As_DataFile);
然后用 EnumResourceNames 找图标资源

如果是说找到 什么 doc 文件、htm文件之类要它的图标(象在“我的电脑”里面一样),那就另外一个方法
 
我的意思是象window中的文件查找一样,找到文件后,能够显示它的文件名及图标!
 
用ExtractIcon函数.
 
如何使用extracticon
 
同意用ExtractIcon
ExtractIcon函数从可执行、Dll、图标文件中提取 图标的句柄。

HICON ExtractIcon(

HINSTANCE hInst, // 实例句柄
LPCTSTR lpszExeFileName, // 图标文件名
UINT nIconIndex // 图标序号
);
注意:
我有一次取图标,得到的是16色的图标……
当时没有深究,请你注意一下,找到答案
<a href='mailto:hs_wind2000@163.net'>给我来信</a>

我看了一下你的第二个问题:
>我的意思是象window中的文件查找一样,找到文件后,能够显示它的文件名及图标!
那用 ExtractAssociatedIcon 非常合适!
如果文件没有图标(如:文本),则取连接或打开文件的图标
The ExtractAssociatedIcon function returns the handle of an indexed icon found in a file or an icon found in an associated executable file.

HICON ExtractAssociatedIcon(

HINSTANCE hInst, // application instance handle
LPTSTR lpIconPath, // path and filename of file for which icon is wanted
LPWORD lpiIcon // pointer to icon index
);
To wcywang :
打这些字很费时间,希望多给我分。
 
接受答案了.
 
后退
顶部