VB.NET獲取文件默認(rèn)圖標(biāo)的方法
本文實(shí)例講述了VB.NET獲取文件默認(rèn)圖標(biāo)的方法。分享給大家供大家參考。具體如下:
該段代碼幫助你獲取計(jì)算機(jī)上的任何文件的默認(rèn)圖標(biāo),使用Shell32.dll。
Private Structure SHFILEINFO
Public hIcon As IntPtr
Public iIcon As Integer
Public dwAttributes As Integer
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=260)> _
Public szDisplayName As String
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=80)> _
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ì)有所幫助。
- VB.net 查詢獲取數(shù)據(jù)庫(kù)數(shù)據(jù)信息
- C#/VB.NET 在PDF中添加文件包(Portfolio)的方法
- vb.net操作注冊(cè)表的方法分析【增加,修改,刪除,查詢】
- VB.NET調(diào)用MySQL存儲(chǔ)過(guò)程并獲得返回值的方法
- 在VB.NET應(yīng)用中使用MySQL的方法
- VB.NET校驗(yàn)字符串函數(shù)
- C#、vb.net及SQL判斷指定年份是否為閏年的方法
- C#中的除法運(yùn)算符與VB.NET中的除法運(yùn)算符
- 淺談如何使用vb.net從數(shù)據(jù)庫(kù)中提取數(shù)據(jù)
相關(guān)文章
VB.NET中使用種子填充算法實(shí)現(xiàn)給圖片著色的例子
這篇文章主要介紹了VB.NET中使用種子填充算法實(shí)現(xiàn)給圖片著色的例子,在開(kāi)發(fā)一個(gè)畫(huà)圖工具時(shí)遇到的問(wèn)題,需要的朋友可以參考下2014-07-07
vb.net操作注冊(cè)表的方法分析【增加,修改,刪除,查詢】
這篇文章主要介紹了vb.net操作注冊(cè)表的方法,結(jié)合實(shí)例形式分析了vb.net針對(duì)注冊(cè)表的增加,修改,刪除及查詢操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-03-03
VB實(shí)現(xiàn)的遞歸復(fù)制文件和搜索文件的代碼分享
這篇文章主要介紹了VB實(shí)現(xiàn)的遞歸復(fù)制文件和搜索文件的代碼分享,代碼寫(xiě)的比較簡(jiǎn)單,容易看懂,需要的朋友可以參考下2014-07-07
VB.NET中調(diào)用MSI卸載軟件的2個(gè)方法
這篇文章主要介紹了VB.NET中調(diào)用MSI卸載軟件的2個(gè)方法,一是直接調(diào)用MSI安裝包命令,二是產(chǎn)品序列號(hào)卸載程序,需要的朋友可以參考下2014-07-07
VB.NET實(shí)現(xiàn)驗(yàn)證信用卡卡號(hào)
這篇文章主要介紹了VB.NET實(shí)現(xiàn)驗(yàn)證信用卡卡號(hào)是否正確的代碼,主要根據(jù)luhn算法來(lái)驗(yàn)證,有需要的小伙伴可以參考下。2015-05-05

