Wie im Topic schon zu lesen suche ich eine möglichkeit
die Anzahl der Icons in einer ICL herraus zu finden.
Mit sicherheit geht das über ein DLLCALL
Habe leider nichts genaueres gefunden ![]()
Anzahl Icons in einer ICL herrausfinden
-
- [ gelöst ]
-
Gummibaer -
27. August 2009 um 02:07 -
Geschlossen -
Erledigt
-
-
- Offizieller Beitrag
Hab da was gefunden:
[autoit]Func _GetIconCount($sFilename)
[/autoit]
Local $iCount = DllCall("Shell32", "int", "ExtractIconEx", "str", $sFilename, "int", -1, "ptr", 0, "ptr", 0, "int", 1)
If Not @error Then Return $iCount[0]
Return 0
EndFunc ;==>_GetIconCount -
- Offizieller Beitrag
Die Auswertung des DllCall über @error ist nicht immer erfolgreich.
[autoit]
Da der DllCall stets ein Array liefert und $ret[0] bei einem Fehler =0 ist, ist es m.E. günstiger darauf zu prüfen.; im Bsp. statt:
[/autoit][autoit][/autoit][autoit]
If Not @error Then Return $iCount[0]; lieber:
[/autoit]
If $iCount[0] Then Return $iCount[0] -
Danke

-
- Offizieller Beitrag
Die Auswertung des DllCall über @error ist nicht immer erfolgreich.
[autoit]
Da der DllCall stets ein Array liefert und $ret[0] bei einem Fehler =0 ist, ist es m.E. günstiger darauf zu prüfen.; im Bsp. statt:
[/autoit] [autoit][/autoit] [autoit]
If Not @error Then Return $iCount[0]; lieber:
[/autoit]
If $iCount[0] Then Return $iCount[0]Das hab ich garnicht gewußt, wieder was gelernt.


-
- Offizieller Beitrag
Das hab ich garnicht gewußt
Ich hab das nur mal zufällig gemerkt, als ein DllCall über @error keinen Fehler brachte, $ret[0] aber 0 lieferte. Seitdem prüfe ich auf Rückgabewert.