delphi xe一些變化

網絡上搜集的一些信息:

 

在 Delphi Xe2中 ReadProcessMemory 和 WriteProcessMemory等一些api的最後一個參數由原來的 var lpNumberOfBytesRead: DWORD 變爲了一個指針按他的提示是 type void好像是這樣了, '>0rp\jC  
THandle的定義已經是一個指針而不是像原來的 THandle = Cardinal了; "j] r  
所以 =!Ce#p?h,  
ReadProcessMemory(PHandle,Pinteger(FirstADD),FirstADDZ,nSize,lpNumberOfBytesRead); ds|L'7  
第一個參數不能是 THandle無類型指針, PHandle仍然是 Cardinal無符號整型;第三個參數是個指針類型需要用@取變量地。所以應該這樣 t,>j{SK~  
var .W1i3Z6g  
  lpNumberOfBytesRead: THandle; \CDzVO0^  
  FirstADDZ, PHandle, FirstADD: Cardinal; JMIS*njq^  
ReadProcessMemory(PHandle, Pointer(FirstADD),  @FirstADDZ, 4, lpNumberOfBytesRead); 雖然已經在目錄下看不到他的源碼了,但鼠標放在上面會有提示的啊,還有多看看編譯提示的錯誤!!!
 
var
  SiteNum: DWord;
  lByte: Size_T; //這裏可以定義爲thandle
begin
  Gameh := FindWindow(nil, 'QQ遊戲');
  showmessage(inttostr(Gameh));
  GetWindowThreadProcessID(Gameh, Gamepid);
  GameProcess := OpenProcess(Process_VM_Read or Process_VM_Write , False, Gamepid);
  lByte := 0;
  ReadProcessMemory(GameProcess, Pointer($0180017A), @SiteNum, 4, lByte);
  //Edit1.Text := inttostr(SiteNum);
end;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章