WriteProcessMemory函数说明

WriteProcessMemory

 

目录

概览
C++
VB
 

编辑本段概览

   WriteProcessMemory

WriteProcessMemory

  此 函数能写入某一进程的内存区域。入口区必须可以访问,否则操作将失败。
 

编辑本段C++

  此函数能写入某一进程的内存区域(直接写入会出Access Violation错误,故需此函数)。
 
  VC++声明
 
  BOOL WriteProcessMemory(
 
  HANDLE hProcess,
 
  LPVOID lpBaseAddress,
 
  LPVOID lpBuffer,
 
  DWORD nSize,
 
  LPDWORD lpNumberOfBytesWritten
 
  );
 
  参数:
 
  hProcess
 
  由 OpenProcess返回的进程句柄。
 
  如参数传数据为 INVALID_HANDLE_VALUE 【即-1】目标进程为自身进程
 
  lpBaseAddress
 
  要写的内存首地址
 
  再写入之前,此函数将先检查目标地址是否可用,并能容纳待写入的数据。
 
  lpBuffer
 
  指向要写的数据的指针。
 
  nSize
 
  要写入的字节数。
 
  返回值
 
  非零值代表成功。
 
  可用 GetLastError获取更多的错误详细信息。
 
  要求
 
  操作系统版本: Windows CE 2.0及以上版本。
 
  所在头文件: Winbase.h
 
  链接库: Nk.lib
 
  参见
 
  OpenProcess|  ReadProcessMemory
 

编辑本段VB

  Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByVal lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
 
  说明:
 
  hProcess , 进程的句柄
 
  lpBaseAddress, 写入进程的位置
 
  lpBuffer, 数据当前存放地址
 
  nSize, 数据的长度
 
  lpNumberOfBytesWritten,实际数据的长度
 
  nSize以字节为单位,一个字节Byte等于8位
 
  基本数据类型的长度参见基本数据类型
 
 
 
扩展阅读:
  • 1

    MSDN

开放分类:

转载于:https://www.cnblogs.com/HeroZearin/articles/2539090.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值