Heute zeigen wir Ihnen, wie sich unter VB.NET die Icons der Standardverknüpfung von Dateien auslesen lassen. #Region "Imports" Imports System.Runtime.InteropServices #End Region Class clsFileIcon #Region "Variablendeklaration" Private Structure SHFILEINFO Public hIcon As IntPtr ' : icon Public iIcon As Integer ' : icondex Public dwAttributes As Integer ' : SFGAO_ flags <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 ' Großes Symbol Private nIndex = 0 #End Region Shared Function GetDefaultIcon(ByVal arg As String) As System.Drawing.Icon Dim hImgSmall As IntPtr ' Handle zur System-Image-List Dim shinfo As SHFILEINFO Try shinfo = New SHFILEINFO shinfo.szDisplayName = New String(Chr(0), 260) shinfo.szTypeName = New String(Chr(0), 80) hImgSmall = SHGetFileInfo(arg, 0, shinfo, Marshal.SizeOf(shinfo), _ SHGFI_ICON Or SHGFI_SMALLICON) GetDefaultIcon = System.Drawing.Icon.FromHandle(shinfo.hIcon) Catch ex As Exception shinfo.szDisplayName = New String(Chr(0), 260) End Try End Function End Class Aufrufbeispiel: ' Standard-Icon der Datei zur Images-Auflistung ' einer ImageList hinzufügen ImageList1.Images.Add(GetDefaultIcon(Pfad & Filename)) Dieser Tipp wurde bereits 18.624 mal aufgerufen.
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevZIP40 Pro DLL ![]() Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Tipp des Monats Dieter Otter Doppelte Einträge aus einer Liste entfernen (.NET) Wie man schnell alle doppelten Einträge aus einer Liste entfernt, das erfahren Sie hier. Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
|
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |
|||||||||||||||||


Icons der Standardverknüpfung


