读书人

VVB6.0的ReadProcessMemory到了VB.NET

发布时间: 2012-04-03 12:38:19 作者: rapoo

VVB6.0的ReadProcessMemory到了VB.NET咋就用不了了?
Public Declare Function ReadProcessMemory Lib "kernel32 " (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByVal lpBuffer As Integer, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer

hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
If hProcess Then
Dim chongfh As Long
ReadProcessMemory(hProcess, &HAEBC280, chongfh, 4, 0&)
Label1.Text = CStr(h)
CloseHandle hProcess
End if
-------------------------------
在VB6.0上就能用的。。到了VB.NET怎么就用不了了啊。。。

[解决办法]
ByVal lpBuffer As Integer ???


Public Declare Function ReadProcessMemory Lib "kernel32 " (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, lpBuffer() As Byte, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer

Dim lpBuffer() as Byte

ReDim lpBuffer(3)
Dim nSize = 4

ReadProcessMemory(hProcess, &HAEBC280, lpBuffer, nSize, 0&)

至于那个 Base Address 对不对,我就不知道了

[解决办法]
其中有关指针的定义,好象不应该是Integer 而是Intptr

读书人网 >VB Dotnet

热点推荐