首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi writeprocessmemory 参数,该怎么处理

2012-11-13 
delphi writeprocessmemory 参数function sun():integer//我的函数VAR SitNum :DWORDGameH:HWND//定义

delphi writeprocessmemory 参数
function sun():integer; //我的函数
VAR SitNum :DWORD;
  GameH:HWND; //定义进程窗口句柄
  PidGame:DWORD; //定义进程ID
  readByte:DWORD; //实际读取字节
  Gamehprocess: THandle; //可以理解为DWord,也就是非负数的整数类型 定义进程句柄
begin
a:=chr(235);
 GameH:=FindWindow('MainWindow',nil); //获取游戏窗口句柄
 GetWindowThreadProcessId(GameH,PidGame) ; //获取进程ID
 Gamehprocess:=OpenProcess(PROCESS_VM_READ or PROCESS_VM_WRITE,false,PidGame); //获取进程句柄
 Readprocessmemory(gamehProcess, Pointer($7794F8),@SitNum,4,readByte); //读出内存值
 ReadProcessMemory(Gamehprocess,Pointer(SitNum+$868),@SitNum,4,ReadByte); //第一个偏移
 ReadProcessMemory(Gamehprocess,Pointer(SitNum+$5578),@SitNum,4,ReadByte);

 
 form1.edit1.Text:=inttostr(SitNum);
end;
 
我可以读到内存值.然后放到EDIT里面..但是我现在想写入值.改变他.怎么做?

网上例子我找了很久了.但是参数完全看不懂什么意思..

[解决办法]
Readprocessmemory(gamehProcess, Pointer($7794F8),@SitNum,4,readByte); //读出内存值
ReadProcessMemory(Gamehprocess,Pointer(SitNum+$868),@SitNum,4,ReadByte); //第一个偏移
WriteProcessMemory(Gamehprocess,Pointer(SitNum+$5578),@i,4,ReadByte);

热点排行