Pbyte类型问题,50分快来拿呀。(50分)

  • 主题发起人 主题发起人 3aslp
  • 开始时间 开始时间
3

3aslp

Unregistered / Unconfirmed
GUEST, unregistred user!

var
lpBuffer:Pbyte;
nSize: DWORD;
lpNumberOfBytesWrite: DWORD;
i:integer;
s:string;
begin
nSize:=1;
lpbuffer:=AllocMem(nSize);
i:=$00560C88;
ReadProcessMemory(ProcessHndle,Pointer(i),lpBuffer,nSize,lpNumberOfBytesWRite);
s:=inttostr(lpBuffer^);
edit1.text:=s;
end;
这是一段诗读内存数据的程序段。当内存数据小于255的时候能正确读出,当大于255后就不对了。
请问应如何写这段程序。
 
255是一个byte的极限了,你设置一下大小
 
pchar
s:=lpBuffer+chr(0);
 
不太明白,请详细点好吗?谢谢!
 
hfghfghfg的意思是
var
lpBuffer:Pchar;
....
s:=lpBuffer+chr(0);

 
你的nSize赋值的是1,当然不能读出大于255的内容了,你可以改变nSize的大小
 
nSize=200都没用。
var
lpBuffer:Pchar;
....
s:=lpBuffer+chr(0);
返回的值是 5^

 
没人看了?
 
Byte当然只能保存一个字节。最大值255
你可以用Word,DWord之类的类型来读取
 
呵呵,用 pword 就行了。谢谢各位!
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
744
import
I
后退
顶部