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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sqlserver之清空表数据

    sqlserver之清空表数据方法—xxx为表名truncatetablexxx大家好,我是黑夜の骑士,欢迎大家关注我的博客,笔者将持续输出revit二次开发以及编程干货

    2022年6月12日
    153
  • eclipse Maven配置[通俗易懂]

    eclipse Maven配置[通俗易懂]简述:现需要在Eclipse中配置Maven插件,同时安装maven应用,配置Maven环境变量,建立Maven管理的工程,并用Maven导入Gson包,编写简易Json输出程序步骤:1.首先到EclipseMarketplace中下载MavenIntegrationforEclipseWTP,如下,之后查看是否成功下载,Win

    2022年5月17日
    36
  • java类加载过程详解_java三个类加载器

    java类加载过程详解_java三个类加载器朋友给我发了一道有意思的题目,如下为什么用.class的方式加载类和以Class.forName()的方式加载的结果不同呢,原因很简单,就是类加载过程的不同。这就扯到基础理解上了,就是Java是如何加载一个类的呢?上图是我绘制的整个Java类加载过程。首先是编译期,将Java源文件也就是敲好的代码通过编译,转换成.class文件,也就是字节码文件(byte),然后经过传输传…

    2022年8月11日
    8
  • 傅里叶变换时域频域关系_傅里叶变换卷积性质

    傅里叶变换时域频域关系_傅里叶变换卷积性质我保证这篇文章和你以前看过的所有文章都不同,这是2012年还在果壳的时候写的,但是当时没有来得及写完就出国了……于是拖了两年,嗯,我是拖延症患者……这篇文章的核心思想就是:要让读者在不看任何数学公式的情况下理解傅里叶分析。傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维模式。但不幸的是,傅里叶分析的公式看起来太复杂了,所以很多大一新生上来就懵圈并从此对…

    2022年10月7日
    2
  • [分享]在线的代码片段测试工具 jsbin[通俗易懂]

    [分享]在线的代码片段测试工具 jsbin[通俗易懂]有些时候,我们往往有这样的需求:临时测试一个代码片段,不想打开编辑器来新建一个文件,测试完毕又删除想给别人分享一个代码,html文件,css文件,js文件,打个包?向别人展个某个效果,发个文件过去?把代码部署到自己服务器上面?针对这些需求,我们使用在线的代码片段测试工具,也许来得更加简单和方便了。针对前端的在线代码片段工具很多,比较常见的有jsbin和jsfiddle以及codepen.而我最喜欢的就是jsbin了,它有着更多的特性给我带来了极大的方便:任意控制要展示的窗口点击这些标

    2025年7月31日
    3
  • 自定义QTreeView

    自定义QTreeViewQt之QTreeView(一) (2014-12-2316:51:33)转载▼标签: qt qtreeview qtableview qabstractitemmodel分类: Qt    之前有讲解过QTableView的使用Qt之QTableView,这节讲解一下也较为常用

    2022年6月8日
    39

发表回复

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

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