说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB如何从文件中提取图标

HTML文档下载 WORD文档下载 PDF文档下载
VB如何从文件中提取图标



使用下面的示例,你可以方便地从EXE,DLL及ICO文件中提取图标。该示例程序使用ExtractIconEX API函数从文件中提取图标,并返回图标句柄,然后利用该句柄,使用DrawIcon函数将图标绘制到目标设备中。最后清除句柄以释放系统资源。

创建新工程后,在工程中添加对Standard OLE Types的引用,然后在工程中添加一个标准模块。将下面的代码粘贴到标准模块中:

Option Explicit

Private Type PicBmp
Size As Long
tType As Long
hBmp As Long
hPal As Long
Reserved As Long
End Type
Private Type GUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(7) As Byte
End Type
Private Declare Function OleCreatePictureIndirect Lib "olepro32.dll" (PicDesc As PicBmp, RefIID As GUID, _
ByVal fPictureOwnsHandle As Long, IPic As IPicture) As Long

Private Declare Function ExtractIconEx Lib "shell32.dll" Alias "ExtractIconExA" (ByVal lpszFile As String, ByVal _
nIconIndex As Long, phiconLarge As Long, phiconSmall As Long, ByVal nIcons As Long) As Long

Private Declare Function DestroyIcon Lib "user32" (ByVal hicon As Long) As Long

Public Function GetIconFromFile(FileName As String, IconIndex As Long, UseLargeIcon As Boolean) As Picture

'参数:
'FileName - 包含有图标的文件 (EXE or DLL)
'IconIndex - 欲提取的圉标的索引,从零开始
'UseLargeIcon-如设置为True,则提取大图标,否则提取小图标
'返回值: 包含标标的Picture对象

Dim hlargeicon As Long
Dim hsmallicon As Long
Dim selhandle As Long

' IPicture requires a reference to "Standard OLE Types."
Dim pic As PicBmp
Dim IPic As IPicture
Dim IID_IDispatch As GUID

If ExtractIconEx(FileName, IconIndex, hlargeicon, hsmallicon, 1) > 0 Then

If UseLargeIcon Then
selhandle = hlargeicon
Else
selhandle = hsmallicon
End If

' Fill in with IDispatch Interface ID.
With IID_IDispatch
.Data1 = &H20400
.Data4(0) = &HC0
.Data4(7) = &H46
End With
' Fill Pic with necessary parts.
With pic
.Size = Len(pic) ' Length of structure.
.tType = vbPicTypeIcon ' Type of Picture (bitmap).
.hBmp = selhandle ' Handle to bitmap.
End With

' Create Picture object.
Call OleCreatePictureIndirect(pic, IID_IDispatch, 1, IPic)

' Return the new Picture object.
Set GetIconFromFile = IPic

DestroyIcon hsmallicon
DestroyIcon hlargeicon

End If
End Function
在窗体中添加一个PictureBox控件和一个命令按钮,把下面的代码加入到命令按钮的Click事件中:

Set Picture1.Picture = GetIconFromFile("c:\windows\moricons.dll", _ 0, True)

按F5运行程序,点击命令按钮后,PictureBox会将文件moricons.dll中的图标索引为零的图标画到PictureBox中。

如何返回BDE的状态信息?-Delphi资料 如何控制关键字段的重复输入及报错-Delphi资料 如何设置Microsoft SQL Server 全文索引服务 ?-Delphi资料 如何设置多用户环境的PARADOX数据库-Delphi资料 如何实现在一个Dbgrid中显示多数据库-Delphi资料 如何用SQL查询日期型字段?-Delphi资料 如何在数据库中存放avi文件-Delphi资料 如何在注册表中注册BDE-Delphi资料 筛选数据-Delphi资料 实现不同数据库系统之间的数据转移-Delphi资料 使 用WISQL32 同 时 访 问SQL SERVER 和SYBASE 数 据 库Delphi资 使用Session构件可以在打开有密码的库时不用输入密码-Delphi资料 使用SQL实现字段数据的模糊查询-Delphi资料 数据表的索引被损坏了怎么办-Delphi资料 数据库的密码、日期显示-Delphi资料 数据库应用程序开发中图像数据的存取技术-Delphi资料 数据库中图像数据的存取技术-Delphi资料 数据库转换-Delphi资料 数据浏览部件的应用及编程-Delphi资料 数据文件路径的管理-Delphi资料 随意控制DBGrid每一行的颜色-Delphi资料 通过DELPHI实现JAVA调用ORACLE数据库数据 通过编写代码来设置数据库的别名-Delphi资料 为Delphi数据表格增加彩色 为Delphi提供Pack和Undelete功能 为Delphi中数据库报表加网格 为数据库报表加网格-Delphi资料 为数据库建立索引-Delphi资料 掀开SQL Server 7.0的面纱-Delphi资料 限制数据库记录数-Delphi资料 向数据库发送密码-Delphi资料 用ASP和Javascritp或Vbscript配合将SQL Server里的数据在客户端转换成EXCEL文件 Application的问题,急 谁能告诉我《银色幻想》在哪里有得下,万分感谢!!给分多多 新開一貼,sql語句請教,急,給分!!! 局域网内指定IP出现“该静态IP地址已经使用”,原理如何,如何编程实现。 一个语句的写法,up者有分 关于数据汇总的精典SQL语句求教! 有奖捉疵 50分 怎么打*****号部分的代码总不执行啊? 请问如何列举当前打印机支持的纸张信息? 歌词和音乐同步问题?winnap的歌词插件基于什么样的原理做出来? 急救!!!关于对话框中编辑框重画问题 小问题。。。。只想知道为什么。。。。 转载(贫富悬殊的中国) !!!用ASP能否实现一次上传一整个目录下所有的文件(子目录不算)?高手请答复! TreeView专题讨论 j2me中请问如果将textField中的内容写入到moto388手机的记事本中? 在vc中调用其他的exe include 另外一个jsp文件时,能向那个文件传参数吗?不能的话,有其他办法吗?谢谢 系统不能识别DaysBetween,如何处理 请问如下通过web连续下载图片,只是第一张要提示,以后每张就不再提示了? 关于ADO驱动MDAC版本的疑问 兄弟要工作了,是不是只要见到领导都要打次招呼? 我的问题!! 最近在用MFC写GDI程序,请前辈们给点建议 老兄给一些建议啊!用VB做什么毕业设计比较合适啊? 急,获取主板信息的问题! 请教finder的排序问题 mysql对一个数据库中表的数量有没有限制? 100分,急求控件的编写方法~!!!!我在做的项目想用到类似于vc编译器左边的class,resource,file view的窗口控件,谁有? 为什么我收到的邮件列表每次都是乱码?怎样打开? 大家帮看看这段代码哪出问题了,在线给分 求高效统计算法(在线等待,采纳着需要分来信200) 怎样将bcb中vcl 及其他组件改为activex??? 微软的面试题 treeview 控件在客户端的操作? 怎样在程序里找无标题的DLG! j2me中请问如果将textField中的内容写入到moto388手机的记事本中? 谁可以和我说一下LINUX是如配置的! 请问:如何在java通过xml文件和他的schema,既得到标签里的内容,有能够知道内容的类型 已修改的列 C++Test讨论区 菜鸟提问,大家不要笑我啊! 这里还有人在用Java IDE工具JawaBeginer的吗? 有谁知道aspopup控件的功能和作用--在线等待 100分,急求控件的编写方法~!!!!我在做的项目想用到类似于vc编译器左边的class,resource,file view的窗口控件,谁有? 简单的菜鸟问题!! 如何写WPE这种类型的软件? 向DX请教两个开发上的问题,请不吝赐教! java中字符串数组,转化为javascript数组,jsp页面显示为乱码,代码如下: 小问题一个 有关QuickStart中示例 求SQL语句,一表值通过另一表更新 基多和利马两地气候的相似之处还有不同之处! 侵入岩不是在地下冷凝结晶而形成的岩石吗?华山,衡山,黄山,普陀山都是侵入岩,但是它们都怎么在地表上 下面一幅图中的最后一行的最后两个硬币图案是哪个国家的硬币啊 B型超声波诊断仪是医学上利用()准确获得内部疾病信息的医疗器材蝙蝠在飞行中发出(),根据()到来的方位和时间确定位置和距离;根据回声定位的原理,科学家发明了(),用来探测鱼群 为什么利马是秘鲁的首都 一个凸多边形共有20条对角线,它是几边形?是否存在有18条对角线的多边形?如果存在,它是几边形?如果不存在,说明得出结论的道理 移动通信系统使用的是无线电波的哪个频段? 秘鲁为什么选择在热带沙漠中定都(利马) 旁通阀装在什么位置?起什么作用? abaqus中如何判断约束自由度的个数 华山的岩石种类 请问发动机润滑系统的限压阀和旁通阀各起什么作用? 大学物理,这个公式怎么判断自由度有多少? 怎样割划玻璃 已知函数单调性,求参数范围若f(X)=4x+ax∧2-(2╱3)x∧3在R上总是减函数,求a的取值范围 如何在频段不同发送无线电波比如2.4Ghz,我知道这是一个频段,那2.4Ghz对于实际电路上应该怎么理解,对应这个频率我们需要做些什么,发送频率是2.4Ghz么? 哪个秘鲁首都噢利马成为“无雨城”的自然原因是什么? 浅谈已知函数的单调性求参数范围的几种方法 超声波如何清洗精密零件的? 无线电波怎么划分的?与射频技术的区别? 求解答😂😂😂谢谢大神了, 利用人工分离培养的微生物制造饮料是利用了化学方式还是利用了现代生物技术? 犯罪片,讲一个人把他的妻子杀了,但是找不到证据,因为杀人的枪是警察的,谁知道电影名?那个警察和杀人犯的妻子有外遇 沸腾能杀死什么细菌 y=(x-1)/x 的图像应该怎么画?这种类型叫什么函数?急,同上 二重积分(x+y)^2dxdy,D由x^2+y^2>=2x,x^2+y^2<=4x.极坐标角度和r怎么确定? 爱好记号笔快没水怎么办 若坐标原点O到直线x/a+y/b=1 的距离为1 求ab范围, 哪个频段的电磁波发射的远 【基础好的大神进】小学数学没学好,数学渣问问小学的知识,给自己补补.基数和增长率那个,基数概念是什么?不要百度百科上太专业的解释!我看不懂的.还有增长率的问题,增长率我一直很陌 若原点O到直线x+y+c=0的距离等于1,则c= 厄瓜多尔的首都基多的气候是什么?有什么特征? 什么水能隔绝细菌?最近我带了一个活动牙套,医生说取下来的时候放进冷水里,这是为什么? 超声波是否可以灭菌?我希望知道超声波振动细菌多长时间细菌会死亡?呈什么样的变化曲线,或是有怎样的规律? 在真空中能传播的电磁波总共有多少频道?我们能够精确分辨的频率有多少种? 细胞器怎样进行自我复制? 超声波可以大面积杀菌吗 穿过南美洲厄瓜多尔首都基多的那条特殊纬线是什么? 椭圆的中心是坐标原点,长轴在x轴上,离心率是根号3/2,点P(0,3/2)到椭圆上的点最远距离是根号7,求这个椭圆方程. 直线l的解析式为y=4/3x+4,l与x轴,y轴分别交与a,b,求原点o到直线l的距离 厄瓜多尔首都基多为什么要坐落在高山山谷 这个题,学渣努力中 秘鲁的气候类型是? 厄瓜多尔首都基多市位于( )板块和( )板块交界处?有的说是太平洋板块和美洲板块,我看书好像是南极洲板块和美洲板块,明天就考试,求全解 黄河的谚语有哪些 超声波 可以对什么消毒 高1指数函数.急!我不是他舅进指数函数y=f(x)的图象经过点(a,e)则f(0)=? f(1)=? f(-a)=? 麻烦高手告诉我下,一定要步骤! 有关遥感前沿的问题.请问现在的遥感技术发展到了什么个状况,最新动态是什么?最新的研究成果有些什么?谢谢了!重点是问一下最新的研究成果是什么? 利用超声波的什么来进行消毒 1)如果函数f(x)=a^x(a^x -3a^2 -1)(a>0且a≠1)在区间【0,+∞)上是增函数,那么实数a的取值范围是?2)设a,b,c都是正数,且3^a=4^b=6^c,则有2/c=2/a +1/b 请证明!3)已知2^a*5^b=2^c*5^d=10,求证:(a-1)(d-1)=(b-1)( 凸多边形共有20条对角线,它是几边形 是否存在有18条对角线的多边形?如果存在它是几边形 不存在 为什么一元二次方程的应用 试题 在Y轴上求出与原点距离为3的点的坐标;在X轴上求出与点(1,0)的距离为4的点坐标. 为什么秘鲁首都利马建在热带沙漠中 一个凸边形共有20条对角线,它是几边形?是否存在有18条对角线的多边形?如果存在,它是几边形?如果不存在,说明道理 已知k 厄瓜多尔首都基多为什么坐落在高山山谷中?秘鲁首都利马为什么坐落在太平洋沿岸的热带沙漠中? 一个凸多边形共有20条对角线,它是几边形?是否存在有18条对角线的对边形?如果存在,它是几边形?如果不存在,说明得出结论的道理. 什么样的医疗设备使用与诊所我们的标准化卫生所想增加一些设备,但是不知道添加什么设备,就是在诊所比较使用的,经济使用型的 秘鲁首都利马,坐落在太平洋沿岸平均海拔105米的热带沙漠中,人口640多万.为什么呢?厄尔多瓜首都基多,坐落在赤道附近平均海拔2850米的高山山谷中,人口达140万,为什么呢?(人教版七年级下期 手机充电器测试怎样接灯泡? 美国纽约5人遭持刀袭击身亡 警方已拘印度连日暴雨致29人丧生 逾7万人强卡斯特罗曾否认涉肯尼迪遇刺案日本学者著书称:钓鱼岛从历史上看从未胡万林培训收费1万起 信徒称不给钱说陈德铭:服贸协议问题不便多说 愿去台美国窃听让法国“很受伤”今日海外关键词(10月27日):脱亚欧洲最高活火山喷发熔岩 在空中形成巨巴西华人协会举行新一届理监事就职典礼新书曝古巴前领导人卡斯特罗曾否认涉肯欧洲最高活火山喷发熔岩 在空中形成巨新书曝古巴前领导人卡斯特罗曾否认涉肯新快报头版就陈永洲收钱发失实报道致歉公务员报考热再起 专家:官本位与户籍嫦娥三号任务运载火箭从北京启程运往西雾霾应急预案受考验 专家:污染源不控道德说教者与偏执窃听狂俄罗斯举行大型集体哺乳快闪活动(组图俄罗斯举行大型集体哺乳快闪活动(组图二战中的情报暗战:丘吉尔为保密牺牲一2015年跟你有关的12个预言【强烈推荐】恒隆地产陈启宗:港人的敌设计驱动未来:90后优秀汽车设计师作一辈子那么短,别跟我说永远!中国经济结构内部将发生巨变,这5大类宋哲凯:5月27日凌晨现货白银空头压曝奥巴马APEC座驾 高B格配自动武心态越好,命运就会越好!!未来10年,这三大行业将面临最深远的唯一让我欣慰的是,你也不会年轻很久2015年谁运势好?五行喜木之人,恭这件事一发生,美国真正害怕了!然而大【经典收藏版】当电影遇见时尚,开启活秘不外传的实用取名攻略看不懂中国经济?读这一篇文章就够了(【内外兼修】有一种女人,只有魅力,没投胎究竟是怎么回事?德国的科技农业!全世界都震惊了!所以【创意】想不到烟灰缸也可以这么极具设鬼究竟以什么形式存在?小米下一个风口:笔记本业务完善其生态
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘