在Windows中,是否可以授予另一个进程访问您自己进程内存的一部分?

时间:2015-07-17 16:26:38

标签: windows winapi memory process ipc

我知道反过来是可能的(使用VirtualAllocEx来获得对另一个进程内存的临时访问),但是有一个Win32函数可以让进程能够授予另一个进程临时访问其自己内存的一部分吗? / p>

2 个答案:

答案 0 :(得分:2)

是的,Windows进程可以共享内存。请参见CreateFileMapping和MapViewOfFile。每个进程使用相同的名称来创建或访问共享区域。

答案 1 :(得分:1)

因此,您希望进程B能够在进程A中读取或写入现有内存吗?

在这种情况下,您需要做的就是向进程B提供进程A的地址空间中的地址(例如,将其作为消息中的参数从进程A发送)。然后,只要流程B具有正确的访问权限,就可以使用ReadProcessMemoryWriteProcessMemory