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

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中。

用户可通过Google Drive直接向Gmail添加高达10GB的文件 韩寒携个人App进军移动互联网 亮相应用汇独家发布会 摆脱谷歌 亚马逊向开发者正式发布地图API 为什么应该用模块取代C/C++中的头文件? Mozilla布道师:HTML5在移动端没有未来? 那些年,历史上留下浓重一笔的黑客们 林敏博士:透过设计看三星手机帝国崛起 OpenFeint血泪史:我们是如何被苹果逼死的 或免费升级:微软2013年推Windows Blue系统 取经:《捕鱼达人2》每月捞金160万美元的秘密 AWS推数据仓库服务Redshift 价格仅是Teradata IBM Oracle的十分之一 美国开展数据中心整合计划 简化政府IT运营 阿里巴巴数据交换平台——集大成于一身 [体验]Windows 8 Metro/Modern Style IE 10 Growth Hacker正席卷全球,你了解它吗? Splashtop发布Ubuntu Linux版本Streamer 性能超过VNC 10倍 Windows 8引领智能操作 人机交互进入触控时代 豌豆荚发布新版应用搜索 推出“绿色标签”机制 权威解读:苹果的未来将走向何方? Google炮轰Facebook:你们的社交已经过时了! iOS设备硬件规格完整汇总 2012 MDCC“2012移动互联网应用创新大赛与开发者面对面”专场:创所未享,携手逐梦! RIM携QNX为“2012 BlackBerry平台移动应用高校竞赛” 颁奖 BlackBerry 10 策略:用金钱吸引游戏开发者 黑莓10要来了:RIM正式开放应用提交 从RIM与微软达成exFAT授权所想到的 OpenStack中国行来到南京 中兴通讯分享电信行业应用 CSS架构目标:预测、重用、扩展、维护 黑客利用移动浏览器漏洞窃取云计算资源 地位动摇:Windows设备10月销量同比下滑21% 手机QQ浏览器4.0 Android版 极速快感 .net中的窗体控制问题,在线等待,100分 插入记录的问题 快周末了,偷懒中。。。 VB分布式开发中调用远程MTS/COM+上组件,怎么进行网络通讯? 哪位大哥有空??请指教!!! 恢复MBR时可以拿任意的一张win98启动盘吗,即mbr是否跟系统有关? 图片处理 经典问题 传递设备场景的问题 请问大家如何通过一个类名来取出这个类的对象指针啊? 怎样在数据库中存储图像文件 .net,在应用程序中如何释放资源? 是否能控制交叉报表的列的排序规则 我想在一张网页上有不同的CSS风格请问怎么做? 嘿嘿,谁有domino/notes开发的命名规范? >>>>>>>EVC中ShellExecuteEx的使用问题,100分相送!<<<<<<<< 如何从数据库读出数据,然后导出为EXCEL格式? To buick555(王飞),请看看,关于EJB连接数据库的。 jdbc配置不对,SunOS5,weblogic7.0,Oracle816,报错如下:(片段) delphi中如何实现c中的'<<'和'>>'移位操作符?急..急..急..急..急.. <COM技术内幕>讲的是COM的基本原理及其实现,请问想了解COM的应用,需要看什么书啊? 怎样判断一个文件是否存在啊? 请教高手:如何做一个分帧显示的页面?(vb.net)在线等待,马上给分。 为什么用户控件是抽象类呢? 报表的保存到文件中及文件的使用问题 IIUG 的informix FAQ 如何利用日志文件记录每一步操作?请hjhing(winding)兄,leimin(黄山光明顶) 兄前来继续问题 请问有谁看过direct x8.1 里的示例程序 directsound capture,我们讨论一下好吗? 请教:我每次新建窗体都要设置窗体的Font属性,请问: 推荐几本学习linux的书,谢谢 用VC编程,手头最好有哪些书(包括电子的)? 如何删除单文档项目中没有ID的菜单项?例如分隔条,Pop_up的菜单? Delphi中如何控制WORD 如何在VB中实现多个WORD文档合并成一个WORD文档? U 令女人反胃吗? 哈哈~ 像素格式 请高手指点:请问谁写过带有Collection属性的控件?简单的如:DropDownlist的Items,复杂的如DataGrid的Items 一个存储过程错误处理的问题 初学JAVA,问题多多! fastreport中怎样改变条码打印中字体的大小? 各位兄弟! 关于在CB中,数据转换成Excel文件的第三方控件,谢谢 那里有《shell编程》和关于curses编程的教程可以下载,请帮忙? STL中的算法有数学上的内插法吗? oracle里面有这样的sql,或日志什么文件的吗? 求助:怎样挽回一个崩溃的Domino?急!!! 为什么我在WIN98下已上网了(拨号),就是不能浏览网页。。。。:) 小弟刚申请为斑竹,发点DB2常用命令给大家,算是献一份薄礼!!! evb中如何通过socket传送文件 怎么用vb来作一个简易的像word一样的编辑器? ????ADO问题?? 雅思听力怎么练习提高?现在在准备复习雅思,准备寒假报班,想问问各位前辈,听力的复习经验.小妹英语听力十分薄弱而且感觉十分迷茫! 根据短文内容回答问题【英文,急】Look at this .the man in the picture is my brother.His name is tom .He works in a bank .He helps the bank use their money well.He likes working with numbers.He goes to work by bus,but he likes to walk hom yhe little girl is always __careful /caredully) ,so she does her homework ___( careful/carefully). 怎么练雅思听力雅思听力平时怎么自己练习呢?有经验的分享一下吧,另外谁有雅思真题的也分享一下吧.是不是还要扩充单词量啊?另外有考过GRE的同学也来分享一下经验吧。 英语,根据短文内容回答问题 You can't expect this old raincoat to keep out wind and rain. 我要一段自己用英文写的语言可以是凄凉的 可以是温馨的可以是感动的什么都可以 但是要充满想象 自己写的有感情的 英语短文内容答案Basketball stars are usually tall.The stars of other sports are sometimes short.Some of the best football players are not very tall. Short people often have better balance(平衡)than tall people,so they do not fall today_____wednesday.this morning it___rainy____wind.the children___unhappy.now,the rain___.急要 雅思听力怎么训练?具体计划, 科学发现和发明的有关好词好句 no bigger than 是怎么翻译 This is my own idea 的同义句? 雅思听力怎么练 特洛伊木马之战(来由+结果)用英文写一篇小作文,80字左右! This is my own (同义句) The idea is___ ___This is my own idea 雅思听力如何练 no bigger than 文法原文书上句子是:Its brain's probably no bigger than a bean.请问为什么不能用not bigger than?文法的解释是什么呢? this is a good idea 改为同义句this is _I_坐等..0.0 两个空 英语翻译David wants a rucksack to take to the mountains and a video cassette about animals;Emma has found a doll's house ,a book full of stories about animals ;Harry has got a nice belt and a pair of gloves .Mother has got a book about famous pai 特洛伊木马屠城的英文感想(100词左右)、20句英语台词感想尽量简单一点100词左右台词不要太长也不要太短 “but now I realize this idea is redundant”翻译成中文 The beauty of our country is as hard to define as it is easy to enjoy. Is 5 not bigger than 用yes it is 回答 还是 no it isn't 我的鼻子不大用英文怎么写 This is my s__,I study in it because of you歌词的中文翻译,ne-yo的那首. 76.This idea sounds quite______. A.good B.well C.interested D.excitedly请详细说明 The thieves' car was badly damaged.能否写成The thieves' car was damaged badly. In some parts of our country ,f__ is easy.But i__difficult in the northwest This idea sounds ------.A.greatB.greatlyC.wellD.nicely I spent the whole day repairing the car. The work was______ easy. A. nothing but B. something but C.anything but D. all but大家看看这题选什么?请详细解释下!谢谢! easy,is,to,it,get,our,to,city 连词成句 This idea sounds ( ) terrible.中文是;这个主意听起来真糟糕 为什么说下面这句话是错的?"The car is easy to be driven"为什么上面那句是错的,而下面这句确是正确"He wanted to be paid immediately."非常感谢了 of 和's 的所有格问题譬如 I like ( ) very much.A.this bike of Tom B.this Tom's bike为什么选A而不选B?.'s不是可以加有生命的吗?Tom's bike Tom不是有生命么?还有像Mary's notebook 之类的.那为什么不能选B呢? He says that he__likes this idea.A.very B.much C.quite D.well the question is easy to answer怎么不用被动语态 Of所有格与's所有格怎么互换 nothing can make him his mind(change) The car was badly damaged.It can't be used now. 改为简单句. 区分used to do sth./be used to doing/be used to do区分no longer/not…any longer/no more/not any more nothing on earth could make him change his mind.这句话怎么翻译 红外线,紫外线的定义和作用 世界最著名的钢琴家是谁? ______ he has made up his mind,no one can make him change it.A.Once B.Unless C.Until D.As 红外线与紫外线中的这个“外”是什么意思啊? 一次有趣的实验好词佳句 关于关于科学作文的好词好段好句三分钟后要用,求哥哥姐姐回答一下 雅思听力如何练习? 摘抄科技发展的好词好句好段我没有分了,你回答了,我有分了给你们, insist on one’s doing 造个句子 He can nothing change his mind 怎么办翻译 雅思听力练习题 She looks as ---as her elder sister.A.careful B.carefully C.care D.good nothing can__(make) me change my ideas 雅思听力应该怎么练习呢? 有关描绘花朵颜色的古诗文 “用英语和汉语写一些激励自己的话” My name is Philip.Now i am in china.On weekends my father often takes me to a movie.My favorite movies are action movies.My father likes them,too.Many young people like this kind of movies,because(因为) they are exciting.but my good friend,jim li 现在流行的“网络语言”到底在外国怎么说?到底是networks language呢,还是internet language呢,还是net language呢,还是……
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘