Csharp/C#教程:WinForm实现跨进程通信的方法分享

本文实例展示了WinForm实现跨进程通信的方法,分享给大家供大家参考之用。具体方法如下:

主要功能代码如下:

publicclassWinMessageHelper { privatestructCOPYDATASTRUCT { publicIntPtrdwData; publicintcbData; [MarshalAs(UnmanagedType.LPStr)] publicstringlpData; } //使用COPYDATA进行跨进程通信 publicconstintWM_COPYDATA=0x004A; [DllImport("User32.dll",EntryPoint="SendMessage")] privatestaticexternintSendMessage( inthWnd,//handletodestinationwindow intMsg,//message intwParam,//firstmessageparameter refCOPYDATASTRUCTlParam//secondmessageparameter ); [DllImport("User32.dll",EntryPoint="FindWindow")] privatestaticexternintFindWindow(stringlpClassName,stringlpWindowName); ///<summary> ///发送消息 ///</summary> ///<paramname="windowReceiveTitle">接收方窗体标题名称</param> ///<paramname="strData">要发送的数据</param> publicstaticvoidSend(stringwindowReceiveTitle,stringstrData) { intwinHandler=FindWindow(null,windowReceiveTitle); if(winHandler!=0) { byte[]sarr=System.Text.Encoding.Default.GetBytes(strData); intlen=sarr.Length+1; COPYDATASTRUCTcds; cds.dwData=(IntPtr)100; cds.lpData=strData; cds.cbData=len; SendMessage(winHandler,WM_COPYDATA,0,refcds); } } ///<summary> ///接收消息 ///</summary> ///<example> ///在窗体中覆盖接收消息函数 ///protectedoverridevoidDefWndProc(refSystem.Windows.Forms.Messagem) ///{ ///switch(m.Msg) ///{ ///caseWinMessageHelper.WM_COPYDATA: ///stringstr=WinMessageHelper.Receive(refm); ///break; ///default: ///base.DefWndProc(refm); ///break; /// ///} ///} ///</example> ///<returns>接收的到数据</returns> publicstaticstringReceive(refSystem.Windows.Forms.Messagem) { COPYDATASTRUCTcds=newCOPYDATASTRUCT(); TypecdsType=cds.GetType(); cds=(COPYDATASTRUCT)m.GetLParam(cdsType); returncds.lpData; } }

希望本文所述实例对大家C#程序设计有所帮助。

您可能感兴趣的文章:Winform基于多线程实现每隔1分钟执行一段代码winform基于异步委托实现多线程摇奖器winform开发使用通用多线程基类分享(以队列形式)c#中多线程访问winform控件的若干问题小结c#winform多线程的小例子c#winform关闭窗体时同时结束线程实现思路深入浅析WinForm进程、线程及区别介绍

标签: 通信 orm 方法 进程 rm

C语言文件操作 fopen, fclose, mkdir详解

详解C++设计模式编程中责任链模式的应用

上述就是C#学习教程:WinForm实现跨进程通信的方法分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/905720.html

(1)
上一篇 2021年10月23日
下一篇 2021年10月23日

精彩推荐