为什么我总是读取不了指定内存的数据?哪里错了?
请帮我看看。我已经没有分了,所以只能给这么点分了。unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;
  h,proid,nok:hwnd;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
c1,addr:integer;
cnt:cardinal;
oldprotect:dword;
begin
addr:=$14c728;
h:=findwindow(nil,'NS-SHAFT');
if h=0 then
   showmessage('游戏没打开')
else
  begin
  GetWindowThreadProcessId(h,@proid); // 从窗口句柄得到进程ID
  nOK:=OpenProcess(PROCESS_ALL_ACCESS or PROCESS_TERMINATE or PROCESS_VM_OPERATION or PROCESS_VM_READ or PROCESS_VM_WRITE,false,proid);  //打开进程并得到读与权限
  if nok=0 then
  showmessage('失败')
  else
  begin
  readProcessMemory(proid,pointer(addr),@c1,4,cnt);
  showmessage(inttostr(cnt));//这里总是显示0,没有成功读到数据。
  edit1.Text:=inttostr(c1);
  end;
  end;end;end.