Example #1
0
 /// <summary>
 /// 接收消息
 /// </summary>
 /// <param name="m"></param>
 protected override void DefWndProc(ref   System.Windows.Forms.Message m)
 {
     switch (m.Msg)
     {
         case NativeMethods.WM_COPYDATA:
             COPYDATASTRUCT mystr = new COPYDATASTRUCT();
             Type mytype = mystr.GetType();
             mystr = (COPYDATASTRUCT)m.GetLParam(mytype);
             if (mystr.lpData.StartsWith("open"))
             {
                 showDetail(mystr.lpData.Substring(mystr.lpData.IndexOf("-")+1),true);
             }
             else if (mystr.lpData.StartsWith("manualopen"))
             {
                 showDetail(mystr.lpData.Substring(mystr.lpData.IndexOf("-") + 1), false);
             }
             else
                 if (mystr.lpData.StartsWith("close"))
                 {
                     closeDetail();
                 }
                 else
                 {
                     Detail_1.WINDOW_HANDLER = int.Parse(mystr.lpData);
                 }
             break;
         default:
             base.DefWndProc(ref   m);
             //MessageBox.Show("no");
             break;
     }
 }
Example #2
0
 public static extern int SendMessage(
     int hWnd,   //   handle   to   destination   window
     int Msg,   //   message
     int wParam,   //   first   message   parameter
     ref   COPYDATASTRUCT lParam   //   second   message   parameter
     );
Example #3
0
        /// <summary>
        /// 接收来自详细页面的消息
        /// </summary>
        /// <param name="m"></param>
        protected override void DefWndProc(ref   System.Windows.Forms.Message m)
        {
            switch (m.Msg)
            {
                case NativeMethods.WM_COPYDATA:
                    COPYDATASTRUCT mystr = new COPYDATASTRUCT();
                    Type mytype = mystr.GetType();
                    mystr = (COPYDATASTRUCT)m.GetLParam(mytype);
                    if (mystr.lpData.StartsWith("isdetailclick"))
                    {
                        LogUtil.debug("isdetailclick:" + mystr.lpData);
                        ControlCenter.pauseTime = DateTime.Now;
                        ControlCenter.isPause = true;
                    }
                    else if (mystr.lpData.StartsWith("startindex"))//回首页
                    {
                        LogUtil.debug("startindex:" + mystr.lpData);
                        cc.playIndex();
                    }
                    else if (mystr.lpData.StartsWith("nextdetail"))//播放下一个详情页面
                    {
                        LogUtil.debug("nextdetail:" + mystr.lpData);
                        ControlCenter.isColseDetail = true;
                    }
                    else if (mystr.lpData.StartsWith("exit"))//退出系统
                    {
                        //先kill
                        SystemUtil.KillProcess("sungrow_touch");

                        //先清理资源再退出程序
                        if (Main.cc != null) Main.cc.clear();
                        //为防本程序的进程不能成功退出而导致GE出现问题,强制杀掉本程序的进程
                        //System.Diagnostics.Process geProcess = System.Diagnostics.Process.GetCurrentProcess();
                        //geProcess.Kill();
                        this.Close();
                        LogUtil.debug("exit:" + mystr.lpData);
                        Environment.Exit(0);
                    }

                    break;
                default:
                    base.DefWndProc(ref   m);
                    //MessageBox.Show("no");
                    break;
            }
        }
Example #4
0
 public static extern int SendMessage(
     int hWnd,                 //   handle   to   destination   window
     int Msg,                  //   message
     int wParam,               //   first   message   parameter
     ref COPYDATASTRUCT lParam //   second   message   parameter
     );