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执行sql提示“不正常地定义参数对象”,“提供了不一致或不完整的信息”错误

Delphi 利用windows api判断文件共享锁定状态

Delphi 取当前目录下所有文件夹名和文件名

Delphi 下载一个jpg图片保存为bmp图片

Delphi汉字简繁体转换代码

Delphi 加载excel 导入数据库

Delphi 10.4.1的编译器bug终于修正了!

decodedatetime:将一个tdatetime变量拆分成它的日期/时间 部分

Delphi 压缩图片算法

Delphi vcl tmemo加速字符串读取

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



打赏

取消

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

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

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

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

评论

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