Foros del Web » Programando para Internet » ASP Clásico »

[SOLUCIONADO] VBScript (WSH): ¿Como leer un valor binario (hexadecimal) del registro?

Estas en el tema de [SOLUCIONADO] VBScript (WSH): ¿Como leer un valor binario (hexadecimal) del registro? en el foro de ASP Clásico en Foros del Web. Buenos dias Gente, Os explico: Quiero leer del Registro la firma predeterminado del Microsoft Outlook. En el registro se encuentra guardado en HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging ...
  #1 (permalink)  
Antiguo 21/10/2008, 05:14
 
Fecha de Ingreso: febrero-2008
Mensajes: 7
Antigüedad: 17 años, 2 meses
Puntos: 0
[SOLUCIONADO] VBScript (WSH): ¿Como leer un valor binario (hexadecimal) del registro?

Buenos dias Gente,

Os explico:

Quiero leer del Registro la firma predeterminado del Microsoft Outlook.

En el registro se encuentra guardado en HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\9375CFF0413111d3B88A001 04B2A6676\00000002\New Signature.

El problema es que esta guardado de forma REG_BINARY y queria convertirlo a un STRING legible.

La funcion que tengo hecha es la siguiente, pero que no funciona.


Código:
Set Shell = CreateObject("WScript.Shell")

Function Hex2String(c)
	Dim a, i, s, x, y, z
		a = Split(c,"00")
		For i = 0 To UBound(a) 
		x = Left(a(i),1)

		y = Right(a(i),1)
		z = 16*x+InStr("123456789ABCDEF",y)
		s = s & Chr(z)
	Next
	Hex2String = s
End Function


arr  = Shell.RegRead("HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\9375CFF0413111d3B88A00104B2A6676\00000002\New Signature")


For i = LBound(arr) To UBound(arr)
	c = c & Hex(arr(i))
Next
Wscript.Echo(c)
z = Hex2String(c)
Wscript.Echo z
¿Podeis ayudarme?

Gracias de antemano

Un saludo
Benji

Última edición por BenjiRS; 21/10/2008 a las 06:54 Razón: Solucion
  #2 (permalink)  
Antiguo 21/10/2008, 06:52
 
Fecha de Ingreso: febrero-2008
Mensajes: 7
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: VBScript (WSH): ¿Como leer un valor binario (hexadecimal) del registro?

Ya encontre la solución.

Gracias!

Código:
Set Shell = CreateObject("WScript.Shell")

arrValues  = Shell.RegRead("HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\9375CFF0413111d3B88A00104B2A6676\00000002\New Signature")

For intIndex = LBound(arrValues) To UBound(arrValues) Step 2
     varValue = varValue & Chr(arrValues(intIndex))
Next
arrValues = split(varValue, ";")
For intIndex = LBound(arrValues) To UBound(arrValues)
    Wscript.Echo arrValues(intIndex)
Next
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:07.