看流星社区

 找回密码
 注册账号
查看: 2909|回复: 2

[Delphi] delphi中读取指定内存地址的值的问题

[复制链接]

该用户从未签到

发表于 2011-3-29 09:33:08 | 显示全部楼层 |阅读模式
我想读取地址为1005334的值,应该写..我写了个就是读不出数据




procedure TForm1.Button1Click(Sender: TObject);

var
hwnd:cardinal;
pid:Dword;
hProcess:cardinal;
x:widechar;
Num: cardinal;


begin

hwnd := FindWindow(nil, '扫雷');
GetWindowThreadProcessId (hwnd, @pid);
hProcess := OpenProcess(PROCESS_ALL_ACCESS, false, pid);
    If hProcess <> 0 Then
    begin
      ReadProcessMemory(hprocess,Pointer($1005334),@x,sizeof(x),num);
      label1.Caption := string(x);

    end

    else

    showmessage('未启动游戏');
    CloseHandle(hProcess);

end;

该用户从未签到

发表于 2011-3-29 09:33:26 | 显示全部楼层
ReadProcessMemory(hprocess,Pointer($1005334),@x,sizeof(x),num);
x:widechar;
SizeOf(x)是什么?
这里是读出的长度.

该用户从未签到

发表于 2011-3-29 09:33:37 | 显示全部楼层
procedure TForm1.Button1Click(Sender: TObject);
var
hwnd:cardinal;
pid:Dword;
hProcess:cardinal;
x:string;
Num: cardinal;


begin
setlength(X,$10);
hwnd := FindWindow(nil, 'Cheat Engine 5.3');
GetWindowThreadProcessId (hwnd, @pid);
hProcess := OpenProcess(PROCESS_ALL_ACCESS, false, pid);
    If hProcess <> 0 Then
    begin
      if ReadProcessMemory(hprocess,Pointer($1005334),@x,$10,num) then
      label1.Caption := string(x)
      else
      showmessage('读数失败~!');
    end
    else
      showmessage('未启动游戏');
    CloseHandle(hProcess);

end;
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-3-29 20:54

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表