-
WriteProcessMemory
鎖定
WriteProcessMemory是計算機語言中的一種函數。此函數能寫入某一進程的內存區域(直接寫入會出Access Violation錯誤),故需此函數入口區必須可以訪問,否則操作將失敗。
- 中文名
- WriteProcessMemory
- 外文名
- WriteProcessMemory
- 性 質
- 函數
- 領 域
- 編程
- 所在庫
- kernel32.dll
WriteProcessMemoryC++
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位
基本數據類型的長度參見基本數據類型