Registry "REG_SZ" Eintrag editieren?

  • VB.NET
  • .NET (FX) 4.5–4.8

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

    Registry "REG_SZ" Eintrag editieren?

    Hallo allerseits.

    Ich weiß bereits wie man die normalen REG_DWORD Einträge editiert, jedoch scheitere ich daran einen REG_SZ Eintrag zu editieren mit VB.NET.
    So sieht der Code aus der für DWORD klappt:

    VB.NET-Quellcode

    1. Dim RegistryKey As Object
    2. RegistryKey = CreateObject("WScript.Shell")
    3. RegistryKey.regwrite("PFAD", VALUE, "REG_DWORD")


    Ich dachte das selbe Prinzip läuft mit REG_SZ auch ab, jedoch leider nicht.
    Also ich hoffe ihr wisst was ich meine, ich will halt das "REG_DWORD" in dem Code dort oben ersetzen durch REG_SZ & einen REG_SZ Text Eintrag editieren, jedoch geht das nicht, zumindest nicht bei mir.

    Wie dem auch sei, ich bedanke mich für jede Hilfe die mir angeboten wird.
    LG.
    Dann hier mal ein Beispiel für das Lesen und schreiben mit besagten Klassen:


    Hab den Code mal durch nen Converter gejagt:
    VB.NET

    VB.NET-Quellcode

    1. ​Dim key As RegistryKey = Registry.LocalMachine.CreateSubKey("SOFTWARE\itX_TEST", true)
    2. key.SetValue("Test1", "Test")
    3. key.SetValue("Test2", 1)
    4. key.SetValue("Test3", "test", RegistryValueKind.String)
    5. key.SetValue("Test4", 1, RegistryValueKind.QWord)
    6. Console.WriteLine(key.GetValue("Test1"))
    7. Console.WriteLine(key.GetValue("Test2"))
    8. Console.WriteLine(key.GetValue("Test3"))
    9. Console.WriteLine(key.GetValue("Test4"))
    Vollzitat entfernt. ~Trade

    Ich wollte ja einen Eintrag editieren^^
    Einen REG_SZ Eintrag in Regedit.
    z.B Wenn in dem REG_SZ Eintrag "Hallo" steht würde ich es gerne zu "Test" ändern wollen, oder zu einem Pfad.

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

    Vollzitat entfernt. ~Trade
    Es klappt einfach nicht...
    Ich check auch nicht wieso

    VB.NET-Quellcode

    1. Imports Microsoft.Win32
    2. Public Class Form1
    3. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    4. Dim key As RegistryKey = Registry.LocalMachine.OpenSubKey("SubKeyPATH", True)
    5. key.SetValue("Key", "NewValue")
    6. End Sub
    7. End Class

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

    Schieb mal den Code in den Konstruktor der Form. Im Load Event werden Exceptions einfach mal gerne verschluckt.
    Oder leg einfach testweise ein Konsolenprojekt an.
    Dann schildere mal genau was nicht funktioniert, und poste die Exception hier, falls eine auftreten sollte.
    Am besten wäre es auch zu Wissen, welche Schlüssel du verändern möchtest, sodass wir das evtl. auch selbst testen können.

    Und noch eines, bitte keine Zitate von ganzen Posts, die direkt über deiner Antwort sind.
    Das ist hier nicht gerne gesehen ;)