WriteProcessMemory

計算機語言的函數之一

WriteProcessMemory是計算機語言中的一種函數。此函數能寫入某一進程的內存區域(直接寫入會出Access Violation錯誤),故需此函數入口區必須可以訪問,否則操作將失敗。

概覽


WriteProcessMemory
WriteProcessMemory

C++


此函數能寫入某一進程的內存區域(直接寫入會出Access Violation錯誤,故需此函數)。
VC++聲明
參數:
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位
基本數據類型的長度參見基本數據類型