vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Icons auslesen 
Autor: Snof
Datum: 27.12.04 17:01

Hi nilslueders

Probiers mal mit der Klasse:
Option Strict On
 
Imports System
Imports System.Drawing
Imports System.Runtime.InteropServices
 
Class IconSpy
 
  ' API-Funktionen
  Private Declare Function ExtractAssociatedIcon Lib "shell32.dll" Alias _
    "ExtractAssociatedIconA" ( _
    ByVal hInst As Integer, ByVal lpIconPath As String, ByRef lpiIcon As _
    Integer) As IntPtr
 
  Private Declare Function ExtractIconEx Lib "shell32.dll" Alias _
    "ExtractIconExA" ( _
    ByVal lpszFile As String, ByVal nIconIndex As Integer, ByRef phiconLarge As _
    Integer, _
    ByRef phiconSmall As Integer, ByVal nIcons As Integer) As Integer
 
  ' API zum Ermitteln des Dateisymbols.
  Private Declare Ansi 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
 
  ' Wird zum ermitteln des Dataeisymbols benötigt.
  Private Structure ShFileInfo
    Friend hIcon As IntPtr
    Friend iIcon As Integer
    Friend dwAttributes As Integer
    Friend szDisplayName As String
    Friend szTypeName As String
  End Structure
 
  ' die Anzahl der Symbole in der Datei.
  Private i32Icons As Integer
 
  ' der Pfad der Datei mit den Symbolen
  Private strFilePath As String
 
  Sub New(ByVal FilePath As String)
    i32Icons = ExtractIconEx(FilePath, -1, 0, 0, 0)
    strFilePath = FilePath
  End Sub
 
  ReadOnly Property Icons() As Integer
    Get
      Return i32Icons
    End Get
  End Property
 
  Function GetIcon(ByVal Index As Integer) As Icon
    Return Icon.FromHandle(ExtractAssociatedIcon(0, strFilePath, Index))
  End Function
 
  ' Ermittelt das Symbol einer Datei.
  Shared Function GetFileIcon(ByVal Path As String) As Icon
    Dim hImgSmall As IntPtr  ' Handle zur System-Image-List
    Dim ShInfo As ShFileInfo
 
    Try
      ShInfo = New ShFileInfo
      ShInfo.szDisplayName = New String(NullChar, 260)
      ShInfo.szTypeName = New String(NullChar, 80)
 
      hImgSmall = SHGetFileInfo(Path, 0, ShInfo, Marshal.SizeOf(ShInfo), &H100 _
        Or &H1)
 
      Return Icon.FromHandle(ShInfo.hIcon)
 
    Catch
      ShInfo.szDisplayName = New String(NullChar, 260)
    End Try
  End Function
 
End Class
Anwendung:
Dim FileIcon As Icon = GetFileIcon("X:\abc.exe")


demn?chst Online: SnofWare.de
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Icons auslesen1.103nilslueders27.12.04 16:20
Re: Icons auslesen931Snof27.12.04 17:01
Re: Icons auslesen770Hubertus27.12.04 17:09
Re: Icons auslesen836Hagen28.12.04 06:32
Re: Icons auslesen791nilslueders28.12.04 08:28
Re: Icons auslesen801Hubertus28.12.04 11:02
Re: Icons auslesen788nilslueders28.12.04 14:15
Re: Icons auslesen719nilslueders28.12.04 14:19
Re: Icons auslesen767Hubertus28.12.04 17:11

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel