关于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;