关于C#中实现两个应用程序消息通讯的问题

本文介绍了使用C#实现进程间通信的一种方式,通过WM_COPYDATA消息进行数据交换。详细讲解了COPYDATASTRUCT结构的使用,以及发送方如何找到接收方窗口句柄并发送消息,接收方如何在DefWndProc中处理WM_COPYDATA消息,特别提到了中文字符串长度的处理。示例代码展示了如何发送和接收字符串数据。
摘要由CSDN通过智能技术生成
marginwidth="0" marginheight="0" src="http://218.16.120.35:65001/PC/Global/images/b.html" frameborder="0" width="728" scrolling="no" height="90">
最近项目中需要在两个应用程序之间通讯,这里的两个程序是在一台机器上,看了csdn上的一篇文章《如何在C#用 WM_COPYDATA消息来实现两个进程之间传递数据》,原理是讲清楚了,但使起来很不爽,决定自己封装一下,满足项目需要就行。

注意这里发送消息的函数: 
public static void SendMessage(string destProcessName, int msgID, string strMsg);
只能发送一个msgID和一个strMsg, 接收方只接收了strMsg,我的项目中已经够用了,你如果需要读msgID,还需要改一下。客户端代码请参考csdn上的原文自己写吧。

进程之间通讯的几种方法: 

在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯。常用的方法有  

 (1)使用内存映射文件  
 (2)通过共享内存DLL共享内存  
 (3)使用 SendMe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值