我正在玩C dlls来钩住全局Windows事件,下一步是向C#应用程序发送一些事件数据(没有任何巨大的数据)。C + C#进程间通信:命名管道,内存映射文件或其他?
,因为我想这个通信尽可能地快,我分析两种选择:命名管道和内存映射文件。
我知道,.NET 4本机方式带来的MMF,但我必须面向.NET 2,如Win98下的客户端的存在仍然是可能的。我也知道有很多方法可以通过Windows API管理MMF和.NET 2(有些人甚至已经构建了一些包装器)。
在这种情况下,我想知道:
- 在选择命名管道,而不是MMF是否有任何大的缺点(主要性能)?重要的是要记住,我不会传输大量的数据;
- NP或MMF(针对.NET 2)是否存在任何安全问题?
- 有没有比这些更好的选择?
这并不重要,但Win98 EOL是2006年7月11日。我很遗憾听到仍然有人坚持使用它。我不羡慕你菲利普... –
更多关于主题,你可以在.NET 2中使用带有P/Invoke的MMF。 –
在这种情况下,我不能使用P/Invoke,因为全局挂钩会附加到每个流程执行,所以程序必须用本地语言(C,Delphi,VB等)编写。 是的,Martinho,这个Win98的依赖真的很臭。如果你很伤心,想象我们的团队.. :) – jfneis