本文实例讲述了VB.NET获取文件默认图标的方法。分享给大家供大家参考。具体如下:
该段代码帮助你获取计算机上的任何文件的默认图标,使用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 |
希望本文所述对大家的VB.NET程序设计有所帮助。
jsp复习资料汇总
[JSP]2017年1月24日asp教程编程辅导汇总
[ASP]2016年12月2日JSP快速入门教程汇总
[JSP]2016年12月2日jsp基本用法和命令汇总
[JSP]2016年10月3日ASP编码教程:如何实现/使用缓存
[ASP]2015年4月15日