Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从另一个应用程序读取内存-共享数据_C#_Memory_Visual Studio 2013_.net 3.5_Windows Applications - Fatal编程技术网

C# 如何从另一个应用程序读取内存-共享数据

C# 如何从另一个应用程序读取内存-共享数据,c#,memory,visual-studio-2013,.net-3.5,windows-applications,C#,Memory,Visual Studio 2013,.net 3.5,Windows Applications,我们可以像这样在内存中读/写数据: static void Main(string[] args) { using (var ms = new MemoryStream()) { var sw = new StreamWriter(ms); sw.WriteLine("Hello World"); sw.Flush(); ms.Position = 0; var sr = new StreamRead

我们可以像这样在内存中读/写数据:

static void Main(string[] args)
{
    using (var ms = new MemoryStream())
    {
        var sw = new StreamWriter(ms);
        sw.WriteLine("Hello World");
        sw.Flush();
        ms.Position = 0;
        var sr = new StreamReader(ms);
        var myStr = sr.ReadToEnd();
        Console.WriteLine(myStr);
    }

    Console.WriteLine("Press any key to continue.");
    Console.ReadKey();
}
现在我想在Ram内存=随机存取内存上写入数据,然后从另一个应用程序读取这些数据? 如何才能做到这一点并在内存中共享字符串

重要提示:我不想在硬盘上写入任何数据。 编辑:我的.net版本是.net 3.5的3.5版更新 内存映射文件在windows中已经存在一段时间了,所以即使.NET3.5没有内存映射文件,仍然可以包装本机api。Github项目就是这样做的。不幸的是,他们没有如何在两个进程之间共享内存映射文件的示例。 这个答案对于.NETFramework 4.6和4.5很有用 不是3.5
我认为您不能在两个进程之间共享内存流。最接近的是。检查此项以查看其他选项。

Hmm,不,流程边界是一堵很高的墙。查看System.IO.MemoryMappedFiles名称空间,了解一些情况。我正在使用.NET3.5哦,停止使用它。任何人都不必拘泥于8年前的免费软件版本。由于某些原因,我无法在我的服务器上安装.NET4。问题是什么?@MoonLight一般来说,其他应用程序的读取内存意味着与共享完全不同的东西。首先,通常是指ReadPRocessMemory,然后是指主动协作-进程间通信。您可以通过搜索或并添加信息来改进您的问题,说明为什么顶级结果不适用于您的案例。请注意我的.net版本。键入时请注意您的帖子。在我的回答之后,您已经发布了版本要求,作为编辑,并且在您的.net版本中提供了pinvoke。没有人,它在我的标签上。没有必要讨论那件事。请编辑您的答案并帮助我回答问题。