用户登录
用户注册

分享至

获取文件默认图标

  • 作者: 你大爷的闺蜜
  • 来源: 51数据库
  • 2022-08-17
    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
软件
前端设计
程序设计
Java相关