如果只知道文件扩展名,如何找到与之关联的(大小)图标呢? 比如,给一个文件:test.txt ,就可以根据“txt”这个扩展名来获取与之关联的记事本的(大小)图标。!用什么api呢?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 查询注册表里相关项阿如.txt注册为txt files然后再txt files里有它的详细信息 思路: 从给出的文件中找到该文件的默认打开程序, 然后从该程序.exe或其主引用库.dll中获取图标。 下面只是从exe和dll获取图标的api.Public Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long说明:判断一个可执行文件或DLL中是否有图标存在,并将其提取出来返回值:Long,如成功,返回指向图标的句柄;如文件中不存在图标,则返回零。如果nIconIndex设为-1,就返回文件中的图标总数参数表: hInst ---------- Long,当前应用程序的实例句柄。也可用GetWindowWord函数取得拥有一个窗体或控件的实例的句柄 lpszExeFileName - String,在其中提取图标的那个程序的全名 nIconIndex ----- Long,欲获取的图标的索引。如果为-1,表示取得文件中的图标总数 http://www.mvps.org/vbnet/index.html?code/toc/tocbytopic_f.htmRetrieving an Associated 16x16 Icon Using SHGetFileInfo http://www.mvps.org/vbnet/index.html?code/toc/tocbytopic_f.htmRetrieving an Associated 16x16 Icon Using SHGetFileInfo不错的。 我用那个代码可以不行!我是想根据文件类型取得图标,不是根据具体的文件来获得。现在,有很多软件如"WinZip" 能在它的文件列表中显示各类文件相关的图标(exe等可执行文件例外)。 注:是压缩包里的文件列表, 不是磁盘上已存在的文件。 SHGetFileInfo、ExtractAssociatedIcon等函数好象不能返回不存在的文件的图标. (如果根据不同的扩展名创建一个假文件, 获取图标后又删除, 未免太不专业了吧)能不能根据扩展名取得相关图标? 或其它方式? 问个技术问题。。。。 如何在窗体的系统菜单上添加自定义项? 请问两个VB问题! 这也算除数为零?,是vb的错,还是我的错? 如何下载需要预先登录的网页内容? 高薪招聘 关于注册表问题: 滚动条的问题! VB写的控件如何实现IObjectSafety接口? 65分求答案! 请问大侠:关于commondialog的简单问题?送分不客气! 希望得到你们的帮助
如.txt
注册为txt files
然后再txt files里有它的详细信息
判断一个可执行文件或DLL中是否有图标存在,并将其提取出来返回值:
Long,如成功,返回指向图标的句柄;如文件中不存在图标,则返回零。如果nIconIndex设为-1,就返回文件中的图标总数参数表:
hInst ---------- Long,当前应用程序的实例句柄。也可用GetWindowWord函数取得拥有一个窗体或控件的实例的句柄 lpszExeFileName - String,在其中提取图标的那个程序的全名 nIconIndex ----- Long,欲获取的图标的索引。如果为-1,表示取得文件中的图标总数
Retrieving an Associated 16x16 Icon Using SHGetFileInfo
Retrieving an Associated 16x16 Icon Using SHGetFileInfo
不错的。
现在,有很多软件如"WinZip" 能在它的文件列表中显示各类文件相关的图标(exe等可执行文件例外)。
注:是压缩包里的文件列表, 不是磁盘上已存在的文件。
SHGetFileInfo、ExtractAssociatedIcon等函数好象不能返回不存在的文件的图标. (如果根据不同的扩展名创建一个假文件, 获取图标后又删除, 未免太不专业了吧)能不能根据扩展名取得相关图标? 或其它方式?