Imports System.Drawing Imports System.Runtime.InteropServices Imports Pilz.Win32.Native Namespace Internals Public Class IconExtractor ''' ''' Extrahiert das Icon aus einer Datei oder aus einem Ordner. ''' ''' Hier übergeben Sie den Pfad der Datei von dem das Icon extrahiert werden soll. ''' Bei übergabe von true wird ein kleines und bei false ein großes Icon zurück gegeben. Public Shared Function ExtractIcon(FilePath As String, Small As Boolean) As Icon Dim icon As Icon Dim shinfo As New SHFILEINFO LibShell32.SHGetFileInfo(FilePath, 0, shinfo, Math.Truncate(Marshal.SizeOf(shinfo)), SHFILEINFO.SHGFI_ICON Or If(Small, SHFILEINFO.SHGFI_SMALLICON, SHFILEINFO.SHGFI_LARGEICON)) Try icon = Icon.FromHandle(shinfo.hIcon) Catch ex As Exception icon = Nothing End Try Return icon End Function End Class End Namespace