16,555
社区成员
发帖
与我相关
我的任务
分享
Public Class Form1
Dim MF As System.IO.MemoryMappedFiles.MemoryMappedFile 'MemoryMappedFile 内存映射文件对象
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MF = MF.CreateNew("SYSIO", 5000) '在主共享进程中创建一个非常驻的内存映射文件,其大小为5000字节
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim buf(4) As Byte
Dim s As Single
Dim ms As System.IO.MemoryMappedFiles.MemoryMappedViewStream '内存映射文件的视图流
ms = MF.CreateViewStream()
s = Rnd()
buf = BitConverter.GetBytes(s)
ms.Write(buf, 0, buf.Length) '向内存映射文件写入信息
End Sub
End Class
Public Class Form1
Dim MF As System.IO.MemoryMappedFiles.MemoryMappedFile
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MF = MF.OpenExisting("SYSIO") '打开一个内存中已经存在的映射,也就是主共享进程中创建的内存映射文件
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim buf() As Byte = {0, 0, 0, 0, 0}
Dim ms As System.IO.MemoryMappedFiles.MemoryMappedViewStream
ms = MF.CreateViewStream()
ms.Read(buf, 0, buf.Length) '读取该映射文件中的指定内容
Me.TextBox1.Text = BitConverter.ToSingle(buf, 0)
End Sub
End Class