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

开放分类:
posted @ 2012-06-07 00:12  zearin  阅读(5298)  评论(0编辑  收藏  举报