在.NET中,进行程序间通信,可以使用的方法很多,比如.NET Remoting,WebService.等等..
但是使用上述方法太过于麻烦.不是很轻便..

在Win32中,一般要完成上述功能,方法也很多,一个比较通用的方法就是直接使用内存映射文件.Mapping File.
.NET FX1.0提供了P/Invoke,可能通过这个来直接调用Win32的API.这里我来演示一下这个方法.

要使用P/Invoke,我们得加入这个命名空间: System.Runtime.InteropServices
然后使用DllImportAttribute来导入我们所要用的Win32 API:

#endregion

由于原始的API使用到了多个Enum,我们也实现这些个Enum,以方便以后的使用.
#endregion

接下来,就是把这些函数进行封装了:)
这里,我把这些函数封装到一个Class中,其Class的定义如下:
#endregion

注意: 加入上述DllImport函数.

通过这个方法,我们就可以直接使用MappingFile了.
示例代码如下:
    }

到现在为止,关于Win32的MappingFile API就已封装好了~
我们可以直接在.NET应用程序中使用了:)

下载 : SharedMemory

注: 此代码参考于Gotdotnet上面的一个朋友的文章.

相关文章: