Autor
|
Tema: crear, modificar y eliminar registros de regedit (Leído 3,210 veces)
|
Dark_Knight
Desconectado
Mensajes: 97
|
hola alguien me puede decir como consultar un registro de regedit.. kisiera que con un codigo.. analizar un registro y que el nombre del registro me aparezca en una caja de texto.... por ejemplo si el registro es asi hola reg_sz 1234 en la caja de texto kisiera que me apareciera esto... 1234 como le hago? tambien alguien me puede decir como creo y modifico registros DWORD... ya que me gustaria crear algun registro DWORD y darle algun valor... pero tambien buscar algun registro DWORD y cambiarle el valor... por ejemplo, si un DWORD tiene 1.. y quiero cambiarle a 2.. como lo hago?... o si tiene alguna direccion como escribirle otra.. etc. tambien como elimino registros... una forma sencilla de crear registros " string" es dim sys dim reg reg = ("WScript.Shell") reg.write "hkey\***\***\***\" & "nombre",sys & "nombre2" bueno no recuerdo bien pero era algo asi... hay alguna forma sencilla como esta para crear registro como los que necesito y modificarlos tambien... o necesito utilizar la api`s RegOpenKeyEx y otras porque ya lo intente con esas pero no lo logre... me pueden ayudar diciendome como manejo registro desde esa api o con algun codigo que uds conozcan espero su respuesta gracias
|
|
« Última modificación: 13 Junio 2007, 23:26 pm por Dark_Knight »
|
En línea
|
El hombre no puede crear nada sin antes dar algo a cambio... para crear... algo del mismo valor debe perderse.... esa es la ley de la equivalencia de intercambio... y el que desafie esa ley se convertira en un desafio de las creencias del ser humano y de la existencia de dios....
|
|
|
kabukiman
Desconectado
Mensajes: 50
The Visual basic Scriptkiddie
|
Te recomiendo que utilices el api de windows para tocar el registro las declaraciones basicas son Public Declare Function RegQueryValue Lib "advapi32.dll" Alias "RegQueryValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpValue As String, lpcbValue As Long) As Long Public Declare Function RegEnumKey Lib "advapi32" Alias "RegEnumKeyA" (ByVal hKey As Long, ByVal iSubKey As Long, ByVal lpszName As String, ByVal cchName As Long) As Long Public Declare Function RegOpenKey Lib "advapi32" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpszSubKey As String, phkResult As Long) As Long Public Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Public Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long Public 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 Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
las consantes basicas Public Const HKEY_LOCAL_MACHINE = &H80000002 Public Const HKEY_CLASSES_ROOT = &H80000000
y las operaciones basicas son RegOpenKey HKEY_LOCAL_MACHINE, "llave que quieras abrir (SOFTWARE\Microsoft\Windows\CurrentVersion\Run)", h valor = "c:\windows..." RegSetValueEx h, "nombre del valor(prueba)", 0, 1, ByVal valor, Len(valor) RegCloseKey h
y para borrar la clave anterior RegOpenKey HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", h
RegDeleteValue h, "nombre del valor antrior"
RegCloseKey h
|
|
« Última modificación: 14 Junio 2007, 13:07 pm por kabukiman »
|
En línea
|
|
|
|
Dark_Knight
Desconectado
Mensajes: 97
|
hola gracias por la respuesta.. pero ahora como le hago para revisal algun registro se hace con RegQueryValue... pero como?.. cada vez que lo intento se cierra visual basic... talvez lo hago mal.... pero lo que quiero es revisar un registro y que me aparezca en una caja de texto por ejemplo si en un registro me aparece esto... UIHost REG_SZ logonui.exe kisiera que en una caja de texto de visual me apareciera esto... logonui.exe pero como lo hago espero su respuesta gracias
|
|
|
En línea
|
El hombre no puede crear nada sin antes dar algo a cambio... para crear... algo del mismo valor debe perderse.... esa es la ley de la equivalencia de intercambio... y el que desafie esa ley se convertira en un desafio de las creencias del ser humano y de la existencia de dios....
|
|
|
kabukiman
Desconectado
Mensajes: 50
The Visual basic Scriptkiddie
|
a ver colega te explico como lo hago yo a continuación esto sería una función que te delvolvería si exisite la llave Public 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 public Const REG_SZ = 1& 'para saber si es alfanumerico
private function is_key_registered()as boolean
Dim buffer as string Dim lngType as long Dim lngBuff as long
buffer = Space$(256)
lngBuff = len(buffer)
RegOpenKey HKEY_LOCAL_MACHINE,"SOFTWARE\Microsoft\Windows\CurrentVersion\Run",h
ret = RegqueryValueEx (h,"nombredelvalor",0,lngType,ByVal buffer,lngBuff)
RegCloseKey h
if ret = 0 and lngType = REG_SZ and lngBuff>1 then is_key_registered = true
else is_key_registered = false end if
'puedes acceder al valor haciendo por ejemplo 'un msgbox del buffer y te enseñará el valor
end function
espero que te sirva si tienes algun problema dilo hasta luego
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
REGEDIT eliminar todos los registros posibles
« 1 2 »
Seguridad
|
mateo777
|
10
|
11,249
|
13 Junio 2011, 14:21 pm
por skapunky
|
|
|
CREAR UN EXPEDIENTE CLÍNICO EN C++ QUE SE PUEDA MODIFICAR , ELIMINAR Y ACTUALIZA
Programación C/C++
|
dedil jin
|
1
|
3,151
|
22 Diciembre 2012, 12:34 pm
por Danyfirex
|
|
|
[BATCH] Modificar Registros Fichero por script
Scripting
|
xavima
|
5
|
6,691
|
7 Mayo 2013, 09:38 am
por xavima
|
|
|
Eliminar registros repetidos dejando 1
Bases de Datos
|
Shell Root
|
2
|
3,500
|
20 Septiembre 2013, 05:11 am
por Shell Root
|
|
|
Ayuda! Al modificar o eliminar registros no abre el archivo .dat
Programación C/C++
|
qwertyui
|
3
|
2,521
|
23 Mayo 2016, 20:04 pm
por MAFUS
|
|