Leer memoria con Readprocessmemory

Annie
13 de Marzo del 2006
Estoy haciendo un programa y necesito sacar un valor hexadecimal de la memoria de un programa que tengo ya corriendo.
Con winhex he cogido la adreza del valor que necesito, pero cuando lo voy a sacarlo siempre me devuelve 0...

Aqui les adjunto el codigo fuente del programa:

Public Sub Heal()

Dim lEstado As Long
Dim idProc As Long
Dim winHwnd As Long

winHwnd = FindWindow(vbNullString, "Tibia ")
If winHwnd = 0 Then
MsgBox "First you have to open Tibia", vbExclamation, "Error": Exit Sub
End If
Call GetWindowThreadProcessId(winHwnd, idProc)

\' Obtenemos el handle al proceso
hProceso = OpenProcess(PROCESS_TERMINATE Or _
PROCESS_QUERY_INFORMATION, 0, idProc)
If hProceso <> 0 Then
Form1.Timer1.Enabled = True
temps
Else
MsgBox "Could not access proces handle.", vbExclamation, "Error"
End If
End Sub

Public Sub temps()
\'Dim valuex As String
\'adre = VarPtr(&H4A123C)
ReadProcessMemory hProceso, &H4A123C, ByVal vida, 4, 0&
Form1.Text1.Text = vida
End Sub

>> Aparentemente me lo hace todo bien hasta al llegar al ReadProcessMemory que le digo que me devuelva el valor que obtiene en la variable "vida", el valor es actualmente 77 01 en hex, y me devuelve un 0. Alguien podria hecharme una mano? aver si es que he hecho algo mal o me he saltado algun paso... enga un saludo, Gracias