大家好,又见面了,我是你们的朋友全栈君。
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
- 1
- 开放分类:
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155593.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...