Gå til innhold

[Løst] Får ikke slette register subkey


Anbefalte innlegg

Hei,

 

Prøvde å teste noe med vb.net men fikk det helt til. Er jo ganske ny når det gjelder vb.net .

 

 

Har oprettet en subkey i register under currentuser kalt "TestKey", det jeg prøvde på er å sjekke om subkeyn er på plass, hvis subkey "TestKey" er på plass skal slettes.

 

Dim readValue As String
	readValue = My.Computer.Registry.CurrentUser.GetValue("TestKey", "TestValue", Nothing)

If readValue is Nothing Then

My.Computer.Registry.CurrentUser.DeleteSubKey("Testkey")  

  Else

  MessageBox.show("Failed")

 

Det gikk ikke får bare opp "Failed". Men prøvde å kjøre oneline code og gikk.

 

My.Computer.Registry.CurrentUser.DeleteSubKey("Testkey")

 

Ingen tvil om jeg har kodet feil her, kan noen forklare eller vise meg et eksempel på det her?

Lenke til kommentar
Videoannonse
Annonse
Ser ut for meg som om det er testen din som er feil. Hvis readValue returnerer null, så sletter du nøkkelen (som sannsynligvis ikke eksisterer) derimot hvis den ikke er det sier du "Failed".

 

Er det noe feil ved readValue ? Eller må jeg mappe hele? eks: HKEY_CURRENT_USER\Testkey ?

Siden jeg ville slette hele subkey, må jeg ikke oppgi valuen under subkey "TestKey" ?

 

Dim readValue As String
		    readValue = My.Computer.Registry.CurrentUser.GetValue("TestKey", "", "")
			If readValue is Nothing

Lenke til kommentar

Det er ikke noe i veien med GetValue. Den returnerer Nothing dersom nøkkelen ikke finnes. Det neste du gjør er å forsøke å slette nøkkelen som du vet ikke eksisterer (fordi testen sjekker om resultatet er null). Dersom nøkkelen derimot faktisk eksisterer, så viser du en feilmelding som sier "Failed".

 

Løsningen er enkelt:

 

Dim readValue As String = My.Computer.Registry.CurrentUser.GetValue("TestKey", "TestValue", Nothing)

If Not readValue is Nothing Then ' Nøkkelen eksisterer. Slett den.
 My.Computer.Registry.CurrentUser.DeleteSubKey("Testkey")
Else
  MessageBox.show("Failed") ' Nøkkelen eksisterer ikke, gi en feilmelding.

Endret av GeirGrusom
Lenke til kommentar
Det er ikke noe i veien med GetValue. Den returnerer Nothing dersom nøkkelen ikke finnes. Det neste du gjør er å forsøke å slette nøkkelen som du vet ikke eksisterer (fordi testen sjekker om resultatet er null). Dersom nøkkelen derimot faktisk eksisterer, så viser du en feilmelding som sier "Failed". Løsningen er enkelt:
Dim readValue As String = My.Computer.Registry.CurrentUser.GetValue("TestKey", "TestValue", Nothing) If Not readValue is Nothing Then ' Nøkkelen eksisterer. Slett den. My.Computer.Registry.CurrentUser.DeleteSubKey("Testkey") Else MessageBox.show("Failed") ' Nøkkelen eksisterer ikke, gi en feilmelding. 

 

Takker for svaret og forklaringen :D Klarte å løse det nå (Y)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...