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)
上一篇 2022年7月2日 下午11:36
下一篇 2022年7月2日 下午11:36


相关推荐

  • 在pycharm中导入torch_pycharm导入numpy出错

    在pycharm中导入torch_pycharm导入numpy出错安装好numpy之后,在pycharm运行以下程序importnumpyasnpa=np.arange(10)print(a)”出现运行程序出现错误:ImportError:Nomodulenamednumpy如图所示:解决方法:首先打开pycharm菜单栏File>>Settings…然后单击Project>>Project…

    2022年8月29日
    7
  • cookie登录知乎「建议收藏」

    用cookie登录个人知乎主页步骤:1、用自己账号登录知乎,然后复制下来自己的cookie信息。2、用request.get(url,headers=headers)把cookie传入get请求中3、用BeautifulSoup匹配内容一、用自己账号登录知乎,获取自己的cookie信息。二、构造请求函数,并把cookie信息加入…

    2022年4月6日
    136
  • 阿里面试Redis最常问的三个问题:缓存雪崩、击穿、穿透(带答案)

    阿里面试Redis最常问的三个问题:缓存雪崩、击穿、穿透(带答案)我没想到他会这么问

    2022年6月26日
    27
  • Caffe2安装_caffe教程

    Caffe2安装_caffe教程一、依赖库的安装首先1.首先需要安装Ubuntu16.04与14.04都需要的依赖库。sudoaptupdatesudoaptinstall-y–no-install-recommends\build-essential\cmake\git\libgoogle-glog-dev\lib…

    2025年7月18日
    6
  • 四款JAVA快速开发平台推荐

    四款JAVA快速开发平台推荐JBossSeamJBo 算得上是 Java 开源框架里面最优秀的快速开发框架之一 Seam 框架非常出色 尤其是他的组件机制设计的很有匠心 真不愧是 GavinKing 精心打造的框架了 虽然看起来还是有些缺陷 但是做企业应用项目的话 Seam 是一个很棒的选择 作为程序员来说 要比用 Spring Hibernate Struts 省心的多 更能够把精力放在业务逻辑的编写上面 开发效率

    2026年3月17日
    1
  • ubuntu安装go语言_go语言web服务器

    ubuntu安装go语言_go语言web服务器来源:微信公众号「编程学习基地」文章目录简介下载go安装包环境配置添加环境变量第一个go语言程序go入门学习简介go语言是一种开源的、语法精简的静态编程语言,它的开源社区比较庞大,应用场景非常广范。可以用于系统监控、容器技术(Docker)、大数据、存储技术、分布式系统(HyperledgerFabric)、消息系统(Kafka客户端)、服务器管理、安全工具、Web工具等。这里介绍在Linux上安装并配置go。下载go安装包到GoLang中国,下载Go语言安装包。解压tar-xzv..

    2022年10月12日
    3

发表回复

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

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