複製鏈接
請複製以下鏈接發送給好友

WriteProcessMemory

鎖定
WriteProcessMemory是計算機語言中的一種函數。此函數能寫入某一進程的內存區域(直接寫入會出Access Violation錯誤),故需此函數入口區必須可以訪問,否則操作將失敗。
中文名
WriteProcessMemory
外文名
WriteProcessMemory
性    質
函數
領    域
編程
所在庫
kernel32.dll

目錄

  1. 1 C++
  2. 參數:
  3. 返回值
  4. 要求
  5. 參見
  6. 2 VB

WriteProcessMemoryC++

WriteProcessMemory WriteProcessMemory
此函數能寫入某一進程的內存區域(直接寫入會出Access Violation錯誤,故需此函數)。
VC++聲明
BOOL WriteProcessMemory(
HANDLE hProcess,
LPVOID lpBaseAddress,
LPVOID lpBuffer,
DWORD nSize,
LPDWORD lpNumberOfBytesWritten
);

WriteProcessMemory參數:

[1]. hProcess
OpenProcess返回的進程句柄。
如參數傳數據為 INVALID_HANDLE_VALUE 【即-1】目標進程為自身進程
[2]. lpBaseAddress
要寫的內存首地址
在寫入之前,此函數將先檢查目標地址是否可用,並能容納待寫入的數據。
[3]. lpBuffer
指向要寫的數據的指針
[4]. nSize
要寫入的字節數。

WriteProcessMemory返回值

非零值代表成功。
可用GetLastError獲取更多的錯誤詳細信息。

WriteProcessMemory要求

操作系統版本: Windows CE 2.0及以上版本。
所在頭文件: Winbase.h
鏈接庫: Nk.lib

WriteProcessMemory參見

WriteProcessMemoryVB

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