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

关于API函数ReadProcessMemory的用法有关问题

2012-03-03 
关于API函数ReadProcessMemory的用法问题?ReadProcessMemory(hProcess:Cardinal//这个应该是进程句柄吧co

关于API函数ReadProcessMemory的用法问题?
ReadProcessMemory(hProcess:Cardinal;             //这个应该是进程句柄吧
                                          const   lpbaseAddress:Pointer;       //要读取的地址
                                          lpBuffer:Pointer;     //缓冲区
                                          nSize:Cardinal;     //读取的大小
                                          var   lpNumberOfBytesRead)     //这个不知道是什么.
我的代码是这样的:

    ReadProcessMemory(hProcess,$03467A08,mybuffer,4,0);

一直提示错误,不知道那里错误了.好象应该是第3个参数的问题,我在上面已经定义了一个变量:mybuffer:integer;   但是这里提示应该是指针变量,我就不知道这个该怎么写了....高手指教一下啊,谢谢了。在线等.

[解决办法]
最后一个参数是一个Var参数,所以必须是一个变量,而不能是珍上常量:
var
C: Ineteger;
begin
ReadProcessMemory(hProcess,$03467A08,mybuffer,4,C);
end;

最后一个参数表示实现读取的数量,由函数本身传出

[解决办法]
var
pHandle, pAddr: DWORD;
mNum, tmpNum: DWORD;
begin
...
...
...
pAddr := $010052C4;
ReadProcessMemory(pHandle, Pointer(pAddr), Pointer(@mNum), 4, tmpNum);
end;

热点排行