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

delphi writeprocessmemory 参数解决方法

2013-01-08 
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);

热点排行