- 注册时间
- 2011-3-6
- 最后登录
- 1970-1-1
该用户从未签到
|
那位大侠帮忙看一下!谢谢了!
var
Gameh:HWND; //设Gameh
GamePid:DWORD; //设GamePid 为存储游戏ID
Gamehprocess: THandle; //设Gamehprocess 为存储游戏进程句柄
readByte:DWORD; //设readByte读出数据的实际大小的
Zhjzsc :DWORD;
Zhname:DWORD; //名字
begin
//获取游戏窗口句柄
Gameh:=findwindow(nil,'legend of mir2');
//获取进程ID
GetWindowThreadprocessID(Gameh,GamePid);
//获取进程句柄
gamehProcess:=OpenProcess(PROCESS_VM_READ or PROCESS_VM_WRITE,false,GamePid);
//读出主号基址的地址
Readprocessmemory(gamehProcess, Pointer($05f3e20),@Zhjzsc,4, readByte);
//读出主号基址的地址+1级偏移24 主号名称的数据地址
Readprocessmemory(gamehProcess, Pointer(Zhjzsc+$24),@Zhjzsc,4, readByte);
//读出主号基址的地址+0级偏移0 主号名称的数据
Readprocessmemory(gamehProcess, Pointer(Zhjzsc+$0),@Zhname,4, readByte);
//显示主号名称信息
self.Edit1.Text:= intToHex(Zhname,8);
end;
为什么文本框输出的是 16进制代码,而不是 文本(如游戏人物名称) |
|