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:
(http://www.picture.cl/images/kik.jpg)
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
Debes de pasar el puntero del indice menor de un array byte ( Lbound() ) con el API.
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
rtn = RegSetValueExA(hKey, Entry, 0, REG_BINARY, byval varptr(ByteArray(lbound(ByteArray))), TamañoArray)
Ejemplo:
Dim ByteArray() As Byte
ByteArray = Strings.StrConv("", vbFromUnicode)
rtn = RegSetValueExB(hKey, Entry, 0, REG_BINARY, byval varptr(ByteArray(LBound(ByteArray))), IIf(LBound(ByteArray) = 0, 1, 0) + UBound(ByteArray))
' // Aun que al usar StrConv() se puede obvia el Indice menor de esta manera
rtn = RegSetValueExB(hKey, Entry, 0, REG_BINARY, byval varptr(ByteArray(0)), UBound(ByteArray) + 1)
MsgBox "La longirud es de: " & IIf(LBound(ByteArray) = 0, 1, 0) + UBound(ByteArray)
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!¡.
Muchas gracias, ahoira lo pruebo.