Descripción del problema
El uso de ReadProcessMemory en vb.net no siempre puede leer el contenido de la memoria. Parece ser un problema común. No sé si tiene buenos métodos, cómo llamar y declarar ReadProcessMemory, o usar otros métodos para leer la memoria de otros procesos.
solución
ReadProcessMemory declaró así. Declare lpBaseAddress como ByVal:
Public Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByVal lpBuffer() As Byte, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer
Dim ph As Integer
Dim buffer(200) As Byte
Dim bytesRead As Integer
ReadProcessMemory(ph, &H403000, buffer, buffer.Length,bytesRead)