先看一下代码

辅助类

 public class ProcessMessage
    {
        /// <summary>
        /// 主程序常量
        /// </summary>
        public static string MainProcessID = "Main";
        public static string OtherProcessID = "Test";

        /// <summary>
        /// 消息委托
        /// </summary>
        /// <param name="strmsg">消息</param>
        public delegate void DelegateMsg(object objmsg, object objfrom);
        /// <summary>
        /// 消息事件
        /// </summary>
        public event DelegateMsg OnMsg;   

       
        /// <summary>
        /// 功能描述:发送消息到指定进程
        /// 作  者:huangzh
        /// 创建日期:2015-08-26 12:20:50
        /// 任务编号:
        /// </summary>
        /// <param name="strToolProcessName">进程名</param>
        /// <param name="objMsg">objMsg</param>
        public void SendMsgToProcess(string strToolProcessName, object objMsg)
        {
            try
            {
                ProcessMailBox mail = new ProcessMailBox(strToolProcessName, 1024, true);
                mail.Content = objMsg;
                mail.Dispose();
            }
            catch
            {
                throw;
            }
        }

        /// <summary>
        /// 功能描述:从指定进程读取消息
        /// 作  者:huangzh
        /// 创建日期:2015-08-26 12:21:11
        /// 任务编号:
        /// </summary>
        /// <param name="strToolProcessName">进程名</param>
        /// <returns>返回值</returns>
        public void ReadMsgFromProcess(string strToolProcessName)
        {
            try
            {
                if (OnMsg == null)
                {
                    throw new Exception("请初始化OnMsg事件");
                }
                Thread th = new Thread(delegate()
                {
                    IMailBox mail = new ProcessMailBox(strToolProcessName, 1024, false);
                    while (true)
                    {
                        if (OnMsg != null)
                        {
                            OnMsg(mail.Content, strToolProcessName);
                            mail.ClearContent();
                        }
                    }
                });
                th.IsBackground = true;
                th.Start();

            }
            catch
            {
                throw;
            }
        }
    }
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-29
  • 2022-12-23
  • 2021-08-11
  • 2021-09-04
  • 2021-08-13
猜你喜欢
  • 2021-11-22
  • 2021-05-29
  • 2021-12-24
  • 2021-07-07
  • 2021-06-26
  • 2021-12-19
相关资源
相似解决方案