retofischer 10 Geschrieben 5. Mai 2008 Melden Teilen Geschrieben 5. Mai 2008 Hallo Community Ich habe das Problem, dass ich künftig einen Binären Registry-Key auslesen und ändern muss. Das auslesen und ändern ist über vbs kein Problem, ein Problem ist allerdings das umwandeln des Binären codes in lesbares ASCII und wieder zurück. gibts da Irgendwelche Tools? Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 5. Mai 2008 Melden Teilen Geschrieben 5. Mai 2008 Das geht mit den Registry-Funktionen von Kixtart recht einfach: http://www.kixtart.org/ Da kommt automtisch ein String raus. Aber: Binäre Registry-Werte sind mit Absicht binär. Die sollen vom Enduser i.d.R. nicht geändert werden und daher auch selten dokumentiert. -Zahni Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 5. Mai 2008 Melden Teilen Geschrieben 5. Mai 2008 Um einen String binär abszuspeichern, hab ich mal aus div. Quellen ne VB-Function zusammengeschustert: Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long Public Function RegSetBinary(ByVal lkey As Long, ByVal skey As String, ByVal sdata As String) Dim b() As Byte Dim i As Integer, lArrSize As Long ReDim b(0 To (Len(sdata) - 1) * 2 + 3) For i = 0 To (Len(sdata) - 1) * 2 Step 2 b(i) = Asc(Mid(sdata, i / 2 + 1, 1)) b(i + 1) = 0 Next i 'If i Mod 2 <> 0 Then b(i + 1) = 0 b(i + 1) = 0 lArrSize = UBound(b()) + 1 RegSetBinary = RegSetValueEx(lkey, skey, 0&, REG_BINARY, b(0), lArrSize) End Function Ggf. muss man das bissle anpassen. Hab bemerkt, dass bei manchen Strings noch ne 0 hinten dran gehörte, bei anderen wiederum nicht... Gebastelt hab ich's um Outlook2003 Signaturen unterzujubeln ;) Um einen ausgelesenen Wert umzuwandeln hab ich grad nix. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.