【发布时间】:2015-11-26 01:13:11
【问题描述】:
我们可以像这样读取/写入 内存中的数据:
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(内存 = 随机存取内存)上写入数据并从 另一个应用程序n中读取这些数据?
我怎样才能做到这一点并在内存中共享一个字符串?
重要提示:我不想在硬盘上写入任何数据。
编辑:我的 .net 版本是 3.5
【问题讨论】:
-
嗯,不,进程边界是一堵很高的墙。查看 System.IO.MemoryMappedFiles 命名空间以找到某处。
-
msdn.microsoft.com/en-us/library/… 我使用的是 .net 3.5
-
好吧,停止使用它。任何人都不必拘泥于 8 年前的免费软件版本。
-
由于某些原因,我无法在我的服务器上安装 .net 4。有什么问题?
-
@MoonLight 通常“读取其他应用程序的内存”与“共享”相比意味着完全不同的东西(首先通常表示
ReadPRocessMemory,后来暗示积极合作 - 进程间通信)。您可以通过搜索 bing.com/search?q=c%23%20read%20memory%20different%20process 或 bing.com/search?q=c%23%20ipc 并添加信息为什么顶级结果不适用于您的案例来改进您的问题。
标签: c# memory visual-studio-2013 .net-3.5 windows-applications