c++ - 如何允许另一个进程创建的进程使用创建进程的一部分内存?

标签 c++ memory command-line process console

我有两个控制台进程,第二个是由第一个使用以下 API 创建的:

BOOL WINAPI CreateProcess(
  __in_opt     LPCTSTR lpApplicationName,
  __inout_opt  LPTSTR lpCommandLine,
  __in_opt     LPSECURITY_ATTRIBUTES lpProcessAttributes,
  __in_opt     LPSECURITY_ATTRIBUTES lpThreadAttributes,
  __in         BOOL bInheritHandles,
  __in         DWORD dwCreationFlags,
  __in_opt     LPVOID lpEnvironment,
  __in_opt     LPCTSTR lpCurrentDirectory,
  __in         LPSTARTUPINFO lpStartupInfo,
  __out        LPPROCESS_INFORMATION lpProcessInformation
);

现在我想知道,如果我通过 IpCommandLine 将指向第一个进程的一部分内存的指针传递给第一个进程调用的第二个进程,将读取该指针指向的内存点,第二个过程肯定会导致访问冲突错误,或者它是否受该 API 某些参数值的约束? 如果我不能单独使用此 API 来达到我的目的,您建议使用什么方法进行访问?

最佳答案

您可以使用 ReadProcessMemory/WriteProcessMemory API 访问此内存。另一个进程需要知道进程的内存地址和句柄才能访问其内存。

关于c++ - 如何允许另一个进程创建的进程使用创建进程的一部分内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3573301/

相关文章:

c++ - 模板化类中的析构函数实现

c# - const/readonly 与 Cheat Engine 等程序

Linux命令用另一个字符串替换大文件中的字符串

c++ - Flutter Desktop : How to handle Native Code editing in an IDE (Intellisense, 自动完成等)?

c++ - vsnprintf 文档中的 "encoding error"是什么意思?

c++ - 如何创建可调整大小的 Qt 缩略图预览?

windows - 从命令行运行 R 代码 (Windows)

python - 在 python 列表类型结构中合理存储 10 亿多个值

c++ - MySQL cpp 连接器结果集内存泄漏?

command-line - 在 Unix 上查找不以特定扩展名结尾的文件名?