首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

VVB6.0的ReadProcessMemory到了VB.NET咋就用不了了?该如何处理

2012-04-03 
VVB6.0的ReadProcessMemory到了VB.NET咋就用不了了?PublicDeclareFunctionReadProcessMemoryLibkernel32

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

热点排行