是不是这个?procedure TForm1.Button2Click(Sender: TObject); var mm: integer; ss: string; begin mm := StrToInt(Edit1.Text); //mm := '909652023'; ss := ''; while mm div 256 >0 do begin ss := chr(mm mod 256) + ss; mm := mm div 256; end; ss := chr(mm) + ss; showmessage(ss); end;
刚测试了一下 原来应该用array of byte而不是用dword读取内存值 如果是array of byte应该怎样写呢?
已经解决了 谢谢各位帮忙 ReadProcessMemory(ProcessHandle,ptr(final_addr),@answer,SizeOf(answer), iread); finalstring :='12345678901234567890'; for i:= 1 to SizeOf(answer) do begin finalstring[i]:= Chr(answer[i]); end; //Memo1.Lines.Add(finalstring);Answer为array[1..20] of byte;
转换就是了
var
mm: integer;
ss: string;
begin
mm := StrToInt(Edit1.Text);
//mm := '909652023';
ss := '';
while mm div 256 >0 do
begin
ss := chr(mm mod 256) + ss;
mm := mm div 256;
end;
ss := chr(mm) + ss;
showmessage(ss);
end;
网路上4 bytes转换为string的帖子好像只有英文的呢
如果是array of byte应该怎样写呢?
finalstring :='12345678901234567890';
for i:= 1 to SizeOf(answer) do
begin
finalstring[i]:= Chr(answer[i]);
end;
//Memo1.Lines.Add(finalstring);Answer为array[1..20] of byte;