none
Iniciar con windows mi aplicacion vb 2010 RRS feed

  • Pregunta

  • hola a todos eh intentado iniciar mi programa con windows y no funciona eh usado este codigo y no me da error pero no agrega ninguna clave al registro:

         Try
                Dim regKey As Microsoft.Win32.RegistryKey
                regKey = My.Computer.Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\Curr­entVersion\Run", True)
                regKey.SetValue("conwindows", Application.ExecutablePath, RegistryValueKind.String)

                If regKey IsNot Nothing Then
                    regKey.SetValue("conwindows", Application.ExecutablePath, RegistryValueKind.String)
                Else
                    MsgBox("error")
                End If

            Catch ex As Exception

            End Try
           
       me gustaria que me ayudaran en eso gracias....

    sábado, 31 de agosto de 2013 17:09

Todas las respuestas

  • Realmente no te esta dando error? No dejes NUNCA la parte del Catch vacio, ya que si lo haces como ahora, si se produjese una excepción, no sabrias nada. si pones por ejemplo esto

    Try
                 Dim regKey As Microsoft.Win32.RegistryKey
                 regKey = My.Computer.Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\Curr­entVersion\Run", True)
                 regKey.SetValue("conwindows", Application.ExecutablePath, RegistryValueKind.String)
     
                If regKey IsNot Nothing Then
                     regKey.SetValue("conwindows", Application.ExecutablePath, RegistryValueKind.String)
                 Else
                     MsgBox("error")
                 End If
     
            Catch ex As Exception
                 MessageBox.Show(ex.Message)
            End Try

    pongo en negrita el cambio.

    puedes decurnos entone es que mensaje de error te da? Seguramente sea de permisos.


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    domingo, 1 de septiembre de 2013 10:01
  • hola realmente no me da error pero lo unico o mas bien al darle al boton iniciar con windows que es donde tengo el codigo que te puse anteriormente deberia de crear la subkey en run en el registro de windows y con el valor la ruta en donde se encuentra el programa osea este mismo programa ya que creo que el codigo que te puse deberia de capturar la ruta y ponerla como valor de la subclave en run para que asi el programa se ejecute al iniciar windows y lo kiero hacer por medio del registro de windows y no por la carpeta inicio ya que tengo otro codigo y si funciona crea un acceso directo en la carpeta inicio y funciona pero lo quiero hacer por medio del registro gracias en otras palabras lo que quiero es crear una subclave en run en el registro y ponerle la ruta de la aplicacion pero quiero que el programa capture la ruta de la aplicacion y la ponga en el registro eso es todo lo que quiero y este codigo que tengo no hace nada osea no crea la subclave ni su valor gracias....
    domingo, 1 de septiembre de 2013 20:37
  • Try
                 Dim regKey As Microsoft.Win32.RegistryKey
                 regKey = My.Computer.Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\Curr­entVersion\Run", True)
                 
                If regKey IsNot Nothing Then
    .                Dim newkey As RegistryKey = regKey.CreateSubKey("conwindows")
                     newkey.SetValue("conwindows", Application.ExecutablePath, RegistryValueKind.String)
                 Else
                     MsgBox("error")
                 End If
     
            Catch ex As Exception
                 MessageBox.Show(ex.Message)
            End Try

    Prueba este código

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos


    • Editado Sergio Parra domingo, 1 de septiembre de 2013 21:00
    domingo, 1 de septiembre de 2013 21:00
  • hola gracias por responder mira le puse el codigo que me diste y me da error sale un msgbox diciendo error y tampoco agrega la clave  tengo el codigo de esta manera

    If CheckBox1.Checked = True Then
                CheckBox1.Text = "Iniciar Con Windows"
                Try
                    Dim regKey As Microsoft.Win32.RegistryKey
                    regKey = My.Computer.Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\Curr­entVersion\Run", True)

                    If regKey IsNot Nothing Then
                        Dim newkey As RegistryKey = regKey.CreateSubKey("conwindows")
                        newkey.SetValue("conwindows", Application.ExecutablePath, RegistryValueKind.String)
                    Else
                        MsgBox("error")
                    End If

                Catch ex As Exception
                    MessageBox.Show(ex.Message)
                End Try

    tambien me gustaria saber cual seria el codigo para kitarla tambien gracias..... y gracias por responder

    tengo estos dos imports

    Imports IWshRuntimeLibrary
    Imports Microsoft.Win32

    creo que el library no lo necesito porque es para crear el acceso directo en la carpeta digo eso creo.

    martes, 3 de septiembre de 2013 2:22
  • Hola varios puntos.

    1.- que mensaje de error te da exactamente?

    2.- para quitarla te pongo un enlace con ejemplos

    http://www.codeproject.com/Articles/3881/Working-with-Windows-Registry-using-VB-NET


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    martes, 3 de septiembre de 2013 4:37
  • hola gracias por responder yo la verdad no se nada de esta pagina y no se como darte puntos explicame como hacerlo por otra parte tengo este codigo que el que esta en el projecto del link que me enviaste el de codeproject pero me sale un error diske se soluciona agregando new pero como quiera me da error porque cuando lo agrego regkey me marca como error el codigo que tengo es este 

     Private Sub CheckBox1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox1.CheckedChanged
            If CheckBox1.Checked = True Then
                CheckBox1.Text = "Iniciar Con Windows"

                Dim regKey As RegistryKey
                    regKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\Curr­entVersion\Run", True)
                    regKey.CreateSubKey("conWindows", True)
                    regKey.SetValue("conwindows", Application.ExecutablePath, RegistryValueKind.String)
                    regKey.Close()
                MsgBox("clave agregada")

            ElseIf CheckBox1.Checked = False Then
                CheckBox1.Text = "No Iniciar Con Windows"
                Dim regKey As RegistryKey
                regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\Curr­entVersion\Run", True)
                regKey.DeleteSubKey("conwindows", True)
                regKey.Close()
                MsgBox("Clave Borrada")
            End If

    cuando agrego new en Dim regKey As RegistryKey osea Dim regKey As new RegistryKey me marca regkey como error y tambien en import solo tengo el windows win32 agregado gracias por responder y perdon por no darte puntos antes dime donde hago eso gracias.....

    martes, 3 de septiembre de 2013 21:47
  • gracias por responderme ya consegui los codigo y me funciona fenomenal gracias si pudiera darte puntos te los diera gracias y disculpa por no saber como hacerlo Dios te bendiga bye

    viernes, 6 de septiembre de 2013 19:14
  • De nada....y no me hace falta los puntos, estamos para ayudar jejeje. Suerte

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    viernes, 6 de septiembre de 2013 19:20