Key aus Registry lesen

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    Key aus Registry lesen

    Hey jungs und Mädels,Ich bin auf ein Problem gestossen und habe auch nach längerem googlen nicht gefunden.
    Ich versuche aus einer Registry den Key zu lesen und ihn dann in eine Text box zu schreiben.Mein code ieht so aus:


    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

    TextBox5.Text = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Bohemia Interactive Studio\ArmA 2 OA", "Key", False)
    'Registry lesen

    End Sub

    doch ich bekomme immer diese Fehlermeldung:"Invalid Cast from type Byte () to String." -> Ungültige konvertierung von typ Byte() zu String.
    Was kann ich da machen?Bitte genau erklären,binn noch relativ neu in der Sprache.
    Mfg Paul :thumbsup:
    Hey,DANKE für deine schnelle Antwort,habe diesen Thread vorher nicht gefunden,finde dort aber auch nicht das richtige bzw. ich weiß nicht wie ich den Code einbinden soll/verwenden soll.
    Es wäre echt nett,wenn jemand mir den Code so verändern könnte,dass es funktioniert.(Wenn ja,dann bitte mit Erklärung :love: )


    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
    'Als Byte-Array abfragen
    Dim arr() As Byte = ReadRegistryStringByteArray("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Bohemia Interactive Studio\ArmA 2 OA", "Key")
    'String-Ausgabe
    Dim str As String = ByteArrayToString(arr)

    'gib das Byte-Array als String aus
    Dim Text As String = TextBox5.Text

    'Bytes des Strings ermitteln
    Dim bytes() As Byte = StringToByteArray(str)

    If bytes.Length = arr.Length Then 'Die Eingabe hat eine gueltige Laenge
    Microsoft.Win32.Registry.SetValue("pfad zum Schluessel", "name des Wertes", bytes)
    End If


    End Sub
    Danke! Mfg Paul

    //
    -ReadRegistryStringByteArray
    -ByteArrayToString
    -StringToByteArray
    Sind unterstrichen und nicht deklariert,doch ich weiß nicht wie ich diese deklarieren kann. ?(

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „PsYcHo45“ ()

    Ich habe es jetzt hinbekommen,zwar nur mit Copy&Paste aber es funkt.!
    Das habe ihc jetzt stehen:


    Dim rkstr As String = String.Empty
    Dim rkval As Object = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Bohemia Interactive Studio\ArmA 2 OA", "Key", Nothing)
    Dim bytes() As Byte = CType(rkval, Byte())
    rkstr = BitConverter.ToString(bytes)
    MessageBox.Show(rkstr)

    Villeicht kann mir das ja jemand erklären. <3
    Jetzt wüsste ich nur noch gerne wie ich das anstatt in einer MsgBox anzeigen zulassen in eine Textbox schreiben lasse.
    Mfg Paul

    SeriTools schrieb:

    PsYcHo45 schrieb:

    MessageBox.Show(rkstr)

    hmmm. Da solltest du aber selbst drauf kommen können.
    Ne sorry,dafür bin ich zu doof und es ist zu spät... :D

    //ICh habe noch vieles versucht,bevor ich pennen gegangen bin,doch nichts passendes gefunden.
    Villeicht ist es einfacher ,die Deklaration in einem Label auszugeben anstatt in einer MessageBox.Show ,allerdings weis ich nicht wie:


    Dim rkstr As String = String.Empty
    Dim first As String = rkstr
    Dim rkval As Object = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Bohemia Interactive Studio\ArmA 2 OA", "Key", Nothing)
    Dim bytes() As Byte = CType(rkval, Byte())
    rkstr = BitConverter.ToString(bytes)
    Label6.Show(first)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „PsYcHo45“ ()

    Habs jetzt doch geschafft ^^

    Hier der Code:


    Dim rkstr As String = String.Empty
    Dim rkval As Object = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Bohemia Interactive Studio\ArmA 2 OA", "Key", Nothing)
    Dim bytes() As Byte = CType(rkval, Byte())
    rkstr = BitConverter.ToString(bytes)
    TextBox3.Text = "" & rkstr
    Vollzitat des direkten Vorposts an dieser Stelle entfernt ~VaporiZed

    Funktioniert bei mir nicht. :O
    meine Fehlermeldung:


    Public Signatur

    Dim Mfg As Mit freundlichen grüßen
    Dim Getsha As User.Getsha

    Mfg.Getsha()

    End Signatur

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Vollzitat, Fremdimagehoster und Uraltthreadausgrabung: 3 Fettnäpfchen auf einmal. Versuch's nochmal …
    Aber hier ist dicht!
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.