获取文件图标

 1 Private Const MAX_PATH = 260
 2 Private Const SHGFI_DISPLAYNAME = &H200         ' get display name
 3 Private Const SHGFI_EXETYPE = &H2000           ' return exe type
 4 Private Const SHGFI_LARGEICON = &H0           ' get large icon
 5 Private Const SHGFI_SHELLICONSIZE = &H4         ' get shell size icon
 6 Private Const SHGFI_SMALLICON = &H1           ' get small icon
 7 Private Const SHGFI_SYSICONINDEX = &H4000        ' get system icondex
 8 Private Const SHGFI_TYPENAME = &H400           ' get type name
 9 Private Const ILD_BLEND50 = &H4
10 Private Const ILD_BLEND25 = &H2
11 Private Const ILD_TRANSPARENT = &H1
12 Private Const CLR_NONE = &HFFFFFFFF
13 Private Const CLR_DEFAULT = &HFF000000
14 Private Type SHFILEINFO
15     hIcon As Long
16     iIcon As Long
17     dwAttributes As Long
18     szDisplayName As String * MAX_PATH
19     szTypeName As String * 80
20 End Type
21 Private Declare Function SHGetFileInfo Lib "shell32.dll" Alias "SHGetFileInfoA" (ByVal pszPath As String, ByVal dwFileAttributes As Long, psfi As SHFILEINFO, ByVal cbFileInfo As Long, ByVal uFlags As LongAs Long
22 Private Declare Function ImageList_Draw Lib "comctl32.dll" (ByVal himl As Long, ByVal i As Long, ByVal hdcDst As Long, ByVal x As Long, ByVal y As Long, ByVal fStyle As LongAs Long
23 Private Declare Function ImageList_DrawEx Lib "comctl32.dll" (ByVal himl As Long, ByVal i As Long, ByVal hdcDst As Long, ByVal x As Long, ByVal y As Long, ByVal dx As Long, ByVal dy As Long, ByVal rgbBk As Long, ByVal rgbFg As Long, ByVal fStyle As LongAs Long
24 
25 
26 Private Sub Form_Load()
27     Dim hImage As Long, udtFI As SHFILEINFO
28     Me.AutoRedraw = True
29     hImage = SHGetFileInfo("C:\Program Files\Windows Media Player\wmplayer.exe", ByVal 0&, udtFI, Len(udtFI), SHGFI_SYSICONINDEX Or SHGFI_LARGEICON)
30     ImageList_Draw hImage, udtFI.iIcon, Me.hDC, 00, ILD_TRANSPARENT
31     ImageList_DrawEx hImage, udtFI.iIcon, Me.hDC, 3203232, CLR_NONE, CLR_DEFAULT, ILD_BLEND50
32 End Sub
33 

 

转载于:https://www.cnblogs.com/xxaxx/archive/2009/12/29/1635312.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值