考虑一下,我有两个 Windows 独立 GUI 应用程序。每当我在第一个 GUI 中按下命令按钮时,其他 GUI 都应该捕获按钮的状态,并且应该在其中的文本框中显示 ON 或 OFF。如何使用共享内存来做到这一点。
PS:我使用的是 VC++ 2008。
看看:http : //msdn.microsoft.com/en-us/library/windows/desktop/aa366551%28v=vs.85%29.aspx
在过程 1 中:
CreateFileMapping() : 它将创建共享内存块,使用最后一个参数中提供的名称,如果它不存在,并返回一个句柄(你可以称之为指针),如果成功。
MapViewOfFile() :它在进程地址空间中映射(包含)这个共享块并返回一个句柄(你也可以说是一个指针)。
使用 MapViewOfFile() 返回的这个指针,只有您可以访问该共享块。
在过程 2 中:
OpenFileMapping() : 如果CreateFileMapping()成功创建了共享内存块,则可以使用相同的名称(用于创建共享内存块的名称)。
UnmapViewOfFile():它将取消映射(您可以从该进程地址空间中删除共享内存块)。当您使用完共享内存(即访问、修改等)后,调用此函数。
Closehandle() : 最后从进程中分离共享内存块,用参数调用它,句柄由 OpenFileMapping() 或 CreateFileMapping() 返回。
| 归档时间: |
|
| 查看次数: |
12156 次 |
| 最近记录: |