欢迎来到天天文库
浏览记录
ID:57631828
大小:200.50 KB
页数:5页
时间:2020-08-29
《VC++之线程和进程之用共享内存实现进程间通信.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、创建对话框应用程序二、编辑对话框资源控件ID及标题IDC_STATIC 发送数据IDC_EDIT_SENDIDC_BUTTON_SEND 发送IDC_STATIC 接收数据IDC_EDIT_RECEIVEIDC_BUTTON_RECEIVE 接收IDOK 退出 三、添加变量、函数、对象/库模块 1、添加变量public: CEdit m_send;
2、CEdit m_receive;public: HANDLESharedMemory; void* address; 2、添加消息响应函数四、添加代码 1、添加初始化代码BOOLCThreadDlg::OnInitDialog(){ CDialog::OnInitDialog();...... SharedMemory=CreateFileMapping((HANDLE)0xffffffff,NULL,PAGE_READWRITE,0,10000,"MemFile"); address=MapViewOfFile(SharedMemory,FILE_MAP_WRITE
3、,0,0,0); returnTRUE; } 2、添加函数代码voidCThreadDlg::OnButtonReceive(){ //TODO:Addyourcontrolnotificationhandlercodehere CStringstr; strcpy((char*)(LPCTSTR)str,(char*)address); m_receive.SetWindowText(str); }voidCThreadDlg::OnButtonSend(){ //TODO:Addyourcontrolnotificationhandlercodehere CString
4、str; m_send.GetWindowText(str); strcpy((char*)address,(char*)(LPCTSTR)str); }五、编译六、运行七、函数说明 1、CreateFileMapping()函数声明HANDLECreateFileMapping(HANDLEhFile,LPSECURITY_ATTRIBUTElpFileMappingAttributes,DWORDflProtect,DWORDdwMaximumSizeHigh,DWORDdwMaximumSizeLow,LPCTSTRlpName) 功能:创建一个
5、内存映射对象。成功,返回文件映射对象句柄;失败,返回NULL。 2、MapViewOfFile()函数声明HANDLE MapViewOfFile(HANDLEhFileMappingObject,DWORDdwDesiredAccess,DWORDdwFileOffsetHigh,DWORDdwFileOffsetLow,SIZE_TdwNumberOfByteToMap) 功能:将内存映射对象映射到进程地址控件。成功,返回映射对象的起始地址;失败,返回NULL。 3、strcpy()函数声明char*strcpy(char*strDes
6、tination,constchar*strSource) 功能:将源字符串内容复制到目的字符串。
此文档下载收益归作者所有