delphi ReadProcessMemory 输入进程ID 输入读取地址


本文整理自网络,侵删。

 
procedure TForm6.Button1Click(Sender: TObject);  
var  
  Ghwnd: HWND;  
  ProcID: Cardinal;  
  Process: THandle;  
  lpBaseAddress: Pointer;  
  nSize: SIZE_T;  
  lpNumberOfBytesRead: SIZE_T;  
  
//  lpBuffer: array [0 .. 500] of Char;//读取字符串正常  
    lpBuffer:DWORD;  
    cds:TClientDataSet;  
    dwSize:DWORD;  
begin  
  
  // Ghwnd:=FindWindow('TianLongBaBu WndClass','Caption1');  
  ProcID := StrToInt(EditProcID.Text);//输入进程ID  
  lpBaseAddress := Pointer(StrToInt(EditAddr.Text));//输入要读取的进程内地址  
  
  nSize := SizeOf(tClientDataSet );  
  // GetWindowThreadProcessId(Ghwnd, ProcID); //  
  Process := OpenProcess(PROCESS_ALL_ACCESS, False, ProcID); // PROCESS_VM_READ  取得进程句柄  
  ReadProcessMemory(Process, lpBaseAddress, @cds, nSize, lpNumberOfBytesRead); // dwSize    lpNumberOfBytesRead:THandle
//  Caption := PChar(lpBuffer);  
DataSource1.DataSet := cds;  
end;  

相关阅读 >>

Delphi 通过 arp 协议获取局域网内指定 ip 地址的机器的 mac 地址

Delphi复制粘贴操作

Delphi winapi: setvolumelabel - 设置磁盘卷标

Delphi inttostr 将“整数型”转换成“字符型”

Delphi 批量删除同类文件的函数

Delphi使用ixmlhttprequest 简单获取网页源代码

Delphi 使电脑睡眠代码

Delphi通过post传递参数给php

Delphi 控制台读写

Delphi 判断是否是十六进制数

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...