procedure getnum(); 
var
 nh:HWND;
 nPid:DWORD;
 nhprocess: THandle;
 nreadByte:DWORD;begin
  nh:=findwindow(nil,'test');
  GetWindowThreadprocessID(nh,nPid);
   nhProcess:=OpenProcess(PROCESS_VM_READ or PROCESS_VM_WRITE,false,nPid);
   Readprocessmemory(nhProcess, Pointer( Numbase),@num,4,  nreadByte); //为什么这个nreadbyte会出错呢?
end;

解决方案 »

  1.   

    Readprocessmemory被重载了?按住Ctrl键,对着Readprocessmemory点击鼠标左键,看是不是Windows的Readprocessmemory
      

  2.   

    這個作為接收的參數num定義了嗎?
      

  3.   

    procedure getnum();  
    var
     nh:HWND;
     nPid:DWORD;
     nhprocess: THandle;
     nreadByte:THandle;   //自己测试叻下  这个定义成thandle就没事叻begin
      nh:=findwindow(nil,'test');
      GetWindowThreadprocessID(nh,nPid);
      nhProcess:=OpenProcess(PROCESS_VM_READ or PROCESS_VM_WRITE,false,nPid);
      Readprocessmemory(nhProcess, Pointer( Numbase),@num,4, nreadByte); //为什么这个nreadbyte会出错呢?
    end;