指定プロセスのメモリ領域にデータをコピー
Declare Function WriteProcessMemory Lib "kernel32.dll" _
(ByVal hProcess As Long, ByVal lpBaseAddress As Long, _
lpBuffer As Any, ByVal nSize As Long, _
ByVal lpNumberOfBytesWritten As Long) As Long
Declare Function WriteProcessMemory Lib "kernel32.dll" _
(ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, _
lpBuffer As Integer, ByVal nSize As Integer, _
ByVal lpNumberOfBytesWritten As Integer) As Integer
BOOL WriteProcessMemory(
HANDLE hProcess,
LPVOID lpBaseAddress,
LPVOID lpBuffer,
DWORD nSize,
LPDWORD lpNumberOfBytesWritten
);
引数
hProcess
コピー先のプロセスのハンドルlpBaseAddress
コピー先のベースアドレスlpBuffer
データを格納するバッファ
nSize
同、サイズlpNumberOfBytesWritten実際にコピーしたバイト数戻り値
正常終了のとき 0以外備考
エラーのとき 0
システムは、コピーに先立ってlpBaseAddressで指定されたアドレスのデータと
指定のサイズのメモリ領域にアクセス可能かどうかをチェックする。
問題があればエラーになる。