第1页共6页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共6页实验四进程通信调试实验[实验目的]1、掌握WinCE5
0下进程间通信机制;2、掌握通过对消息传递和共享内存的实现进程间通信的方法;3、了解实现进程通信的编程方法[实验仪器]1、装有PlatformBuilder、EVC和VS
Net开发平台的PC机一台2、XSBase270实验开发平台一套[实验原理]1、软件原理:在项目开发和系统集成中,进程间通信的应用非常广泛,进程间的通信有以下几种实现方法:利用Windows消息(WM_COPYDATA)、全局原子、内存映射、命名管道以及邮曹
下面介绍利用WM_COPYDATA和内存映射实现进程通信的方法
1WM_COPYDATA方法使用WM_COPYDATA消息可以很方便地传递进程间的数据,具体定义如下:SendMessage(hwnd,WM_COPYDATA,wParam,lParam);其中wParam设置为包含数据的窗体的句柄,lParam指向一个COPYDATASTRUCT的结构:typedefstructtagCOPYDATASTRUCT{DWORDdwData;//用户定义数据DWORDcbData;//数据大小PVOIDlpData;//指向数据的指针}COPYDATASTRUCT也就是通过COPYDATASTRUCT的结构来传递数据
需要注意的是,WinCE提供的WM_COPYDATA消息来传递进程间的数据,并没有提供同步机制,所以必须要使用SendMessage函数来发送消息,且等待直到对方处理完后返回,而不能使用PostMessage函数来发送WM_COPYDATA
第2页共6页第1页共6页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共6页1
2内存映射文件的方法内存映射文件提供了一种完全不同