码迷,mamicode.com
首页 > Web开发 > 详细

.Net 利用消息在进程间通讯实现进程互操作

时间:2014-09-28 18:24:33      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   使用   ar   for   文件   数据   

  有时候我们会遇到需要在两个进程间通过某种方式实现互操作,方法有很多,例如你可以尝试让两个进程持续监视一个外部文件,由此文件记录各自进程的数据;还有可以使用网络端口实现进程间通讯、共享一片内存区域记录及传递各自进程的数据等;此处讲述在.net 下如何利用消息的传递及处理实现两个进程的通讯。

  是的,这里所说的消息指的就是Windows的消息机制,对于 I T 菜鸟,可以这样简单理解Windows 消息机制:Windows系统可以同时运行很多很多应用程序,Windows系统要让某一个程序做一件事情,就会给这个程序发送一条消息通知该程序该做什么了。

 

先引入Windows API 方法 SendMessage :

1 [DllImport("User32.dll", EntryPoint = "SendMessage")]
2 private static extern int SendMessage(IntPtr wnd, int msg, IntPtr wP, IntPtr lP);


给指定用于响应消息的窗体对象重写消息处理过程

 1 protected override void WndProc(ref System.Windows.Forms.Message msg) 
 2 {
 3     switch(msg.Msg) 
 4     {
 5         case 0x0400:
 6             bool OnOff = Convert.ToBoolean((int)msg.LParam);
 7             break;
 8         default:
 9             base.WndProc(ref msg); 
10             break; 
11     }
12 }


好了,上述代码实现了接收消息的程序如何处理接收到的消息地址(ID)为0x0400的自定义消息。

现在只需要在用于发送消息的项目编写发送消息的内容即可

1 SendMessage(Program.hWnd, 0x0400, (IntPtr)0, (IntPtr)1);

 

 

 

.Net 利用消息在进程间通讯实现进程互操作

标签:style   blog   color   os   使用   ar   for   文件   数据   

原文地址:http://www.cnblogs.com/KimSoft/p/3998488.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!