当前位置:编程学习 > Delphi >>

Delphi内存绝对地址访问问题

var
aa:^integer;
begin
aa:=ptr($0D74C33B);
if aa^=$060000 then begin end; //此句出错,其它地址没问题,就这个地址$0D74C33B有问题,为何?
end;
答案:
可以使用ReadProcessMemory
var
aa:integer;
ph:thandle;
ReadProcessMemory(ph,Pointer($0D74C33B),@aa,4,0);
if aa=$060000 then
begin
...
end;
错误应该是 read error at $0D74C33B 吧
指针所访问的是Windows自动分配的虚拟内存,有些地址是保留的不可读取(例:$00000000),这样强制读取便会出错。

上一个:delphi 利用ADOQuery查询 在DBChart显示
下一个:怎么用Delphi编写网络验证程序

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,