WriteProcessMemory

WriteProcessMemory

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

基本介紹

  • 中文名:WriteProcessMemory
  • 外文名:WriteProcessMemory
  • 性質:函式
  • 領域:編程
  • 所在庫:kernel32.dll
概覽,C++,VB,

概覽

WriteProcessMemoryWriteProcessMemory

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
參見

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位
基本數據類型的長度參見基本數據類型

相關詞條

熱門詞條

聯絡我們