elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Escribir valor binario en registro
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Escribir valor binario en registro  (Leído 3,453 veces)
oskoa

Desconectado Desconectado

Mensajes: 53


Ver Perfil
Escribir valor binario en registro
« en: 27 Diciembre 2010, 20:54 pm »

Estuve viendo algo, antes de publicar:

http://foro.elhacker.net/programacion_vb/introducir_valor_binario_en_registro_usando_vb_script-t196741.0.html;msg934974

Aunque de todas formas lo que quiero es parecido (puede incluso que sea eso, y de necio que soy no me doy cuenta), no es exactamente lo que me falta.

Quiero escribir un valor REG_BINARY en VB 6.0, precisamente este valor:



Lo único que sé es que tengo que usar esto: SetBinaryValue

Alguna ayuda?  :huh: Gracias.

NOTA: hace 6 meses que no toco VB y me olvide de todo :S



En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Escribir valor binario en registro
« Respuesta #1 en: 27 Diciembre 2010, 21:14 pm »

Debes de pasar el puntero del indice menor de un array byte ( Lbound() ) con el API.

Código
  1.  
  2. Declare Function RegSetValueExA Lib "advapi32.dll" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByRef lpData As Long, ByVal cbData As Long) As Long
  3.  
  4.  
Código
  1.  
  2. rtn = RegSetValueExA(hKey, Entry, 0, REG_BINARY, byval varptr(ByteArray(lbound(ByteArray))), TamañoArray)
  3.  
  4.  

Ejemplo:

Código
  1.  
  2. Dim ByteArray() As Byte
  3.    ByteArray = Strings.StrConv("", vbFromUnicode)
  4.    rtn = RegSetValueExB(hKey, Entry, 0, REG_BINARY, byval varptr(ByteArray(LBound(ByteArray))), IIf(LBound(ByteArray) = 0, 1, 0) + UBound(ByteArray))
  5.    '   //  Aun que al usar StrConv() se puede obvia el Indice menor de esta manera
  6.    rtn = RegSetValueExB(hKey, Entry, 0, REG_BINARY, byval varptr(ByteArray(0)), UBound(ByteArray) + 1)
  7.    MsgBox "La longirud es de: " & IIf(LBound(ByteArray) = 0, 1, 0) + UBound(ByteArray)
  8.  
  9.  

Obviamente hayq ue abrir el registro con las apis RegOpenKeyEx y cerralo despues con RegCloseKey

P.D.: No puese el ejemplo completo ya que lo demas es una jalada que encuentras en la MSDN.

Temibles Lunas!¡.


« Última modificación: 27 Diciembre 2010, 21:29 pm por BlackZeroX▓▓▒▒░░ » En línea

The Dark Shadow is my passion.
oskoa

Desconectado Desconectado

Mensajes: 53


Ver Perfil
Re: Escribir valor binario en registro
« Respuesta #2 en: 27 Diciembre 2010, 23:18 pm »

Muchas gracias, ahoira lo pruebo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines