WriteProcessMemory函数说明

WriteProcessMemory函数说明WriteProcessMemory目录概览C++VB编辑本段概览WriteProcessMemory此函数能写入某一进程的内存区域。入口区必须可以访问,否则操作将失败。编辑本段C++此函数能写入

大家好,又见面了,我是你们的朋友全栈君。

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://javaforall.net/155593.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 欧拉角_欧拉角 图

    欧拉角_欧拉角 图欧拉角来源 https://www.zhihu.com/question/47736315参考 https://zhuanlan.zhihu.com/p/45404840为何

    2022年8月2日
    11
  • 项目开发序言「建议收藏」

    项目开发序言「建议收藏」今天决定换成uni-app来开发。用到的工具:HBuilder +微信开发者工具 + 小程序appid1.功能概述 消费者端:分为首页、商城、我的 首页:banner广告展示、菜品预览 商城:banner广告展示、全部商品、热销商品、公益、非遗 我的:积分和信用分的展示、我的兑换、今日签到、设置 商家端:功能、我的 功能:…

    2022年8月18日
    8
  • linux lvm挂载新的硬盘并且扩容

    linux lvm挂载新的硬盘并且扩容

    2021年11月22日
    46
  • 交换变量的三种方法及简单分析

    交换变量的三种方法及简单分析

    2021年12月9日
    59
  • redis和jedis区别_redis和数据库的区别

    redis和jedis区别_redis和数据库的区别Redis与Spring的整合一般分为spring-data-redis和jedis整合,两者的区别在于:1.引入的依赖不同spring-data-redis引入的是<dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-redis</artifactId></dependency>jedis引入的是:&

    2025年10月12日
    2
  • floyed 算法

    floyed 算法/**floyed是用动态规划解决完全最短路的算法,一次调用即可得到任意两个点间的最短路径复杂度为O(n^3),适用于稠密图,顶点数一般在100以内适用结构简单,易于编写floyed算法还可解决传递闭包,判断图是否为连通图在解题时候一般不会只考floyed而是利用floyed得到的结果,进行下一步解题就像二分算法一样,提一

    2022年6月25日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号