- Offizieller Beitrag
Hi,
sicher nichts großes - aber von Zeit zu Zeit recht nützlich :D.
Mit _RegReadBinary($KEY, $VALUE [, $Bin2Str=1]) wird ein Registryschlüssel vom Typ REG_BINARY ausgelesen und in einen String gewandelt zurückgegeben (wahlweise auch binäre Rückgabe).
Die Syntax und Fehlermeldungen sind analog zur Funktion RegRead().
Edit 26.12.2009:
- Angepaßt an aktuelle AutoItversion.
- Fehlerausgabe geändert (1 und @error-Wert)
- Schlüssel die nicht vom Typ REG_BINARY sind werden normal gelesen
Spoiler anzeigen
;===============================================================================
; Function Name...._RegReadBinary($KEY, $VALUE [, $Bin2Str=1])
; Description......Liest einen Registryschlüssel aus
; Schlüssel vom Typ REG_BINARY können wahlweise als
; ASCII-String zurückgegeben werden.
; Parameter(s).....$KEY Registryschlüssel
; $VALUE Registrywert
; $Bin2Str 0 = Value wird normal gelesen
; 1 = Binärwert wird in ASCII-String gewandelt (Standard)
; Return Value(s)..Erfolg: der Registrywert
; Fehler: 1 set @error:
; 1 Schlüssel kann nicht geöffnet werden
; 2 Hauptschlüssel kann nicht geöffnet werden
; 3 Fernzugriff auf die Registry nicht möglich
; 4 Key oder Value nicht übergeben
; -1 Wert kann nicht geöffnet werden
; -2 Typ des Wertes wird nicht unterstützt
; Author(s)........BugFix ([email='bugfix@autoit.de'][/email])
; AutoIt ver.......3.3.2.0
;===============================================================================
Func _RegReadBinary($KEY, $VALUE, $Bin2Str=1)
If $KEY = '' Or $VALUE = '' Then Return SetError(4,0,1)
If $Bin2Str <> 1 Then $Bin2Str = 0
Local $reg = RegRead($KEY, $VALUE)
Local $err = @error, $ext = @extended
If $err Then Return SetError($err,0,1)
If $ext <> 3 Or $Bin2Str = 0 Then Return $reg
Local $val = ''
$reg = StringTrimLeft($reg, 2)
For $i = 1 To StringLen($reg) - 2 Step 2
$tmp = BinaryToString('0x' & StringMid($reg, $i, 2))
If $tmp <> "" Then
$val = $val & $tmp
EndIf
Next
Return $val
EndFunc ;==>_RegReadBinary
DL bisher: 46