利用:winapi CreateFileMapping,参数设为:0*FFFFFFFF;说明它是共享内存而不是文件。
例如:
myMapFile=CreateFileMapping((HANDLE) (0*FFFFFFFF),NULL,PAGE_READWRITE,0,9999,"recherFile");
if(myMapFile!=NULL) myMapFile=(char *)MapViewofFile(myMapFile,FILE_MAP_ALL_ACCESS,0,0,0);
else ShowMessage("myMapFile==NULL");
其次:在头文件(.h)定义:#Iinclude WM_USER_MESSAGE WM_USER+1
定义:MESSAGE void WMUSER(TMessage msg);
BEGIN_MESSAGE_MAP
MAESSAGE_HANDLER(WM_USER,TMEessage,WmUser);
END_MESSAGE_MAP (TForm);
message void TForm1::WmUser(TMessage Msg)
{
}
切记到最后要删除句柄哦(UnmapviewofFile(myMapFile);CloseHandle(myMapFile)
利用WinAPI创建共享内存及消息处理
博客介绍了利用WinAPI的CreateFileMapping创建共享内存,将参数设为0*FFFFFFFF表明是共享内存。还展示了相关代码示例,包括映射文件视图等操作。同时在头文件定义消息,处理消息函数,最后强调要删除句柄。
3169

被折叠的 条评论
为什么被折叠?



