procedure TForm1.Button2Click(Sender: TObject);
var
dw:word;
bt:word;
pdwlinaddr:pword;
PhysicalMemoryHandle:Thandle;
begin
dw:=strtoint(edit3.Text);
pdwLinAddr:=pword(MapPhysToLin(pbyte($d0000+dw), 2, PhysicalMemoryHandle));
bt:=pdwLinAddr^;
UnmapPhysicalMemory(PhysicalMemoryHandle,pbyte(pdwLinAddr));
// getPhysword(pbyte($d0000+dw));
edit2.Text:=inttostr(bt);
end;
procedure getPhysword(pbPhysAddr:pbyte);word;
var
pdwlinaddr:pword;
PhysicalMemoryHandle:Thandle;
begin
pdwLinAddr := pword(MapPhysToLin(pbPhysAddr, 2, PhysicalMemoryHandle));
getPhysword:= pdwLinAddr^;
UnmapPhysicalMemory(PhysicalMemoryHandle,pbyte(pdwLinAddr));
end;
我把关键的几句写为一个过程后,运行程序就不行了,单步调试的时候发现bt的值已经是正确的了,但执行到end就不行了。我怀疑的参数的原因,但具体怎么回事不明白,请问是怎么回事。
解决方案 »
- 怎么让运行的程序,在任务管理器中隐藏,要在98,2000,xp上都有效果
- 数据库链接问题
- 强烈推荐,微软_编程精粹下载 !!!
- 简单问题---在线等
- SoundForge6
- 哪位见过“invalid blob handle in record buffer”这个错误???
- 求助问题,只知道菜单控件TMuneItem的Caption 怎样写禁掉该TMuneItem方法
- 散分!当天结帖。
- 在学习中遇到困难了怎么办?
- 请问:框架(Frame)为什么不能动态生成两次 ?????????????
- 如何循环判断 listbox的值?
- 我想通过程序来控制数码相机,包括开始拍照,到照片进入电脑。查了很多资料,比较模糊。请教高手!!!
function getPhysword(pbPhysAddr:pbyte);word;
pdwLinAddr:=pword(MapPhysToLin(pbyte($d0000+dw), 2, PhysicalMemoryHandle));
pdwLinAddr^:=ok;(一个word类型的变量);
UnmapPhysicalMemory(PhysicalMemoryHandle,pbyte(pdwLinAddr));如果我改为
pdwLinAddr:=pword(MapPhysToLin(pbyte($d0000+dw), 2, PhysicalMemoryHandle));
pdwLinAddr^:=1;(一个word类型的变量);
UnmapPhysicalMemory(PhysicalMemoryHandle,pbyte(pdwLinAddr));都会出错,为什么啊?郁闷死了。