gudy
Goto Top

Binärwert aus der Reg lesen?

Hallo, ich möchte einen Binärwert aus der Regestri lesen, nur leider bricht es immer mit einem Fehler ab.Zum testen habe ich einen Wert genommen den ihr "alle" auch haben müsstet, ist einer von Windows XP. ZEichenfolgen und Dwort kann ich so auslesen.

'VB.net
Die Funktion soll den Binär Os Key zurückgeben, bis jetzt ohen Erfolg

Dim OsKey As String
Dim OsRegKey As RegistryKey

OsRegKey = Registry.LocalMachine.OpenSubKey( _
"SOFTWARE\Microsoft\Windows NT\CurrentVersion\WPAEvents")
OsKey = OsRegKey.GetValue("OOBETimer")

Content-Key: 76721

Url: https://administrator.de/contentid/76721

Printed on: April 25, 2024 at 04:04 o'clock

Member: bastla
bastla Dec 27, 2007 at 16:49:34 (UTC)
Goto Top
Hallo Gudy!

Der Binärwert wird als Array zurückgegeben, demnach könnte Dein Beispiel (allerdings in VB2005) so aussehen:
Dim OSRegKeyValue As Array
Dim B As Byte
Dim OSKey As String = ""  

OsRegKeyValue = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WPAEvents", "OOBETimer", Nothing)  
For Each B In OSRegKeyValue
    OSKey = OSKey & CStr(Hex(B))
Next
MsgBox(OSKey)

Grüße
bastla
Member: Gudy
Gudy Dec 31, 2007 at 14:22:09 (UTC)
Goto Top
wunderbar, das mit dem Array war mir nicht klar, viele Dank
Member: Ablont
Ablont Nov 02, 2012 at 18:17:23 (UTC)
Goto Top
Ok Danke und wie kann man denn den Wert dann umschreiben ?
Member: bastla
bastla Nov 02, 2012 at 19:54:17 (UTC)
Goto Top
Hallo Ablont und willkommen im Forum!

Möchtest Du Deinen Erstauftritt hier nicht mit einem eigenen Frage-Beitrag begehen?

Falls nein, solltest Du zumindest den Begriff "umschreiben" etwas umschreiben (Dein Kommentar soll mindestens, nicht höchstens 30 Zeichen beinhalten face-wink) - so ist das für mich nicht verständlich ...

Grüße
bastla
Member: Ablont
Ablont Nov 16, 2012 at 19:25:25 (UTC)
Goto Top
Also ich meine das zB:
Dim OSRegKeyValue As Array
Dim B As Byte
Dim OSKey As String = ""
OSRegKeyValue = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\Software\Wow6432Node\Bohemia Interactive Studio\ArmA 2 OA", "KEY", Nothing)
For Each B In OSRegKeyValue
OSKey = OSKey & CStr(Hex(B))
OSRegKeyValue.SetValue("123123", 6)

Also, dass ich diesen Wert, den ich auslesen kann dann noch ändern kann, also zB: Wenn ich auslese "1a2b" und dann will ich, dass da steht "3c4d"

Hast du's jetzt verstanden ?
Member: bastla
bastla Nov 16, 2012 at 21:31:38 (UTC)
Goto Top
Hallo Ablont!

Du willst also eigentlich nur wissen, wie ein solcher Wert in die Registry geschrieben werden kann (was ja mit dem Auslesen gar nix zu tun hat) ...

Dazu musst du aus den Hex-Werten ein Byte-Array erstellen - ein Beispiel findest Du hier.

Grüße
bastla