我想在内存里读取外部程序的一个指定地址的内容
来判断一个状态。请问该如何读取内存里的内容?
例如这个地址$0012EFF0

解决方案 »

  1.   

    http://www.codase.com/search/call?name=ReadProcessMemory
      

  2.   

    打开进程
    OpenProcess
    读内存
    ReadProcessMemory
      

  3.   

    var
      Window: HWND;
      Num: cardinal;
      PHND: THandle;
      PID, mft: Integer;
    begin
      Window := GetBWHwnd;//此为窗口句炳
      GetWindowThreadProcessId(Window, @PID);
      PHND := OpenProcess(PROCESS_VM_READ, False, PID);
      if PHND <> 0 then 
      ReadProcessMemory(PHND, Pointer($3DEF90), @mft, 4, Num)
      label1.caption:=inttostr(mft);
    end;
    end.但是你要确实你的地址是可读的,不然读不出数据