关于VB.net 2005调用API(ReadProrocessMemory)的有关问题
关于VB.net 2005调用API(ReadProrocessMemory)的问题
Public Class MemoryClass
Public Shared hprocess As Integer
Public Shared buffer As Byte
Private Shared lpNumberOfBytesWritten As Integer = 0
Public Const PROCESS_ALL_ACCESS = &H10
Public Declare Function CloseHandle Lib "kernel32.dll " (ByVal hProcess As Integer) As Integer
<DllImport( "kernel32.dll ", SetLasterror:=True, CharSet:=CharSet.Auto, ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall)> _
Public Shared Function ReadProcessMemory(ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByVal lpBuffer As Byte, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer
End Function
<DllImport( "kernel32.dll ", CharSet:=CharSet.Auto, Setlasterror:=True)> _
Public Shared Function OpenProcess(ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Boolean, ByVal dwProcessId As Integer) As Integer
End Function
Public Shared Sub Init()
Dim ps As Process() = Process.GetProcessesByName( "elementclient ")
If (ps.Length = 0) Then
MsgBox( "未打开! ")
End If
Dim pid As Process = ps(0)
hprocess = OpenProcess(&H10, True, pid.Id)
End Sub
Public Shared Sub Dispose()
If (hprocess > 0) Then
CloseHandle(hprocess)
End If
End Sub
Public Shared Function ReadInt(ByVal address As Integer, ByVal length As Integer) As Integer
If (length > 4) Then
length = 4
End If
If (length < 1) Then
length = 4
Public Class MemoryClass
Public Shared hprocess As Integer
Public Shared buffer As Byte
Private Shared lpNumberOfBytesWritten As Integer = 0
Public Const PROCESS_ALL_ACCESS = &H10
Public Declare Function CloseHandle Lib "kernel32.dll " (ByVal hProcess As Integer) As Integer
<DllImport( "kernel32.dll ", SetLasterror:=True, CharSet:=CharSet.Auto, ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall)> _
Public Shared Function ReadProcessMemory(ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByVal lpBuffer As Byte, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer
End Function
<DllImport( "kernel32.dll ", CharSet:=CharSet.Auto, Setlasterror:=True)> _
Public Shared Function OpenProcess(ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Boolean, ByVal dwProcessId As Integer) As Integer
End Function
Public Shared Sub Init()
Dim ps As Process() = Process.GetProcessesByName( "elementclient ")
If (ps.Length = 0) Then
MsgBox( "未打开! ")
End If
Dim pid As Process = ps(0)
hprocess = OpenProcess(&H10, True, pid.Id)
End Sub
Public Shared Sub Dispose()
If (hprocess > 0) Then
CloseHandle(hprocess)
End If
End Sub
Public Shared Function ReadInt(ByVal address As Integer, ByVal length As Integer) As Integer
If (length > 4) Then
length = 4
End If
If (length < 1) Then
length = 4