| |
VB & Windows APIExtractIconEx - Rückgabewert | | | Autor: mst547 | Datum: 12.11.10 10:26 |
| Hallo!
Ich versuche, Icons aus verschiedenen Dateien auszulesen mit Hilfe der API-Funktion ExtractIconEx. Diese rufe ich einmal auf, um die Anzahl der vorhandenen Icons zu bestimmen und ein weiteres Mal, um die Icons auszulesen:Private Declare Function ExtractIconEx Lib "shell32.dll" Alias "ExtractIconExA" _
(ByVal lpszFile As String, ByVal nIconIndex As Long, phiconLarge As Long, _
phiconSmall As Long, ByVal nIcons As Long) As Long
Dim lngIcon32() As Long
Dim lngIcon16() As Long
Private Sub cmdLaden_Click()
Dim lngAnzahl As Long
Dim lngAnzahlGelesen As Long
'Anzahl der Icons auslesen
lngAnzahl = ExtractIconEx(txtDatei.Text, -1, ByVal 0, ByVal 0, 0)
lblAnzahl.Caption = Format(lngAnzahl) & " Icons"
If lngAnzahl > 0 Then
'Icons auslesen
ReDim lngIcon32(lngAnzahl - 1)
ReDim lngIcon16(lngAnzahl - 1)
lngAnzahlGelesen = ExtractIconEx(txtDatei.Text, 0, lngIcon32(0), lngIcon16( _
0), lngAnzahl)
lblAnzahl.Caption = lblAnzahl.Caption & " - " & Format(lngAnzahlGelesen) & _
" Icons gelesen"
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
Dim i As Integer
If Not Not lngIcon32 Then
For i = 0 To UBound(lngIcon32)
If lngIcon32(i) <> 0 Then DestroyIcon (lngIcon32(i))
If lngIcon16(i) <> 0 Then DestroyIcon (lngIcon16(i))
Next
End If
End Sub Soweit funktioniert das alles auch ganz gut, nur bei EXE- und DLL-Dateien, die genau 1 Icon enthalten, tritt folgendes Problem auf: Obwohl der erste Aufruf von ExtractIconEx korrekterweise den Wert 1 zurückliefert (Anzahl der Icons), gibt der zweite Aufruf den Wert 2 zurück (was laut http://msdn.microsoft.com/en-us/library/ms648069(v=VS.85).aspx die Anzahl der gelesenen Icons ist), obwohl im Aufruf angegeben ist, dass nur 1 Icon gelesen werden soll.
Wie ist das möglich?
mfg mst547 | |
| 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 |
|
|
Neu! sevEingabe 3.0
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere InfosTipp des Monats 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
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 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
|
|