Registry Auslesen

12/22/2013 16:42 LumzumX#1
Hay,
ich will das mein "programm" ein pfad in der Registry ausliest und in ein Label schreibt, aber es klappt einfach nicht. da kommt immer cannot convert to string.
In der Registry steht vor der "zahl" REG_Binary. Wo liegt da das problem?

wenn ich es mit Registry.GetValue mache verschwindet das Label wo es rein soll einfach und wenn ich es mit Registry.LocalMachine.OpenSubKey mache kommt halt die meldung cannot convert to string
12/22/2013 17:13 Brendan Jordan#2
[Only registered and activated users can see links. Click Here To Register...]

Da sollte alles stehen.
12/22/2013 17:35 LumzumX#3
Hilft mir nicht sorry.

Das ist mein Problem
Dim rkstr As String = String.Empty
Dim rkval As Object = My.Computer.Registry.GetValue("HIER BELIEBIGEN PFAD EINGEBEN WO EINE REG_BINARY AUSGELESEN WERDEN SOLL", Nothing)
Dim bytes() As Byte = CType(rkval, Byte())
rkstr = BitConverter.ToString(bytes)
MessageBox.Show(rkstr)

Fehlermeldung ist:

ArgumentNullExaption wurde nicht behandelt
Der Wert darf nicht NULL sein.
Parametername: value
12/23/2013 13:26 b0tterk2#4
Bei CurrentUser ist es ziemlich easy.
Bei LocalMachine brauchte ich z.B irgendwelche spezielle Rechte, musste deshalb auch mal eine Stunde googlen bis ich es hatte, da hatte nämlich die OpenBaseKey-Zeile gefehlt:

Code:
 Dim VLCPfad As String
    Dim VLCPfadreg As RegistryKey
 VLCPfadreg = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, RegistryView.Registry64)
        VLCPfadreg = VLCPfadreg.OpenSubKey("SOFTWARE\VideoLAN\VLC")
        VLCPfad = VLCPfadreg.GetValue("InstallDir").ToString()
        VLCPfadreg.Close()