实现共享内存的又一方法

王朝other·作者佚名  2006-01-08
宽屏版  字体: |||超大  

利用: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)

{

file://自己的函数;

}

切记到最后要删除句柄哦(UnmapviewofFile(myMapFile);CloseHandle(myMapFile)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有