[Gelöst] System.NullReferenceException -.-

  • Hi Leude :smiling_face:


    Ich möchte die Veröffentlichung einer verbesserten Version meines Unlockers nicht mehr länger herauszögern und gebe meinen Versuch, das Problem selbst zu lösen auf.


    Ich versuche das gleiche zu machen wie die msconfig.exe beim deaktivieren eines AutoStart-Eintrages und zwar will ich alle Registry-Einträge in einem Schlüssel "verschieben" (Copy + Paste).


    Das Verschieben selbst macht keine Probleme, aber die For-Each-Schleife, mit der ich das versuche meldet ständig eine System.NullReferenceException -.-


    Der Code dazu sieht so aus:

    Code
    Imports Microsoft.Win32Dim AutoStartRegistryEintragCU As StringTryFor Each AutoStartRegistryEintragCU In Registry.CurrentUser.OpenSubKey("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run").GetValueNames[Verschieben]NextCatchEnd Try



    Auch mit einer "Do While Loop"-Schleife hab ich es versucht, das Ergebnis ist das gleiche :frowning_face:

    Code
    Imports Microsoft.Win32
    Do While Int(Registry.CurrentUser.OpenSubKey("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run").ValueCount) > 1
    
    
    [Verschieben]
    
    
    Loop


    Hoffe mal das mir einer von euch helfen kann :frowning_face:

    Meine Rechtschreib- und Tippfehler sind urheberrechtlich geschützt und dürfen nicht kopiert werden!

    2 Mal editiert, zuletzt von XPhenoxX ()

  • Code
    Registry.CurrentUser.OpenSubKey("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run")


    gibt wahrscheinlich nichts zurück.

  • Also erstmal vielen Dank für die schnelle Hilfe :grinning_squinting_face:
    Wenn ich vor das ganze eine Variable hänge, hat die Variable nachdem der Code ausgeführt wurde den "Wert" Nothing, hab aber extra ein paar Registry-Schlüssel erstellt...


    Edit:
    Kann es sein das mein Avira da was blockiert? Wenn ich mit der msconfig verschiebe meldet Avira immer das der Zugriff auf diesen Schlüssel blockiert wurde, obwohl Avira nichts blockiert hat.


    Hab den Avira Echtzeit-Scanner abgeschaltet, frage mich gerade ob es vielleicht doch noch mitredet... (Ergebnis bleibt bei abgeschalteten Echtzeit-Scanner)

  • "Nothing" ist das VB-Analog zu "null".


    Du hattest nen Fehler in deinem abgefragten Schlüssel (fiel mir auch nich gleich auf). Da du schon aus CurrentUser Daten holst, musst du den Pfad nicht nochmal extra angeben. Korrekterweise sollte dein Subkey-Öffnen also so aussehen:

    Code
    Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run")
  • Hallo :smiling_face:
    Da dieser Thread nun einige Zeit alt ist und vermutlich aufgrund der Inaktivität kein Interesse mehr besteht, verschiebe ich das mal ins Archiv :smiling_face:


    Wenn jemand möchte, dass der Thread hier bleibt, einfach bei mir oder auch bei einem anderen FMod wenden :smiling_face:


    LG Diar :smiling_face:

    Zitat von space_rat370

    Die beste Rache ist unglaublicher Erfolg.



    1372888714