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;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值