- Da hat ja einer die gleiche Idee gehabt, wie ich.
Spoiler anzeigen
#include<array.au3>
$filename = @ScriptDir & "\multipage.tif"
$ret = _FileInfoExtended($filename)
;~ _ArrayDisplay($ret)
MsgBox(0, 'Anzahl Seiten', $ret[1][13])
;===============================================================================
; Function Name: _FileInfoExtended($FolderOrFile)
; Description:: Gibt erweiterte Dateiinformationen einer Datei oder aller Dateien
; eines Ordners zurück. Automatische Erkennung Datei oder Ordner.
; Parameter(s): $FolderOrFile Pfad der Datei/des Ordners
; Return Value(s): Array mit 34 Spalten, 1 Zeile je Datei
; Author(s): BugFix ([email='bugfix@autoit.de'][/email])
;===============================================================================
Func _FileInfoExtended($FolderOrFile)
If Not FileExists($FolderOrFile) Then Return SetError(1)
Local $objShell = ObjCreate("Shell.Application")
Local $arrHeaders[34], $Type = 'F'
If StringInStr(FileGetAttrib($FolderOrFile), 'D') Then
Local $objFolder = $objShell.Namespace($FolderOrFile)
$Type = 'D'
Else
Local $objFSO = ObjCreate("Scripting.FileSystemObject")
Local $objFile = $objFSO.GetFile($FolderOrFile)
Local $FileName = $objFSO.GetFileName($objFile)
Local $objFolder = $objShell.Namespace($objFSO.GetParentFolderName($objFile))
EndIf
Local $arRet[1][34]
For $i = 0 To 33
$arrHeaders[$i] = $objFolder.GetDetailsOf($objFolder.Items, $i)
$arRet[0][$i] = $arrHeaders[$i]
Next
For $strFileName In $objFolder.Items
If $Type = 'F' And $objFolder.GetDetailsOf($strFileName, 0) <> $FileName Then ContinueLoop
ReDim $arRet[UBound($arRet)+1][34]
For $i = 0 to 33
$arRet[UBound($arRet)-1][$i] = $objFolder.GetDetailsOf($strFileName, $i)
Next
Next
Return $arRet
EndFunc ;_FileInfoExtended
Edit: Übrigens, die DLL ist kostenfrei limitiert auf die Erkennung von max. 10 Seiten.