当前位置: 首页 > news >正文

做一个公司的网站应做哪些准备工作内容网络广告人社区官网

做一个公司的网站应做哪些准备工作内容,网络广告人社区官网,上海 装修公司推荐,免费营销型网站最近项目中需要在两个应用程序之间通讯#xff0c;这里的两个程序是在一台机器上#xff0c;看了csdn上的一篇文章《如何在C#用WM_COPYDATA消息来实现两个进程之间传递数据》#xff0c;原理是讲清楚了#xff0c;但使起来很不爽#xff0c;决定自己封装一下#xff0c;满… 最近项目中需要在两个应用程序之间通讯这里的两个程序是在一台机器上看了csdn上的一篇文章《如何在C#用WM_COPYDATA消息来实现两个进程之间传递数据》原理是讲清楚了但使起来很不爽决定自己封装一下满足项目需要就行。 注意这里发送消息的函数 public static void SendMessage(string destProcessName, int msgID, string strMsg); 只能发送一个msgID和一个strMsg, 接收方只接收了strMsg我的项目中已经够用了你如果需要读msgID还需要改一下。客户端代码请参考csdn上的原文自己写吧。 进程之间通讯的几种方法:  在Windows程序中各个进程之间常常需要交换数据进行数据通讯。常用的方法有    (1)使用内存映射文件    (2)通过共享内存DLL共享内存    (3)使用SendMessage向另一进程发送WM_COPYDATA消息     比起前两种的复杂实现来,WM_COPYDATA消息无疑是一种经济实惠的一种方法.   WM_COPYDATA消息的主要目的是允许在进程间传递只读数据。Windows在通过WM_COPYDATA消息传递期间不提供继承同步方式。  SDK文档推荐用户使用SendMessage函数接受方在数据拷贝完成前不返回这样发送方就不可能删除和修改数据     这个函数的原型及其要用到的结构如下: SendMessage(hwnd, WM_COPYDATA, wParam, lParam); 其中:  WM_COPYDATA对应的十六进制数为0x004A    wParam设置为包含数据的窗口的句柄。  lParam指向一个COPYDATASTRUCT的结构 typedef struct tagCOPYDATASTRUCT { DWORD dwData; //用户定义数据 DWORD cbData; //数据大小 PVOID lpData; //指向数据的指针 } COPYDATASTRUCT; 该结构用来定义用户数据。   具体过程如下:  首先,在发送方用FindWindow找到接受方的句柄然后向接受方发送WM_COPYDATA消息。 接受方在DefWndProc事件中处理这条消息。由于中文编码是两个字节, 所以传递中文时候字节长度要搞清楚。 接收方   protected override void DefWndProc(ref System.Windows.Forms.Message m) {switch (m.Msg){case WinMessageUtil.WM_COPYDATA:string str WinMessageUtil.ReceiveMessage(ref m);break;default:break;}base.DefWndProc(ref m); } 操作为 using System; using System.Runtime.InteropServices; using System.Diagnostics;namespace Speeding.Util {//WM_COPYDATA消息所要求的数据结构public struct CopyDataStruct{public IntPtr dwData;public int cbData;[MarshalAs(UnmanagedType.LPStr)]public string lpData;}/// summary/// 本类封装了一些进程间通讯的细节/// /summarypublic class WinMessageUtil{public const int WM_COPYDATA 0x004A;//通过窗口的标题来查找窗口的句柄[DllImport(User32.dll, EntryPoint FindWindow)]private static extern int FindWindow(string lpClassName, string lpWindowName);//在DLL库中的发送消息函数[DllImport(User32.dll, EntryPoint SendMessage)]private static extern int SendMessage(int hWnd, // 目标窗口的句柄 int Msg, // 在这里是WM_COPYDATAint wParam, // 第一个消息参数ref CopyDataStruct lParam // 第二个消息参数);/// summary/// 发送消息只能传递一个自定义的消息ID和消息字符串想传一个结构但没成功/// /summary/// param namedestProcessName目标进程名称如果有多个则给每个都发送/param/// param namemsgID自定义数据可以通过这个来决定如何解析下面的strMsg/param/// param namestrMsg传递的消息是一个字符串/parampublic static void SendMessage(string destProcessName, int msgID, string strMsg){if (strMsg null)return;//按进程名称查找同名称的进程可能有许多所以返回的是一个数组Process[] foundProcess Process.GetProcessesByName(destProcessName);foreach (Process p in foundProcess){int toWindowHandler p.MainWindowHandle.ToInt32();if (toWindowHandler ! 0){CopyDataStruct cds;cds.dwData (IntPtr) msgID; //这里可以传入一些自定义的数据但只能是4字节整数 cds.lpData strMsg; //消息字符串cds.cbData System.Text.Encoding.Default.GetBytes(strMsg).Length 1; //注意这里的长度是按字节来算的//发送方的窗口的句柄, 由于本系统中的接收方不关心是该消息是从哪个窗口发出的所以就直接填0了int fromWindowHandler 0;SendMessage(toWindowHandler, WM_COPYDATA, fromWindowHandler, ref cds);}}}/// summary/// 接收消息得到消息字符串/// /summary/// param namemSystem.Windows.Forms.Message m/param/// returns接收到的消息字符串/returnspublic static string ReceiveMessage(ref System.Windows.Forms.Message m){CopyDataStruct cds (CopyDataStruct) m.GetLParam(typeof(CopyDataStruct));return cds.lpData;}} }   转载于:https://www.cnblogs.com/DoNetCShap/archive/2012/06/26/2564460.html
http://www.zqtcl.cn/news/668319/

相关文章:

  • 上海嘉定网站建设公司有没有知道网址的
  • 电商网站的银行支付接入该怎么做杭州微信小程序外包
  • 余姚网站推广策划案门户网站做等保需要备案哪些
  • 网站关键字优化公司wordpress制作百度地图xml
  • 网站建设进度总结网站文件权限设置
  • 织梦网站如何做地区分站厦门网站代理
  • 模板做网站优缺点网络营销推广公司获客
  • 如何做网站充值用flash做网站超链接
  • 网站图片管理系统临沂百度推广多少钱
  • 渭南建设用地规划查询网站教育局两学一做网站
  • 无锡专业网站制作的公司长春seo技术
  • 东莞做网站哪家最好电商网站支付接口
  • 西安火车站网站建设深圳做百度网站
  • asp网站助手金融学类就业方向及就业前景
  • 用点心做点心官方网站现在手机网站用什么做的好
  • 唐山市路桥建设有限公司网站专门写文章的网站
  • 东莞食品网站建设湖南企业竞价优化
  • 吉林网站建设找哪家湛江大型网站模板建设
  • 中国建设监理业协会网站国产cms
  • 计算机网站建设与维护wordpress 500错误
  • 元器件网站开发客户wordpress伪静态301错误
  • 网站设计排行怎么样用ppt做网站
  • 网站联盟名词解释网站建设 上海网站建设
  • 南通优普高端网站建设wordpress 煎蛋主题
  • 大企业网站制作及维护关于网站建设的论文题目
  • wordpress网站字体淄博网站搜索排名
  • visual stdio 做网站 注册用户 密码必须6位以上品牌服装网站源码
  • 做网站用到的技术湖南建设银行网站
  • 成都大型网站设计公司电脑上重新下载一个wordpress
  • 番禺网站建设知乎自己做网站卖矿山设备