本文實(shí)例講述了VB.NET獲取文件默認(rèn)圖標(biāo)的方法。分享給大家供大家參考。具體如下:
該段代碼幫助你獲取計(jì)算機(jī)上的任何文件的默認(rèn)圖標(biāo),使用Shell32.dll。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 |
Private Structure SHFILEINFO Public hIcon As IntPtr Public iIcon As Integer Public dwAttributes As Integer
Public szDisplayName As String
Public szTypeName As String End Structure Private Declare Auto Function SHGetFileInfo Lib "shell32.dll" _ ( ByVal pszPath As String , _ ByVal dwFileAttributes As Integer , _ ByRef psfi As SHFILEINFO, _ ByVal cbFileInfo As Integer , _ ByVal uFlags As Integer ) As IntPtr Private Const SHGFI_ICON = &H100 Private Const SHGFI_SMALLICON = &H1 Private Const SHGFI_LARGEICON = &H0 Private nIndex = 0 Private hImgLarge As IntPtr 'The handle to the system image list. Private Function GetLargeIcon( ByVal FilePath As String ) As System.Drawing.Icon Dim fName As String Dim shinfo As SHFILEINFO shinfo = New SHFILEINFO() shinfo.szDisplayName = New String (Chr(0), 260) shinfo.szTypeName = New String (Chr(0), 80) fName = FilePath hImgLarge = SHGetFileInfo(fName, 0, shinfo, Marshal.SizeOf(shinfo), SHGFI_ICON Or SHGFI_LARGEICON) Dim myIcon As System.Drawing.Icon myIcon = System.Drawing.Icon.FromHandle(shinfo.hIcon) Return myIcon End Function Private Function GetSmallIcon( ByVal FilePath As String ) As System.Drawing.Icon Dim fName As String Dim shinfo As SHFILEINFO shinfo = New SHFILEINFO() shinfo.szDisplayName = New String (Chr(0), 260) shinfo.szTypeName = New String (Chr(0), 80) fName = FilePath hImgLarge = SHGetFileInfo(fName, 0, shinfo, Marshal.SizeOf(shinfo), SHGFI_ICON Or SHGFI_SMALLICON) Dim myIcon As System.Drawing.Icon myIcon = System.Drawing.Icon.FromHandle(shinfo.hIcon) Return myIcon End Function |
希望本文所述對(duì)大家的VB.NET程序設(shè)計(jì)有所幫助。
2015年全國(guó)職稱(chēng)計(jì)算機(jī)考試教材(2007模 .. 定價(jià):¥225 優(yōu)惠價(jià):¥213 更多書(shū)籍 | |
全國(guó)職稱(chēng)計(jì)算機(jī)考試速成過(guò)關(guān)系列套裝:W .. 定價(jià):¥133 優(yōu)惠價(jià):¥133.0 更多書(shū)籍 |