Avatar billede bendixen Novice
08. januar 2006 - 23:10 Der er 9 kommentarer og
1 løsning

Vejledning i My.Computer.Registry.LocalMachine

Begynder i VB.net 2005!!

jeg vilgerne have lidt vejledning i at læse og skrive i/fra HKEY_LOCAL_MACHINE

har du/i et par eksembler der laver følgende :
-Opretter en under nøgle
-opretter en værdi
-læser en værdi
-sletter en værdi
-sletter en nøgle
Avatar billede arne_v Ekspert
08. januar 2006 - 23:24 #1
er stykke kode til at hente flere værdier:

            Dim dir As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE").OpenSubKey("Microsoft").OpenSubKey("ASP.NET").OpenSubKey("1.1.4322.0")
            Dim vals As String() = dir.GetValueNames
            For Each v As String In vals
                Dim data As String = CType(dir.GetValue(v), String)
                tb.Text += (v & "=" & data & Convert.ToChar(13) & Convert.ToChar(10))
            Next

du kan læse om alle metoderne her http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfmicrosoftwin32registrykeymemberstopic.asp
Avatar billede bendixen Novice
08. januar 2006 - 23:51 #2
jeg får følgende fejl :
Type 'RegistryKey' is not defined.
Avatar billede arne_v Ekspert
09. januar 2006 - 00:01 #3
Har du importeret namespace Microsoft.Win32 ?
Avatar billede bendixen Novice
09. januar 2006 - 21:43 #4
Her er min rutine. Det jeg gerne vil er at slippe for at skrive My.Computer.Registry.LocalMachine... hvergang

    Private Sub btnSkrivIreg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSkrivIreg.Click
        Dim regKey As Microsoft.Win32.RegistryKey
        regKey = My.Computer.Registry.LocalMachine.OpenSubKey("SOFTWARE")

        regKey.CreateSubKey("hest")

    End Sub
Avatar billede arne_v Ekspert
09. januar 2006 - 21:47 #5
mener du:



Private regKey As Microsoft.Win32.RegistryKey = My.Computer.Registry.LocalMachine.OpenSubKey("SOFTWARE")
Private Sub btnSkrivIreg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSkrivIreg.Click
        regKey.CreateSubKey("hest")

    End Sub

?
Avatar billede bendixen Novice
09. januar 2006 - 21:50 #6
Ja det tror jeg nok. men jeg får følgende fejl :

System.UnauthorizedAccessException was unhandled
  Message="Cannot write to the registry key."
  Source="mscorlib"
  StackTrace:
      at System.ThrowHelper.ThrowUnauthorizedAccessException(ExceptionResource resource)
      at Microsoft.Win32.RegistryKey.CreateSubKey(String subkey, RegistryKeyPermissionCheck permissionCheck, RegistrySecurity registrySecurity)
      at Microsoft.Win32.RegistryKey.CreateSubKey(String subkey)
      at Min_første.net.Form1.btnSkrivIreg_Click(Object sender, EventArgs e) in C:\Documents and Settings\Per Bendixen\Dokumenter\Visual Studio 2005\Projects\Min første .net\Min første .net\Form1.vb:line 40
      at System.Windows.Forms.Control.OnClick(EventArgs e)
      at System.Windows.Forms.Button.OnClick(EventArgs e)
      at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
      at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
      at System.Windows.Forms.Control.WndProc(Message& m)
      at System.Windows.Forms.ButtonBase.WndProc(Message& m)
      at System.Windows.Forms.Button.WndProc(Message& m)
      at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
      at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
      at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
      at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
      at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
      at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
      at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
      at System.Windows.Forms.Application.Run(ApplicationContext context)
      at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
      at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
      at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
      at Min_første.net.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81
      at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
      at System.Runtime.Hosting.ManifestRunner.Run(Boolean checkAptModel)
      at System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly()
      at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)
      at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext)
      at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()
      at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
      at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
      at System.Threading.ThreadHelper.ThreadStart()
Avatar billede arne_v Ekspert
09. januar 2006 - 21:52 #7
den mener ikke at du har lov til at opdatere i registry
Avatar billede bendixen Novice
09. januar 2006 - 21:54 #8
Hvorfor ???
Hvis jeg skriver :

My.Computer.Registry.LocalMachine.CreateSubKey("SOFTWARE\hest")

så virker det.
Avatar billede bendixen Novice
28. marts 2008 - 14:04 #9
laver du et svar så er der point
Avatar billede arne_v Ekspert
28. marts 2008 - 15:51 #10
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester