<DllImport("kernel32.dll")> _
Private Declare Function ReadProcessMemory Lib "kernel32" ( _
ByVal hProcess As Integer, _
ByVal lpBaseAddress As Integer, _
ByRef lpBuffer As Long, _
ByVal nSize As Integer, _
ByRef lpNumberOfBytesWritten As Integer _
) As Integer
Public Sub readaddress()
Dim ReadAddress As Integer
Dim AddressValue As Integer
ReadAddress = &H1CD8ECC&
ReadProcessMemory(p(0).Handle.ToInt32, ReadAddress, AddressValue, 4, 0)
End Sub
Private Declare Function ReadProcessMemory Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Integer, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer
Private Declare Function CloseHandle Lib "kernel32" Alias "CloseHandle" (ByVal hObject As Integer) As Integer
Private Declare Function OpenProcess Lib "kernel32" Alias "OpenProcess" (ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Integer, ByVal dwProcessId As Integer) As Integer
Public Function ReadLong(ByVal ProcessN As String, ByVal Address As Integer, ByVal ByteL As Byte) As Long
Dim value As Long
Dim proc As Process = Process.GetProcessesByName(ProcessN)(0)
Dim winhandle As IntPtr = OpenProcess(&H1F0FFF, True, proc.Id)
If ReadProcessMemory(winhandle, Address, value, ByteL, 0) = 0 Then Return -1
CloseHandle(winhandle)
Return value
End Function