这个是写内存的代码VB 6.0WriteProcessMemory DRProcessHandle, &H5D9E59, &H1F, 1, 0&
                                        ↑      ↑
                                  欲修改地址 修改值
                                     16进制    16进制 
换成DELPHI 怎么写哦
最好帮偶改好哦
谢谢大家了
网上例子看不大懂...

解决方案 »

  1.   

    BOOL WriteProcessMemory(    HANDLE hProcess, // handle to process whose memory is written to  
        LPVOID lpBaseAddress, // address to start writing  to 
        LPVOID lpBuffer, // pointer to buffer to write data to
        DWORD nSize, // number of bytes to write
        LPDWORD lpNumberOfBytesWritten  // actual number of bytes written 
       );
    lpBaseAddress := VirtualAllocEx(hProcess, nil, LibInfoCount,
        MEM_COMMIT, PAGE_READWRITE);
    VirtualFreeEx(hProcess,lpBaseAddress,0, MEM_RELEASE);
      

  2.   

    function WriteProcessMemory(hProcess: THandle; const lpBaseAddress: Pointer; lpBuffer: Pointer;
      nSize: DWORD; var lpNumberOfBytesWritten: DWORD): BOOL; stdcall;
      

  3.   

    WriteProcessMemory(    HANDLE hProcess, // handle to process whose memory is written to  
        LPVOID lpBaseAddress, // address to start writing to 
        LPVOID lpBuffer, // pointer to buffer to write data to
        DWORD nSize, // number of bytes to write
        LPDWORD lpNumberOfBytesWritten // actual number of bytes written 
       );
    ----------------------------------------------------------------------------
    const
      ResourceOffset: dword = $004219F4;
      resource: dword = 3113226621;
      ResourceOffset1: dword = $004219F8;
      resource1: dword = 1940000000;
      ResourceOffset2: dword = $0043FA50;
      resource2: dword = 1280185;
      ResourceOffset3: dword = $0043FA54;
      resource3: dword = 3163064576;
      ResourceOffset4: dword = $0043FA58;
      resource4: dword = 2298478592;
    var
      hw: HWND;
      pid: dword;
      h: THandle;
      tt: Cardinal;
    begin
      hw := FindWindow('XX', nil);
      if hw = 0 then
        Exit;
      GetWindowThreadProcessId(hw, @pid);
      h := OpenProcess(PROCESS_ALL_ACCESS, false, pid);
      if h = 0 then
        Exit;
      if flatcheckbox1.Checked=true then
      begin
        WriteProcessMemory(h, Pointer(ResourceOffset), @Resource, sizeof(Resource), tt);
        WriteProcessMemory(h, Pointer(ResourceOffset1), @Resource1, sizeof(Resource1), tt);
      end;
      if flatcheckbox2.Checked=true then
      begin
        WriteProcessMemory(h, Pointer(ResourceOffset2), @Resource2, sizeof(Resource2), tt);
        WriteProcessMemory(h, Pointer(ResourceOffset3), @Resource3, sizeof(Resource3), tt);
        WriteProcessMemory(h, Pointer(ResourceOffset4), @Resource4, sizeof(Resource4), tt);
      end;
      MessageBeep(0);
      CloseHandle(h);
      close;
      

  4.   

    我记得有个叫MemEdit的游戏修改器是用Delphi写的,应该有用到WriteProcessMemory