IK ben wat aan het tobben met de Registry, en besloot na het lezen van tig sites om het netjes te programmeren.
Maar ik kwam op rare gewaarwording uit, zie onderstaande code:
De vraag is, waarom zou je zoveel moeite doen als het met een regeltje ook kan, waar zit de valkuil?Code:/ Dit leek me de "nette manier" Dim HKCU As RegistryKey = Registry.CurrentUser Dim Regkey As RegistryKey = HKCU.OpenSubKey("Software", True) Dim subkey As RegistryKey = Regkey.CreateSubKey("test", RegistryKeyPermissionCheck.Default, RegistryOptions.None) subkey.SetValue("Naam", "waarde") / Maar zo werkt het ook ! Zelfs voordat "Test" van te voren is aangemaakt My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Test\", "Naam", "waarde")
De 1-regelige methode is prima als je precies weet met welke waarde je aan de slag gaat.
Als je programma afhankelijk is van user of andere input moet je met variabelen gaan werken, zoals in de "nette manier".
Het ging me eigenlijk om de permission die je moet geven om een key of subkey aan te maken, los van het feit welke waarde er geschreven gaat worden.
Bij het eerste voorbeeld moet je telkens (True) aangeven of er geschreven mag worden, terwijl het onderste voorbeeld gewoon die subkey en waarde neerkwakt.
Dat zal dan een verplichte parameter zijn van het Registery object en heeft My.Computer.Registry deze niet nodig.
In HKCU heb je standaard (als gebruiker) gewoon schrijfrechten, he... Dat zijn nl. je EIGEN instellingen.
Het is niet HKLM he...
Tijs.
Schermafdruk bijvoegen : van het volledige scherm : [PrtScn] knop; van het actieve venster : [Alt][PrtScn] toetscombinatie. Start -> Uitvoeren -> mspaint.exe, Bewerken -> Plakken, Bestand -> Opslaan als -> [Bestandstype: JPEG] + naam invullen. Uploaden via de Paperclip knop in nieuw bericht.
Dat zg je nu dnties, ik heb voor de grap de permissions verwijdert uit de code die ik het eerst gepost heb, en je kunt zien in de bijlage dat het in regel 11 toch fout gaat.
Dus weet ik het zo net nog niet
Image3.jpg
Ok, .NET is niet mijn pakkie an, maar klassieke Systeem-Analyse wel. Daar zit 'm de kneep. Daarin declareer je structureel alle variabelen. Met als gevolg dat als je een variabele aanroept, dat die daadwerkelijk bestaat, maar ook voldoende geheugen ter beschikking heeft.
Een van de regels van netjes programmeren...
Zoek eens op JSP/JSD, Michael Jackson. (No joke!)
![]()
Laatst aangepast door TheKnight : 16 juli 2012 om 08:41
Wolf Ilja. _\\//