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-ID: 76721

Url: https://administrator.de/forum/binaerwert-aus-der-reg-lesen-76721.html

Ausgedruckt am: 22.04.2025 um 02:04 Uhr

bastla
bastla 27.12.2007 um 17:49:34 Uhr
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
Gudy
Gudy 31.12.2007 um 15:22:09 Uhr
Goto Top
wunderbar, das mit dem Array war mir nicht klar, viele Dank
Ablont
Ablont 02.11.2012 um 19:17:23 Uhr
Goto Top
Ok Danke und wie kann man denn den Wert dann umschreiben ?
bastla
bastla 02.11.2012 um 20:54:17 Uhr
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
Ablont
Ablont 16.11.2012 um 20:25:25 Uhr
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 ?
bastla
bastla 16.11.2012 um 22:31:38 Uhr
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