大侠请进:CE下两个应用程序怎么通信?
请问在CE平台上怎么完成两个应用程序的数据通信呢?
应用背景:
应用程序A(C#代码)在运行时会开启应用程序B(C++代码),即程序B覆盖在A之上。
之后会时不时的向B发送视频数据,B收到数据后做解码并显示出来。
问题是A如何向B发送数据呢?
已经做的尝试:
1、B不是以独立的程序出现,而是封装成dll,然后由A调用,这样就不存在不相关进程之间传递数据的问题了。
但是因为B所要实现的解码功能调用了N多.h文件和.lib文件,而A程序是基于C#的,不能之间使用.h和.lib,必须都要封装成dll,可是我没弄清楚把.h和.lib封装成dll,故放弃了这种方法...
2、采用WM_COPYDATA在两个应用程序间传递数据。
此方法中发送调用了SendMessage函数,接收重载了WndProc。
但是在CE下C++中不支持SendMessage中的某个参数形式,而C#下又无法重载WndProc,得用WndProcHooker,这有涉及到了挂钩技术...我看了半天也是一头雾水
故强烈请求大侠给支招!!
貌似方法1还是比较简单的,但是我用VC++怎么封装.h和.lib呢?是不是封装完后还有再重新封装dll,因为原来的dll是基于原始的.h和.lib而不是封装成dll的.h和.lib(说的好绕啊,不知道大家明白没...)