Gibt die DLL-spezifische Versionsinformation zurück
#include <WinAPIShellEx.au3>
_WinAPI_DllGetVersion ( $sFilePath )
$sFilePath | Der Pfad zur DLL-Datei von welcher die Informationen gelesen werden sollen. |
Erfolg: | Das Array mit den folgenden Informationen: [0] - Die Hauptversion. [1] - Die Unterversion. [2] - Die Buildnummer. [3] - Die Plattform für die die DLL kompiliert wurde ($DLLVER_PLATFORM_*). |
Fehler: | Setzt das @error Flag auf ungleich null, das @extended Flag kann den HRESULT-Fehlercode enthalten. |
Diese Funktion ist keine API. Sie wird mittels Name von jeder DLL exportiert welche sie implementiert.
Momentan haben die meisten Windows Shell und Standardkontroll-DLLs DllGetVersion implementiert.
Darunter fallen, sind aber nicht ausschließlich, shell32.dll, comctl32.dll, shdocvw.dll und shlwapi.dll.
Suche nach DllGetVersion in der MSDN Bibliothek.
#include <APIShellExConstants.au3>
#include <WinAPIShellEx.au3>
Local Const $sDll = @SystemDir & '\comctl32.dll'
Local $sText
Local $aData = _WinAPI_DllGetVersion($sDll)
Switch @error
Case 0
Switch $aData[3]
Case $DLLVER_PLATFORM_WINDOWS
$sText = 'Windows 95/98'
Case $DLLVER_PLATFORM_NT
$sText = 'NT-basierend'
Case Else
$sText = 'Unbekannte Plattform'
EndSwitch
ConsoleWrite($sDll & ' => ' & $aData[0] & '.' & $aData[1] & '.' & $aData[2] & ' (' & $sText & ')' & @CRLF)
Case 3
ConsoleWrite('DllGetVersion ist nicht in ' & $sDll & ' implementiert.' & @CRLF)
Case Else
ConsoleWrite('Die Versionsinformationen konnten nicht ermittelt werden.' & @CRLF)
EndSwitch