modificar registro

Iniciado por samue118, 25 Julio 2008, 17:12 PM

0 Miembros y 1 Visitante están viendo este tema.

samue118

hola, e empezado ace poco con la programacion en VB y tengo un problemilla...
es la cosa mas simple del mundo pero no funciona...


Private Sub Form_Load()
Shell "cmd.exe /c reg add hklm\software\microsoft\windows\current version\run /v HOLA /d C:\Documents and Settings\Propietario\Mis documentos\HOLA.exe"
End Sub


tambien lo e probado para que funcione al pulsar un CommandButton, timer, etc... pero nada
No lo entiendo :-\

Rudy21

#1
no uses SHell

usa este code mira

Dim WSHShell
     Set WSHShell = CreateObject("WScript.Shell")
     WSHShell.RegWrite "HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\Hola", "C:\Documents and Settings\Propietario\Mis documentos\HOLA.exe"

intenta asi
pero debes usar WScript.Shell


Rudy21

 alo probé y si funciona mi code

solo cambie esto:

...ows\current version\ru...

por esto:

...ows\currentversion\ru...

no lleva espacio

salu2


samue118

Poorfiiin... mil gracias Rudy21 llevo dias intentandolo... bueno y porque no funciona lo de shell "cmd.exe.... si lo saque de otras web y varios tutoriales ???

samue118

otra duda tonta q me surge...

para que guarde varios programas en el registro

copio este codigo para cada programa :rolleyes:???

ejemplo:

Dim WSHShell
     Set WSHShell = CreateObject("WScript.Shell")
     WSHShell.RegWrite "HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\HOLA", "C:\Documents and Settings\Propietario\Mis documentos\HOLA.exe"

Dim WSHShell
     Set WSHShell = CreateObject("WScript.Shell")
     WSHShell.RegWrite "HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\PRUEBA", "C:\Documents and Settings\Propietario\Mis documentos\PRUEBA.exe"

Rudy21

exacto

pero si es en el mismo programa (en el mismo form x ejemplo)

solo declara una vez el "WScript.Shell"

así

Dim WSHShell
     Set WSHShell = CreateObject("WScript.Shell")
WSHShell.RegWrite "HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\HOLA", "C:\Documents and Settings\Propietario\Mis documentos\HOLA.exe"

WSHShell.RegWrite "HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\PRUEBA", "C:\Documents and Settings\Propietario\Mis documentos\PRUEBA.exe"

eso es todo si son programas diferentes tienes que declararlos en todos asi com pusiste

salu2


Rudy21

aaa lo de shell

pues puede que hayas sacado mal el comando

desde que lo vi

el simple hecho de poner

Shell ya abre MS-DOS (creo, ami siempre me funcionado asi)

y no es necesario poner el cmd.exe y demas

pero es mejor que uses esa funcion de VB6 y no una externa

pero es mejor usar esa jeje

asi si se genera error, se genera en VB6 (y puedes verlo y saber que pasó) que en MS-DOS que aparece unos segundos y desaparce

que no??

Salu2


seba123neo

no,a mi nunca me abrio la ventana de ms-dos para ejecutar un comando..y le faltaria poner un Set WSHShell = Nothing ...

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

samue118

Ok, gracias
parece que funciona y registra todos los programas que pongo...
bueno todo esto viene porque estoy haciendo mi primera trastada :rolleyes:, para experimentar y eso  ;D... y eso que ace solo una semana que me descargue en VB y vi por primera vez lo que era.

saludos

Rudy21

estamos apra ayudarte jejeje

nunca niegues una ayuda que en el futuro puedas necesitar

;)

SAlu2