如何使用Windows API将信息写入Windows"全局(内存中)变量",而不是可以由各种应用程序共享?

Joh*_*ler 2 language-agnostic winapi

也许这不可能做到,但请帮助或建议如何在不向磁盘写入内容的情况下实现这一目标.

让我们假设我想在两个独立的应用程序之间共享两个字符串值.

欢迎您使用任何编程语言提供代码示例.

Gre*_*ill 5

您可能想要做的是创建一个内存映射文件.您可以创建一个内存映射文件,该文件在磁盘上没有任何后备存储,而是由系统页面文件支持.查看文档CreateFileMapping,特别是第一个参数时INVALID_HANDLE_VALUE.

您可以为这样的文件映射一个唯一的系统范围名称,然后其他应用程序可以使用OpenFileMapping并提供相同的名称来打开它.

拥有这样一块共享内存后,您可以将任何您喜欢的信息放入其中.请注意,由于内存是跨进程共享的,因此您不希望将任何指针存储到内存块中(这会阻止执行存储操作std::string).