You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

子进程能否访问父进程内存?Windows应用开发场景技术问询

Windows子进程访问父进程内存权限说明

默认情况下,主应用启动的exe格式子进程没有直接访问父进程内存的权限,Windows自带的用户态进程内存隔离机制对所有进程生效,和是否为父子进程无关。

核心规则说明

  • Windows中每个用户态进程都拥有独立的虚拟地址空间,默认禁止任意进程直接读写其他进程的内存数据。子进程创建时只会继承父进程的环境变量、已打开的兼容句柄、工作目录等属性,不会默认获得父进程的内存访问权限。
  • 如果需要实现父子进程的内存数据交互,需要主动实现跨进程通信逻辑,常用方案如下:
    • 父进程创建子进程时主动传递自身的OpenProcess权限句柄,为子进程授予PROCESS_VM_READ、PROCESS_VM_WRITE等内存操作权限,子进程后续可以通过ReadProcessMemory、WriteProcessMemory等API读写父进程内存
    • 父子进程共同创建/挂载内存映射文件CreateFileMapping,通过共享内存块实现数据交互,这是业务场景下最常用的跨进程内存共享方案
    • 父进程以调试模式启动子进程,子进程作为调试目标可获得对应内存访问权限,该方案权限过高,仅适合调试场景使用
  • 权限特殊说明:如果子进程的运行权限高于父进程(比如子进程以管理员/System权限运行,父进程为普通用户权限),高权限子进程可主动调用系统API打开父进程获取内存访问权限,开发时需要做好权限边界校验避免安全风险。

内容的提问来源于stack exchange,提问作者Scott Fraser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 04:36:02